5.3. 使用规格文件引导 Ceph 集群


通过使用 spec 配置文件,将 CRUSH 位置设置为集群中的守护进程来部署常规扩展集群。

使用服务配置文件,将 CRUSH 位置设置为集群中的守护进程。在部署过程中,使用 配置文件将主机添加到正确的位置。

有关 Ceph bootstrap 和不同的 cephadm bootstrap 命令选项的更多信息,请参阅 Red Hat Ceph Storage 安装指南中的 引导新存储集群

重要

在您要作为集群中初始监控节点的节点上运行 cephadm bootstrapIP_ADDRESS 选项应该是您用于运行 cephadm bootstrap 的节点的 IP 地址。

注意
  • 如果存储集群包含多个网络和接口,请确定选择一个可供使用存储集群的任何节点访问的网络。
  • 要使用 IPV6 地址部署存储集群,请将 IPV6 地址格式用于 --mon-ip <IP_ADDRESS> 选项。例如:cephadm bootstrap --mon-ip 2620:52:0:880:225:90ff:fefc:2536 --registry-json /etc/mylogin.json
  • 要通过公共网络路由内部集群流量,请省略 the -cluster-network SUBNET 选项。

在此过程中,网络无类别域间路由(CIDR)被称为 子网

先决条件

确保具有对节点的 root 级别访问权限。

流程

  1. 创建服务配置 YAML 文件。YAML 文件将节点添加到 Red Hat Ceph Storage 集群,并为运行服务设置特定的标签。下例取决于所需的特定 OSD 和 Ceph 对象网关(RGW)配置。

    语法

    service_type: host
    hostname: HOST01
    addr: IP_ADDRESS01
    labels: ['alertmanager', 'osd', 'installer', '_admin', 'mon', 'prometheus', 'mgr', 'grafana']
    location:
      root: default
      datacenter: DC1
    ---
    service_type: host
    hostname: HOST02
    addr: IP_ADDRESS02
    labels: ['osd', 'mon', 'mgr', 'rgw']
    location:
      root: default
      datacenter: DC1
    ---
    service_type: host
    hostname: HOST03
    addr: IP_ADDRESS03
    labels: ['osd', 'mon', 'mds']
    location:
      root: default
      datacenter: DC1
    ---
    service_type: host
    hostname: HOST04
    addr: IP_ADDRESS04
    labels: ['osd', '_admin', 'mon', 'mgr']
    location:
      root: default
      datacenter: DC2
    ---
    service_type: host
    hostname: HOST05
    addr: IP_ADDRESS05
    labels: ['osd', 'mon', 'mgr', 'rgw']
    location:
      root: default
      datacenter: DC2
    ---
    service_type: host
    hostname: HOST06
    addr: IP_ADDRESS06
    labels: ['osd', 'mon', 'mds']
    location:
      root: default
      datacenter: DC2
    ---
    service_type: host
    hostname: HOST07
    addr: IP_ADDRESS07
    labels: ['osd', '_admin', 'mon', 'mgr']
    location:
      root: default
      datacenter: DC3
    ---
    service_type: host
    hostname: HOST08
    addr: IP_ADDRESS08
    labels: ['osd', 'mon', 'mgr', 'rgw']
    location:
      root: default
      datacenter: DC3
    ---
    service_type: host
    hostname: HOST09
    addr: IP_ADDRESS09
    labels: ['osd', 'mon', 'mds']
    location:
      root: default
      datacenter: DC3
    ---
    service_type: mon
    service_name: mon
    placement:
      label: mon
    spec:
      crush_locations:
        HOST01:
        - datacenter=DC1
        HOST02:
        - datacenter=DC1
        HOST03:
        - datacenter=DC1
        HOST04:
        - datacenter=DC2
        HOST05:
        - datacenter=DC2
        HOST06:
        - datacenter=DC2
        HOST07:
        - datacenter=DC3
        HOST08:
        - datacenter=DC3
        HOST09:
        - datacenter=DC3
    
    ---
    service_type: mgr
    service_name: mgr
    placement:
      label: mgr
    ------
    service_type: osd
    service_id: osds
    placement:
      label: osd
    spec:
      data_devices:
         all: true
    ---------
    service_type: rgw
    service_id: rgw.rgw.1
    placement:
    label: rgw
    ------------

    有关更改 OSD 和对象网关的自定义 spec 的更多信息,请参阅 Red Hat Ceph Storage Operations 指南中的使用高级服务规格部署 Ceph OSD。* 使用 Red Hat Ceph Storage Object Gateway 指南中的使用服务规格部署 Ceph 对象网关。

  2. 使用- -apply-spec 选项引导存储集群。

    语法

    cephadm bootstrap --apply-spec CONFIGURATION_FILE_NAME --mon-ip MONITOR_IP_ADDRESS --ssh-private-key PRIVATE_KEY --ssh-public-key PUBLIC_KEY --registry-url REGISTRY_URL --registry-username USER_NAME --registry-password PASSWORD

    示例

    [root@host01 ~]# cephadm bootstrap --apply-spec initial-config.yaml --mon-ip 10.10.128.68 --ssh-private-key /home/ceph/.ssh/id_rsa --ssh-public-key /home/ceph/.ssh/id_rsa.pub --registry-url registry.redhat.io --registry-username myuser1 --registry-password mypassword1

    重要

    您可以将不同的命令选项用于 cephadm bootstrap 命令,但始终包含 --apply-spec 选项,以使用服务配置文件并配置主机位置。

  3. 登录 cephadm shell。

    语法

    cephadm shell

    示例

    [root@host01 ~]# cephadm shell

  4. 使用子网配置公共网络。有关为集群配置多个公共网络的更多信息,请参阅 Red Hat Ceph Storage 配置指南中的 为集群配置多个公共网络

    语法

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

    示例

    [ceph: root@host01 /]# ceph config global mon public_network "10.0.208.0/22,10.0.212.0/22,10.0.64.0/22,10.0.56.0/22"

  5. 可选:配置集群网络。有关为集群配置多个集群网络的更多信息,请参阅 Red Hat Ceph Storage 配置指南中的配置 专用网络

    语法

    ceph config set global cluster_network "SUBNET_1,SUBNET_2, ..."

    示例

    [ceph: root@host01 /]# ceph config set global cluster_network "10.0.208.0/22,10.0.212.0/22,10.0.64.0/22,10.0.56.0/22"

  6. 可选:验证网络配置。

    语法

    ceph config dump | grep network

    示例

    [ceph: root@host01 /]# ceph config dump | grep network

  7. 重启守护进程。Ceph 守护进程动态绑定,因此如果更改特定守护进程的网络配置,不必一次重启整个集群。

    语法

    ceph orch restart mon

  8. 可选: 要以 root 用户身份在管理节点上重启集群,请运行 systemctl restart 命令。

    注意

    要获取集群的 FSID,请使用 ceph fsid 命令。

    语法

    systemctl restart ceph-FSID_OF_CLUSTER.target

    示例

    [root@host01 ~]# systemctl restart ceph-1ca9f6a8-d036-11ec-8263-fa163ee967ad.target

验证

验证规格文件详情以及 bootstrap 是否已成功安装。

  1. 验证所有主机是否已放置在预期的数据中心中,如流程的第 1 步中指定的。

    语法

    ceph osd tree

    检查 root 下有三个数据中心,并且主机已放置到每个预期的数据中心。

    注意

    只有在使用规格文件引导过程中部署 OSD 时,只有 bootstrap 后带有 OSD 的主机才会存在。

    示例

    [root@host01 ~]# ceph osd tree
    ID   CLASS  WEIGHT   TYPE NAME                                         STATUS  REWEIGHT  PRI-AFF
     -1         0.87836  root default
     -3         0.29279      datacenter DC1
     -2         0.09760          host host01-installer
      0    hdd  0.02440              osd.0                                     up   1.00000  1.00000
     12    hdd  0.02440              osd.12                                    up   1.00000  1.00000
     21    hdd  0.02440              osd.21                                    up   1.00000  1.00000
     29    hdd  0.02440              osd.29                                    up   1.00000  1.00000
     -4         0.09760          host host02
      1    hdd  0.02440              osd.1                                     up   1.00000  1.00000
      9    hdd  0.02440              osd.9                                     up   1.00000  1.00000
     18    hdd  0.02440              osd.18                                    up   1.00000  1.00000
     28    hdd  0.02440              osd.28                                    up   1.00000  1.00000
     -5         0.09760          host host03
      8    hdd  0.02440              osd.8                                     up   1.00000  1.00000
     16    hdd  0.02440              osd.16                                    up   1.00000  1.00000
     24    hdd  0.02440              osd.24                                    up   1.00000  1.00000
     34    hdd  0.02440              osd.34                                    up   1.00000  1.00000
     -7         0.29279      datacenter DC2
     -6         0.09760          host host04
      4    hdd  0.02440              osd.4                                     up   1.00000  1.00000
     13    hdd  0.02440              osd.13                                    up   1.00000  1.00000
     20    hdd  0.02440              osd.20                                    up   1.00000  1.00000
     27    hdd  0.02440              osd.27                                    up   1.00000  1.00000
     -8         0.09760          host host05
      3    hdd  0.02440              osd.3                                     up   1.00000  1.00000
     10    hdd  0.02440              osd.10                                    up   1.00000  1.00000
     19    hdd  0.02440              osd.19                                    up   1.00000  1.00000
     30    hdd  0.02440              osd.30                                    up   1.00000  1.00000
     -9         0.09760          host host06
      7    hdd  0.02440              osd.7                                     up   1.00000  1.00000
     17    hdd  0.02440              osd.17                                    up   1.00000  1.00000
     26    hdd  0.02440              osd.26                                    up   1.00000  1.00000
     35    hdd  0.02440              osd.35                                    up   1.00000  1.00000
    -11         0.29279      datacenter DC3
    -10         0.09760          host host07
      5    hdd  0.02440              osd.5                                     up   1.00000  1.00000
     14    hdd  0.02440              osd.14                                    up   1.00000  1.00000
     23    hdd  0.02440              osd.23                                    up   1.00000  1.00000
     32    hdd  0.02440              osd.32                                    up   1.00000  1.00000
    -12         0.09760          host host08
      2    hdd  0.02440              osd.2                                     up   1.00000  1.00000
     11    hdd  0.02440              osd.11                                    up   1.00000  1.00000
     22    hdd  0.02440              osd.22                                    up   1.00000  1.00000
     31    hdd  0.02440              osd.31                                    up   1.00000  1.00000
    -13         0.09760          host host09
      6    hdd  0.02440              osd.6                                     up   1.00000  1.00000
     15    hdd  0.02440              osd.15                                    up   1.00000  1.00000
     25    hdd  0.02440              osd.25                                    up   1.00000  1.00000
     33    hdd  0.02440              osd.33                                    up   1.00000  1.00000

  2. 在 cephadm shell 中,验证 mon 守护进程是否使用 CRUSH 位置部署,如流程的第 1 步所述。

语法

ceph mon dump

+ 检查所有 mon 守护进程是否在输出中,并且添加了正确的 CRUSH 位置。

+ .example --- [root@host01 ~]: ceph mon dump epoch 19 fsid b556497a-693a-11ef-b9d1-fa163e841fd7 last_changed 2024-09-03T12:47:08.419495+0000 created 2024-09-02T14:50:51.490781+0000 min_mon_release 19 (squid) election_strategy: 3 0: [v2:10.0.67.43:3300/0, v1:10.0.67.43:6789/0] mon.host01-installer; crush_location {datacenter=DC1} 1: [v2:10.0.67.20:3300/0,v1:10.0.67.20:6789/0] mon.host02; crush_location {datacenter=DC1} 2: [v2:10.0.64.242:3300/0, v1:10.0.64.242:6789/0] mon.host03; crush_location {datacenter=DC1} 3: [v2:10.0.66.17:3300/0,v1:10.0.66.17:6789/0] mon.host06; crush_location {datacenter=DC2} 4: [v2:10.0.66.228:3300/0, v1:10.0.66.228:6789/0] mon.host09; crush_location {datacenter=DC3} 5: [v2:10.0.65.125:3300/0,v1:10.0.65.125:6789/0] mon.host05; crush_location {datacenter=DC2} 6: [v2:10.0.66.252:3300/0, v1:10.0.66.252:6789/0] mon.host07; crush_location {datacenter=DC3} 7: [v2:10.0.64.145:3300/0,v1:10.0.64.145:6789/0] mon.host08; crush_location {datacenter=DC3} 8: [v2:10.0.64.125:3300/0, v1:10.0.64.125:6789/0] mon.host04; crush_location {datacenter=DC2} dumped monmap epoch 19 ---

  1. 验证服务 spec 和所有位置属性是否已正确添加。

    1. 使用 ceph orch ls 命令检查集群上的 mon 守护进程的服务名称。

      示例

      [root@host01 ~]# ceph orch ls
      NAME                       PORTS        RUNNING  REFRESHED  AGE  PLACEMENT
      alertmanager               ?:9093,9094      1/1  8m ago     6d   count:1
      ceph-exporter                               9/9  8m ago     6d   *
      crash                                       9/9  8m ago     6d   *
      grafana                    ?:3000           1/1  8m ago     6d   count:1
      mds.cephfs                                  3/3  8m ago     6d   label:mds
      mgr                                         6/6  8m ago     6d   label:mgr
      mon                                         9/9  8m ago     5d   label:mon
      node-exporter              ?:9100           9/9  8m ago     6d   *
      osd.all-available-devices                    36  8m ago     6d   label:osd
      prometheus                 ?:9095           1/1  8m ago     6d   count:1
      rgw.rgw.1                  ?:80             3/3  8m ago     6d   label:rgw

    2. 使用 ceph orch ls mon --export 命令确认 mon 守护进程服务。

      示例

      [root@host01 ~]# ceph orch ls mon --export
      service_type: mon
      service_name: mon
      placement:
        label: mon
      spec:
        crush_locations:
          host01-installer:
          - datacenter=DC1
          host02:
          - datacenter=DC1
          host03:
          - datacenter=DC1
          host04:
          - datacenter=DC2
          host05:
          - datacenter=DC2
          host06:
          - datacenter=DC2
          host07:
          - datacenter=DC3
          host08:
          - datacenter=DC3
          host09:
          - datacenter=DC3

  2. 运行 cephadm shell ceph -s 命令,验证 bootstrap 是否已成功安装。如需更多信息,请参阅验证集群安装。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.