您好,登錄后才能下訂單哦!
怎么理解Ceph分布式存儲集群,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
在規(guī)劃Ceph分布式存儲集群環(huán)境的時候,對硬件的選擇很重要,這關(guān)乎整個Ceph集群的性能,下面梳理到一些硬件的選擇標準,可供參考:
1)CPU選擇
Ceph metadata server會動態(tài)的重新分配負載,它是CPU敏感性的,所以Metadata Server應該有比較好的處理器性能 (比如四核CPU). Ceph OSDs運行RADOS服務,需要通過CRUSH來計算數(shù)據(jù)的存放位置,replicate數(shù)據(jù),以及維護Cluster Map的拷貝,因此OSD也需要合適的處理性能 Ceph Monitors 簡單的維護了Cluster Map的主干信息所以這個是CPU不敏感的。
2)RAM選擇
Metadata servers 以及Monitors 必須能夠快速的提供數(shù)據(jù),因此必須有充足的內(nèi)存(e.g., 1GB of RAM per daemon instance). OSDs 在執(zhí)行正常的操作時不需要過多的內(nèi)存 (e.g., 500MB of RAM per daemon instance);但是 執(zhí)行恢復操作時,就需要大量的內(nèi)存(e.g., ~1GB per 1TB of storage per daemon). Generally, 而且是越多越好。
3)Data Storage選擇
規(guī)劃數(shù)據(jù)存儲時要考慮成本和性能的權(quán)衡。同時OS操作,同時多個后臺程序?qū)蝹€驅(qū)動器進行讀寫操作會顯著降低性能。也有文件系統(tǒng)的限制考慮:BTRFS對于生產(chǎn)環(huán)境來說不是很穩(wěn)定,但有能力記錄journal和并行的寫入數(shù)據(jù),而XFS和EXT4會好一點。
提示:不推薦單個磁盤的分區(qū)上運行多個OSD。不推薦單個磁盤的分區(qū)上運行一個OSD和一個監(jiān)視器或元數(shù)據(jù)服務。
存儲驅(qū)動器受尋道時間,訪問時間,讀取和寫入時間,以及總吞吐量的限制。這些物理限制會影響整個系統(tǒng)的性能,尤其是在恢復過程中。我們建議為操作系統(tǒng)和軟件使用專用的驅(qū)動器,并且為你在主機上運行每個OSD守護分配一個驅(qū)動器。大多數(shù)“慢OSD”的問題的產(chǎn)生是由于在一個操作系統(tǒng)同一驅(qū)動器上運行多個OSDs和/或多個日志。
由于解決性能問題的一小部分的成本可能超過額外的磁盤驅(qū)動器的成本,因此你可以加快你的的集群設計規(guī)劃,為了避免OSD存儲驅(qū)動器負荷過重。
在每個硬盤驅(qū)動器上同時運行多個Ceph的OSD守護程序,但是這可能會導致資源爭用,并降低整體吞吐量。你可能把日志和對象數(shù)據(jù)存儲在相同的驅(qū)動器上,但這樣可能會增加所花費在記錄寫入操作和發(fā)送ACK給客戶端的時間。在CEPH可以ACK對于寫入操作前,Ceph必須把操作寫入到日志。
BTRFS文件系統(tǒng)的日志數(shù)據(jù)和對象數(shù)據(jù)的同時可以寫,而XFS和ext4的不能。Ceph的推薦做法,分開在單獨的驅(qū)動器上運行操作系統(tǒng),OSD數(shù)據(jù)和OSD日志。
本文原創(chuàng)地址:https://www.linuxprobe.com/ceph-linux.html
4)固態(tài)硬盤選擇
性能改進的機會之一是使用固態(tài)硬盤(SSD),以減少隨機訪問時間,讀取等待時間,同時吞吐量加速。固態(tài)硬盤每GB的費用與硬盤驅(qū)動器相比往往超過10倍之多,但固態(tài)硬盤往往表現(xiàn)至少比硬盤驅(qū)動器快100倍的訪問時間。
固態(tài)硬盤沒有移動機械部件,所以他們不需要受同類型硬盤驅(qū)動器的限制。盡管固態(tài)硬盤有明顯的局限性。重要的是考慮其連續(xù)讀取和寫入的性能。當存儲多個OSDs的多個日志時,有400MB/s的順序?qū)懭胪掏铝康腟SD的性能,相比機械盤120MB/s的順序?qū)懭胪掏铝?,SSD更好、更快。
固態(tài)硬盤的OSD對象存儲成本高昂,通過存儲一個OSD的日志在一個單獨的硬盤驅(qū)動器SSD和OSD的對象數(shù)據(jù)上時,OSDs上可能會看到一個顯著的性能提升。OSD日志配置默認在/var/lib/ceph/osd/$cluster-$id/journal里。你可以掛載這個路徑到SSD或SSD的分區(qū)上,將日志文件和數(shù)據(jù)文件分別存放在不同的磁盤。
5)Networks選擇
建議每臺機器最少兩個千兆網(wǎng)卡,現(xiàn)在大多數(shù)普通硬盤吞的吐量都能達到100MB/s,網(wǎng)卡應該能處理所以OSD硬盤總吞吐量,所以推薦最少兩個千兆網(wǎng)卡,分別用于public network和cluster_network。集群網(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(一個典型的驅(qū)動配置)需要9小時,與之相反,如果使用10Gbps復制時間可分別縮減到20分鐘和1小時。
在一個PB級集群中,OSD磁盤失敗是常態(tài),而非異常;在性價比合理的前提下,系統(tǒng)管理員想讓PG盡快從degraded(降級)狀態(tài)恢復到active+clean狀態(tài)。采用10G網(wǎng)卡值得考慮使用。每個網(wǎng)絡的頂級機架路由器到核心路由器通信應該有更快的吞吐量,例如,40Gbps~100Gbps。
6)其他注意事項:
可以在每臺主機上運行多個OSD進程,但應該確保OSD硬盤的吞吐量總和不超過客戶端讀取或?qū)懭霐?shù)據(jù)所需的網(wǎng)絡帶寬。也應該考慮在每個主機上數(shù)據(jù)的存儲率。如果一個特定的主機上的百分比較大,它可能會導致問題:為了防止數(shù)據(jù)丟失,會導致Ceph停止操作。
當每臺主機上運行多個OSD進程時,還需要保證內(nèi)核是最新的。 當每臺主機上運行多個OSD進程時(如>20)會產(chǎn)生很多的線程,特別是進行recovery和relalancing操作。許多 Linux 內(nèi)核默認線程限最大數(shù)量比較小(例如,32k的)。如果您遇到這方面的問題,可以考慮把kernel.pid_max設置的高一點。理論上的最大值為4,194,303。
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。