目 录CONTENT

文章目录

Ceph FS 命令详解

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

Ceph FS 命令详解

Ceph FS(Ceph File System)是 Ceph 提供的兼容 POSIX 的分布式文件系统。它使用 Ceph 的对象存储层(RADOS)来存储数据,并通过元数据服务器(MDS)来管理文件系统的元数据。Ceph FS 支持标准的文件系统操作,如创建、删除、读取和写入文件和目录。

Ceph FS 基础命令

1. 文件系统管理

# 列出所有文件系统
ceph fs ls

# 获取文件系统详细信息
ceph fs get <fs_name>

# 创建文件系统
ceph fs volume create <fs_name>

# 删除文件系统,不一定能删除,有安全限制
ceph fs volume rm <fs_name> --yes-i-really-mean-it

# 查看文件系统状态
ceph fs status <fs_name>

2. MDS 管理

# 查看 MDS 状态
ceph mds stat

# 查看 MDS 映射
ceph mds dump

# 设置最大活跃 MDS 数量
ceph fs set <fs_name> max_mds <number>

# 设置备用 MDS 数量
ceph fs set <fs_name> standby_count_wanted <number>

Ceph FS 客户端操作

1. 内核客户端挂载

# 创建挂载点
sudo mkdir /mnt/cephfs

# 挂载 Ceph FS(使用内核驱动)
sudo mount -t ceph <mon_ip>:6789:/ /mnt/cephfs \
  -o name=<user>,secret=<key>

# 挂载特定文件系统路径
sudo mount -t ceph <mon_ip>:6789:/ /mnt/cephfs \
  -o name=admin,secretfile=/etc/ceph/admin.secret,mds_namespace=myfs
  
mount -t ceph 192.168.3.41:6789,192.168.4.33:6789,192.168.4.34:6789:/ /mnt/cephfs \
  -o name=admin,secretfile=/etc/ceph/admin.secret

# 卸载文件系统
sudo umount /mnt/cephfs

2. FUSE 客户端挂载

# 安装 ceph-fuse
sudo apt-get install ceph-fuse  # Ubuntu/Debian
sudo yum install ceph-fuse      # CentOS/RHEL

# 创建挂载点
sudo mkdir /mnt/cephfs

# 使用 ceph-fuse 挂载
ceph-fuse -m <mon_ip>:6789 /mnt/cephfs

# 卸载 FUSE 文件系统
sudo fusermount -u /mnt/cephfs

Ceph FS 子目录配额管理

1. 配额设置

# 为目录设置最大字节数
ceph fs subvolume resize <fs_name> <subvol_name> <size>

# 为目录设置最大文件数
setfattr -n ceph.quota.max_files -v <number> <directory>

# 查看目录配额
getfattr -n ceph.quota.max_bytes <directory>
getfattr -n ceph.quota.max_files <directory>

2. 配额信息查询

# 查看目录使用情况
du -sh <directory>

# 使用 cephfs-top 查看实时使用情况
cephfs-top

Ceph FS 快照管理

1. 创建和管理快照

# 创建快照(需要先启用快照功能)
mkdir /.snapshots/<snapshot_name>

# 列出快照
ls /.snapshots/

# 删除快照
rmdir /.snapshots/<snapshot_name>

# 访问快照数据
ls /<fs_mount_point>/.snapshots/<snapshot_name>/

2. 启用快照功能

# 启用文件系统快照功能
ceph fs set <fs_name> allow_new_snaps true

Ceph FS 子卷管理

1. 子卷操作

# 创建子卷
ceph fs subvolume create <fs_name> <subvol_name>

# 列出子卷
ceph fs subvolume ls <fs_name>

# 删除子卷
ceph fs subvolume rm <fs_name> <subvol_name>

# 获取子卷信息
ceph fs subvolume getpath <fs_name> <subvol_name>

2. 子卷组管理

# 创建子卷组
ceph fs subvolumegroup create <fs_name> <group_name>

# 列出子卷组
ceph fs subvolumegroup ls <fs_name>

# 删除子卷组
ceph fs subvolumegroup rm <fs_name> <group_name>

Ceph FS 性能调优

1. 客户端调优

# 设置客户端缓存大小
mount -t ceph <mon_ip>:6789:/ /mnt/cephfs \
  -o name=admin,secretfile=/etc/ceph/admin.secret,rasize=262144

# 调整最大读写大小
mount -t ceph <mon_ip>:6789:/ /mnt/cephfs \
  -o name=admin,secretfile=/etc/ceph/admin.secret,rsize=16777216,wsize=16777216

2. MDS 调优

# 设置 MDS 缓存内存限制
ceph config set mds mds_cache_memory_limit <bytes>

# 设置 MDS 日志最大段数
ceph config set mds mds_log_max_segments <number>

# 启用 MDS 负载均衡
ceph config set mds mds_balancer simple

常用 Ceph FS 管理场景

场景 1:创建和挂载文件系统

创建一个新的 Ceph FS 并挂载使用:

# 1. 创建文件系统
ceph fs volume create myfs

# 2. 查看文件系统状态
ceph fs status myfs

# 3. 获取客户端密钥
ceph auth get-key client.admin > /etc/ceph/admin.secret

# 4. 创建挂载点
sudo mkdir /mnt/cephfs

# 5. 挂载文件系统
sudo mount -t ceph <mon_ip>:6789:/ /mnt/cephfs \
  -o name=admin,secretfile=/etc/ceph/admin.secret

# 6. 验证挂载
df -h /mnt/cephfs

场景 2:配置多活跃 MDS

为提高性能配置多个活跃 MDS:

# 1. 查看当前 MDS 状态
ceph mds stat

# 2. 设置最大活跃 MDS 数量
ceph fs set myfs max_mds 2

# 3. 设置备用 MDS 数量
ceph fs set myfs standby_count_wanted 2

# 4. 验证配置
ceph mds stat

场景 3:设置目录配额

为特定目录设置存储配额:

# 1. 创建测试目录
mkdir /mnt/cephfs/testdir

# 2. 设置最大字节数配额(例如 1GB)
setfattr -n ceph.quota.max_bytes -v 1073741824 /mnt/cephfs/testdir

# 3. 设置最大文件数配额(例如 1000 个文件)
setfattr -n ceph.quota.max_files -v 1000 /mnt/cephfs/testdir

# 4. 验证配额设置
getfattr -n ceph.quota.max_bytes /mnt/cephfs/testdir
getfattr -n ceph.quota.max_files /mnt/cephfs/testdir

场景 4:创建和使用快照

为重要数据创建快照:

# 1. 启用快照功能
ceph fs set myfs allow_new_snaps true

# 2. 创建快照目录
mkdir /mnt/cephfs/.snapshots

# 3. 创建快照
mkdir /mnt/cephfs/.snapshots/snap_$(date +%Y%m%d_%H%M%S)

# 4. 访问快照数据
ls /mnt/cephfs/.snapshots/snap_*/

Ceph FS 相关配置参数

参数名含义默认值建议值
mds_cache_memory_limitMDS 缓存内存限制4GB根据节点内存调整
mds_balancer负载均衡器nonesimple
client_mount_timeout客户端挂载超时30s30s
client_caps_release_delay客户端能力释放延迟5min5min
mds_log_max_segmentsMDS 日志最大段数3030-100

Ceph FS 最佳实践

1. 部署建议

  • MDS 高可用:部署多个 MDS 实例以确保高可用性
  • 网络配置:确保 MDS 和客户端之间有良好的网络连接
  • 存储池规划:合理规划元数据和数据存储池

2. 性能优化

  • 客户端调优:根据工作负载调整客户端参数
  • MDS 调优:合理配置 MDS 缓存和日志参数
  • 负载均衡:启用并配置 MDS 负载均衡器

3. 数据保护

  • 快照策略:制定定期快照策略
  • 备份机制:建立定期备份机制
  • 配额管理:合理使用配额功能控制存储使用

注意事项

  1. 依赖关系:Ceph FS 依赖于 MDS 和 OSD 集群
  2. 内核支持:使用内核客户端需要支持 Ceph 的内核版本
  3. 权限控制:合理配置客户端访问权限
  4. 配额限制:配额是软限制,不是硬限制

总结

Ceph FS 提供了完整的 POSIX 兼容文件系统功能,适用于各种需要共享文件存储的场景。通过合理配置和管理 Ceph FS,可以为用户提供高性能、高可用的分布式文件系统服务。在实际使用中,应根据具体需求选择合适的配置参数和管理策略。

参考文档

  1. Ceph 官方文档 - CephFS
  2. Ceph 官方文档 - 文件系统管理
  3. Ceph 官方文档 - CephFS 客户端
0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区