Ceph硬件推薦

Ceph硬件推薦

硬件推薦

Ceph 為普通硬件設計,這可使構(gòu)建靶端、維護 PB 級數(shù)據(jù)集群的費用相對低廉建钥。規(guī)劃集群硬件時藤韵,需要均衡幾方面的因素,包括區(qū)域失效和潛在的性能問題熊经。硬件規(guī)劃要包含把使用 Ceph 集群的 Ceph 守護進程和其他進程恰當分布。通常欲险,我們推薦在一臺機器上只運行一種類型的守護進程镐依。大部分專家推薦把使用數(shù)據(jù)集群的進程(如 OpenStack 、 CloudStack 等)安裝在別的機器上天试。但是現(xiàn)在這個超融合架構(gòu)泛濫的時代槐壳,部署在一起的大廠商也是有很多的,比如最早在公有云中使用ceph當做存儲的有云喜每。

CPU

CPU選擇

  Ceph 元數(shù)據(jù)服務器對 CPU 敏感务唐,它會動態(tài)地重分布它們的負載,所以你的元數(shù)據(jù)服務器應該有足夠的處理能力(我們生產(chǎn)使用的是2C雙12核心CPU)带兜。 Ceph 的 OSD 運行著 RADOS 服務枫笛、用 CRUSH計算數(shù)據(jù)存放位置、復制數(shù)據(jù)刚照、維護它自己的集群運行圖副本刑巧,因此 OSD 需要一定的處理能力(如雙核 CPU )。監(jiān)視器只簡單地維護著集群運行圖的副本无畔,因此對 CPU 不敏感啊楚;但必須考慮機器以后是否還會運行 Ceph 監(jiān)視器以外的 CPU 密集型任務。例如浑彰,如果服務器以后要運行用于計算的虛擬機(如 OpenStack Nova )恭理,你就要確保給 Ceph 進程保留了足夠的處理能力,所以我推薦在其他機器上運行 CPU 密集型任務郭变。

內(nèi)存

內(nèi)存選擇

  元數(shù)據(jù)服務器和監(jiān)視器必須可以盡快地提供它們的數(shù)據(jù)颜价,所以他們應該有足夠的內(nèi)存薄风,至少每進程 1GB 。 OSD 的日常運行不需要那么多內(nèi)存(如每進程 500MB )差不多了拍嵌;然而在恢復期間它們占用內(nèi)存比較大(如每進程每 TB 數(shù)據(jù)需要約 1GB 內(nèi)存)遭赂。通常內(nèi)存越多越好。(我的生產(chǎn)環(huán)境是超融合架構(gòu)512G內(nèi)存)

數(shù)據(jù)存儲

要謹慎地規(guī)劃數(shù)據(jù)存儲配置横辆,因為其間涉及明顯的成本和性能折衷撇他。來自操作系統(tǒng)的并行操作和到單個硬盤的多個守護進程并發(fā)讀、寫請求操作會極大地降低性能狈蚤。文件系統(tǒng)局限性也要考慮: btrfs 尚未穩(wěn)定到可以用于生產(chǎn)環(huán)境的程度困肩,但它可以同時記日志并寫入數(shù)據(jù),而 xfs 和 ext4 卻不能脆侮。

Important:因為 Ceph 發(fā)送 ACK 前必須把所有數(shù)據(jù)寫入日志(至少對 xfs 和 ext4 來說是)锌畸,因此均衡日志和 OSD 性能相當重要。

硬盤驅(qū)動器

硬盤選擇

  OSD 應該有足夠的空間用于存儲對象數(shù)據(jù)靖避√对妫考慮到大硬盤的每 GB 成本,我們建議用容量大于 1TB 的硬盤幻捏。建議用 GB 數(shù)除以硬盤價格來計算每 GB 成本盆犁,因為較大的硬盤通常會對每 GB 成本有較大影響,例如篡九,單價為 $75 的 1TB 硬盤其每 GB 價格為 $0.07 ( $75/1024=0.0732 )谐岁,又如單價為 $150 的 3TB 硬盤其每 GB 價格為 $0.05 ( $150/3072=0.0488 ),這樣使用 1TB 硬盤會增加 40% 的每 GB 價格榛臼,它將表現(xiàn)為較低的經(jīng)濟性伊佃。另外,單個驅(qū)動器容量越大沛善,其對應的 OSD 所需內(nèi)存就越大航揉,特別是在重均衡、回填路呜、恢復期間迷捧。根據(jù)經(jīng)驗, 1TB 的存儲空間大約需要 1GB 內(nèi)存胀葱。
(我現(xiàn)在生產(chǎn)環(huán)境使用的是1.2T高速盤漠秋,也就解釋了為何要組成大的內(nèi)存。)

不顧分區(qū)而在單個硬盤上運行多個OSD抵屿,這樣強烈不推薦庆锦!
不顧分區(qū)而在運行了OSD的硬盤上同時運行監(jiān)視器或元數(shù)據(jù)服務器也強烈不推薦

存儲驅(qū)動器受限于尋道時間轧葛、訪問時間搂抒、讀寫時間艇搀、還有總吞吐量,這些物理局限性影響著整體系統(tǒng)性能求晶,尤其在系統(tǒng)恢復期間焰雕。因此我們推薦獨立的驅(qū)動器用于安裝操作系統(tǒng)和軟件,另外每個 OSD 守護進程占用一個驅(qū)動器芳杏。大多數(shù) “slow OSD”問題的起因都是在相同的硬盤上運行了操作系統(tǒng)矩屁、多個 OSD 、和/或多個日志文件爵赵。鑒于解決性能問題的成本差不多會超過另外增加磁盤驅(qū)動器吝秕,你應該在設計時就避免增加 OSD 存儲驅(qū)動器的負擔來提升性能。
  Ceph 允許你在每塊硬盤驅(qū)動器上運行多個 OSD 空幻,但這會導致資源競爭并降低總體吞吐量烁峭; Ceph 也允許把日志和對象數(shù)據(jù)存儲在相同驅(qū)動器上,但這會增加記錄寫日志并回應客戶端的延時秕铛,因為 Ceph 必須先寫入日志才會回應確認了寫動作约郁。 btrfs 文件系統(tǒng)能同時寫入日志數(shù)據(jù)和對象數(shù)據(jù), xfs 和 ext4 卻不能如捅。
  Ceph 最佳實踐指示棍现,你應該分別在單獨的硬盤運行操作系統(tǒng)、 OSD 數(shù)據(jù)和 OSD 日志镜遣。

固態(tài)硬盤

固態(tài)硬盤使用

  一種提升性能的方法是使用固態(tài)硬盤( SSD )來降低隨機訪問時間和讀延時,同時增加吞吐量士袄。 SSD 和硬盤相比每 GB 成本通常要高 10 倍以上悲关,但訪問時間至少比硬盤快 100 倍。
  SSD 沒有可移動機械部件娄柳,所以不存在和硬盤一樣的局限性寓辱。但 SSD 也有局限性,評估SSD 時赤拒,順序讀寫性能很重要秫筏,在為多個 OSD 存儲日志時,有著 400MB/s 順序讀寫吞吐量的 SSD 其性能遠高于 120MB/s 的挎挖。
Important

我們建議發(fā)掘 SSD 的用法來提升性能这敬。然而在大量投入 SSD 前,強烈建議核實 SSD 的性能指標蕉朵,并在測試環(huán)境下衡量性能崔涂。

正因為 SSD 沒有移動機械部件,所以它很適合 Ceph 里不需要太多存儲空間的地方始衅。相對廉價的 SSD 很誘人冷蚂,慎用缭保!可接受的 IOPS 指標對選擇用于 Ceph 的 SSD 還不夠,用于日志和 SSD 時還有幾個重要考量:

  • 寫密集語義: 記日志涉及寫密集語義蝙茶,所以你要確保選用的 SSD 寫入性能和硬盤相當或好于硬盤艺骂。廉價 SSD 可能在加速訪問的同時引入寫延時,有時候高性能硬盤的寫入速度可以和便宜 SSD 相媲美隆夯。
  • 順序?qū)懭耄?/strong> 在一個 SSD 上為多個 OSD 存儲多個日志時也必須考慮 SSD 的順序?qū)懭霕O限钳恕,因為它們要同時處理多個 OSD 日志的寫入請求。
  • 分區(qū)對齊: 采用了 SSD 的一個常見問題是人們喜歡分區(qū)吮廉,卻常常忽略了分區(qū)對齊苞尝,這會導致 SSD 的數(shù)據(jù)傳輸速率慢很多,所以請確保分區(qū)對齊了宦芦。

SSD 用于對象存儲太昂貴了宙址,但是把 OSD 的日志存到 SSD 、把對象數(shù)據(jù)存儲到獨立的硬盤可以明顯提升性能调卑。osd journal選項的默認值是 /var/lib/ceph/osd/$cluster-$id/journal抡砂,你可以把它掛載到一個 SSD 或 SSD 分區(qū),這樣它就不再是和對象數(shù)據(jù)一樣存儲在同一個硬盤上的文件了恬涧。提升 CephFS 文件系統(tǒng)性能的一種方法是從 CephFS 文件內(nèi)容里分離出元數(shù)據(jù)注益。 Ceph 提供了默認的 metadata。存儲池來存儲 CephFS 元數(shù)據(jù)溯捆,所以你不需要給 CephFS 元數(shù)據(jù)創(chuàng)建存儲池丑搔,但是可以給它創(chuàng)建一個僅指向某主機 SSD 的 CRUSH 運行圖。詳情見給存儲池指定 OSD 提揍。

控制器

硬盤控制器對寫吞吐量也有顯著影響啤月,要謹慎地選擇,以免產(chǎn)生性能瓶頸劳跃。
Ceph blog通常是優(yōu)秀的Ceph性能問題來源谎仲,見 Ceph Write Throughput 1Ceph Write Throughput 2

其他注意事項

你可以在同一主機上運行多個 OSD 刨仑,但要確保 OSD 硬盤總吞吐量不超過為客戶端提供讀寫服務所需的網(wǎng)絡帶寬郑诺;還要考慮集群在每臺主機上所存儲的數(shù)據(jù)占總體的百分比,如果一臺主機所占百分比太大而它掛了杉武,就可能導致諸如超過 full ratio的問題辙诞,此問題會使 Ceph 中止運作以防數(shù)據(jù)丟失。如果每臺主機運行多個 OSD 艺智,也得保證內(nèi)核是最新的倘要。參閱操作系統(tǒng)推薦里關(guān)于 glibc和 syncfs(2) 的部分,確保硬件性能可達期望值。
  OSD 數(shù)量較多(如 20 個以上)的主機會派生出大量線程封拧,尤其是在恢復和重均衡期間志鹃。很多 Linux 內(nèi)核默認的最大線程數(shù)較小(如 32k 個)泽西,如果您遇到了這類問題曹铃,可以把kernel.pid_max
值調(diào)高些。理論最大值是 4194303 捧杉。
例如把下列這行加入 /etc/sysctl.conf文件:

kernel.pid_max = 4194303

網(wǎng)絡

萬兆網(wǎng)卡

  建議每臺機器最少兩個千兆網(wǎng)卡陕见,現(xiàn)在大多數(shù)機械硬盤都能達到大概 100MB/s 的吞吐量,網(wǎng)卡應該能處理所有 OSD 硬盤總吞吐量味抖,所以推薦最少兩個千兆網(wǎng)卡评甜,分別用于公網(wǎng)(前端)和集群網(wǎng)絡(后端)。集群網(wǎng)絡(最好別連接到國際互聯(lián)網(wǎng))用于處理由數(shù)據(jù)復制產(chǎn)生的額外負載仔涩,而且可防止拒絕服務攻擊忍坷,拒絕服務攻擊會干擾數(shù)據(jù)歸置組,使之在 OSD 數(shù)據(jù)復制時不能回到active + clean狀態(tài)熔脂。請考慮部署萬兆網(wǎng)卡佩研。通過 1Gbps 網(wǎng)絡復制 1TB 數(shù)據(jù)耗時 3 小時,而 3TB (典型配置)需要 9 小時霞揉,相比之下旬薯,如果使用 10Gbps 復制時間可分別縮減到 20 分鐘和 1 小時。在一個 PB 級集群中适秩, OSD 磁盤失敗是常態(tài)绊序,而非異常;在性價比合理的的前提下秽荞,系統(tǒng)管理員想讓 PG 盡快從 degraded(降級)狀態(tài)恢復到 active + clean狀態(tài)政模。另外,一些部署工具(如 Dell 的 Crowbar )部署了 5 個不同的網(wǎng)絡蚂会,但使用了 VLAN 以提高網(wǎng)絡和硬件可管理性。 VLAN 使用 802.1q 協(xié)議耗式,還需要采用支持 VLAN 功能的網(wǎng)卡和交換機胁住,增加的硬件成本可用節(jié)省的運營(網(wǎng)絡安裝、維護)成本抵消刊咳。使用 VLAN 來處理集群和計算棧(如 OpenStack 彪见、 CloudStack 等等)之間的 VM 流量時,采用 10G 網(wǎng)卡仍然值得娱挨。每個網(wǎng)絡的機架路由器到核心路由器應該有更大的帶寬余指,如 40Gbps 到 100Gbps 。
  服務器應配置底板管理控制器( Baseboard Management Controller, BMC ),管理和部署工具也應該大規(guī)模使用 BMC 酵镜,所以請考慮帶外網(wǎng)絡管理的成本/效益平衡碉碉,此程序管理著 SSH 訪問、 VM 映像上傳淮韭、操作系統(tǒng)安裝垢粮、端口管理、等等靠粪,會徒增網(wǎng)絡負載蜡吧。運營 3 個網(wǎng)絡有點過分,但是每條流量路徑都指示了部署一個大型數(shù)據(jù)集群前要仔細考慮的潛能力占键、吞吐量昔善、性能瓶頸。

故障域

故障域指任何導致不能訪問一個或多個 OSD 的故障畔乙,可以是主機上停止的進程君仆、硬盤故障、操作系統(tǒng)崩潰啸澡、有問題的網(wǎng)卡袖订、損壞的電源、斷網(wǎng)嗅虏、斷電等等洛姑。規(guī)劃硬件需求時,要在多個需求間尋求平衡點皮服,像付出很多努力減少故障域帶來的成本削減楞艾、隔離每個潛在故障域增加的成本。

最低硬件推薦

Ceph 可以運行在廉價的普通硬件上龄广,小型生產(chǎn)集群和開發(fā)集群可以在一般的硬件上硫眯。

低配Ceph運行環(huán)境

如果在只有一塊硬盤的機器上運行 OSD ,要把數(shù)據(jù)和操作系統(tǒng)分別放到不同分區(qū)择同;一般來說两入,我們推薦操作系統(tǒng)和數(shù)據(jù)分別使用不同的硬盤。

生產(chǎn)集群實例

PB 級生產(chǎn)集群也可以使用普通硬件敲才,但應該配備更多內(nèi)存裹纳、 CPU 和數(shù)據(jù)存儲空間來解決流量壓力。

我們生產(chǎn)環(huán)境硬件配置

CPU:2*12C
內(nèi)存:512G
硬盤:20*1.2T
網(wǎng)卡:2*10Gb

END.

OK今天就為大家介紹這么多了紧武。
我是EC君剃氧,如果你喜歡我的文章,請幫忙點個關(guān)注阻星!點個喜歡吧朋鞍!
也可以點擊作者信息,掃描微信二維碼關(guān)注我的個人微信公眾號。
你的鼓勵將是我們共同進步的源泉滥酥。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末更舞,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子恨狈,更是在濱河造成了極大的恐慌疏哗,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,183評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件禾怠,死亡現(xiàn)場離奇詭異返奉,居然都是意外死亡,警方通過查閱死者的電腦和手機吗氏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評論 3 399
  • 文/潘曉璐 我一進店門芽偏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人弦讽,你說我怎么就攤上這事污尉。” “怎么了往产?”我有些...
    開封第一講書人閱讀 168,766評論 0 361
  • 文/不壞的土叔 我叫張陵被碗,是天一觀的道長。 經(jīng)常有香客問我仿村,道長锐朴,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,854評論 1 299
  • 正文 為了忘掉前任蔼囊,我火速辦了婚禮焚志,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘畏鼓。我一直安慰自己酱酬,他們只是感情好,可當我...
    茶點故事閱讀 68,871評論 6 398
  • 文/花漫 我一把揭開白布云矫。 她就那樣靜靜地躺著膳沽,像睡著了一般。 火紅的嫁衣襯著肌膚如雪让禀。 梳的紋絲不亂的頭發(fā)上贵少,一...
    開封第一講書人閱讀 52,457評論 1 311
  • 那天,我揣著相機與錄音堆缘,去河邊找鬼。 笑死普碎,一個胖子當著我的面吹牛吼肥,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,999評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼缀皱,長吁一口氣:“原來是場噩夢啊……” “哼斗这!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起啤斗,我...
    開封第一講書人閱讀 39,914評論 0 277
  • 序言:老撾萬榮一對情侶失蹤表箭,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后钮莲,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體免钻,經(jīng)...
    沈念sama閱讀 46,465評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,543評論 3 342
  • 正文 我和宋清朗相戀三年崔拥,在試婚紗的時候發(fā)現(xiàn)自己被綠了极舔。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,675評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡链瓦,死狀恐怖拆魏,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情慈俯,我是刑警寧澤渤刃,帶...
    沈念sama閱讀 36,354評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站贴膘,受9級特大地震影響卖子,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜步鉴,卻給世界環(huán)境...
    茶點故事閱讀 42,029評論 3 335
  • 文/蒙蒙 一揪胃、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧氛琢,春花似錦喊递、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至撮奏,卻和暖如春俏讹,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背畜吊。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評論 1 274
  • 我被黑心中介騙來泰國打工泽疆, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人玲献。 一個月前我還...
    沈念sama閱讀 49,091評論 3 378
  • 正文 我出身青樓殉疼,卻偏偏與公主長得像梯浪,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子瓢娜,可洞房花燭夜當晚...
    茶點故事閱讀 45,685評論 2 360

推薦閱讀更多精彩內(nèi)容