您可以将 OpenStack 实例实时迁移到不同的计算节点。

VMware Integrated OpenStack 不支持以下虚拟机迁移方案:
  • 在两个不同的 vCenter Server 之间迁移虚拟机。
  • 在集群内迁移虚拟机。要在集群内迁移虚拟机,您必须使用 vSphere。

要在集群间迁移虚拟机,如果源和目标集群位于同一 vCenter 实例中,则可以使用 VMware Integrated OpenStack

注: 对于 VMware Integrated OpenStack 管理的实例,必须使用 OpenStack 命令进行迁移。不要使用 vCenter Server 或其他方法迁移 OpenStack 实例。

前提条件

  • 确认源和目标计算节点位于同一 vCenter Server 实例内。
  • 确认您的环境包含所有主机和集群均可访问的共享数据存储。
  • 确认源计算节点和目标计算节点至少具有一个通用的分布式交换机。如果有两个分布式交换机连接到源计算节点,但只有一个分布式交换机连接到目标计算节点,实时迁移将成功,但 OpenStack 实例必须仅连接到两个计算节点通用的分布式交换机的端口组。
  • 确认已分离所有 FCD 卷。

过程

  1. root 用户身份登录到 Integrated OpenStack Manager
    ssh root@mgmt-server-ip
  2. 如果该实例连接了 CD-ROM 驱动器,请配置用于 CD-ROM 迁移的共享数据存储。
    1. 编辑 Nova 计算配置。
      viocli update nova-compute
    2. vmware 部分中,添加 shared_datastore_regex 参数并将其值设置为 vSphere 中的共享数据存储的名称。
  3. 打开工具箱。
    toolbox
  4. 对于迁移,如果未选择计算节点作为目标,则可以运行以下命令:
    openstack server migrate --live-migration instance-uuid --os-compute-api-version 2.30
    要将 实例迁移到指定主机,请运行以下命令:
    nova --os-compute-api-version 2.67 live-migration --force [--block-migrate] <server> [<host>]
    例如:
    nova --os-compute-api-version 2.67 live-migration --force 7a9fd8a8-b3f2-4c72-af0e-ef0b856d7715  compute-35a9679c-c97

    您必须在命令中指定 --os-compute-api-version 2.67[host]--force 选项。

    • 要查找计算节点的名称,请运行 openstack host list 命令,并查看主机名列。
    • 要查找实例的 UUID,请运行 openstack server list 命令,然后查看 ID 列。

下一步做什么

您可以运行 openstack server show instance-uuid 命令确认该实例已迁移至所需的计算节点。