cephfs部署

1 ceph-deploy安装(如以安装跳过此步骤)

yum install ceph-deploy -y

部署Ceph-deploy部署过程中会生成一些集群初始化配置文件和key,后续扩容的时候也需要使用到,因此,建议在admin-node上创建一个单独的目录,后续操作都进入到该目录中进行操作,以创建的ceph-admin-node为例。

2 ceph mds服务安装,登录到ceph-deploy工作目录执行。要使用 CephFS, 至少就需要一个 metadata server 进程。可以手动创建一个 MDS, 也可以使用 ceph-deploy 或者 ceph-ansible 来部署 MDS。

ceph-deploy mds create $hostname

MDS跟踪文件层次结构,仅为CephFS文件系统存储元数据。

3 CephFS 需要两个 Pools,cephfs_data 和 cephfs_metadata,分别存储文件数据和文件元数据

ceph osd pool create cephfs_data 128
ceph osd pool create cephfs_metadata 64

注:一般 metadata pool 可以从相对较少的 PGs 启动, 之后可以根据需要增加 PGs. 因为 metadata pool
存储着 CephFS 文件的元数据, 为了保证安全, 最好有较多的副本数. 为了能有较低的延迟, 可以考虑将 metadata 存储在
SSDs 上.

4 创建一个 CephFS, 名字为 cephfs。

ceph fs new cephfs cephfs_metadata cephfs_data

5 验证至少有一个 MDS 已经进入 Active 状态

ceph fs status cephfs

6 在 Monitor 上, 创建一个用户,用于访问CephFs

ceph auth get-or-create client.cephfs mon 'allow r' mds 'allow rw' osd 'allow rw pool=cephfs_data, allow rw pool=cephfs_metadata'

结果与下相似

[client.cephfs]
key = AQAXTwte09lkFhAA0sSPRRm5+391tYUwte2qYg==

7 验证key是否生效

ceph auth get client.cephfs

得到与下相似内容

exported keyring for client.cephfs
[client.cephfs]
key = AQAXTwte09lkFhAA0sSPRRm5+391tYUwte2qYg==
caps mds = "allow rw"
caps mon = "allow r"
caps osd = "allow rw pool=cephfs-data, allow rw pool=cephfs-metadata"

8 检查CephFs和mds状态

ceph mds stat
ceph fs ls
ceph fs status

以 kernel client 形式挂载 CephFS

0 在管理节点上,通过 ceph-deploy 把 Ceph 安装到 ceph-client 节点

ceph-deploy install {ceph-client-hostname or IP}

1 挂载整个文件系统:

mount -t ceph monhost:6789:/ /mnt/foo -o name=cephfs,secret=AQAXTwte09lkFhAA0sSPRRm5+391tYUwte2qYg==

如果有多个监视器:

mount -t ceph monhost1:6789,monhost2:6789,monhost3:6789:/ /mnt/foo  -o name=cephfs,secret=AQAXTwte09lkFhAA0sSPRRm5+391tYUwte2qYg==

如果 ceph-mon(8) 运行于非默认端口:

mount -t ceph monhost1:7000,monhost2:7000,monhost3:7000:/ /mnt/foo  -o name=cephfs,secret=AQAXTwte09lkFhAA0sSPRRm5+391tYUwte2qYg==

/mnt/foo 为每个节点的本地挂载目录,需自行创建

2 自动挂载

cat >> /etc/fstab <<EOF
monhost:6789:/ /mnt/foo ceph name=cephfs,secret=AQAXTwte09lkFhAA0sSPRRm5+391tYUwte2qYg==,_netdev,noatime 0 0
EOF

3 验证是否挂载成功

stat -f /mnt/foo

cephfs删除

1 stop 所有的mds服务

systemctl stop ceph-mds@{hostname}

systemctl stop ceph-mds.target

2 删除文件系统

ceph fs rm {cephfs name} --yes-i-really-mean-it

配置多主(多活)MDS

MDS配置模式分为以下三种:

冷备模式:同一时间,只有一个mds工作,单纯的进程备份。
热备模式:同一时间,只有一个mds工作,但除了进程备份,也实时备份元数据,这样可以加快MDS故障切换时间。
多主模式:多个MDS同时工作,各自管理自己负责的元数据。

默认情况下,每个cephfs文件系统的MDS都是以冷备模式配置的。有时候为了获取更高的性能,可以启用多个活动的MDS守护进程,也就是多主模式,它们将彼此分担元数据的工作负载。

多主配置增加max_mds
每个cephfs文件系统都有一个max_mds设置,可以理解为它将控制创建多少个主MDS。注意只有当实际的MDS个数大于或等于max_mds设置的值时,mdx_mds设置才会生效。例如,如果只有一个MDS守护进程在运行,并且max_mds被设置为两个,则不会创建第二个主MDS。因此,对于高可用性系统,实际配置max_mds时,最好比系统中MDS的总数少一个。

*将max_mds设置为所需的个数:

ceph fs set max_mds 2

参考学习自:
http://docs.ceph.org.cn/start/quick-cephfs/
https://www.kancloud.cn/ningjing_home/ceph/459205
https://krunerge.github.io/2019/01/05/cephfs-use/
https://www.cnblogs.com/Serverlessops/p/12165662.html
https://ypdai.github.io/2019/07/29/%E5%A6%82%E4%BD%95%E9%85%8D%E7%BD%AE%E5%A4%9A%E6%B4%BBMDS/
https://www.cnblogs.com/aqicheng/p/12497342.html

标签: Ceph

添加新评论