十年網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶(hù) + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專(zhuān)業(yè)推廣+無(wú)憂(yōu)售后,網(wǎng)站問(wèn)題一站解決
怎么理解Ceph分布式存儲(chǔ)集群,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

在規(guī)劃Ceph分布式存儲(chǔ)集群環(huán)境的時(shí)候,對(duì)硬件的選擇很重要,這關(guān)乎整個(gè)Ceph集群的性能,下面梳理到一些硬件的選擇標(biāo)準(zhǔn),可供參考:
1)CPU選擇
Ceph metadata server會(huì)動(dòng)態(tài)的重新分配負(fù)載,它是CPU敏感性的,所以Metadata Server應(yīng)該有比較好的處理器性能 (比如四核CPU). Ceph OSDs運(yùn)行RADOS服務(wù),需要通過(guò)CRUSH來(lái)計(jì)算數(shù)據(jù)的存放位置,replicate數(shù)據(jù),以及維護(hù)Cluster Map的拷貝,因此OSD也需要合適的處理性能 Ceph Monitors 簡(jiǎn)單的維護(hù)了Cluster Map的主干信息所以這個(gè)是CPU不敏感的。
2)RAM選擇
Metadata servers 以及Monitors 必須能夠快速的提供數(shù)據(jù),因此必須有充足的內(nèi)存(e.g., 1GB of RAM per daemon instance). OSDs 在執(zhí)行正常的操作時(shí)不需要過(guò)多的內(nèi)存 (e.g., 500MB of RAM per daemon instance);但是 執(zhí)行恢復(fù)操作時(shí),就需要大量的內(nèi)存(e.g., ~1GB per 1TB of storage per daemon). Generally, 而且是越多越好。
3)Data Storage選擇
規(guī)劃數(shù)據(jù)存儲(chǔ)時(shí)要考慮成本和性能的權(quán)衡。同時(shí)OS操作,同時(shí)多個(gè)后臺(tái)程序?qū)蝹€(gè)驅(qū)動(dòng)器進(jìn)行讀寫(xiě)操作會(huì)顯著降低性能。也有文件系統(tǒng)的限制考慮:BTRFS對(duì)于生產(chǎn)環(huán)境來(lái)說(shuō)不是很穩(wěn)定,但有能力記錄journal和并行的寫(xiě)入數(shù)據(jù),而XFS和EXT4會(huì)好一點(diǎn)。
提示:不推薦單個(gè)磁盤(pán)的分區(qū)上運(yùn)行多個(gè)OSD。不推薦單個(gè)磁盤(pán)的分區(qū)上運(yùn)行一個(gè)OSD和一個(gè)監(jiān)視器或元數(shù)據(jù)服務(wù)。
存儲(chǔ)驅(qū)動(dòng)器受尋道時(shí)間,訪問(wèn)時(shí)間,讀取和寫(xiě)入時(shí)間,以及總吞吐量的限制。這些物理限制會(huì)影響整個(gè)系統(tǒng)的性能,尤其是在恢復(fù)過(guò)程中。我們建議為操作系統(tǒng)和軟件使用專(zhuān)用的驅(qū)動(dòng)器,并且為你在主機(jī)上運(yùn)行每個(gè)OSD守護(hù)分配一個(gè)驅(qū)動(dòng)器。大多數(shù)“慢OSD”的問(wèn)題的產(chǎn)生是由于在一個(gè)操作系統(tǒng)同一驅(qū)動(dòng)器上運(yùn)行多個(gè)OSDs和/或多個(gè)日志。
由于解決性能問(wèn)題的一小部分的成本可能超過(guò)額外的磁盤(pán)驅(qū)動(dòng)器的成本,因此你可以加快你的的集群設(shè)計(jì)規(guī)劃,為了避免OSD存儲(chǔ)驅(qū)動(dòng)器負(fù)荷過(guò)重。
在每個(gè)硬盤(pán)驅(qū)動(dòng)器上同時(shí)運(yùn)行多個(gè)Ceph的OSD守護(hù)程序,但是這可能會(huì)導(dǎo)致資源爭(zhēng)用,并降低整體吞吐量。你可能把日志和對(duì)象數(shù)據(jù)存儲(chǔ)在相同的驅(qū)動(dòng)器上,但這樣可能會(huì)增加所花費(fèi)在記錄寫(xiě)入操作和發(fā)送ACK給客戶(hù)端的時(shí)間。在CEPH可以ACK對(duì)于寫(xiě)入操作前,Ceph必須把操作寫(xiě)入到日志。
BTRFS文件系統(tǒng)的日志數(shù)據(jù)和對(duì)象數(shù)據(jù)的同時(shí)可以寫(xiě),而XFS和ext4的不能。Ceph的推薦做法,分開(kāi)在單獨(dú)的驅(qū)動(dòng)器上運(yùn)行操作系統(tǒng),OSD數(shù)據(jù)和OSD日志。
本文原創(chuàng)地址:/tupian/20230522/ network和cluster_network。集群網(wǎng)絡(luò)(最好別連接到互聯(lián)網(wǎng))用于處理由數(shù)據(jù)復(fù)制產(chǎn)生的額外負(fù)載,并且有助于阻止拒絕服務(wù)攻擊,拒絕服務(wù)攻擊會(huì)干擾數(shù)據(jù)歸置組,使之在OSD數(shù)據(jù)復(fù)制時(shí)不能回到active+clean狀態(tài)。請(qǐng)考慮部署萬(wàn)兆網(wǎng)卡。通過(guò)1Gbps網(wǎng)絡(luò)復(fù)制1TB數(shù)據(jù)耗時(shí)3小時(shí),而3TB(一個(gè)典型的驅(qū)動(dòng)配置)需要9小時(shí),與之相反,如果使用10Gbps復(fù)制時(shí)間可分別縮減到20分鐘和1小時(shí)。
在一個(gè)PB級(jí)集群中,OSD磁盤(pán)失敗是常態(tài),而非異常;在性?xún)r(jià)比合理的前提下,系統(tǒng)管理員想讓PG盡快從degraded(降級(jí))狀態(tài)恢復(fù)到active+clean狀態(tài)。采用10G網(wǎng)卡值得考慮使用。每個(gè)網(wǎng)絡(luò)的頂級(jí)機(jī)架路由器到核心路由器通信應(yīng)該有更快的吞吐量,例如,40Gbps~100Gbps。
6)其他注意事項(xiàng):
可以在每臺(tái)主機(jī)上運(yùn)行多個(gè)OSD進(jìn)程,但應(yīng)該確保OSD硬盤(pán)的吞吐量總和不超過(guò)客戶(hù)端讀取或?qū)懭霐?shù)據(jù)所需的網(wǎng)絡(luò)帶寬。也應(yīng)該考慮在每個(gè)主機(jī)上數(shù)據(jù)的存儲(chǔ)率。如果一個(gè)特定的主機(jī)上的百分比較大,它可能會(huì)導(dǎo)致問(wèn)題:為了防止數(shù)據(jù)丟失,會(huì)導(dǎo)致Ceph停止操作。
當(dāng)每臺(tái)主機(jī)上運(yùn)行多個(gè)OSD進(jìn)程時(shí),還需要保證內(nèi)核是最新的。 當(dāng)每臺(tái)主機(jī)上運(yùn)行多個(gè)OSD進(jìn)程時(shí)(如>20)會(huì)產(chǎn)生很多的線(xiàn)程,特別是進(jìn)行recovery和relalancing操作。許多 Linux 內(nèi)核默認(rèn)線(xiàn)程限大數(shù)量比較?。ɡ纾?2k的)。如果您遇到這方面的問(wèn)題,可以考慮把kernel.pid_max設(shè)置的高一點(diǎn)。理論上的大值為4,194,303。
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。