12.3. 迁移虚拟机实例到另一节点
使用 web 控制台或 CLI 手动将虚拟机实例实时迁移到另一节点。
如果虚拟机使用主机模型 CPU,则只能在支持其主机 CPU 模型的节点之间进行实时迁移。
12.3.1. 在 web 控制台中启动虚拟机实例的实时迁移
将正在运行的虚拟机实例迁移到集群中的不同节点。
Migrate 操作对所有用户可见,但只有 admin 用户可以启动虚拟机迁移。
流程
-
在 OpenShift Container Platform 控制台中,从侧边菜单中点 Virtualization
VirtualMachines。 您可从此页面启动迁移,这有助于在同一页面上对多个虚拟机执行操作,也可从 VirtualMachine 详情页面(您可以在其中查看所选虚拟机的综合详情):
-
点虚拟机旁边的 Options 菜单
并选择 Migrate。
-
点虚拟机名称,打开 VirtualMachine 详情页面,然后点击 Actions
Migrate。
-
点虚拟机旁边的 Options 菜单
- 点击 Migrate 把虚拟机迁移到另一节点。
12.3.1.1. 使用 Web 控制台监控实时迁移
您可以在 web 控制台Overview
您可以在 web 控制台的 VirtualMachine details
12.3.2. 在 CLI 中启动虚拟机实例的实时迁移
通过在集群中创建 VirtualMachineInstanceMigration
对象并引用虚拟机实例的名称来启动正在运行的虚拟机实例的实时迁移。
流程
为要迁移的虚拟机实例创建
VirtualMachineInstanceMigration
配置文件。例如VMI-migrate.yaml
:apiVersion: kubevirt.io/v1 kind: VirtualMachineInstanceMigration metadata: name: migration-job spec: vmiName: vmi-fedora
运行以下命令在集群中创建对象:
$ oc create -f vmi-migrate.yaml
VirtualMachineInstanceMigration
对象触发虚拟机实例的实时迁移。只要虚拟机实例在运行,该对象便始终存在于集群中,除非手动删除。
12.3.2.1. 在 CLI 中监控虚拟机实例的实时迁移
虚拟机迁移的状态保存在 VirtualMachineInstance
配置的 Status
组件中。
流程
在正在迁移的虚拟机实例上使用
oc describe
命令:$ oc describe vmi vmi-fedora
输出示例
# ... Status: Conditions: Last Probe Time: <nil> Last Transition Time: <nil> Status: True Type: LiveMigratable Migration Method: LiveMigration Migration State: Completed: true End Timestamp: 2018-12-24T06:19:42Z Migration UID: d78c8962-0743-11e9-a540-fa163e0c69f1 Source Node: node2.example.com Start Timestamp: 2018-12-24T06:19:35Z Target Node: node1.example.com Target Node Address: 10.9.0.18:43891 Target Node Domain Detected: true