目 录CONTENT

文章目录

CephFS挂载与使用详解:Rocky 9.6 + Ceph 17.2.9环境实践

Administrator
2026-03-20 / 0 评论 / 0 点赞 / 3 阅读 / 0 字
温馨提示:
部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

CephFS挂载与使用详解:Rocky 9.6 + Ceph 17.2.9环境实践

在完成CephFS存储池、文件系统和MDS的部署后,接下来就需要将CephFS挂载到客户端进行使用。本文将详细介绍在Rocky Linux 9.6环境下使用Ceph 17.2.9 (Quincy)版本时,多种挂载和使用CephFS的方法,包括内核客户端、FUSE客户端以及在Kubernetes中的使用。

挂载CephFS前的准备工作

在挂载CephFS之前,我们需要进行一些准备工作,包括创建文件系统、客户端用户和获取认证密钥。

1. 创建CephFS文件系统

# 创建两个CephFS文件系统
ceph fs volume create howlaisi_k8s_12317_cephfs
ceph fs volume create howlaisi_k8s_13010_cephfs


# 调整数据池的PG数量
ceph osd pool get cephfs.howlaisi_k8s_12317_cephfs.data pg_num
ceph osd pool set cephfs.howlaisi_k8s_12317_cephfs.data pg_num 128

ceph fs volume create howlaisi_k8s_12317_cephfs会创建一个名为howlaisi_k8s_12317_cephfs的文件系统,会创建两个存储池:cephfs.howlaisi_k8s_12317_cephfs.metacephfs.howlaisi_k8s_12317_cephfs.data,会创建一个mds服务:mds.howlaisi_k8s_12317_cephfs
直接通过ceph fs volume create howlaisi_k8s_12317_cephfs创建的存储池,其pg_num可能很大,因此可以使用ceph osd pool set cephfs.howlaisi_k8s_12317_cephfs.data pg_num 128进行调整,命令执行后pg内部会复制数据,耗时较长。可通过ceph osd pool get cephfs.howlaisi_k8s_12317_cephfs.data pg_num查看pg_num。

2. 创建CephFS客户端用户

# 为每个文件系统创建客户端用户
ceph fs authorize howlaisi_k8s_12317_cephfs client.howlaisi_k8s_12317_cephfs / rw
ceph fs authorize howlaisi_k8s_13010_cephfs client.howlaisi_k8s_13010_cephfs / rw

创建客户端用户,后续挂载文件系统时,可以使用用户挂载根目录。

3. 获取用户密钥

# 获取指定用户的密钥并保存到文件
ceph auth get client.howlaisi_k8s_12317_cephfs -o /etc/ceph/ceph.client.howlaisi_k8s_12317_cephfs.keyring
ceph auth get client.howlaisi_k8s_13010_cephfs -o /etc/ceph/ceph.client.howlaisi_k8s_13010_cephfs.keyring

4. 设置密钥文件权限

# 设置密钥文件权限,防止安全问题
chmod 600 /etc/ceph/ceph.client.howlaisi_k8s_12317_cephfs.keyring
chown root:root /etc/ceph/ceph.client.howlaisi_k8s_12317_cephfs.keyring

chmod 600 /etc/ceph/ceph.client.howlaisi_k8s_13010_cephfs.keyring
chown root:root /etc/ceph/ceph.client.howlaisi_k8s_13010_cephfs.keyring

5. 验证文件系统状态

# 确认文件系统处于活动状态
ceph fs status howlaisi_k8s_12317_cephfs
ceph fs status howlaisi_k8s_13010_cephfs

# 查看MDS状态
ceph mds stat

使用内核驱动挂载CephFS

内核客户端方式通常提供更好的性能,是推荐的挂载方式。

1. 安装必要的软件包

# 在Rocky Linux/CentOS上安装ceph-common
sudo dnf install -y ceph-common

2. 创建挂载点

# 创建挂载点目录
sudo mkdir -p /mnt/howlaisi_k8s_12317_cephfs
sudo mkdir -p /mnt/howlaisi_k8s_13010_cephfs

3. 挂载CephFS

# 挂载第一个文件系统
sudo mount -t ceph 192.168.3.41:6789,192.168.4.33:6789,192.168.4.34:6789:/ /mnt/howlaisi_k8s_12317_cephfs -o name=howlaisi_k8s_12317_cephfs,mds_namespace=howlaisi_k8s_12317_cephfs

# 挂载第二个文件系统
sudo mount -t ceph 192.168.3.41:6789,192.168.4.33:6789,192.168.4.34:6789:/ /mnt/howlaisi_k8s_13010_cephfs -o name=howlaisi_k8s_13010_cephfs,mds_namespace=howlaisi_k8s_13010_cephfs


# 使用以上的命令,k8s挂载时,有点问题,可以用以下命令
ceph-fuse \
  -m 192.168.3.41:6789,192.168.4.33:6789,192.168.4.34:6789 \
  --client_mds_namespace=howlaisi_k8s_12317_cephfs \
  --name=client.howlaisi_k8s_12317_cephfs \
  --conf=/etc/ceph/ceph.conf \
  /mnt/test1

-o name=howlaisi_k8s_12317_cephfs,mds_namespace=howlaisi_k8s_12317_cephfs 是挂载选项,用于指定客户端用户名和MDS命名空间。
以上操作,相当于是创建两个挂载点,并挂载两个文件系统的根目录到挂载点。

4. 验证挂载

# 查看挂载点
df -h /mnt/howlaisi_k8s_12317_cephfs
df -h /mnt/howlaisi_k8s_13010_cephfs

# 测试读写
echo "Hello CephFS 1" > /mnt/howlaisi_k8s_12317_cephfs/test.txt
cat /mnt/howlaisi_k8s_12317_cephfs/test.txt

echo "Hello CephFS 2" > /mnt/howlaisi_k8s_13010_cephfs/test.txt
cat /mnt/howlaisi_k8s_13010_cephfs/test.txt

5. 配置开机自动挂载

编辑 /etc/fstab 文件:

# 添加以下行到 /etc/fstab
192.168.3.41:6789,192.168.4.33:6789,192.168.4.34:6789:/ /mnt/howlaisi_k8s_12317_cephfs ceph name=howlaisi_k8s_12317_cephfs,mds_namespace=howlaisi_k8s_12317_cephfs,conf=/etc/ceph/ceph.conf,_netdev,noatime 0 2
192.168.3.41:6789,192.168.4.33:6789,192.168.4.34:6789:/ /mnt/howlaisi_k8s_13010_cephfs ceph name=howlaisi_k8s_13010_cephfs,mds_namespace=howlaisi_k8s_13010_cephfs,conf=/etc/ceph/ceph.conf,_netdev,noatime 0 2

参考文档

  1. Ceph官方文档 - CephFS
  2. CephFS Kernel Driver Documentation
  3. CephFS FUSE Client Documentation
  4. Kubernetes持久化存储 - CephFS
  5. Ceph CSI Driver Documentation
0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区