9.5.2. 将 Ceph Monitor 守护进程迁移到 Red Hat Ceph Storage 节点


您必须将 Ceph Monitor 守护进程从 Red Hat OpenStack Platform (RHOSP) Controller 节点移到一组目标节点。如果 Red Hat Ceph Storage 由带有 Hyperconverged Infrastructure (HCI)拓扑的 director Operator 部署,则目标节点可以是现有的 Red Hat Ceph Storage 节点,或 RHOSP Compute 节点。额外的 Ceph 监控器部署到目标节点上,它们被提升为 _admin 节点,您可以使用它们来管理 Red Hat Ceph Storage 集群并执行第 2 天操作。

要迁移 Ceph Monitor 守护进程,您必须执行以下高级别步骤:

对托管 Ceph 监控器的任何其他 Controller 节点重复这些步骤,直到您将所有 Ceph Monitor 守护进程迁移到目标节点。

9.5.2.1. 为 Ceph 监控迁移配置目标节点

通过执行以下操作,为 Ceph Monitor 迁移准备目标 Red Hat Ceph Storage 节点:

  1. 在目标节点中启用防火墙规则并保留它们。
  2. 创建一个基于标签的 spec,并使用 cephadm 应用它。
  3. 确保在迁移过程中维护 Ceph Monitor 仲裁。

流程

  1. SSH 到目标节点,并启用访问 Ceph 监控服务所需的防火墙规则:

    $ for port in 3300 6789; {
        ssh heat-admin@<target_node> sudo iptables -I INPUT \
        -p tcp -m tcp --dport $port -m conntrack --ctstate NEW \
        -j ACCEPT;
    }
    • <target_node > 替换为托管新 Ceph Monitor 的节点的主机名。
  2. 检查规则是否已正确应用到目标节点并保留它们:

    $ sudo iptables-save
    $ sudo systemctl restart iptables
  3. 如果在现有部署中使用了 nftables,请编辑 /etc/nftables/tripleo-rules.nft 并添加以下内容:

    # 110 ceph_mon {'dport': [6789, 3300, '9100']}
    add rule inet filter TRIPLEO_INPUT tcp dport { 6789,3300,9100 } ct state new counter accept comment "110 ceph_mon"
  4. 保存该文件。
  5. 重启 nftables 服务:

    $ sudo systemctl restart nftables
  6. 验证是否应用了规则:

    $ sudo nft list ruleset | grep ceph_mon
  7. 要将现有的 Ceph Monitor 迁移到目标 Red Hat Ceph Storage 节点,请从第一个 Ceph Monitor 或第一个 Controller 节点检索 Red Hat Ceph Storage mon spec:

    $ SPEC_DIR=${SPEC_DIR:-"$PWD/ceph_specs"}
    $ mkdir -p ${SPEC_DIR}
    $ sudo cephadm shell -- ceph orch ls --export mon > ${SPEC_DIR}/mon
  8. placement 部分添加 label:mon 部分:

    service_type: mon
    service_id: mon
    placement:
      label: mon
  9. 保存 spec。
  10. 使用 Ceph 编排器应用带有 cephadm 的 spec:

    $ SPEC_DIR=${SPEC_DIR:-"$PWD/ceph_specs"}
    $ sudo cephadm shell -m ${SPEC_DIR}/mon -- ceph orch apply -i /mnt/mon
  11. mon 标签扩展到剩余的 Red Hat Ceph Storage 目标节点,以确保在迁移过程中维护仲裁:

    for item in $(sudo cephadm shell --  ceph orch host ls --format json | jq -r '.[].hostname'); do
        sudo cephadm shell -- ceph orch host label add  $item mon;
        sudo cephadm shell -- ceph orch host label add  $item _admin;
    done
    注意

    应用 mon spec 允许现有策略 使用标签,而不是主机 。因此,任何具有 mon 标签的节点都可以托管 Ceph Monitor 守护进程。仅执行此步骤一次,以避免在迁移多个 Ceph monitor 时进行多次迭代。

  12. 检查 Red Hat Ceph Storage 和 Ceph 编排器守护进程列表的状态。确保 Ceph 监控器位于仲裁中,并由 ceph orch 命令列出:

    $ sudo cephadm shell -- ceph -s
      cluster:
        id:     f6ec3ebe-26f7-56c8-985d-eb974e8e08e3
        health: HEALTH_OK
    
      services:
        mon: 6 daemons, quorum controller-0,controller-1,controller-2,ceph-0,ceph-1,ceph-2 (age 19m)
        mgr: controller-0.xzgtvo(active, since 32m), standbys: controller-1.mtxohd, controller-2.ahrgsk
        osd: 8 osds: 8 up (since 12m), 8 in (since 18m); 1 remapped pgs
    
      data:
        pools:   1 pools, 1 pgs
        objects: 0 objects, 0 B
        usage:   43 MiB used, 400 GiB / 400 GiB avail
        pgs:     1 active+clean
    $ sudo cephadm shell -- ceph orch host ls
    HOST              ADDR           LABELS          STATUS
    ceph-0        192.168.24.14  osd mon mgr _admin
    ceph-1        192.168.24.7   osd mon mgr _admin
    ceph-2        192.168.24.8   osd mon mgr _admin
    controller-0  192.168.24.15  _admin mgr mon
    controller-1  192.168.24.23  _admin mgr mon
    controller-2  192.168.24.13  _admin mgr mon
  13. 在剩余的流程过程中使用的第一个 Controller 节点设置 Ceph 客户端,以便与 Red Hat Ceph Storage 交互。在存储网络上设置一个额外的 IP 地址,在第一个 Controller 节点停用时用于与 Red Hat Ceph Storage 交互:

    1. 备份 ceph_client_backup 目录中 /etc/ceph 的内容。

      $ mkdir -p $HOME/ceph_client_backup
      $ sudo cp -R /etc/ceph/* $HOME/ceph_client_backup
    2. 在属于存储网络的 VLAN 上的 IP 地址后,编辑 /etc/os-net-config/config.yaml 和 add - ip_netmask: 172.17.3.200。将 172.17.3.200 替换为存储网络上的任何其他可用 IP 地址,这些 IP 地址可静态分配给 controller-0
    3. 保存文件并刷新 controller-0 网络配置:

      $ sudo os-net-config -c /etc/os-net-config/config.yaml
    4. 验证 Controller 节点中是否存在 IP 地址:

      $ ip -o a | grep 172.17.3.200
    5. Ping IP 地址,并确认它可以访问:

      $ ping -c 3 172.17.3.200
    6. 验证您可以与 Red Hat Ceph Storage 集群交互:

      $ sudo cephadm shell -c $HOME/ceph_client_backup/ceph.conf -k $HOME/ceph_client_backup/ceph.client.admin.keyring -- ceph -s

后续步骤

继续下一步 Draining 源节点

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

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

让开源更具包容性

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

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部