20.3. 并行升级 Compute 节点

要将大量 Compute 节点升级到 OpenStack Platform 16.1,您可以在组 20 个节点上运行 openstack overcloud upgrade run 命令。

您可以在后台运行多个升级任务,每个任务都升级一个单独的 20 个节点组。当使用此方法并行升级 Compute 节点时,您无法选择升级哪些节点。节点选择取决于运行 tripleo-ansible-inventory 命令时生成的清单文件。例如,如果您的部署中有 80 个 Compute 节点,您可以运行以下命令来并行更新 Compute 节点:

$ openstack overcloud upgrade run -y --limit 'Compute[0:19]' > upgrade-compute-00-19.log 2>&1 &
$ openstack overcloud upgrade run -y --limit 'Compute[20:29]' > upgrade-compute-20-29.log 2>&1 &
$ openstack overcloud upgrade run -y --limit 'Compute[40:59]' > update-compute-40-59.log 2>&1 &
$ openstack overcloud upgrade run -y --limit 'Compute[60:79]' > update-compute-60-79.log 2>&1 &

要升级特定的 Compute 节点,请使用以逗号分隔的节点列表:

$ openstack overcloud upgrade run --limit <Compute0>,<Compute1>,<Compute2>,<Compute3>
注意

如果您不使用默认的堆栈名称 overcloud,请使用 --stack STACK NAME 选项,并将 STACK NAME 替换为您的堆栈的名称。

流程

  1. stack 用户身份登录 undercloud 主机。
  2. Source stackrc 文件:

    $ source ~/stackrc
  3. 迁移您的实例。有关迁移策略的更多信息,请参阅 在 Compute 节点间迁移虚拟机
  4. 使用 system_upgrade 标签运行 upgrade 命令:

    $ openstack overcloud upgrade run -y --stack STACK NAME --tags system_upgrade --limit 'Compute[0:19]' > upgrade-compute-00-19.log 2>&1 &
    $ openstack overcloud upgrade run -y --stack STACK NAME --tags system_upgrade --limit 'Compute[20:29]' > upgrade-compute-20-29.log 2>&1 &
    $ openstack overcloud upgrade run -y --stack STACK NAME --tags system_upgrade --limit 'Compute[40:59]' > update-compute-40-59.log 2>&1 &
    $ openstack overcloud upgrade run -y --stack STACK NAME --tags system_upgrade --limit 'Compute[60:79]' > update-compute-60-79.log 2>&1 &

    这个命令执行以下操作:

    • 对操作系统执行 Leapp 升级。
    • 作为 Leapp 升级的一部分执行重启。
  5. 运行没有标签的 upgrade 命令:

    $ openstack overcloud upgrade run -y --stack STACK NAME --limit 'Compute[0:19]' > upgrade-compute-00-19.log 2>&1 &
    $ openstack overcloud upgrade run -y --stack STACK NAME --limit 'Compute[20:29]' > upgrade-compute-20-29.log 2>&1 &
    $ openstack overcloud upgrade run -y --stack STACK NAME --limit 'Compute[40:59]' > update-compute-40-59.log 2>&1 &
    $ openstack overcloud upgrade run -y --stack STACK NAME --limit 'Compute[60:79]' > update-compute-60-79.log 2>&1 &

    此命令执行 Red Hat OpenStack Platform 升级。

  6. 可选: 要升级所选 Compute 节点,请使用 --limit 选项以及您要升级的节点列表。以下示例并行升级 overcloud-compute-0overcloud-compute-1overcloud-compute-2 节点。

    1. 使用 system_upgrade 标签运行 upgrade 命令:

      $ openstack overcloud upgrade run --stack STACK NAME --tags system_upgrade --limit overcloud-compute-0,overcloud-compute-1,overcloud-compute-2
    2. 运行没有标签的 upgrade 命令:

      $ openstack overcloud upgrade run --stack STACK NAME  --limit overcloud-compute-0,overcloud-compute-1,overcloud-compute-2