10.3. ライブマイグレーションの開始とキャンセル
OpenShift Container Platform Web コンソール または コマンドライン を使用して、仮想マシンの別のノードへのライブマイグレーションを開始できます。
ライブマイグレーションは、Web コンソール または コマンドライン を使用してキャンセルできます。仮想マシンは元のノードに残ります。
virtctl migrate <vm_name>
コマンドおよび virtctl migrate-cancel <vm_name>
コマンドを使用して、ライブマイグレーションを開始およびキャンセルすることもできます。
10.3.1. ライブマイグレーションの開始
10.3.1.1. Web コンソールを使用したライブマイグレーションの開始
OpenShift Container Platform Web コンソールを使用して、実行中の仮想マシンをクラスター内の別のノードにライブマイグレーションできます。
Migrate アクションはすべてのユーザーに表示されますが、ライブマイグレーションを開始できるのはクラスター管理者のみです。
前提条件
- 仮想マシンは移行可能である必要があります。
- 仮想マシンがホストモデル CPU で設定されている場合、クラスターにはその CPU モデルをサポートする利用可能なノードが必要です。
手順
-
Web コンソールで Virtualization
VirtualMachines に移動します。 - 仮想マシンの横にあるオプションメニュー から 移行 を選択します。
- Migrate をクリックします。
10.3.1.2. コマンドラインを使用してライブマイグレーションを開始する
コマンドラインを使用して仮想マシンの VirtualMachineInstanceMigration
オブジェクトを作成することで、実行中の仮想マシンのライブマイグレーションを開始できます。
手順
移行する仮想マシンの
VirtualMachineInstanceMigration
マニフェストを作成します。apiVersion: kubevirt.io/v1 kind: VirtualMachineInstanceMigration metadata: name: <migration_name> spec: vmiName: <vm_name>
以下のコマンドを実行してオブジェクトを作成します。
$ oc create -f <migration_name>.yaml
VirtualMachineInstanceMigration
オブジェクトは、仮想マシンのライブマイグレーションをトリガーします。このオブジェクトは、手動で削除されない場合、仮想マシンインスタンスが実行中である限りクラスターに存在します。
検証
次のコマンドを実行して、仮想マシンのステータスを取得します。
$ oc describe vmi <vm_name> -n <namespace>
出力例
# ... 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
10.3.2. ライブマイグレーションのキャンセル
10.3.2.1. Web コンソールを使用したライブマイグレーションのキャンセル
OpenShift Container Platform Web コンソールを使用して、仮想マシンのライブマイグレーションをキャンセルできます。
手順
-
Web コンソールで Virtualization
VirtualMachines に移動します。 - 仮想マシンの横にあるオプションメニュー で Cancel Migration を選択します。
10.3.2.2. コマンドラインを使用したライブマイグレーションのキャンセル
移行に関連付けられた VirtualMachineInstanceMigration
オブジェクトを削除して、仮想マシンのライブマイグレーションを取り消します。
手順
ライブマイグレーションをトリガーした
VirtualMachineInstanceMigration
オブジェクトを削除します。 この例では、migration-job
が使用されています。$ oc delete vmim migration-job