今天要來延續昨天已安裝完Ceph,接著要來建立供CephFS使用的pool。
CephFS底層的部分同樣是由 RADOS(OSDs + Monitors + MDSs) 提供,在上一層與 librados 溝通,最上層則是有不同的 library 將其轉換成標準的 POSIX 檔案系統供使用。
Client端的部分會直接對OSD存取資料並經由MDS存取meta data及檔案系統的目錄資訊。
ceph-deploy mds create ceph-01
需建立兩個pool,分別供data與metadata使用
<pg_num>為建立該pool時的pg number
ceph osd pool create cephfs_data <pg_num>
ceph osd pool create cephfs_metadata <pg_num>
ceph fs new cephfs cephfs_metadata cephfs_data
可以看到FS的name,metadata pool及data pools
ceph fs ls
name: cephfs, metadata pool: cephfs_metadata, data pools: [cephfs_data ]
當File system建立完成後,MDS會變為active狀態
ceph mds stat
cephfs-1/1/1 up {0=ceph-01=up:active}
設定client.k8scsi為使用者名稱,後面則是分別設定mon,mds,osd的存取權限
ceph auth get-or-create client.k8scsi mon 'allow r' mds 'allow *' osd 'allow rw pool=cephfs_metadata,allow rwx pool=cephfs_data'
ceph auth list
可以看到k8scsi為剛剛所建立的使用者,key在之後kubernetes csi中會使用到,最下面則是列出mon,mds,osd的存取權限
https://docs.ceph.com/docs/master/cephfs/