目 录CONTENT

文章目录

Ceph MON 命令详解

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

Ceph MON 命令详解

MON(Monitor)是 Ceph 集群的大脑,负责维护集群映射(cluster map)和状态信息。MON 组件确保集群的一致性和协调性,是 Ceph 高可用性的关键组成部分。

MON 基础命令

1. 查看 MON 状态

# 查看 MON 状态概览
ceph mon stat

# 查看 MON 映射信息
ceph mon dump

# 查看 MON 仲裁状态
ceph quorum_status

# 查看 MON 详细信息
ceph mon metadata

2. MON 管理命令

# 添加 MON
ceph mon add <mon_id> <ip_address>

# 删除 MON
ceph mon remove <mon_id>

# 查看 MON 状态详情
ceph mon status

MON 高可用配置

1. 部署和管理 MON 服务

在 cephadm 环境中,通常使用 orch 命令来管理 MON:

# 查看 MON 服务状态
ceph orch ls --service-type mon

# 部署 MON 服务到指定节点
ceph orch apply mon --placement="<node1> <node2> <node3>"

# 手动添加 MON 实例
ceph orch daemon add mon <node>

# 移除 MON 实例
ceph orch daemon rm <mon_daemon_name>

2. MON 网络配置

# 配置公共网络
ceph config set global public_network <network_cidr>

# 配置集群网络
ceph config set global cluster_network <network_cidr>

# 查看当前网络配置
ceph config get mon public_network
ceph config get mon cluster_network

MON 故障排查

1. 日志查看

在容器化部署环境中(如使用podman运行Ceph),MON日志可以通过以下方式查看:

# 首先找到运行MON的容器
podman ps | grep mon

# 查看特定MON容器的日志
podman logs ceph-mon-ceph1

# 实时跟踪MON容器日志
podman logs -f ceph-mon-ceph1

# 或者进入容器内部查看日志文件
podman exec -it ceph-mon-ceph1 ls /var/log/ceph/
podman exec -it ceph-mon-ceph1 cat /var/log/ceph/ceph-mon.ceph1.log

2. 状态检查

# 检查 MON 时钟偏移
ceph health detail | grep clock

# 检查 MON 磁盘空间
ceph health detail | grep mon

# 检查 MON 选举状态
ceph quorum_status

常用 MON 管理场景

场景 1:扩展 MON 集群

向现有集群添加新的 MON 节点:

# 1. 添加新主机到集群
ceph orch host add <new_node> <ip_address>

# 2. 部署 MON 服务到新节点
ceph orch daemon add mon <new_node>

# 3. 验证 MON 状态
ceph mon dump
ceph quorum_status

场景 2:替换故障 MON

当某个 MON 节点发生故障时,需要替换:

# 1. 移除故障 MON
ceph mon remove <failed_mon_id>

# 2. 添加新 MON
ceph orch daemon add mon <new_node>

# 3. 验证 MON 状态
ceph mon dump
ceph quorum_status

MON 相关配置参数

参数名含义默认值建议值
mon_clock_drift_allowed允许的时钟漂移0.050.05
mon_data_avail_warn数据可用空间警告阈值0.050.05
mon_data_avail_crit数据可用空间严重阈值0.050.02
mon_max_pg_per_osd每个 OSD 的最大 PG 数量200根据集群规模调整
[root@ceph1 ~]# ceph config get mon mon_max_pg_per_osd
250
[root@ceph1 ~]# ceph config get mon mon_data_avail_crit
5
[root@ceph1 ~]# ceph config get mon mon_data_avail_warn
30
[root@ceph1 ~]# ceph config get mon mon_clock_drift_allowed
0.050000

MON 最佳实践

1. 部署建议

  • 数量:部署奇数个 MON(通常 3 或 5 个)
  • 分布:将 MON 分布在不同的物理节点上
  • 网络:确保 MON 节点之间网络低延迟、高带宽

2. 监控建议

  • 时钟同步:确保所有 MON 节点时间同步
  • 磁盘空间:监控 MON 数据目录的磁盘使用率
  • 网络延迟:监控 MON 节点之间的网络延迟

3. 维护建议

  • 定期备份:定期备份 MON 数据
  • 版本升级:升级时确保 MON 兼容性
  • 日志轮转:配置适当的日志轮转策略

注意事项

  1. 法定人数:MON 数量必须保持奇数,避免脑裂
  2. 时钟同步:MON 节点间时钟偏差不能超过阈值
  3. 磁盘空间:MON 需要足够的磁盘空间存储集群映射
  4. 网络连通:MON 节点间必须保持网络连通

总结

MON 是 Ceph 集群的核心组件,负责维护集群的状态和一致性。了解 MON 的相关命令和配置参数,对于维护 Ceph 集群的稳定性和高可用性至关重要。在实际运维中,应密切关注 MON 的状态和性能,及时处理可能出现的问题。

参考文档

  1. Ceph 官方文档 - Monitor
  2. Ceph 官方文档 - Monitor 配置
  3. Ceph 官方文档 - 高可用配置
0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区