1.5. 部署 HCI overcloud


完成 HCI 配置后,您必须部署 overcloud。

重要

在部署 Red Hat OpenStack Platform (RHOSP) HCI 环境时,不要启用 Instance HA。如果要使用使用 Red Hat Ceph Storage 的超融合 RHOSP 部署的实例 HA,请联系您的红帽代表。

先决条件

流程

  • 使用其他环境文件,将新角色和环境文件添加到堆栈中,并部署您的 HCI overcloud:

    (undercloud)$ openstack overcloud deploy --templates \
      -e [your environment files] \
      -r /home/stack/templates/roles_data_hci.yaml \
      -e /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible.yaml \
      -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml \
      -e /usr/share/openstack-tripleo-heat-templates/environments/network-environment.yaml \
      -e /usr/share/openstack-tripleo-heat-templates/environments/net-single-nic-with-vlans.yaml
      -e /home/stack/templates/storage-config.yaml \
      -e /home/stack/templates/storage-container-config.yaml \
      -n /home/stack/templates/network_data.yaml \
      [-e /home/stack/templates/ceph-backfill-recovery.yaml \ ]
      --ntp-server pool.ntp.org

    在部署命令中包含 /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible.yaml 来添加部署容器化 Red Hat Ceph 集群的基本环境文件,其中包含所有默认设置。有关更多信息,请参阅使用容器化 Red Hat Ceph 部署 Overcloud

注意

如果您的部署使用了单一根输入/输出虚拟化(SR-IOV),请在部署命令中包括以下选项。

如果您在部署中使用 ML2/OVS 机制驱动程序,请指定以下选项:

-e /usr/share/openstack-tripleo-heat-templates/environments/services/neutron-sriov.yaml
-e /home/stack/templates/network-environment.yaml

如果您在部署中使用 ML2/OVN 机制驱动程序,请指定以下选项:

-e /usr/share/openstack-tripleo-heat-templates/environments/services/neutron-ovn-sriov.yaml
-e /home/stack/templates/network-environment.yaml
提示

您还可以使用 回答文件 来指定要在部署中包括的环境文件。如需更多信息,请参阅 Director 安装和使用指南中的将 overcloud 部署包含环境文件

1.5.1. 限制 ceph-ansible 运行所在的节点

您可以通过限制 ceph-ansible 运行的节点来减少部署更新时间。当 Red Hat OpenStack Platform (RHOSP)使用 config-download 配置 Ceph 时,您可以使用 --limit 选项指定节点列表,而不是在整个部署中运行 config-downloadceph-ansible。这个功能很有用,例如,作为扩展 overcloud 的一部分,或者替换失败的磁盘。在这样的情形中,部署只能在您添加到环境中的新节点上运行。

在故障磁盘替换中使用 --limit 的示例

在以下示例中,Ceph 存储节点 oc0-cephstorage-0 有一个磁盘故障,因此它收到一个新的工厂清理磁盘。Ansible 需要在 oc0-cephstorage-0 节点上运行,以便新磁盘可以用作 OSD,但它不需要在所有其他 Ceph 存储节点上运行。将示例环境文件和节点名称替换为适合您的环境。

流程

  1. stack 用户身份登录 undercloud 节点,再提供 stackrc 凭据文件:

    # source stackrc
  2. 完成以下步骤之一,以便使用新磁盘来启动缺少的 OSD。

    • 运行堆栈更新,并包含 --limit 选项以指定要运行 ceph-ansible 的节点:

      $ openstack overcloud deploy --templates \
        -r /home/stack/roles_data.yaml \
        -n /usr/share/openstack-tripleo-heat-templates/network_data_dashboard.yaml \
        -e /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible.yaml \
        -e ~/my-ceph-settings.yaml \
        -e <other-environment_files> \
        --limit oc0-controller-0:oc0-controller-2:oc0-controller-1:oc0-cephstorage-0:undercloud

      在本例中,包含 Controller,因为 Ceph mons 需要 Ansible 更改其 OSD 定义。

    • 如果 config-download 会生成 ansible-playbook-command.sh 脚本,您可以使用 --limit 选项运行脚本,将指定节点传递给 ceph-ansible

      ./ansible-playbook-command.sh --limit oc0-controller-0:oc0-controller-2:oc0-controller-1:oc0-cephstorage-0:undercloud
      警告
      在使用 --limit 时,您必须始终将 undercloud 包含在限制列表中,否则无法执行 ceph-ansible。这是必要的,因为 ceph-ansible 执行通过 external_deploy_steps_tasks playbook 进行,该 playbook 仅在 undercloud 上运行。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.