一:安裝前介紹
一個Ceph(CephFS)檔案系統至少需要兩個RADOS池,一個用于資料,另一個用于中繼資料,配置這些池時,我們應該考慮以下三點
- 對中繼資料池使用更高的複制級别,因為此池中的任何資料丢失都可能導緻整個檔案系統無法通路
- 對中繼資料池使用較低延遲的存儲(例如SSD),因為這将直接影響在用戶端上觀察到的檔案系統操作的延遲
- 用于建立檔案系統的資料池是“預設”資料池,并且是用于存儲所有inode追溯資訊的位置,用于硬連結管理和災難恢複。是以,在CephFS中建立的所有inode在預設資料池中至少具有一個對象。如果為檔案系統計劃了擦除編碼的池,通常最好将複制池用于預設資料池,以提高小對象的讀寫性能以更新回溯。另外,可以添加另一個擦除編碼的資料池,該資料池可用于目錄和檔案的整個層次結構
二:安裝配置步驟
建立兩個具有預設設定以供檔案系統使用的池,并建立好mds,2是pg_number,這裡沒指定pgp的值,有關pg和pgp的說明可以參考我之前的文章,Ceph概念介紹及元件介紹
[root@ceph-node1 ~]# ceph osd pool create cephfs_data 2
pool 'cephfs_data' created
[root@ceph-node1 ~]# ceph osd pool create cephfs_metadata 2
pool 'cephfs_metadata' created
[root@ceph-node1 ~]# ceph-deploy mds create ceph-node2
[root@ceph-node1 ~]# ceph mds stat
cephfs-1/1/1 up {0=ceph-node2=up:active}
建立完池後,就可以來建立cephFS了
[root@ceph-node1 ~]# ceph fs new cephfs cephfsmetadata cephfsdata
new fs with metadata pool 41 and data pool 40
[root@ceph-node1 ~]# ceph fs ls
name: cephfs, metadata pool: cephfsmetadata, data pools: [cephfsdata ]
三:用戶端挂載(核心驅動方式)
建立挂載目錄
[root@ceph-client /]# mkdir -p /mnt/cephfs
在ceph-node2上,建立使用者client.cephfs
[root@ceph-node2 ~]#ceph auth get-or-create client.cephfs mon ‘allow r’ mds ‘allow r, allow rw path=/’ osd ‘allow rw pool=cephfs_data’
在ceph-node2上,擷取client.cephfs使用者的key
[root@ceph-node2 ~]#ceph auth get-key client.cephfs
AQCL2d1dj4OgFRAAFeloClm23YTBsPn1qQnfTA==
将上一條指令擷取到的key儲存到ceph用戶端中
[root@ceph-client ~]#echo AQCL2d1dj4OgFRAAFeloClm23YTBsPn1qQnfTA== > /etc/ceph/cephfskey
挂載此檔案系統
[root@ceph-client ~]# mount -t ceph ceph-node2:6789:/ /mnt/cephfs -o name=cephfs,secretfile= /etc/ceph/cephfskey
寫入fstab中