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