新聞中心
前言
Ceph是一個(gè)可靠地、自動(dòng)重均衡、自動(dòng)恢復(fù)的分布式存儲(chǔ)系統(tǒng),根據(jù)場(chǎng)景劃分可以將Ceph分為三大塊,分別是對(duì)象存儲(chǔ)、塊設(shè)備存儲(chǔ)和文件系統(tǒng)服務(wù)。

在虛擬化領(lǐng)域里,比較常用到的是Ceph的塊設(shè)備存儲(chǔ),比如在OpenStack項(xiàng)目里,Ceph的塊設(shè)備存儲(chǔ)可以對(duì)接OpenStack的cinder后端存儲(chǔ)、Glance的鏡像存儲(chǔ)和虛擬機(jī)的數(shù)據(jù)存儲(chǔ),比較直觀的是Ceph集群可以提供一個(gè)raw格式的塊存儲(chǔ)來作為虛擬機(jī)實(shí)例的硬盤。
Ceph相比其它存儲(chǔ)的優(yōu)勢(shì)點(diǎn)在于它不單單是存儲(chǔ),同時(shí)還充分利用了存儲(chǔ)節(jié)點(diǎn)上的計(jì)算能力,在存儲(chǔ)每一個(gè)數(shù)據(jù)時(shí),都會(huì)通過計(jì)算得出該數(shù)據(jù)存儲(chǔ)的位置,盡量將數(shù)據(jù)分布均衡,同時(shí)由于Ceph的良好設(shè)計(jì),采用了CRUSH算法、HASH環(huán)等方法,使得它不存在傳統(tǒng)的單點(diǎn)故障的問題,且隨著規(guī)模的擴(kuò)大性能并不會(huì)受到影響。
損壞 Ceph 集群的 10 種方式
以下是破壞 Ceph 集群的 10 種原始方法的摘要。
1、錯(cuò)誤的 CRUSH 故障域:
如果您不正確地配置 CRUSH,這可能會(huì)導(dǎo)致問題。因此一定需要在您的集群上進(jìn)行測(cè)試,以驗(yàn)證是否按預(yù)期處理了故障。
2、停用主機(jī):
這種情況的一個(gè)示例是運(yùn)行 size = 2、min_size = 1并且需要更換一些硬件的集群。歸置組只剩下一個(gè)磁盤作為副本,如果丟失該磁盤,數(shù)據(jù)就會(huì)丟失。Ceph 集群將不得不被廢棄并從頭開始重建。
3、刪除 MON 數(shù)據(jù)目錄中的“日志”文件:
始終確保監(jiān)視器有足夠的磁盤空間,并且永遠(yuǎn)不要從其數(shù)據(jù)目錄中手動(dòng)刪除文件。
4、刪除錯(cuò)誤的池:
在移除池之前仔細(xì)檢查。更好的是,在移除池之前請(qǐng)其他人查看它。
5 、長時(shí)間設(shè)置noout標(biāo)志:
始終確保集群的運(yùn)行狀態(tài)為 HEALTH_OK ,并查看集群是否處于 HEALTH_WARN 狀態(tài)較長時(shí)間。
6、使用 nobarrier 選項(xiàng)安裝 XFS:
由于新版本之后支持使用 Bluestore,這個(gè)問題 100% 解決了。因?yàn)?Bluestore 不再使用 XFS。
7、在沒有 BBU 的 HBA 上啟用寫回:
在沒有備用電池單元的情況下,切勿在 HBA 中打開寫回緩存。
8、創(chuàng)建過多的歸置組:
創(chuàng)建歸置組時(shí)要小心。當(dāng)集群需要重新re-peer所有歸置組時(shí),它可能會(huì)損害集群。
9、使用 2 副本:
假如一臺(tái)主機(jī)被下電進(jìn)行維護(hù)?,F(xiàn)在,一部分?jǐn)?shù)據(jù)依賴于一個(gè)磁盤。如果此磁盤發(fā)生故障,則所有數(shù)據(jù)都將丟失。
10、忽視監(jiān)視器:
建議使用監(jiān)視器專用硬件。
損壞 Ceph 集群的另外 6 種方法
以下是另外 6種方式的摘要:
11、不了解使用的自動(dòng)化工具:
簡而言之,了解您的自動(dòng)化工具在做什么,為什么要這樣做,并且絕對(duì)了解它不應(yīng)該做什么。您還應(yīng)該意識(shí)到,您的自動(dòng)化工具應(yīng)該可以幫助您執(zhí)行您已經(jīng)知道的內(nèi)容。如果你想使用 Ceph,你應(yīng)該了解 Ceph。例如,如果你想使用 Ceph 和 ceph-ansible,你應(yīng)該了解 Ceph 和 Ansible。
12、運(yùn)行 min_size=1:
我們建議您至少運(yùn)行三個(gè)副本。但是,如果你不能,永遠(yuǎn)不要將你的 min_size 降低到低于 1,或者最好不要將你的冗余對(duì)象降低到“0”。確保您始終編寫至少 1 個(gè)冗余對(duì)象。這也適用于糾刪碼。
13、未完全完成更新:
Ceph 的文檔有時(shí)缺少部分細(xì)節(jié)。在某些情況下,根據(jù) Ceph 的通用文檔,完成升級(jí)工作。但是,如果您查看詳細(xì)的 Ceph 版本的發(fā)行說明,很多步驟都被跳過甚至沒有觸及。因此,請(qǐng)仔細(xì)檢查更新是否已完成。
14、過早完成更新:
請(qǐng)確保您不要過早完成升級(jí),并且您確實(shí)遵循所有步驟。
15、在負(fù)載均衡器后面運(yùn)行多個(gè)有相同 id 的 rbd:
我們有一個(gè)客戶有 9 個(gè) rbd,但只配置了 3 個(gè)后端rbd。對(duì)于每個(gè) rbd,他們有 3 個(gè)進(jìn)程在運(yùn)行。他們都在跳過哪個(gè)是活躍的。在負(fù)載均衡器后面,這導(dǎo)致數(shù)百萬個(gè)未完成的部分上傳。客戶的整個(gè)集群都滿了。接下來,他們添加了新硬件,并且后續(xù)仍在添加新硬件。幸運(yùn)的是,我們發(fā)現(xiàn)這是問題所在。為了解決這個(gè)問題,我們重命名了 6 個(gè) rbd,清點(diǎn)了所有對(duì)象并確保它們都被清理干凈。
16、盲目相信你的 PG 自動(dòng)縮放:
有時(shí)候,一直到您寫入數(shù)據(jù),您才真正發(fā)現(xiàn) PG 的配置不正確。您在寫入大量數(shù)據(jù)的同時(shí)也拆分了所有歸置組,導(dǎo)致性能非常差,最終嚴(yán)重影響客戶應(yīng)用。除非您額外采取相關(guān)措施,否則沒有真正的方法可以解決它。
新聞名稱:健康的Ceph集群需要避免的16種操作
本文網(wǎng)址:http://www.5511xx.com/article/cdpsoie.html


咨詢
建站咨詢
