目 录CONTENT

文章目录

Ceph MDS 命令详解

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

Ceph MDS 命令详解

MDS(Metadata Server)是 CephFS(Ceph File System)的元数据服务器,负责存储文件系统的元数据,如目录结构、文件属性等。MDS 使得 Ceph 能够提供 POSIX 兼容的文件系统接口。

MDS 基础命令

1. 查看 MDS 状态

# 查看 MDS 状态概览
ceph mds stat

# 查看 MDS 详细信息
ceph mds metadata

2. MDS 管理命令

# 启动 MDS 服务
ceph mds start <mds_name>

# 停止 MDS 服务
ceph mds stop <mds_name>

# 设置 MDS 集群状态
ceph mds set_state <gid> <state>

MDS 部署和管理

1. 使用 orch 命令管理 MDS

在 cephadm 环境中,使用 orch 命令来管理 MDS:

# 查看 MDS 服务状态
ceph orch ls --service-type mds

# 查看 MDS daemon 状态(相当统一查看进程)
ceph orch ps --daemon-type mds

# 部署 MDS 服务
ceph orch apply mds mds_name --placement="<node1> <node2>"
ceph orch apply mds zjl_cephfs --placement="count:2"

# 手动添加 MDS 实例
ceph orch daemon add mds mds_name <node>
ceph orch daemon add mds zjl_cephfs ceph1

# 移除 MDS 实例
ceph orch daemon rm <mds_daemon_name>
ceph orch daemon rm mds.zjl_cephfs.ceph3.hvihou 

# 删除 MDS 服务
ceph orch rm mds.mds_name
ceph orch rm mds.zjl_cephfs

2. 文件系统和 MDS 管理

# 创建文件系统(自动创建 MDS)
ceph fs volume create <fs_name>
ceph fs volume create test
# 此命令会创建
# 1、文件系统以及pool:name: test, metadata pool: cephfs.test.meta, data pools: [cephfs.test.data ]
# 2、mds:mds.test.ceph3.fqxnaa             ceph3         running (3m)     3m ago   3m    15.9M        -  17.2.8   259b35566514  e5314ffbd008  
#    mds.test.ceph4.droahw             ceph4         running (3m)     3m ago   3m    13.3M        -  17.2.8   259b35566514  841c45175775



# 删除文件系统
# ==============================
# 1. 停用文件系统(强制使所有 MDS 失效)
# ==============================
ceph fs fail fs_name

# ==============================
# 2. 删除 CephFS 文件系统元数据
# ==============================
ceph fs rm fs_name --yes-i-really-mean-it

# ==============================
# 3. 删除由 cephadm 管理的 MDS 服务
#    (服务名通常为 mds.fs_name)
# ==============================
ceph orch rm mds.fs_name

# ==============================
# 4. (可选)删除关联的存储池(需先启用 pool 删除权限)
# ==============================
# 4.1 启用 pool 删除(高危操作,仅临时开启)
ceph config set mon mon_allow_pool_delete true

# 4.2 删除数据池和元数据池(名称需根据实际情况调整)
#    通常默认命名规则为:fs_name_data / fs_name_meta 注意要写两遍pool的名字
ceph osd pool rm fs_name_data fs_name_data --yes-i-really-really-mean-it
ceph osd pool rm fs_name_meta fs_name_meta --yes-i-really-really-mean-it

# 4.3 禁用 pool 删除(安全加固,强烈建议执行)
ceph config set mon mon_allow_pool_delete false



# 查看所有文件系统
ceph fs ls

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

常用 MDS 管理场景

场景 1:创建 CephFS 文件系统

创建一个新的 CephFS 文件系统:

# 1. 创建文件系统(会自动创建相关的存储池和 MDS)
ceph fs volume create myfs

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

# 3. 查看 MDS 状态
ceph mds stat

场景 2:扩展 MDS 集群

为提高文件系统性能,可以部署多个 MDS 实例:

# 1. 查看当前 MDS 配置
ceph fs get myfs

# 2. 增加 MDS 实例数量
ceph orch apply mds myfs --placement="3"

# 3. 验证 MDS 状态
ceph mds stat

场景 3:配置 MDS 故障转移

配置 MDS 高可用性:

# 1. 设置允许的活跃 MDS 数量
ceph fs set myfs max_mds 2

# 2. 设置 standby MDS 数量
ceph fs set myfs standby_count_wanted 2

# 3. 验证配置
ceph fs status myfs

场景 4:故障 MDS 恢复

当 MDS 发生故障时,进行恢复操作:

# 1. 查看 MDS 状态
ceph mds stat

# 2. 如果 MDS 未自动恢复,重启 MDS 服务
ceph orch daemon restart <mds_daemon_name>

# 3. 验证恢复状态
ceph mds stat

MDS 最佳实践

1. 部署建议

  • 数量:根据文件系统负载部署适当数量的 MDS
  • 分布:将 MDS 分布在不同的物理节点上
  • 资源:为 MDS 分配足够的内存和 CPU 资源

2. 性能优化

  • 缓存配置:根据工作负载调整 MDS 缓存大小
  • 负载均衡:启用并配置 MDS 负载均衡器
  • 文件大小:合理设置最大文件大小限制

3. 监控建议

  • 健康检查:定期检查 MDS 健康状态
  • 性能监控:监控 MDS 性能指标
  • 日志分析:定期分析 MDS 日志

注意事项

  1. 依赖关系:MDS 依赖于底层的 OSD 集群
  2. 存储池:创建文件系统时会自动创建元数据和数据存储池
  3. 客户端连接:确保客户端能够访问 MDS 和 OSD
  4. 权限控制:合理配置文件系统访问权限

总结

MDS 是 CephFS 的核心组件,负责管理文件系统的元数据。通过合理配置和管理 MDS,可以为用户提供高性能、高可用的分布式文件系统服务。在实际运维中,应密切关注 MDS 的状态和性能,及时处理可能出现的问题。

参考文档

  1. Ceph 官方文档 - MDS
  2. Ceph 官方文档 - 文件系统管理
  3. Ceph 官方文档 - MDS 配置
0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区