- Ceph企業級分布式存儲:原理與工程實踐
- 景顯強 龔向宇 黃軍寶
- 615字
- 2021-11-05 10:18:49
2.6.2 CephFS限制因素
首先看一下客戶端訪問CephFS的過程。在CephFS中,客戶端是使用CephFS的所有操作請求的入口。客戶端將元數據讀寫請求發送到活躍的MDS,從中獲取文件元數據,并且安全地緩存元數據和文件數據。
MDS將元數據提供給客戶端,緩存熱的元數據是為了減少對后端元數據池的請求,管理客戶端的緩存是為了保證緩存一致性。CephFS工作過程是,在活躍的MDS之間復制熱的元數據,并將元數據變化信息合并到日志,定期刷新到后端元數據池中,使數據在集群間實時同步,具體如圖2-4所示。
在使用CephFS過程中,我們應注意以下幾點。
(1)采用多MDS節點部署方式
為了使生產環境下的數據可用,你要采用多MDS節點部署方式。部署完成后,MDS節點分為主節點和備節點。當主節點異常時,備節點將接管客戶端的訪問,保證數據持續提供。默認情況下,CephFS僅使用一個活躍的MDS守護進程。但是,你可以給文件系統配置為使用多個活躍的的MDS守護進程,以處理更大的工作負載。

圖2-4 CephFS工作過程
(2)重點保護元數據池
如圖2-4所示,RADOS底層需要提供兩個后端存儲池,其中一個存儲數據,另一個存儲元數據。你在創建MDS的時候,要首先創建這兩個數據池,且一定要做好對存儲數據池的保護,比如采用更高的副本級別,這個池中的任何數據丟失都會導致整個文件系統無法訪問。另外,你也可以考慮使用延遲較低的存儲設備,例如固態驅動器(SSD)磁盤,因為這直接影響到客戶端操作的反饋延遲。
(3)使用一個CephFS
默認情況下,禁止在一個集群中創建多個CephFS,因為創建多個CephFS可能會使得MDS或者客戶端服務異常。
推薦閱讀
- Linux運維實戰:CentOS7.6操作系統從入門到精通
- WindowsServer2012Hyper-V虛擬化部署與管理指南
- Windows 7案例教程
- Application Development in iOS 7
- INSTANT Galleria Howto
- 跟老男孩學Linux運維:Shell編程實戰
- Distributed Computing with Go
- Linux系統最佳實踐工具:命令行技術
- Windows 7實戰從入門到精通(超值版)
- Learning BeagleBone
- Linux操作系統
- 從實踐中學習Windows滲透測試
- Learn SwiftUI
- Web Penetration Testing with Kali Linux(Third Edition)
- OpenSolaris紅寶書