天天看點

Ceph(CephFS)檔案系統介紹和搭建一:安裝前介紹二:安裝配置步驟三:用戶端挂載(核心驅動方式)

一:安裝前介紹

一個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中