搜索

第 9 章 在扩展模式下对集群进行故障排除

download PDF

您可以替换和移除失败的 tiebreaker monitor。您还可以强制集群进入恢复或健康模式。

其它资源

有关扩展模式 集群的更多信息,请参阅 Ceph 存储的 Stretch 集群。

9.1. 使用仲裁中的 monitor 替换 tiebreaker

如果您的 tiebreaker monitor 失败,您可以将其替换为仲裁中的现有 monitor,并将它从集群中移除。

先决条件

  • 正在运行的 Red Hat Ceph Storage 集群
  • 在集群中启用扩展模式

流程

  1. 禁用自动监控器部署:

    示例

    [ceph: root@host01 /]# ceph orch apply mon --unmanaged
    
    Scheduled mon update…

  2. 查看仲裁中的监控器:

    示例

    [ceph: root@host01 /]# ceph -s
    
    mon: 5 daemons, quorum host01, host02, host04, host05 (age 30s), out of quorum: host07

  3. 将仲裁中的监控器设置为一个新的 tiebreaker:

    语法

    ceph mon set_new_tiebreaker NEW_HOST

    示例

    [ceph: root@host01 /]# ceph mon set_new_tiebreaker host02

    重要

    如果 monitor 与现有非tiebreaker 监视器位于同一个位置,您会收到错误消息:

    示例

    [ceph: root@host01 /]# ceph mon set_new_tiebreaker host02
    
    Error EINVAL: mon.host02 has location DC1, which matches mons host02 on the datacenter dividing bucket for stretch mode.

    如果发生这种情况,请更改 monitor 的位置:

    语法

    ceph mon set_location HOST datacenter=DATACENTER

    示例

    [ceph: root@host01 /]# ceph mon set_location host02 datacenter=DC3

  4. 删除失败的 tiebreaker 监控器:

    语法

    ceph orch daemon rm FAILED_TIEBREAKER_MONITOR --force

    示例

    [ceph: root@host01 /]# ceph orch daemon rm mon.host07 --force
    
    Removed mon.host07 from host 'host07'

  5. 从主机中删除 monitor 后,重新部署 monitor:

    语法

    ceph mon add HOST IP_ADDRESS datacenter=DATACENTER
    ceph orch daemon add mon HOST

    示例

    [ceph: root@host01 /]# ceph mon add host07 213.222.226.50 datacenter=DC1
    [ceph: root@host01 /]# ceph orch daemon add mon host07

  6. 确保仲裁中有五个监控器:

    示例

    [ceph: root@host01 /]# ceph -s
    
    mon: 5 daemons, quorum host01, host02, host04, host05, host07 (age 15s)

  7. 验证一切是否已正确配置:

    示例

    [ceph: root@host01 /]# ceph mon dump
    
    epoch 19
    fsid 1234ab78-1234-11ed-b1b1-de456ef0a89d
    last_changed 2023-01-17T04:12:05.709475+0000
    created 2023-01-16T05:47:25.631684+0000
    min_mon_release 16 (pacific)
    election_strategy: 3
    stretch_mode_enabled 1
    tiebreaker_mon host02
    disallowed_leaders host02
    0: [v2:132.224.169.63:3300/0,v1:132.224.169.63:6789/0] mon.host02; crush_location {datacenter=DC3}
    1: [v2:220.141.179.34:3300/0,v1:220.141.179.34:6789/0] mon.host04; crush_location {datacenter=DC2}
    2: [v2:40.90.220.224:3300/0,v1:40.90.220.224:6789/0] mon.host01; crush_location {datacenter=DC1}
    3: [v2:60.140.141.144:3300/0,v1:60.140.141.144:6789/0] mon.host07; crush_location {datacenter=DC1}
    4: [v2:186.184.61.92:3300/0,v1:186.184.61.92:6789/0] mon.host03; crush_location {datacenter=DC2}
    dumped monmap epoch 19

  8. 重新部署 monitor:

    语法

    ceph orch apply mon --placement="HOST_1, HOST_2, HOST_3, HOST_4, HOST_5

    示例

    [ceph: root@host01 /]# ceph orch apply mon --placement="host01, host02, host04, host05, host07"
    
    Scheduled mon update...

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.