CephFS 掛載使用說明
1. 內核掛載
1.1 簡介
CephFS 內核模塊(kernel driver)是Linux 內核的一部分,內核掛載CephFS 可以獲得原生的內核性能。
1.2 內核模塊的支持情況
特性 | kernel 版本 | 說明 |
---|---|---|
Inline data | 3.19+ | |
Quota | 4.17+ | Mimic Ceph 引入 |
多FS | 4.7+ | 不建議生產環境使用 |
多活MDS | 4.14+ | |
快照 | 4.17+ |
** 若需要使用以上特性,需要使用相應版本及以上的Linux 內核。
1.3 客戶端配置
若在新的未配置客戶端節點,需要先執行依賴安裝和cephx 認證相關配置:
- ceph-common 已經安裝,依賴安裝:
yum install ceph-common
- 在客戶端側從monitor節點獲取集群配置:
scp root@<monitor>:/etc/ceph/ceph.conf /etc/ceph/ceph.conf
- 修改集群配置文件的permissions:
chmod 644 /etc/ceph/ceph.conf
** 集群內節點可以可以跳過這一部分。
1.4 掛載步驟
-
創建掛載點:
mkdir /<mnt>/<mycephfs>
-
掛載cephfs:
mount -t ceph <192.168.0.1:6789,monhost2:6789,...>:/ /<mnt>/<mycephfs> -o name=admin,secret=<AQATSKdNGBnwLhAAnNDKnH65FmVKpXZJVasUeQ==>
a)可以將secret放在secretfile中:創建admin.secret 文件,並將secret 直接復制到文件中。掛載命令:mount -t ceph <192.168.0.1:6789,monhost2:6789,...>:/ /<mnt>/<mycephfs> -o name=admin,secretfile=/etc/ceph/admin.secret
b)如果是多fs,指定-o mds_namespace=othefs
即可,不建議多fs,不可用於生產環境 -
解除掛載:
umount /<mnt>/<mycephfs>
2. 用戶態掛載
用戶態掛載的好處是獨立存儲集群CephFS,便於升級。
2.1 掛載步驟
-
組件安裝:
yum install ceph-common ceph-fuse
-
創建默認配置目錄:
mkdir -p /etc/ceph
-
scp 配置文件:
scp <user>@<server-machine>:/etc/ceph/ceph.conf /etc/ceph/ceph.conf
-
scp cephx user keyring,對mds 有所有權限:
scp <user>@<server-machine>:/etc/ceph/ceph.client.admin.keyring /etc/ceph/ceph.client.admin.keyring
-
文件權限修改:
chmod 644 /etc/ceph/ceph.conf chmod 644 /etc/ceph/ceph.client.admin.keyring
-
掛載:
ceph-fuse -n client.admin -m u1:6789 /<mnt>/<mycephfs>
-
解除掛載:
umount /<mnt>/<mycephfs>
或fusermount -u /<mnt>/<test>/
RBD 使用說明
Ceph RBD 有兩種使用方式:librbd 庫的方式對外提供接口,用於上層組件對接和開發對接;或是Linux kernel 模塊的方式,通過用戶空間的RBD 等命令配置並對外提供塊存儲服務,本說明即是。
1.1 內核模塊的支持情況
- Kernel RBD(KRBD) 有很多選項可以配置,根據不同的內核版本略有差別,一般使用可以不用關心,使用默認值即可。
- rbd 的參數--image-format 有兩個配置可選,默認是2,但是需要3.10 以上的內核版本。若需要可配置的條帶化參數,需要支持fancy striping,則需要內核版本4.17+。
- 后端rbd cli創建image 建議:
rbd create --size {size} {pool_name}/{image_name} --image-feature=layering,exclusive-lock
。所以至少保證內核版本3.10及以上,對於內核版本不支持的特性,解決方法有兩個:1)disable 相關特性:rbd feature disable <rbd_pool>/<image> <feature1> <feature2>
2)使用更高版本的內核,目前默認特性3.10+ 內核就可以。
1.2 客戶端配置
若在新的未配置客戶端節點,需要先執行依賴安裝和cephx 認證相關配置:
- 內核是否支持:
modprobe rbd
無異常輸出即表示支持kernel rbd - 依賴安裝:
yum install ceph-common
- 創建默認配置目錄:
mkdir -p /etc/ceph
- scp 配置文件:
scp <user>@<server-machine>:/etc/ceph/ceph.conf /etc/ceph/ceph.conf
- scp cephx user keyring:
scp <user>@<server-machine>:/etc/ceph/ceph.client.admin.keyring /etc/ceph/ceph.client.admin.keyring
- 文件權限修改:
chmod 644 /etc/ceph/ceph.conf && chmod 644 /etc/ceph/ceph.client.admin.keyring
** 集群內節點可以可以跳過這一部分。
1.3 客戶端掛載步驟
-
創建rbd image:
rbd create -p <rbd> <image01> --size <10240> --image-feature layering
,注意image-feature。 -
查看rbd image 信息:
rbd info <image01> -p <rbd>
,rbd ls -p rbd
-
在客戶端節點利用內核RBD MAP 至本地塊設備 :
rbd map rbd/<image01> -m <server-machine> --id <admin> --keyring /etc/ceph/ceph.client.admin.keyring
默認映射至設備/dev/rbd{0}。若客戶端為集群內節點,可省略參數指定:rbd map rbd/<image01>
-
rbd showmapped
1.3.1 本地掛載使用
接上面,
-
格式化,創建文件系統:
mkfs.xfs /dev/<rbd0>
-
創建掛載目錄:
mkdir /mnt/rbd0
-
掛載:
mount /dev/<rbd0> /mnt/rbd0
df -h /mnt/rbd0
-
umount:
umount /dev/<rbd0>
-
unmap:
rbd unmap image01