配置集群的多个公用网络

当用户想要将 Ceph Monitor 守护程序放在属于多个网络子网的主机上时,需要为集群配置多个公用网络。

用法示例是用于 OpenShift Data Foundation 的 Metro DR 中的高级集群管理 (ACM) 的延伸集群方式。

您可以在引导期间以及在引导完成后配置集群的多个公用网络。

先决条件

  • 在添加主机之前,请确保您有一个正在运行的 IBM Storage Ceph 集群。

过程

  1. 引导配置了多个公用网络的 Ceph 集群。

    1. 准备包含 mon 公用网络部分的 ceph.conf 文件。

      重要信息: 必须在用于引导的当前主机上配置至少一个提供的公用网络。

      语法

       [mon]
       public_network = PUBLIC_NETWORK1, PUBLIC_NETWORK2

      示例

       [mon]
       public_network = 10.40.0.0/24, 10.41.0.0/24, 10.42.0.0/24

      这是要为引导程序提供三个公用网络的示例。

    2. 通过提供 ceph.conf 文件作为输入来引导集群。

      注: 在引导期间,您可以包含要提供的任何其他自变量。

      语法

       cephadm --image IMAGE_URL bootstrap --mon-ip MONITOR_IP -c PATH_TO_CEPH_CONF
      注: 或者,可以使用 IMAGE_ID (例如, 13ea90216d0be03003d12d7869f72ad9de5cec9e54a27fd308e01e467c0d4a0a) 来代替 IMAGE_URL

      示例

      [root@host01 ~]# cephadm –image cp.icr.io/cp/ibm-ceph/ceph-8-rhel9:latest bootstrap –mon-ip 10.40.0.0/24 -c /etc/ceph/ceph.conf   
  2. 将新主机添加到子网。

    注: 要添加的主机必须可从运行活动管理器的主机访问。
    1. 在新主机的 root 用户的 authorized_keys 文件中安装集群的公用 SSH 密钥:

      语法

       # ssh-copy-id -f -i /etc/ceph/ceph.pub root@NEW-HOST

      示例

       [root@host01 ~]# ssh-copy-id -f -i /etc/ceph/ceph.pub root@host02 
       [root@host01 ~]# ssh-copy-id -f -i /etc/ceph/ceph.pub root@host03
    2. 将新节点添加到 Ceph 集群:

      语法

      ceph orch host add NEW_HOST IP [LABEL1 ...]

      示例

       ceph orch host add host02 10.10.0.102 label1 
       ceph orch host add host03 10.10.0.103 label2
      注:
      • 最好显式提供主机 IP 地址。 如果未提供 IP ,那么将通过 DNS 立即解析主机名,并且将使用该 IP。

      • 还可以包含一个或多个标签以立即对新主机进行标签。 例如,缺省情况下, _admin 标签将使 cephadm 维护 ceph.conf 文件的副本和 /etc/ceph中的 client.admin 密钥环文件。

  3. 将公用网络参数的网络配置添加到正在运行的集群。 请确保子网以逗号分隔,并且子网以子网/掩码格式列出。

    语法

     ceph config set mon public_network "SUBNET_1,SUBNET_2, ..."

    示例

     [root@host01 ~]# ceph config set mon public_network "192.168.0.0/24, 10.42.0.0/24, ..."

    如有必要,请更新 mon 规范以将 mon 守护程序放置在指定子网中的主机上。

参考