一、增加元数据服务器
cd /data/ceph-cluster/
ceph-deploy mds create k8s-master k8s-node1 k8s-node2
二、创建 CEPH 文件系统
一个 Ceph 文件系统需要至少两个 RADOS 存储池,一个用于数据、一个用于元数据。配置这些存储池时需考虑:
- 为元数据存储池设置较高的副本水平,因为此存储池丢失任何数据都会导致整个文件系统失效。
- 为元数据存储池分配低延时存储器(像 SSD ),因为它会直接影响到客户端的操作延时。
关于存储池的管理请参考 存储池 。例如,要用默认设置为文件系统创建两个存储池,你可以用下列命令:
$ ceph osd pool create cephfs_data <pg_num>
$ ceph osd pool create cephfs_metadata <pg_num>
创建好存储池后,你就可以用 fs new 命令创建文件系统了:
$ ceph fs new <fs_name> <metadata> <data>
例如:
$ ceph fs new cephfs cephfs_metadata cephfs_data $ ceph fs ls name: cephfs, metadata pool: cephfs_metadata, data pools: [cephfs_data ]
文件系统创建完毕后, MDS 服务器就能达到 active 状态了,比如在一个单 MDS 系统中:
$ ceph mds stat e5: 1/1/1 up {0=a=up:active}
三、挂载 CEPH 文件系统
1、用内核驱动挂载 CEPH 文件系统
要挂载 Ceph 文件系统,如果你知道监视器 IP 地址可以用 mount 命令、或者用 mount.ceph 工具来自动解析监视器 IP 地址。例如:
sudo mkdir /mnt/mycephfs sudo mount -t ceph 192.168.0.1:6789:/ /mnt/mycephfs
要挂载启用了 cephx 认证的 Ceph 文件系统,你必须指定用户名、密钥。
sudo mount -t ceph 192.168.0.1:6789:/ /mnt/mycephfs -o name=admin,secret=AQATSKdNGBnwLhAAnNDKnH65FmVKpXZJVasUeQ==
前述用法会把密码遗留在 Bash 历史里,更安全的方法是从文件读密码。例如:
sudo mount -t ceph 192.168.0.1:6789:/ /mnt/mycephfs -o name=admin,secretfile=/etc/ceph/admin.secret
关于 cephx 参见认证。
要卸载 Ceph 文件系统,可以用 unmount 命令,例如:
sudo umount /mnt/mycephfs
四、删除CEPHFS 文件系统
[root@k8s-master ~]# ceph fs rm cephfs
Error EINVAL: all MDS daemons must be inactive/failed before removing filesystem. See `ceph fs fail`.
删除文件系统之前必须保证mds停机,对整个ceph各节点执行systemctrl stop ceph-mds@`hostname`
1、将mds状态置为fail
[root@k8s-master ~]# ceph mds fail 0
查看状态
[root@k8s-master ~]# ceph -s cluster: id: 627227aa-4a5e-47c1-b822-28251f8a9936 health: HEALTH_ERR 1 filesystem is degraded 1 filesystem has a failed mds daemon 1 filesystem is offline insufficient standby MDS daemons available mons are allowing insecure global_id reclaim services: mon: 3 daemons, quorum k8s-master,k8s-node1,k8s-node2 (age 67m) mgr: k8s-node1(active, since 67m), standbys: k8s-master, k8s-node2 mds: cephfs:0/1, 1 failed osd: 3 osds: 3 up (since 67m), 3 in (since 4d) data: pools: 2 pools, 256 pgs objects: 33 objects, 7.2 MiB usage: 3.2 GiB used, 27 GiB / 30 GiB avail pgs: 256 active+clean
现在可以删除了
[root@k8s-master ~]# ceph fs rm cephfs --yes-i-really-mean-it [root@k8s-master ~]# ceph fs ls No filesystems enabled