3.2. 为 Ceph MON 服务创建自定义角色和类别

完成以下步骤,为 Ceph MON 角色创建自定义角色 CephMon,以及类别 ceph-mon。您必须已经有默认角色数据文件的副本,如 第 3 章 在专用节点上部署 Ceph 服务 所述。

流程

  1. 打开 /home/stack/templates/roles_data_custom.yaml 文件。
  2. 从 Controller 角色移除 Ceph MON 服务 OS::TripleO::Services::CephMon 的服务条目。
  3. OS::TripleO::Services::CephClient 服务添加到 Controller 角色:

    [...]
    - name: Controller # the 'primary' role goes first
      CountDefault: 1
      ServicesDefault:
        - OS::TripleO::Services::CACerts
        - OS::TripleO::Services::CephMds
        - OS::TripleO::Services::CephClient
        - OS::TripleO::Services::CephExternal
        - OS::TripleO::Services::CephRbdMirror
        - OS::TripleO::Services::CephRgw
        - OS::TripleO::Services::CinderApi
    [...]
  4. roles_data_custom.yaml 文件的末尾,添加一个自定义 CephMon 角色,其中包含 Ceph MON 服务和所有其他必要的节点服务:

    - name: CephMon
      ServicesDefault:
        # Common Services
        - OS::TripleO::Services::AuditD
        - OS::TripleO::Services::CACerts
        - OS::TripleO::Services::CertmongerUser
        - OS::TripleO::Services::Collectd
        - OS::TripleO::Services::Docker
        - OS::TripleO::Services::FluentdClient
        - OS::TripleO::Services::Kernel
        - OS::TripleO::Services::Ntp
        - OS::TripleO::Services::ContainersLogrotateCrond
        - OS::TripleO::Services::SensuClient
        - OS::TripleO::Services::Snmp
        - OS::TripleO::Services::Timezone
        - OS::TripleO::Services::TripleoFirewall
        - OS::TripleO::Services::TripleoPackages
        - OS::TripleO::Services::Tuned
        # Role-Specific Services
        - OS::TripleO::Services::CephMon
  5. 输入 openstack flavor create 命令,为 CephMon 角色定义一个名为 ceph-mon 的新类别:

    $ openstack flavor create --id auto --ram 6144 --disk 40 --vcpus 4 ceph-mon
    注意

    有关此命令的更多信息,请输入: openstack flavor create --help

  6. 将此类别映射到一个新的配置文件,也称为 ceph-mon

    $ openstack flavor set --property "cpu_arch"="x86_64" --property "capabilities:boot_option"="local" --property "capabilities:profile"="ceph-mon" ceph-mon
    注意

    有关此命令的更多信息,请输入 openstack flavor set --help

  7. 将节点标记到新的 ceph-mon 配置集中:

    $ openstack baremetal node set --property capabilities='profile:ceph-mon,boot_option:local' UUID
  8. 将以下配置添加到 node-info.yaml 文件中,将 ceph-mon 类别与 CephMon 角色关联:

    parameter_defaults:
      OvercloudCephMonFlavor: CephMon
      CephMonCount: 3

有关标记节点的更多信息,请参阅 第 2.4 节 “手动将节点标记为配置集”。有关自定义角色配置集的更多信息,请参阅 标记节点 Into Profiles