Ceph 文件系统(CephFS)至少需要两个 RADOS 池:一个用于存储数据(data pool),一个用于存储元数据(metadata pool)。以下是启用 CephFS 的详细步骤。
使用 ceph-deploy
命令在指定节点启用 MDS 服务:
ceph-deploy mds create node01
创建数据池:
ceph osd pool create cephfs_data 128
创建元数据池:
ceph osd pool create cephfs_metadata 128
将上述创建的池关联到 CephFS:
ceph fs new cephfs cephfs_metadata cephfs_data
验证文件系统是否成功创建:
ceph fs ls
CephFS 支持通过内核挂载和 FUSE 挂载。以下分别介绍两种挂载方式。
sudo mkdir -p /mnt/cephfs
sudo mount -t ceph 192.168.0.1:6789:/ /mnt/cephfs
/etc/fstab
中添加以下内容:192.168.0.1:6789:/ /mnt/cephfs ceph noatime,_netdev 0 2
cat /etc/ceph/ceph.client.admin.keyring
密钥内容类似以下:[client.admin]
key = AQBSdU5bT27AKxAAvKoWQdGpSuNRCHjC4B8DVA==
sudo mount -t ceph 192.168.0.1:6789:/ /mnt/cephfs -o name=admin,secret=AQBSdU5bT27AKxAAvKoWQdGpSuNRCHjC4B8DVA==
/etc/fstab
中添加以下内容:192.168.0.1:6789:/ /mnt/cephfs ceph name=admin,secretfile=/etc/ceph/secret.key,noatime,_netdev 0 2
在 ceph.conf
文件中检查认证配置:
cat /etc/ceph/ceph.conf | grep auth | grep required
输出内容如下,表示已启用认证:
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx
使用以下命令安装 FUSE 挂载工具:
yum -y install ceph-fuse ceph
ssh root@node1 "ceph-authtool -p /etc/ceph/ceph.client.admin.keyring" > admin.key
chmod 600 admin.key
mount -t ceph node1:6789:/ /mnt -o name=admin,secretfile=admin.key
df -hT
在 /etc/fstab
中添加以下内容:
id=admin,conf=/etc/ceph/ceph.conf /mnt fuse.ceph defaults 0 0
CephFS 支持同时启用多个 MDS 节点,不同客户端可挂载到不同的 MDS 节点,实现同时写数据,数据共享。
Windows 系统可以通过 Dokan 项目实现 CephFS 挂载。
从 GitHub 下载 Dokan 安装包,安装 dokaninstall.exe
。
具体挂载配置和使用方法请参考 Dokan 项目的文档。
性能优化:
安全性:
监控与维护:
ceph status
和 ceph fs status
查看集群和文件系统状态。