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

注:
  • 多附加卷在附加时无法迁移。在将多附加卷迁移到另一个数据存储之前,请分离多附加卷。
  • 迁移附加的卷后,相应的卷影虚拟机仍保留在原始数据存储上,但不具有任何磁盘。分离卷时,磁盘将重新连接到卷影虚拟机。

前提条件

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

过程

  1. root 用户身份登录到 Integrated OpenStack Manager
    ssh root@mgmt-server-ip
  2. 准备包含要迁移的卷的数据存储。
    此步骤将在指定的数据存储上准备所有要迁移的卷。
    viocli prepare datastore dc-name ds-name
    选项 说明

    dc-name

    输入包含所需卷的数据中心。

    ds-name

    输入包含所需卷的数据存储。

  3. 打开工具箱。
    toolbox
  4. 迁移要将卷附加到的实例。
    openstack server migrate compute-name instance-uuid --live
    • 要查找计算节点的名称,请运行 openstack host list 命令,并查看主机名列。
    • 要查找实例的 UUID,请运行 openstack server list 命令,然后查看 ID 列。

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

  5. vSphere Client 中,迁移与该卷附加到的 OpenStack 实例对应的虚拟机。
  6. 如果要将卷影虚拟机迁移到其他可用区中的集群,请更新该卷的 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 卷和相应卷影虚拟机的磁盘将迁移到新的数据存储。