您可以将 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 列。
    在不同计算资源的同一 vDC 之间实时迁移 vMotion
    要在不同计算资源的同一 vDC 之间实时迁移 vMotion,请执行以下步骤:
    • 在 compute-1 中创建 tenant-vdc1
      viocli create tenant-vdc --name tvdc-01 --project-id ecbf813ee5d54420864247a2edcd76dc --compute compute-c05c9c49-c55
    • 创建特定实例并更新特定实例属性。
      openstack flavor set --property vmware:tenant_vdc='746146ea-a8f2-4be2-8bef-1dabe1249de7' 70841a4c-1332-4474-abd2-3fa07de3ab8e
    • 使用创建的特定实例创建实例,并且必须按如下所示将其置于 tvdc1 下:
      openstack server create --flavor 70841a4c-1332-4474-abd2-3fa07de3ab8e --network 39f32be5-7079-4110-8f38-8c3948d3079d --image "Photon 3.0" tvdc-001
    • tvdc1 扩展到计算节点 2。
      viocli update tenant-vdc --compute compute-c05c9c49-c3101 --id 746146ea-a8f2-4be2-8bef-1dabe1249de7
    • 对于实时迁移,请运行以下命令:
      export OS_COMPUTE_API_VERSION=2.67
      nova --os-compute-api-version 2.67 live-migration  --force d155cbf9-3c1d-4732-9d08-9e28cb141ca0 compute-c05c9c49-c3101

下一步做什么

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