CEPH檔案系統後設資料的SSD加速
物件儲存程式Object Storage Daemons (OSDs)是分散式檔案系統Ceph的一大特點,相比其它分散式檔案系統,Ceph擴充套件性和穩定性更好。關於Ceph是什麼,本站後期將會介紹。
在Ceph中,物件先儲存到基本OSD,接著複製到其他備份OSD,這個複製過程是同步的,就是寫完了,才能告訴上層應用說寫成功。保證了資料的可用性。
Client的每個寫操作下發到OSD之後,會產生2~3個磁碟seek操作:
把寫操作記錄到OSD的Journal檔案上(Journal是後設資料,為了保證寫操作的原子性)。
把寫操作更新到Object對應的檔案上。
把寫操作記錄到PG Log檔案上。
更細一步說,對於一個OSD來說,寫完成之前必須要把後設資料儲存到它的Journal。而寫操作是先寫Journal,再寫Object,所以,為了提升叢集效能,寫Journal的速度一定要快。
因此,一般為了讓Ceph叢集更快,價效比更高,需要考慮兩條設計思想:
- 把檔案放在慢速、便宜的儲存裝置上,比如SATA HDD。
- 把Journal放在快速裝置上,比如SSD,快閃記憶體卡。
另一個常見的設計思想是每個HDD對應一個OSD。當前很多系統配備兩個SSD,很多HDD,如果SSD只存放Journal的話,容量是完全足夠的,因為1個OSD的Journal一般不超過6GB,即使有16個HDD,Journal大約只有96GB,絕大部分SSD的容量是綽綽有餘的。
很多管理員擔心SSD會掛掉,所以用SSD組成了RAID-1,其實就是搞了個映象,容量減半。然後把Journal放到了SSD RAID組上。其實還有一個辦法是,從每個SSD拿出一個分割槽組成RAID-1,來做系統盤。剩下的分割槽來儲存Ceph Journal,但是不做RAID。
不過這樣有可能會導致一種糟糕的狀況。當SSD放了10個或更多OSD Journal,它們和作業系統共享同一個SSD,如果有一段時間大家的讀寫很頻繁的時候,Ceph的效能會受到影響。比如某個主機掛了,冗餘機器開始掃描資料做恢復,這個時候,其他OSD的效能就很差了,因為分到的頻寬很少了。
那麼,使用RAID-1來保護Journal就好一點嗎?因為Ceph目前必須要掃描整個OSD檔案儲存器才能恢復Journal,所以只要Journal丟了,那OSD也就沒了,必須要掃描整個磁碟慢慢恢復。但是RAID-1有個缺點就是每次寫都要寫兩遍。其實有個更好的辦法就是把所有的OSD Journal分成兩撥,分別放到兩個SSD,這樣,壞掉一個,還有一半的Journal是好的。
Ceph還有個Monitor,MON,主要作用是維持叢集的主副本對映圖,可以查詢同步操作時的最新版本的對映圖。利用的key/value儲存快照和迭代器,執行OSD的同步。如果MON和OSD在同一個SSD上時,如果SSD變慢,那麼MON也就掛掉了,如果有備份MON的話,操作不受影響。
如果要用SSD和HDD來部署Ceph的話,那麼最終的結論是:
- 每個節點的OSD不要太多,小於8個比較合適,這種情況下Journal放在SSD效果比較好。原因就是SSD Journal多了,效能就受影響。
- 假如OSD實在太多,那就不要用SSD儲存Journal,用HDD可能更好一點。或者說把OS裝在HDD上,然後用沒有RAID的SSD儲存OSD Journal。
-
用一些專用的MON。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/196700/viewspace-2151931/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 詳解Ceph系統資料是如何佈局的?
- XSKY新一代分散式檔案系統XGFS揭秘——後設資料服務分散式
- 檔案管理系統助力檔案資訊化建設
- Salesforce和SAPHANA的後設資料訪問加速Salesforce
- 檔案系統與資料庫的優缺點資料庫
- 跑在檔案系統上的資料倉儲
- 大資料檔案儲存系統HDFS大資料
- 大資料 | 分散式檔案系統 HDFS大資料分散式
- 【伺服器資料恢復】Ext4檔案系統執行fsck後檔案掛載報錯的資料恢復伺服器資料恢復
- 大資料儲存系統對比:Ceph VS Gluster大資料
- coe檔案資料後的逗號
- Salesforce和SAP HANA的後設資料訪問加速Salesforce
- 不要Ceph,青雲自己做了一套QingStor檔案儲存系統
- 2.9.5 資料庫中支援的檔案系統服務資料庫
- 跑在檔案系統上的資料倉儲,強!
- win10系統如何設定自動備份資料檔案Win10
- 帝國CMS系統資料庫配置檔案是哪個檔案?資料庫
- Linux系統程式設計【4】——檔案系統Linux程式設計
- ceph-crush map區分ssd和hdd資源池
- [資料庫系統]儲存和檔案結構資料庫
- FastDFS檔案系統遷移和資料恢復AST資料恢復
- MySQL InnoDB系統表空間資料檔案配置MySql
- Linux系統篇-檔案系統&虛擬檔案系統Linux
- 檔案系統不適合作為分散式儲存後端:來自Ceph演變10年的經驗教訓 - blogspot分散式後端
- 【伺服器資料恢復】FSCK後ext3檔案系統無法掛載的資料恢復案例伺服器資料恢復
- 檔案和檔案系統
- Linux系統程式設計-檔案IOLinux程式設計
- 紙質文件管理系統 快速定位你所需的檔案資料
- macOS Big Sur系統如何恢復丟失的資料檔案?Mac
- linux的檔案系統Linux
- Mac的檔案系統Mac
- 系統 HIVE 檔案是 Windows 登錄檔中的資料檔案,儲存系統級的配置資訊和設定。它們儲存作業系統的配置、驅動程式資訊、硬體設定以及系統服務的引數。這些檔案在 Windows 啟動時載入,用於系統的正常執行和管理。HiveWindows作業系統
- 【伺服器資料恢復】xfs檔案系統資料丟失的資料恢復案例伺服器資料恢復
- python讀取兩個excel資料檔案輸出整理好以後的excel資料檔案PythonExcel
- 檔案系統
- 【伺服器資料恢復】StorNext檔案系統資料恢復案例伺服器資料恢復
- 教你如何在Linux系統裡統計資料夾下的檔案個數Linux
- 檔案系統(五):exFAT 檔案系統原理詳解