5.2. 使用存储部署中央站点

要使用多个存储部署镜像服务,并将 Ceph Storage 用作后端,请完成以下步骤:

先决条件

  • 您必须创建特定于环境的 network_data.yamlvip_data.yaml 文件。您可以在 /usr/share/openstack-tripleo-heat-templates/network-data-samples 中找到示例文件。
  • 您必须创建一个特定于您的环境的 overcloud-baremetal-deploy.yaml 文件。有关更多信息,请参阅为 overcloud 置备裸机节点
  • 您有位于中央位置和每个可用区的 Ceph 集群的硬件,或者在需要存储服务的每个地理位置。
  • 您有三个镜像服务(glance)服务器的硬件位于中央位置和每个可用区,或者在需要存储服务的每个地理位置。在边缘位置,镜像服务部署到 DistributedComputeHCI 节点。

流程

部署 Red Hat OpenStack Platform 中央位置,以便镜像服务(glance)可与多个存储一起使用。

  1. 以 stack 用户身份登录 undercloud。
  2. 查找 stackrc 文件:

    [stack@director ~]$ source /home/stack/stackrc
  3. 生成环境文件 /home/stack/central/central-images-env.yaml

    sudo openstack tripleo container image prepare \
    -e containers.yaml \
    --output-env-file /home/stack/central/central-images-env.yaml
  4. 使用适合您的环境的角色为中央位置生成角色:

    openstack overcloud roles generate Compute Controller CephStorage \
    -o /home/stack/central/central_roles.yaml
  5. 在主目录中,为您计划部署的每个堆栈创建目录。将中央位置的 network_data.yamlvip_data.yamlovercloud-baremetal-deploy.yaml 模板移到 /home/stack/central/

    mkdir /home/stack/central
    mkdir /home/stack/dcn0
    mkdir /home/stack/dcn1
    
    mv network_data.yaml /home/stack/central
    mv vip_data.yaml /home/stack/central
    mv overcloud-baremetal-deploy.yaml /home/stack/central
  6. 为 overcloud 置备网络。此命令为 overcloud 网络使用一个定义文件作为输入。您必须使用命令中的输出文件来部署 overcloud:

    openstack overcloud network provision \
    --output /home/stack/central/overcloud-networks-deployed.yaml \
    /home/stack/central/network_data.yaml
  7. 为 overcloud 置备虚拟 IP。此命令使用虚拟 IP 的定义文件作为输入。您必须使用命令中的输出文件来部署 overcloud:

    openstack overcloud network vip provision \
    --stack central \
    --output /home/stack/central/overcloud-vip-deployed.yaml \
    /home/stack/central/vip_data.yaml
  8. 置备裸机实例。该命令为裸机节点使用一个定义文件作为输入。您必须使用命令中的输出文件来部署 overcloud:

    openstack overcloud node provision \
    --stack central \
    --network-config \
    -o /home/stack/central/deployed_metal.yaml \
    /home/stack/central/overcloud-baremetal-deploy.yaml
  9. 如果要使用超融合存储部署中央位置,则必须使用以下参数创建 initial-ceph.conf 配置文件:如需更多信息,请参阅为 HCI 配置 Red Hat Ceph Storage 集群

    [osd]
    osd_memory_target_autotune = true
    osd_numa_auto_affinity = true
    [mgr]
    mgr/cephadm/autotune_memory_target_ratio = 0.2
  10. 使用 deployed_metal.yaml 文件作为 openstack overcloud ceph deploy 命令的输入。openstack overcloud ceph deploy 命令输出 描述部署的 Ceph 集群的 yaml 文件:

    openstack overcloud ceph deploy \
    --stack central \
    /home/stack/central/deployed_metal.yaml \
    --config /home/stack/central/initial-ceph.conf \ 1
    --output /home/stack/central/deployed_ceph.yaml \
    --container-image-prepare /home/stack/containers.yaml \
    --network-data /home/stack/network-data.yaml \
    --cluster central \
    --roles-data /home/stack/central/central_roles.yaml
    1
    仅在部署超融合基础架构时包含 initial-ceph.com。
  11. 在继续操作之前,请验证功能 Ceph 部署。使用 ssh 连接到运行 ceph-mon 服务的服务器。在 HCI 部署中,这是控制器节点。运行以下命令:

    cephadm shell --config /etc/ceph/central.conf \
    --keyring /etc/ceph/central.client.admin.keyring
    注意

    您必须使用 --config--keyring 参数。

  12. site-name.yaml 环境文件中为站点配置命名约定。Nova 可用区和 Cinder 存储可用区必须匹配:

    parameter_defaults:
        NovaComputeAvailabilityZone: central
        ControllerExtraConfig:
            nova::availability_zone::default_schedule_zone: central
        NovaCrossAZAttach: false
        CinderStorageAvailabilityZone: central
        GlanceBackendID: central
  13. 使用类似如下的内容配置 glance.yaml 模板:

    parameter_defaults:
        GlanceEnabledImportMethods: web-download,copy-image
        GlanceBackend: rbd
        GlanceStoreDescription: 'central rbd glance store'
        GlanceBackendID: central
        CephClusterName: central
  14. 为中央位置部署堆栈:

    openstack overcloud deploy \
    --deployed-server \
    --stack central \
    --templates /usr/share/openstack-tripleo-heat-templates/ \
    -r /home/stack/central/central_roles.yaml \
    -n ~/network-data.yaml \
    -e /usr/share/openstack-tripleo-heat-templates/environments/network-environment.yaml \
    -e /usr/share/openstack-tripleo-heat-templates/environments/podman.yaml \
    -e /usr/share/openstack-tripleo-heat-templates/environments/cephadm/cephadm.yaml \
    -e /usr/share/openstack-tripleo-heat-templates/environments/nova-az-config.yaml \
    -e /home/stack/central/overcloud-networks-deployed.yaml \
    -e /home/stack/central/overcloud-vip-deployed.yaml \
    -e /home/stack/central/deployed_metal.yaml \
    -e /home/stack/central/deployed_ceph.yaml \
    -e ~/central/glance.yaml
  15. 为中央位置部署 overcloud 后,导出并放置在 /home/stack/overcloud-deploy 目录中的额外堆栈部署所需的数据。确保存在 central-export.yaml 文件:

    stat /home/stack/overcloud-deploy/central/central-export.yaml
  16. 导出 Ceph 特定数据:

    openstack overcloud export ceph \
    --stack central \
    --output-file /home/stack/dcn-common/central_ceph_external.yaml