ceph支持内核原生挂载(需kernel≥3.10)和fuse用户态挂载两种方式,前者性能高依赖内核模块,后者兼容性强无需内核升级;挂载点须预先创建为空目录,且不可重复挂载。

挂载点必须预先创建且保持空目录
挂载点是本地目录,必须真实存在,且建议为空。若非空,原内容会被临时隐藏——卸载后才恢复。例如:
-
创建安全挂载点:
mkdir -p /mnt/cephfs -
验证是否为空:
ls -A /mnt/cephfs(应无输出) -
禁止重复挂载同一路径:Linux 不允许将不同文件系统挂到同一个挂载点;若已挂载,需先
umount /mnt/cephfs再操作
区分挂载方式:内核驱动 vs FUSE 用户态
Ceph 等分布式系统提供两种挂载机制,选择取决于内核版本与场景需求:
-
内核原生挂载(推荐 kernel ≥ 3.10):
mount -t ceph mon1:6789,mon2:6789:/ /mnt/cephfs -o name=admin,secretfile=/etc/ceph/admin.secret;依赖内核模块ceph,性能高、稳定性好 -
FUSE 挂载(兼容性更强):
ceph-fuse -n client.admin --keyring /etc/ceph/ceph.client.admin.keyring /mnt/cephfs;无需内核升级,但受用户态限制,适合调试或老旧系统 - 注意:CentOS 6 或早期 CentOS 7(kernel mount -t ceph,必须用 FUSE 或升级内核
关键挂载参数要明确指定
分布式挂载不是普通磁盘,需显式声明认证、连接与行为策略:
-
认证信息:
name=(Ceph 客户端名)、secretfile=或secret=(密钥路径或明文) -
监控器地址:多个 monitor 可用逗号分隔,如
mon1:6789,mon2:6789,支持自动故障转移 -
挂载选项:
rw(读写)、noatime(禁用访问时间更新,提升性能)、cache=yes(启用内核页缓存)、reconnect_max=30(断连重试上限) -
NFS 示例对比:
mount -t nfs4 -o rw,hard,intr,timeo=600,retrans=3 server:/export/data /mnt/nfs,强调网络健壮性参数
持久化与自动化管理靠 /etc/fstab 和 systemd
重启后挂载失效?靠配置文件和守护进程保障长期可用:
-
/etc/fstab 条目示例(Ceph):
mon1:6789,mon2:6789:/ /mnt/cephfs ceph name=admin,secretfile=/etc/ceph/admin.secret,noatime,_netdev 0 0
关键点:_netdev表示依赖网络,避免开机时因网络未就绪导致挂载失败 -
fstab 生效验证:
mount -a测试语法,systemctl daemon-reload刷新配置 -
替代方案:systemd mount unit(更可控):
创建/etc/systemd/system/mnt-cephfs.mount,定义Wants=network-online.target和After=network-online.target,确保网络就绪后再挂载











