可以通过将相应的虚拟机迁移到其他数据存储,来迁移附加到 OpenStack 实例的 Cinder 卷。

注:
  • 多附加卷在附加时无法迁移。在将多附加卷迁移到另一个数据存储之前,请分离多附加卷。
  • 将卷附加到的 OpenStack 实例迁移后,相应的卷影虚拟机没有磁盘。分离卷时,磁盘将重新连接到卷影虚拟机。
  • 要使卷不与其附加到的虚拟机一起迁移,请参见卷不与附加到的虚拟机一起迁移

前提条件

将所有快照与要迁移的卷分离。

过程

  1. root 用户身份登录到 Integrated OpenStack Manager
    ssh root@mgmt-server-ip
  2. 打开工具箱。
    toolbox
  3. 迁移要将卷附加到的实例。
    openstack server migrate compute-name instance-uuid --live
    • 要查找计算节点的名称,请运行 openstack host list 命令,并查看主机名列。
    • 要查找实例的 UUID,请运行 openstack server list 命令,然后查看 ID 列。

    有关详细信息,请参见迁移实例

  4. vSphere Client 中,迁移与 OpenStack 卷对应的卷影虚拟机。

    有关信息,请参见《vCenter Server 和主机管理》文档中的“在 vSphere Web Client 中将虚拟机迁移到新存储”。

  5. 如果要将卷影虚拟机迁移到其他可用区中的集群,请更新该卷的 Cinder 主机。
    1. 获取 LCM 节点上的 cinder-api pod 列表。
      osctl get pods | grep cinder-api
    2. 使用列出的其中一个 cinder-api pod 的名称,在 pod 上启动 bash 会话。
      osctl exec -it <cinder-api-pod-name> bash
    3. 在新会话中,获取 Cinder 主机的列表。
      cinder-manage host list
      该列表包括 Cinder 卷的主机和区域。
    4. 修改要移动的卷的属性。将主机和区域值设置为要将卷影虚拟机移动到的 AZ 中的 Cinder 卷主机。
      cinder-manage volume update volume_host --volume_id <volume-uuid> --newhost <new-volume-host> --zone <availability-zone>
      其中:
      • volume-uuid 是要移动的卷影虚拟机的 Cinder 卷 UUID
      • new-volumne-host 是目标 AZ 中的 Cinder 主机名。
      • availability-zone 是目标 AZ。

结果

Cinder 卷和相应卷影虚拟机的磁盘将迁移到新的数据存储。