Migration Toolkit for Virtualization のインストールおよび使用


Migration Toolkit for Virtualization 2.9

VMware vSphere または Red Hat Virtualization から Red Hat OpenShift Virtualization への移行

Red Hat Modernization and Migration Documentation Team

概要

Migration Toolkit for Virtualization (MTV) を使用すると、仮想マシンを VMware vSphere、Red Hat Virtualization、または OpenStack から、Red Hat OpenShift で実行している OpenShift Virtualization に移行できます。

第1章 Migration Toolkit for Virtualization について

Migration Toolkit for Virtualization (MTV) を使用して、次の移行元プロバイダーから OpenShift Virtualization 移行先プロバイダーに仮想マシン (VM) を移行できます。

  • VMware vSphere
  • Red Hat Virtualization (RHV)
  • OpenStack
  • VMware vSphere によって作成された Open Virtual Appliances (OVA)
  • リモートの OpenShift Virtualization クラスター

第2章 MTV におけるコールドマイグレーションとウォームマイグレーション

Migration Toolkit for Virtualization (MTV) は、コールドマイグレーションとウォームマイグレーションの 2 種類の移行をサポートしています。

コールドマイグレーションとは、電源が オフ になっている仮想マシン (VM) を別のホストに移行することです。仮想マシンの電源がオフになっているため、共通の共有ストレージは必要ありません。

ウォームマイグレーションとは、電源が オン になっている仮想マシンを別のホストに移行することです。移行元ホストの状態が移行先ホストに複製されます。

2.1. ウォームマイグレーションのプレコピー段階

  1. 実行中の仮想マシンディスクの初期スナップショットを作成します。
  2. 最初のスナップショットをターゲットにコピーします。フルディスク転送、コピーされるデータの量が最大になります。完了までにさらに時間がかかります。
  3. 差分のコピー: 変更されたデータ。最後のスナップショットが取得されてから変更されたデータのみをコピーします。完了までにかかる時間が短くなります。

    1. 新しいスナップショットを作成します。
    2. 以前のスナップショットと新しいスナップショット間の差分をコピーします。
    3. デフォルトで設定可能な次のスナップショットを、最後のスナップショットが終了してから 1 時間後にスケジュールします。
  4. 任意の数の差分をコピーできます。

2.2. ウォームマイグレーションのカットオーバー段階

  1. ウォームマイグレーションを完了するためのスケジュール時間
  2. 移行元仮想マシンをシャットダウンします。
  3. 最後のスナップショットの差分をターゲットにコピーします。
  4. コールドマイグレーションと同じように続行します。

    1. ゲストの変換
    2. ターゲット仮想マシンの起動 (オプション)

2.3. 移行速度の比較

コールドマイグレーションとウォームマイグレーションの移行速度を比較すると、次のことがわかります。

  • ウォームマイグレーションの単一ディスク転送およびディスク変換で得られる速度は、コールドマイグレーションの場合とほぼ同じです。
  • ウォームマイグレーションの利点は、仮想マシンの電源が オン の状態でスナップショットの転送がバックグラウンドで実行されることです。
  • デフォルトでは、60 分ごとにスナップショットが作成されます。仮想マシンが大幅に変更された場合、仮想マシンの電源が オフ になっているときのコールドマイグレーションよりも多くのデータを転送する必要があります。
  • カットオーバー時間、つまり仮想マシンのシャットダウンから最後のスナップショットの転送までの時間は、最後のスナップショット以降に仮想マシンがどの程度変更されたかによって異なります。

2.4. コールドマイグレーションとウォームマイグレーション

Migration Toolkit for Virtualization (MTV) は、次のようにコールドマイグレーションとウォームマイグレーションをサポートします。

MTV は、次の移行元プロバイダーからのコールド移行をサポートしています。

  • VMware vSphere
  • Red Hat Virtualization (RHV)
  • OpenStack
  • VMware vSphere によって作成された Open Virtual Appliances (OVA)
  • リモートの OpenShift Virtualization クラスター

MTV は、次の移行元プロバイダーからのウォーム移行をサポートしています。

  • VMware vSphere
  • Red Hat Virtualization

2.4.1. コールドマイグレーション中の仮想マシンの電源状態

コールドマイグレーションは、デフォルトの移行タイプです。コールドマイグレーション中、データのコピー中は移行元仮想マシンがシャットダウンされます。

注記

VMware のみ: コールドマイグレーションの場合、移行中にパッケージマネージャーを使用できない状況では、MTV は移行された仮想マシンに qemu-guest-agent デーモンをインストールしません。これにより、移行された仮想マシンの機能に多少の影響が出ますが、全体的には引き続き機能すると予想されます。

MTV が移行された VM に qemu-guest-agent を自動的にインストールできるようにするには、移行後に仮想マシンの初回起動時にパッケージマネージャーがデーモンをインストールできることを確認してください。

それが不可能な場合は、自動または手動の任意の手順を使用して、qemu-guest-agent をインストールしてください。

2.4.2. ウォームマイグレーション中の仮想マシンの電源状態

ウォームマイグレーション中、ほとんどのデータは、移行元仮想マシン (VM) の実行中に プレコピー 段階でコピーされます。

その後、仮想マシンがシャットダウンされ、残りのデータが カットオーバー 段階でコピーされます。

2.4.2.1. プレコピー段階

仮想マシンはプレコピー段階ではシャットダウンされません。

仮想マシンディスクは、変更ブロックのトラッキング (CBT) スナップショットを使用して増分がコピーされます。スナップショットは、デフォルトでは 1 時間間隔で作成されます。forklift-controller デプロイメントを更新して、スナップショットの間隔を変更できます。

重要

各移行元仮想マシンおよび各仮想マシンディスクに対して CBT を有効にする必要があります。

仮想マシンは、最大 28 CBT スナップショットをサポートします。移行元仮想マシンの CBT スナップショットが多すぎて、Migration Controller サービスが新規スナップショットを作成できない場合は、ウォームマイグレーションに失敗する可能性があります。スナップショットが不要になると、Migration Controller サービスは各スナップショットを削除します。

プレコピー段階は、カットオーバー段階を手動で開始するか、開始がスケジュールされるまで実行されます。

2.4.2.2. カットオーバー段階

カットオーバーの段階で仮想マシンはシャットダウンされ、残りのデータは移行されます。RAM に格納されたデータは移行されません。

MTV コンソールを使用してカットオーバー段階を手動で開始するか、Migration マニフェストでカットオーバー時間をスケジュールできます。

2.4.3. コールドマイグレーションとウォームマイグレーションの長所と短所

次の表では、コールドマイグレーションとウォームマイグレーションの利点と欠点をさらに詳しく説明します。MTV をインストールした Red Hat OpenShift プラットフォームに Red Hat Enterprise Linux (RHEL) 9 がインストールされていることを前提としています。

Expand
表2.1 コールドマイグレーションとウォームマイグレーションの長所と短所
 コールドマイグレーションWarm migration

所要時間

ディスク上のデータ量に相関します。各ブロックは 1 回コピーされます。

ディスク上のデータ量と仮想マシンの使用率に相関します。ブロックは複数回コピーされる場合があります。

フェイルファースト

変換してから転送します。各仮想マシンは OpenShift と互換性が確保されるように変換され、変換が成功すると仮想マシンが転送されます。仮想マシンを変換できない場合、移行は即座に失敗します。

転送してから変換します。MTV は各仮想マシンのスナップショットを作成し、それを Red Hat OpenShift に転送します。カットオーバーを開始すると、MTV は最後のスナップショットを作成し、それを転送してから、仮想マシンを変換します。

ツール

virt-v2v (Red Hat Enterprise Linux 9) は、外部ハイパーバイザーの仮想マシンをカーネルベースの仮想マシン (KVM) 上で実行するように変換する場合に使用されます。

コンテナー化データインポーター (CDI)、永続ストレージ管理アドオン、および virt-v2v (Red Hat Enterprise Linux 9)

転送されるデータ

すべてのディスクの概算合計

すべてのディスクおよび仮想マシン使用率の概算値

VM のダウンタイム

高: 仮想マシンがシャットダウンされ、ディスクが転送されます。

低: ディスクはバックグラウンドで転送されます。カットオーバーの段階で仮想マシンはシャットダウンされ、残りのデータは移行されます。RAM に格納されたデータは移行されません。

並列処理

ディスクは仮想マシンごとに順番に転送されます。リモート移行の場合、ディスクは並行して転送されます。 [a]

ディスクは異なる Pod によって並行して転送されます。

接続の使用

ディスク転送中のみソースへの接続を維持します。

ディスク転送中はソースへの接続が維持されますが、スナップショット間では接続が解放されます。

ツール

MTV のみ。

OpenShift Virtualization からの MTV および CDI。

[a] リモート移行: MTV がインストールされていないターゲット環境。CDI を使用したリモート環境への移行を指します。
注記

上の表は実行中の仮想マシンの状況を示しています。ウォームマイグレーションの主な利点はダウンタイムの短縮です。また、ダウンしている仮想マシンに対してウォームマイグレーションを開始する理由はありません。ただし、MTV が virt-v2v と RHEL 9 を使用している場合でも、ダウンしている仮想マシンのウォームマイグレーションを実行することは、コールドマイグレーションと同じではありません。ダウンしている仮想マシンの場合、MTV はコールドマイグレーションとは異なり、CDI を使用してディスクを転送します。

注記

VMware からインポートする場合、ESXi、vSphere、または VDDK に関連する制限など、移行速度に影響する追加の要因があります。

2.4.4. まとめ

前述の情報に基づいて、コールドマイグレーションとウォームマイグレーションについて次のような結論を導き出すことができます。

  • ウォームマイグレーションを使用すると、仮想マシンのダウンタイムを最小限に抑えることができます。
  • 1 つのディスクに大量のデータがある仮想マシンでは、コールドマイグレーションを使用すると時間を最小限に抑えることができます。
  • 大量のデータが複数のディスクに均等に分散された仮想マシンでは、ウォームマイグレーションを使用すると期間を最小限に抑えることができます。

第3章 すべてのプロバイダーの前提条件とソフトウェア要件

次の前提条件とソフトウェア要件を確認して、使用中の環境が移行に向けて準備されていることを確認します。

互換性のあるバージョン の Red Hat OpenShift および OpenShift Virtualization をインストールする必要があります。

3.1. ストレージのサポートとデフォルトモード

Migration Toolkit for Virtualization (MTV) は、サポート対象のストレージに対して次のデフォルトのボリュームおよびアクセスモードを使用します。

Expand
表3.1 デフォルトのボリュームおよびアクセスモード
プロビジョナーボリュームモードアクセスモード

kubernetes.io/aws-ebs

Block

ReadWriteOnce

kubernetes.io/azure-disk

Block

ReadWriteOnce

kubernetes.io/azure-file

ファイルシステム

ReadWriteMany

kubernetes.io/cinder

Block

ReadWriteOnce

kubernetes.io/gce-pd

Block

ReadWriteOnce

kubernetes.io/hostpath-provisioner

ファイルシステム

ReadWriteOnce

manila.csi.openstack.org

ファイルシステム

ReadWriteMany

openshift-storage.cephfs.csi.ceph.com

ファイルシステム

ReadWriteMany

openshift-storage.rbd.csi.ceph.com

Block

ReadWriteOnce

kubernetes.io/rbd

Block

ReadWriteOnce

kubernetes.io/vsphere-volume

Block

ReadWriteOnce

注記

OpenShift Virtualization ストレージが 動的プロビジョニング をサポートしていない場合は、次の設定を適用する必要があります。

  • Filesystem のボリュームモード

    Filesystem ボリュームモードは、Block ボリュームモードよりも遅くなります。

  • ReadWriteOnce アクセスモード

    ReadWriteOnce アクセスモードは、仮想マシンのライブマイグレーションをサポートしません。

ストレージプロファイル の編集に関する詳細は、静的にプロビジョニングされたストレージクラスの有効化 を 参照してください。

注記

移行で、EXT4 ファイルシステムで作成されたブロックストレージおよび永続ボリュームを使用する場合は、Containerized Data Importer (CDI) のファイルシステムのオーバーヘッドを 10% 以上に増やします。CDI が想定するデフォルトのオーバーヘッドには、root パーティション用に予約された場所が完全に含まれていません。CDI のファイルシステムオーバーヘッドをこの量だけ増やさないと、移行が失敗する可能性があります。

注記

OpenStack から移行する場合、または Red Hat Virtualization から MTV がデプロイされている Red Hat OpenShift クラスターにコールドマイグレーションを実行する場合、その移行時には CDI なしで永続ボリュームが割り当てられます。このような場合は、ファイルシステムのオーバーヘッドの調整が必要になる場合があります。

設定されたファイルシステムのオーバーヘッド (デフォルト値は 10%) が低すぎる場合、スペース不足によりディスク転送は失敗します。このような場合は、ファイルシステムのオーバーヘッドを増やす必要があります。

ただし、場合によっては、ファイルシステムのオーバーヘッドを減らしてストレージの消費量を削減したい場合があります。

MTV Operator の設定 で説明されているように、forklift-controller CR の spec 部分にある controller_filesystem_overhead の値を変更することで、ファイルシステムのオーバーヘッドを変更できます。

3.2. ネットワークの前提条件

次のネットワーク前提条件は、すべての移行に適用されます。

  • 移行中に IP アドレス、VLAN、およびその他のネットワーク設定を変更しないでください。仮想マシン (VM) の MAC アドレスは移行時に保持されます。
  • 移行元環境、OpenShift Virtualization クラスター、およびレプリケーションリポジトリー間のネットワーク接続が、信頼でき中断されない。
  • 複数の移行元および移行先ネットワークをマッピングする場合は、追加の移行先ネットワークごとに ネットワークアタッチメント定義 が作成されている。

3.2.1. Ports

ファイアウォールは、以下のポートでトラフィックを有効にする必要があります。

Expand
表3.2 VMware vSphere からの移行に必要なネットワークポート
ポートプロトコル送信元送信先目的

443

TCP

OpenShift ノード

VMware vCenter

VMware プロバイダーインベントリー

ディスク転送の認証

443

TCP

OpenShift ノード

VMware ESXi ホスト

ディスク転送の認証

902

TCP

OpenShift ノード

VMware ESXi ホスト

ディスク転送データのコピー

Expand
表3.3 Red Hat Virtualization からの移行に必要なネットワークポート
ポートプロトコル送信元送信先目的

443

TCP

OpenShift ノード

RHV エンジン

RHV プロバイダーインベントリー

ディスク転送の認証

54322

TCP

OpenShift ノード

RHV ホスト

ディスク転送データのコピー

Expand
表3.4 OpenStack からの移行に必要なネットワークポート
ポートプロトコル送信元送信先目的

8776

Cinder

OpenShift ノード

OpenStack ホスト

ブロックストレージ API

8774

Nova

OpenShift ノード

OpenStack ホスト

仮想化 API

5000

Keystone

OpenShift ノード

OpenStack ホスト

認証 API

9696

Neutron

OpenShift ノード

OpenStack ホスト

ネットワーク API

9292

Glance

OpenShift ノード

OpenStack ホスト

イメージサービス API

Expand
表3.5 Open Virtual Appliance (OVA) ファイルからの移行に必要なネットワークポート
ポートプロトコル送信元送信先目的

2049

TCP

OpenShift ノード

OVA ファイルを含むサーバー

NFS サービス

111

TCP または UCP

OpenShift ノード

OVA ファイルを含むサーバー

RPC Portmapper (NFSv4.0 の場合にのみ必要)

Expand
表3.6 OpenShift Virtualization からの移行に必要なネットワークポート
ポートプロトコル送信元送信先目的

6443

API

OpenShift ノード

OpenShift Virtualization ホスト

仮想マシンのマニフェストから情報を取得するための API にアクセスする

443

TCP

OpenShift ノード

OpenShift Virtualization ホスト

virtualMachineExport リソースを使用して仮想マシンデータをダウンロードする

3.3. ソース仮想マシンの前提条件

移行元仮想マシン (VM) の次の前提条件は、すべての移行に適用されます。

  • ISO イメージと CD-ROM のマウントが解除されている。
  • 各 NIC には IPv4 アドレスまたは IPv6 アドレスのいずれかが含まれており、NIC では両方を使用できる。
  • 各仮想マシンのオペレーティングシステムは、変換用のゲストオペレーティングシステムとして認定およびサポートされている。
注記

Converting virtual machines from other hypervisors to KVM with virt-v2v の表を参照して、オペレーティングシステムがサポートされているかどうかを確認できます。RHEL 8 ホストと RHEL 9 ホストに関する表の列を参照してください。

  • RHEL 8 で実行する MTV 2.6.z を使用して移行する仮想マシン。
  • RHEL 9 で実行する MTV 2.7.z を使用して移行する仮想マシン。
  • 仮想マシンの名前にはピリオド (.) を含めることはできない。Migration Toolkit for Virtualization (MTV) は、仮想マシン名内のピリオドをダッシュ (-) に変更します。
  • 仮想マシンの名前は、OpenShift Virtualization 環境の他の仮想マシンと同じにしない。

    警告

    MTV は、デュアルブートオペレーティングシステム仮想マシンの移行を限定的にサポートしています。

    デュアルブートオペレーティングシステム仮想マシンの場合、MTV は最初に見つかったブートディスクを変換しようとします。または、MTV UI でルートデバイスを指定することもできます。

    警告

    Microsoft Windows を実行する仮想マシン (仮想マシン) の場合、ゲスト仮想マシン内のボリュームシャドウコピーサービス (VSS) を使用して、ファイルシステムとアプリケーションを静止させます。 

    VMware から Microsoft Windows 仮想マシンのウォームマイグレーションを実行する場合、スナップショットおよび Quiesce guest file system が正常に実行されるように、Windows ゲストオペレーティングシステムで VSS を起動する必要があります。

    Windows ゲストオペレーティングシステムで VSS を起動しないと、ウォームマイグレーション中のスナップショットの作成が次のエラーで失敗します。

    An error occurred while taking a snapshot: Failed to restart the virtual machine

    VSS サービスを Manual に設定し、Quiesce guest file system = yes でスナップショットの作成を開始する場合、バックグラウンドで、VMware Snapshot プロバイダーサービスは VSS にシャドウコピーの開始を要求します。

    注記

    Migration Toolkit for Virtualization は、ルールに準拠していない仮想マシンに新しい名前を自動的に割り当てます。

    Migration Toolkit for Virtualization は、新しい仮想マシン名を自動的に生成するときに、次の変更を行います。

    • 除外された文字を削除する。
    • 大文字を小文字に切り替える。
    • アンダースコア (_) をダッシュ (-) に変更する。

    この機能により、ルールに準拠していない仮想マシン名を入力した場合でも、移行をスムーズに進めることができます。

    注記

    Measured Boot 機能を使用する Microsoft Windows 仮想マシンは移行できません。Measured Boot は、ファームウェアからブートドライバーに至るまで、各起動コンポーネントをチェックすることで、あらゆる種類のデバイスの変更を防止するメカニズムです。

    移行の代替手段としては、OpenShift Virtualization 上で直接 Windows 仮想マシンを再作成する方法があります。

    注記

    現在、セキュアブートが有効になっている仮想マシン (VM) は自動的に移行されない可能性があります。これは、セキュアブートにより、仮想マシンが宛先プロバイダーで起動できなくなるためです。セキュアブートとは、PC 業界の関係者によって開発されたセキュリティー標準で、Original Equipment Manufacturer (OEM) によって信頼されたソフトウェアのみを使用してデバイスが確実に起動するようにする仕組みです。 

    回避策: 現在の回避策は、移行先でセキュアブートを無効にすることです。詳細は、セキュアブートの無効化 を参照してください。(MTV-1548)

3.4. MTV 暗号化のサポート

Migration Toolkit for Virtualization (MTV) は、仮想マシン (VM) において次の種類の暗号化をサポートしています。

  • Linux 上で稼働する仮想マシンの場合: Linux Unified Key Setup (LUKS)
  • Windows 上で稼働する仮想マシンの場合: BitLocker

第4章 各プロバイダーの特定のソフトウェア要件

すべてのプロバイダーに適用される前提条件とソフトウェア要件に加えて、プロバイダーごとに固有の要件があります。

4.1. VMware の前提条件

移行を加速するために、VDDK イメージの作成が強く推奨されます。詳細は、VDDK イメージの作成 を参照してください。

警告

仮想マシンが VMware vSAN によってバックアップされている場合、仮想マシンの移行は VDDK なしでは機能しません。

VMware の移行には、以下の前提条件が適用されます。

  • 互換性のあるバージョン の VMware vSphere を使用している。
  • 少なくとも最小限の VMware 権限 を持つユーザーとしてログインしている。
  • 移行前のフックを使用して仮想マシンにアクセスするには、VMware Tools をソース仮想マシンにインストールする必要があります。
  • 仮想マシンオペレーティングシステムが、OpenShift Virtualization のゲストオペレーティングシステム としての使用 および virt-v2v での KVM への変換 に対して認定およびサポートされている。
  • ウォームマイグレーションを実行している場合は、仮想マシンおよび仮想マシンディスクで 変更ブロックのトラッキング (CBT) を有効にしている。
  • 同じ移行計画で ESXi ホストから 10 台を超える仮想マシンを移行する場合は、ホストの Network File Copy (NFC) サービスメモリーを増やす必要があります。
  • Migration Toolkit for Virtualization (MTV) は休止状態の仮想マシンの移行をサポートしていないため、休止状態を無効にすることを強く推奨する。
警告

Microsoft Windows を実行する仮想マシン (仮想マシン) の場合、ゲスト仮想マシン内のボリュームシャドウコピーサービス (VSS) を使用して、ファイルシステムとアプリケーションを静止させます。 

VMware から Microsoft Windows 仮想マシンのウォームマイグレーションを実行する場合、スナップショットおよび Quiesce guest file system が正常に実行されるように、Windows ゲストオペレーティングシステムで VSS を起動する必要があります。

Windows ゲストオペレーティングシステムで VSS を起動しないと、ウォームマイグレーション中のスナップショットの作成が次のエラーで失敗します。

An error occurred while taking a snapshot: Failed to restart the virtual machine

VSS サービスを Manual に設定し、Quiesce guest file system = yes でスナップショットの作成を開始する場合、バックグラウンドで、VMware Snapshot プロバイダーサービスは VSS にシャドウコピーの開始を要求します。

重要

停電が発生した場合、休止状態が無効になっている仮想マシンのデータが失われる可能性があります。ただし、ハイバネーションが無効になっていない場合は移行に失敗します。

注記

MTV も OpenShift Virtualization も、VMWare から仮想マシンを移行するための Btrfs の変換をサポートしていません。

4.1.1. VMware 権限

Migration Toolkit for Virtualization (MTV) を使用して仮想マシンを OpenShift Virtualization に移行するには、次の最小限の VMware 権限のセットが必要です。

Expand
表4.1 VMware 権限
特権説明

Virtual machine.Interaction 権限:

Virtual machine.Interaction.Power Off

電源がオンになっている仮想マシンの電源をオフにできます。この操作により、ゲストオペレーティングシステムの電源がオフになります。

Virtual machine.Interaction.Power On

電源がオフになっている仮想マシンの電源をオンにし、中断している仮想マシンを再開できます。

Virtual machine.Guest operating system management by VIX API

VMware Virtual Infrastructure eXtension (VIX) API による仮想マシンの管理を可能にします。

Virtual machine.Provisioning 権限:

注記

すべての Virtual machine.Provisioning 権限が必要です。

Virtual machine.Provisioning.Allow disk access

ランダムな読み取りおよび書き込みアクセスのために仮想マシンでディスクを開くことができます。主にリモートディスクマウントに使用されます。

Virtual machine.Provisioning.Allow file access

VMX、ディスク、ログ、NVRAM など、仮想マシンに関連付けられたファイルの操作を許可します。

Virtual machine.Provisioning.Allow read-only disk access

ランダムな読み取りアクセスのために仮想マシンでディスクを開くことができます。主にリモートディスクマウントに使用されます。

Virtual machine.Provisioning.Allow virtual machine download

VMX、ディスク、ログ、NVRAM など、仮想マシンに関連付けられたファイルの読み取り操作を許可します。

Virtual machine.Provisioning.Allow virtual machine files upload

VMX、ディスク、ログ、NVRAM など、仮想マシンに関連付けられたファイルの書き込み操作を許可します。

Virtual machine.Provisioning.Clone template

テンプレートのクローンを作成できます。

Virtual machine.Provisioning.Clone virtual machine

既存の仮想マシンのクローン作成とリソースの割り当てを許可します。

Virtual machine.Provisioning.Create template from virtual machine

仮想マシンから新しいテンプレートを作成できます。

Virtual machine.Provisioning.Customize guest

仮想マシンを移行せずに、仮想マシンのゲストオペレーティングシステムをカスタマイズできます。

Virtual machine.Provisioning.Deploy template

テンプレートからの仮想マシンのデプロイメントを許可します。

Virtual machine.Provisioning.Mark as template

既存の電源がオフになっている仮想マシンをテンプレートとしてマークできます。

Virtual machine.Provisioning.Mark as virtual machine

既存のテンプレートを仮想マシンとしてマークできます。

Virtual machine.Provisioning.Modify customization specification

カスタマイズ仕様の作成、変更、または削除を許可します。

Virtual machine.Provisioning.Promote disks

仮想マシンのディスクでのプロモート操作を許可します。

Virtual machine.Provisioning.Read customization specifications

カスタマイズ仕様の読み取りを許可します。

Virtual machine.Snapshot management 権限:

Virtual machine.Snapshot management.Create snapshot

仮想マシンの現在の状態からスナップショットを作成できます。

Virtual machine.Snapshot management.Remove Snapshot

スナップショット履歴からスナップショットを削除できます。

Datastore 権限:

Datastore.Browse datastore

データストアの内容を探索できます。

Datastore.Low level file operations

データストア内で低レベルのファイル操作 (読み取り、書き込み、削除、および名前変更) を実行できます。

Sessions 権限:

Sessions.Validate session

セッションの有効性の検証を可能にします。

Cryptographic 権限:

Cryptographic.Decrypt

暗号化された仮想マシンの復号化を許可します。

Cryptographic.Direct access

暗号化されたリソースへのアクセスを許可します。

ヒント

前述の表に記載された権限を持つロールを VMware で作成し、そのロールを、MTV 権限を適用するための VMware ロールの作成 の説明に従って Inventory セクションに適用します。

4.1.2. MTV 権限を付与するための VMware ロールの作成

VMware でロールを作成して Migration Toolkit for Virtualization (MTV) の権限を付与し、そのロールを持つユーザーに権限を付与することができます。

以下の手順では、これを行うための一般的な方法を説明します。詳細な手順は、VMware のドキュメントを参照してください。

手順

  1. vCenter Server UI で、VMware の前提条件 の表に記載されている権限セットが含まれるロールを作成します。
  2. vSphere インベントリー UI で、このロールを持つユーザーに、次のいずれかのレベルで適切な vSphere 論理オブジェクトへの権限を付与します。

    1. ユーザーまたはグループレベル: データセンター内の適切な論理オブジェクトに権限を割り当て、Propagate to child objects オプションを使用します。
    2. オブジェクトレベル: 移行に関係するすべての vSphere 論理オブジェクト (ホスト、vSphere クラスター、データセンター、ネットワークなど) に、同じロールを個別に適用します。

4.1.3. VDDK イメージの作成

VMware vSphere から仮想ディスクを移動する場合は、Migration Toolkit for Virtualization (MTV) を VMware Virtual Disk Development Kit (VDDK) SDK と併用することを強く推奨します。

注記

オプションではありますが、VDDK イメージを作成することを強く推奨します。VDDK なしで MTV を使用することは推奨されず、移行速度が大幅に低下する可能性があります。

この機能を利用するには、VDDK をダウンロードし、VDDK イメージをビルドして、VDDK イメージをイメージレジストリーにプッシュします。

VDDK パッケージにはシンボリックリンクが含まれているため、VDDK イメージの作成手順は、シンボリックリンク (symlink) を保持するファイルシステム上で実行する必要があります。

注記

VDDK イメージをパブリックレジストリーに保存すると、VMware ライセンスの条項に違反する可能性があります。

前提条件

  • Red Hat OpenShift イメージレジストリー
  • podman がインストールされている。
  • シンボリックリンク (symlink) を保存するファイルシステム上で作業している。
  • 外部レジストリーを使用している場合、OpenShift Virtualization がこれにアクセスできる。

手順

  1. 一時ディレクトリーを作成し、これに移動します。

    $ mkdir /tmp/<dir_name> && cd /tmp/<dir_name>
  2. ブラウザーで、VMware VDDK バージョン 8 ダウンロードページ に移動します。
  3. バージョン 8.0.1 を選択し、Download をクリックします。
注記

OpenShift Virtualization 4.12 に移行するには、VMware VDDK バージョン 7 ダウンロードページ から VDDK バージョン 7.0.3.2 をダウンロードします。

  1. VDDK アーカイブファイルを一時ディレクトリーに保存します。
  2. VDDK アーカイブを展開します。

    $ tar -xzf VMware-vix-disklib-<version>.x86_64.tar.gz
  3. Dockerfile を作成します。

    $ cat > Dockerfile <<EOF
    FROM registry.access.redhat.com/ubi8/ubi-minimal
    USER 1001
    COPY vmware-vix-disklib-distrib /vmware-vix-disklib-distrib
    RUN mkdir -p /opt
    ENTRYPOINT ["cp", "-r", "/vmware-vix-disklib-distrib", "/opt"]
    EOF
  4. VDDK イメージをビルドします。

    $ podman build . -t <registry_route_or_server_path>/vddk:<tag>
  5. VDDK イメージをレジストリーにプッシュします。

    $ podman push <registry_route_or_server_path>/vddk:<tag>
  6. イメージが OpenShift Virtualization 環境からアクセスできることを確認します。

4.1.4. ESXi ホストの NFC サービスメモリーの拡張

同じ移行計画で ESXi ホストから 10 台を超える仮想マシンを移行する場合は、ホストの Network File Copy (NFC) サービスメモリーを増やす必要があります。そうしないと、NFC サービスメモリーは 10 個の並列接続に制限されているため、移行が失敗します。

手順

  1. root として ESXi ホストにログインします。
  2. /etc/vmware/hostd/config.xmlmaxMemory の値を 1000000000 に変更します。

    ...
          <nfcsvc>
             <path>libnfcsvc.so</path>
             <enabled>true</enabled>
             <maxMemory>1000000000</maxMemory>
             <maxStreamMemory>10485760</maxStreamMemory>
          </nfcsvc>
    ...
  3. hostd を再起動します。

    # /etc/init.d/hostd restart

    ホストを再起動する必要はありません。

4.1.5. VDDK バリデーターコンテナーにはリクエストと制限が必要

クラスターまたはプロジェクトのリソースクォータが設定されている 場合は、MTV Pod が移行を実行するのに十分なクォータがあることを確認する必要があります。 

次のように、ForkliftController カスタムリソース (CR) でオーバーライドできるデフォルトを確認できます。必要に応じて、これらのデフォルトを調整できます。 

これらの設定は環境に大きく依存します。 一度に多数の移行が行われ、移行に対して十分なクォータが設定されていない場合、移行は失敗する可能性があります。これは、一度に移行される仮想マシン/ディスクの数を決定する MAX_VM_INFLIGHT 設定とも相関します。

ForkliftController CR では、次のデフォルトをオーバーライドできます。

  • コールドマイグレーションとウォームマイグレーションの両方に影響するデフォルト:

    コールドマイグレーションの場合、ディスクコピーを実行するため、より多くのリソースが消費される可能性があります。ウォームマイグレーションの場合、リクエストを減らすことを検討してみてください。

    • virt_v2v_container_limits_cpu: 4000m
    • virt_v2v_container_limits_memory: 8Gi
    • virt_v2v_container_requests_cpu: 1000m
    • virt_v2v_container_requests_memory: 1Gi

      注記

      virt-v2v を使用したコールドマイグレーションとウォームマイグレーションでは、リソースが大量に消費される可能性があります。詳細は、コンピュートの電源および RAM を参照してください。

  • フックを使用した移行に影響するデフォルト:

    • hooks_container_limits_cpu: 1000m
    • hooks_container_limits_memory: 1Gi
    • hooks_container_requests_cpu: 100m
    • hooks_container_requests_memory: 150Mi
  • OVA 移行に影響するデフォルト:

    • ova_container_limits_cpu: 1000m
    • ova_container_limits_memory: 1Gi
    • ova_container_requests_cpu: 100m
    • ova_container_requests_memory: 150Mi

4.2. Red Hat Virtualization の前提条件

Red Hat Virtualization の移行には、以下の前提条件が適用されます。

  • 移行元プロバイダーを作成するには、少なくとも UserRole および ReadOnlyAdmin ロールを持っている必要があります。これらは最低限必要な権限ですが、その他の管理者権限またはスーパーユーザー権限でも作成できます。
重要

移行元プロバイダーの仮想マシンが移行されるまで、UserRole ロールおよび ReadOnlyAdmin ロールを保持する必要があります。そうでない場合、移行に失敗します。

  • 仮想マシンを移行するには:

    • 次のいずれかが必要です。

      • RHV の管理者権限。この権限により、システム内の任意の仮想マシンを移行できます。
      • 移行するすべての仮想マシンに対する DiskCreator および UserVmManager 権限。
    • 互換性のあるバージョン の Red Hat Virtualization を使用する必要があります。
    • サードパーティーの証明書に置き換えられていない限り、Manager CA 証明書が必要です。置き換えられている場合は、Manager Apache CA 証明書を指定してください。

      ブラウザーで https://<engine_host>/ovirt-engine/services/pki-resource?resource=ca-certificate&format=X509-PEM-CA に移動して、Manager CA 証明書を取得できます。

    • ダイレクト Logical Unit Number (LUN) ディスクを使用して仮想マシンを移行する場合は、仮想マシン実行先の OpenShift Virtualization クラスター内のノードがバックエンドストレージにアクセスできることを確認してください。
注記
  • 移行元プロバイダーから移行先プロバイダーに コピーされる ディスクイメージとは異なり、LUN は移行元プロバイダーの仮想マシンから 切り離され ますが、削除 されず、ターゲットプロバイダーで作成された仮想マシン (VM) にアタッチされます。
  • 移行元プロバイダーへのフォールバックが必要な場合に備えて、移行中に LUN は移行元プロバイダーから削除されません。ただし、LUN を移行元プロバイダーの仮想マシンに再接続する前に、LUN がターゲット環境上の仮想マシンによって同時に使用されていないことを確認してください。同時に使用されていると、データの破損が発生する可能性があります。

4.3. OpenStack の前提条件

OpenStack の移行には、次の前提条件が適用されます。

4.3.1. OpenStack 移行元プロバイダーを使用した移行のための追加の認証方法

Migration Toolkit for Virtualization は、標準のユーザー名とパスワードの認証情報セットに加えて、OpenStack ソースプロバイダーを使用した移行に対して次の認証方法をサポートします。

  • トークン認証
  • アプリケーション認証情報による認証

これらの方法を使用すると、Secret マニフェストを準備する方法を除き、他の仮想マシンを移行するのと同じ方法で、コマンドラインインターフェイス (CLI) を使用して OpenStack ソースプロバイダーで仮想マシンを移行できます。

4.3.1.1. OpenStack 移行元プロバイダーでのトークン認証の使用

OpenStack 移行元プロバイダーの作成時に、ユーザー名とパスワード認証の代わりにトークン認証を使用できます。

MTV は、次の両方のタイプのトークン認証をサポートしています。

  • ユーザー ID のトークン
  • ユーザー名が含まれるトークン

トークン認証のタイプごとに、OpenStack からのデータを使用して Secret マニフェストを作成する必要があります。

前提条件

OpenStack アカウントがある。

手順

  1. OpenStack Web コンソールのダッシュボードで、Project > API Access をクリックします。
  2. Download OpenStack RC file を展開し、OpenStack RC file をクリックします。

    ダウンロードされるファイル (ここでは <openstack_rc_file> と呼びます) には、トークン認証に使用される次のフィールドが含まれています。

    OS_AUTH_URL
    OS_PROJECT_ID
    OS_PROJECT_NAME
    OS_DOMAIN_NAME
    OS_USERNAME
  3. トークン認証に必要なデータを取得するには、次のコマンドを実行します。

    $ openstack token issue

    ここでは <openstack_token_output> と呼ばれる出力には、ユーザー ID のトークンを使用した認証に必要な tokenuserID、および projectID が含まれています。

  4. 以下のような Secret マニフェストを作成します。

    • ユーザー ID のトークンを使用した認証の場合:

      cat << EOF | oc apply -f -
      apiVersion: v1
      kind: Secret
      metadata:
        name: openstack-secret-tokenid
        namespace: openshift-mtv
        labels:
          createdForProviderType: openstack
      type: Opaque
      stringData:
        authType: token
        token: <token_from_openstack_token_output>
        projectID: <projectID_from_openstack_token_output>
        userID: <userID_from_openstack_token_output>
        url: <OS_AUTH_URL_from_openstack_rc_file>
      EOF
    • ユーザー名でトークンを使用した認証の場合:

      cat << EOF | oc apply -f -
      apiVersion: v1
      kind: Secret
      metadata:
        name: openstack-secret-tokenname
        namespace: openshift-mtv
        labels:
          createdForProviderType: openstack
      type: Opaque
      stringData:
        authType: token
        token: <token_from_openstack_token_output>
        domainName: <OS_DOMAIN_NAME_from_openstack_rc_file>
        projectName: <OS_PROJECT_NAME_from_openstack_rc_file>
        username: <OS_USERNAME_from_openstack_rc_file>
        url: <OS_AUTH_URL_from_openstack_rc_file>
      EOF
4.3.1.2. OpenStack 移行元プロバイダーでのアプリケーション認証情報の認証の使用

OpenStack 移行元プロバイダーの作成時に、ユーザー名とパスワード認証の代わりにアプリケーション認証情報の認証を使用できます。

MTV は、次のアプリケーション認証情報の認証をサポートします。

  • アプリケーション認証情報 ID
  • アプリケーション認証情報名

アプリケーション認証情報の認証のタイプごとに、OpenStack からのデータを使用して Secret マニフェストを作成する必要があります。

前提条件

OpenStack アカウントがある。

手順

  1. OpenStack Web コンソールのダッシュボードで、Project > API Access をクリックします。
  2. Download OpenStack RC file を展開し、OpenStack RC file をクリックします。

    ダウンロードするファイル (ここでは <openstack_rc_file> と呼びます) には、アプリケーション認証情報の認証に使用される次のフィールドが含まれています。

    OS_AUTH_URL
    OS_PROJECT_ID
    OS_PROJECT_NAME
    OS_DOMAIN_NAME
    OS_USERNAME
  3. アプリケーション認証情報の認証に必要なデータを取得するには、以下のコマンドを実行します。

    $ openstack application credential create --role member --role reader --secret redhat forklift

    ここでは <openstack_credential_output> と呼ばれる出力には、次のものが含まれます。

    • アプリケーション認証情報 ID を使用した認証に必要な idsecret
    • アプリケーション認証情報名を使用した認証に必要な namesecret
  4. 以下のような Secret マニフェストを作成します。

    • アプリケーション認証情報 ID を使用した認証の場合:

      cat << EOF | oc apply -f -
      apiVersion: v1
      kind: Secret
      metadata:
        name: openstack-secret-appid
        namespace: openshift-mtv
        labels:
          createdForProviderType: openstack
      type: Opaque
      stringData:
        authType: applicationcredential
        applicationCredentialID: <id_from_openstack_credential_output>
        applicationCredentialSecret: <secret_from_openstack_credential_output>
        url: <OS_AUTH_URL_from_openstack_rc_file>
      EOF
    • アプリケーション認証情報名を使用した認証の場合:

      cat << EOF | oc apply -f -
      apiVersion: v1
      kind: Secret
      metadata:
        name: openstack-secret-appname
        namespace: openshift-mtv
        labels:
          createdForProviderType: openstack
      type: Opaque
      stringData:
        authType: applicationcredential
        applicationCredentialName: <name_from_openstack_credential_output>
        applicationCredentialSecret: <secret_from_openstack_credential_output>
        domainName: <OS_DOMAIN_NAME_from_openstack_rc_file>
        username: <OS_USERNAME_from_openstack_rc_file>
        url: <OS_AUTH_URL_from_openstack_rc_file>
      EOF

4.4. Open Virtual Appliance (OVA) の前提条件

Open Virtual Appliance (OVA) ファイルの移行には、以下の前提条件が適用されます。

  • すべての OVA ファイルは、VMware vSphere によって作成されます。
注記

VMware vSphere によって作成されたものではなくても、vSphere と互換性のある OVA ファイルの移行は成功する可能性があります。ただし、このようなファイルの移行は MTV ではサポートされていません。MTV は、VMware vSphere によって作成された OVA ファイルのみをサポートします。

  • OVA ファイルは、次のいずれかの構造の NFS 共有ディレクトリーの下にあるフォルダー (1 つまたは複数) に含まれています。

    • すべての仮想マシン情報を保持する 1 つ以上の圧縮された Open Virtualization Format (OVF) パッケージ。

      各圧縮パッケージのファイル名には .ova 拡張子が 必要です。複数の圧縮パッケージを同じフォルダーに保存できます。

      この構造を使用すると、MTV はルートフォルダーと第 1 レベルのサブフォルダーをスキャンして圧縮パッケージを探します。

      たとえば、NFS 共有が /nfs の場合、次のようになります。

      • フォルダー /nfs がスキャンされます。
      • /nfs/subfolder1 フォルダーがスキャンされます。
      • しかし、/nfs/subfolder1/subfolder2 はスキャンされません。
    • 展開された OVF パッケージ内。

      この構造を使用すると、MTV はルートフォルダー、第 1 レベルのサブフォルダー、第 2 レベルのサブフォルダーをスキャンして展開された OVF パッケージを探します。

      ただし、フォルダー内に存在できる .ovf ファイルは 1 つだけです。そうでない場合、移行に失敗します。

      たとえば、NFS 共有が /nfs の場合、次のようになります。

      • OVF ファイル /nfs/vm.ovf がスキャンされます。
      • OVF ファイル /nfs/subfolder1/vm.ovf がスキャンされます。
      • OVF ファイル /nfs/subfolder1/subfolder2/vm.ovf がスキャンされます。
      • しかし、OVF ファイル /nfs/subfolder1/subfolder2/subfolder3/vm.ovf はスキャンされません。

4.5. OpenShift Virtualization の前提条件

OpenShift Virtualization クラスターから別のクラスターへの移行には、以下の前提条件が適用されます。

  • 移行元および移行先の OpenShift Virtualization クラスターには、同じバージョンの Migration Toolkit for Virtualization (MTV) がインストールされている必要があります。
  • 移行元クラスターは OpenShift Virtualization 4.16 以降を使用する必要があります。
  • OpenShift Virtualization の新しいバージョンから以前のバージョンへの移行はサポートされていません。
  • 以前のバージョンの OpenShift Virtualization から新しいバージョンへの移行は、両方が現在のバージョンの MTV でサポートされている場合にサポートされます。たとえば、OpenShift Virtualization の現在のバージョンが 4.18 の場合、バージョン 4.16 または 4.17 からバージョン 4.18 への移行はサポートされますが、バージョン 4.15 から任意のバージョンへの移行はサポートされません。
重要

以前のバージョンの OpenShift Virtualization から新しいバージョンへの移行はサポートされていますが、同じバージョンの OpenShift Virtualization を持つクラスター間でのみ移行することを強く推奨します。

4.6. ソフトウェア互換性ガイドライン

互換性のあるソフトウェアバージョンをインストールする必要があります。次の表には、このバージョンの Migration Toolkit for Virtualization (MTV) に関連するソフトウェアバージョンがリスト表示されています。

Expand
表4.2 互換性のあるソフトウェアバージョン
Migration Toolkit for VirtualizationRed Hat OpenShiftOpenShift VirtualizationVMware vSphereRed Hat VirtualizationOpenStack

2.9

4.19、4.18、4.17

4.19、4.18、4.17

6.5 以降

4.4 SP1 以降

16.1 以降

注記

Red Hat Virtualization 4.3 からの移行

MTV は Red Hat Virtualization 4.4 SP1 でのみテストされました。Red Hat Virtualization (RHV) 4.3 からの移行は MTV 2.9 ではテストされていません。サポート対象外ですが、RHV 4.3 からの基本的な移行は機能するはずです。

通常、OpenShift Virtualization に移行する前に、Red Hat Virtualization Manager を前述のサポートされているバージョンにアップグレードすることを推奨します。

OpenShift Virtualization に移行する前に、RHV を上記のサポートされているバージョンにアップグレードすることが推奨されます。

ただし、RHV 4.3.11 からの移行は MTV 2.3 でテストされており、MTV 2.9 を使用する多くの環境で実際に機能する可能性があります。この場合、OpenShift Virtualization に移行する前に、Red Hat Virtualization Manager を前述のサポートされているバージョンにアップグレードすることを推奨します。

4.6.1. OpenShift Operator のライフサイクル

OpenShift Container Platform で使用するために Red Hat が同梱する Operator のソフトウェアメンテナンスのライフサイクル分類の詳細は、OpenShift Operator のライフサイクル を参照してください。

第5章 MTV Operator のインストールと設定

MTV Operator は、Red Hat OpenShift Web コンソールまたはコマンドラインインターフェイス (CLI) を使用してインストールできます。

Migration Toolkit for Virtualization (MTV) バージョン 2.4 以降では、MTV Operator に Red Hat OpenShift Web コンソール用の MTV プラグインが含まれています。

Red Hat OpenShift Web コンソールまたは CLI を使用して MTV Operator をインストールした後、Operator を設定できます。

5.1. Red Hat OpenShift Web コンソールを使用した MTV Operator のインストール

MTV Operator は、Red Hat OpenShift Web コンソールを使用してインストールできます。

前提条件

  • Red Hat OpenShift 4.19、4.18、4.17 がインストールされている。
  • OpenShift 移行ターゲットクラスターに OpenShift Virtualization Operator インストールされている。
  • cluster-admin 権限を持つユーザーとしてログインしている。

手順

  1. Red Hat OpenShift Web コンソールで、OperatorsOperatorHub をクリックします。
  2. Filter by keyword フィールドを使用して mtv-operator を検索します。
  3. Migration Toolkit for Virtualization Operator をクリックしてから Install をクリックします。
  4. ボタンがアクティブになったら、Create ForkliftController をクリックします。
  5. Create をクリックします。

    ForkliftController が表示されるリストに表示されます。

  6. WorkloadsPods をクリックし、MTV Pod が実行されていることを確認します。
  7. OperatorsInstalled Operators をクリックして、Migration Toolkit for Virtualization OperatorSucceeded のステータスで openshift-mtv プロジェクトに表示されることを確認します。

    プラグインの準備が整ったら、ページのリロードが求められます。Migration メニュー項目は、Red Hat OpenShift Web コンソールの左側に表示されるナビゲーションバーに自動的に追加されます。

5.2. コマンドラインインターフェイスを使用した MTV Operator のインストール

コマンドラインインターフェイス (CLI) を使用して MTV Operator をインストールできます。

前提条件

  • Red Hat OpenShift 4.19、4.18、4.17 がインストールされている。
  • OpenShift 移行ターゲットクラスターに OpenShift Virtualization Operator インストールされている。
  • cluster-admin 権限を持つユーザーとしてログインしている。

手順

  1. openshift-mtv プロジェクトを作成します。

    $ cat << EOF | oc apply -f -
    apiVersion: project.openshift.io/v1
    kind: Project
    metadata:
      name: openshift-mtv
    EOF
  2. 名前が migrationOperatorGroup CR を作成します。

    $ cat << EOF | oc apply -f -
    apiVersion: operators.coreos.com/v1
    kind: OperatorGroup
    metadata:
      name: migration
      namespace: openshift-mtv
    spec:
      targetNamespaces:
        - openshift-mtv
    EOF
  3. Operator の Subscription CR を作成します。

    $ cat << EOF | oc apply -f -
    apiVersion: operators.coreos.com/v1alpha1
    kind: Subscription
    metadata:
      name: mtv-operator
      namespace: openshift-mtv
    spec:
      channel: release-v2.9
      installPlanApproval: Automatic
      name: mtv-operator
      source: redhat-operators
      sourceNamespace: openshift-marketplace
      startingCSV: "mtv-operator.v2.9.6"
    EOF
  4. ForkliftController CR を作成します。

    $ cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: ForkliftController
    metadata:
      name: forklift-controller
      namespace: openshift-mtv
    spec:
      olm_managed: true
    EOF
  5. MTV Pod が実行していることを確認します。

    $ oc get pods -n openshift-mtv

    出力例は次のとおりです。

    NAME                                                    READY   STATUS    RESTARTS   AGE
    forklift-api-bb45b8db4-cpzlg                            1/1     Running   0          6m34s
    forklift-controller-7649db6845-zd25p                    2/2     Running   0          6m38s
    forklift-must-gather-api-78fb4bcdf6-h2r4m               1/1     Running   0          6m28s
    forklift-operator-59c87cfbdc-pmkfc                      1/1     Running   0          28m
    forklift-ui-plugin-5c5564f6d6-zpd85                     1/1     Running   0          6m24s
    forklift-validation-7d84c74c6f-fj9xg                    1/1     Running   0          6m30s
    forklift-volume-populator-controller-85d5cb64b6-mrlmc   1/1     Running   0          6m36s

5.3. MTV Operator の設定

MTV Operator の次の設定は、特に指定がない限り、ForkliftController カスタムリソース (CR) を変更するか、Overview ページの Settings セクションで設定できます。

  • Migration Toolkit for Virtualization (MTV) が同時に移行できる仮想マシン (VM) またはディスクの計画ごとの最大数。
  • must gather レポートが自動的に削除されるまで保持される期間 (ForkliftController CR のみ)。
  • メインのコントローラーコンテナーに割り当てられる CPU 制限
  • メインのコントローラーコンテナーに割り当てられるメモリー制限
  • ウォームマイグレーションを開始する前に新しいスナップショットが要求される間隔
  • ウォームマイグレーション中にスナップショットの作成または削除のステータスをチェックする頻度
  • storageclassfilesystem の場合に、ファイルシステムのオーバーヘッドとして割り当てられる永続ボリューム内のスペースの割合 (ForkliftController CR のみ)。
  • 永続ブロックボリュームに割り当てられた固定量の追加スペース。この設定は、ブロックベースのすべての storageclass に適用されます (ForkliftController CR のみ)。
  • vSphere 移行元プロバイダーの設定に対するオペレーティングシステムの configuration map (ForkliftController CR のみ)。
  • Red Hat Virtualization (RHV) 移行元プロバイダーの設定に対するオペレーティングシステムの configuration map (ForkliftController CR のみ)。
  • 移行中に Containerized Data Importer (CDI) がインポーター Pod を削除しないように、インポーター Pod を保持するかどうか (ForkliftController CR のみ)。

ユーザーインターフェイスを使用してこれらを設定する手順は、MTV の設定 で説明しています。ForkliftController CR を変更してこれらの設定を指定する手順を以下に示します。

手順

  • 次のようにパラメーターと値を追加して、ForkliftController CR の spec セクションでパラメーターの値を変更します。

    spec:
      parameter: value 
    1
    1
    CLI を使用して設定できるパラメーターは、各パラメーターの説明とデフォルト値とともに次の表に示されています。
Expand
表5.1 MTV Operator パラメーター
パラメーター説明デフォルト値

controller_max_vm_inflight

以下のとおり、プロバイダーにより異なります。

  • すべての移行 (OVA および VMware の移行を除く): MTV が同時に転送できるディスクの最大数。
  • Open Virtual Appliance (OVA) 移行: MTV が同時に移行できる仮想マシンの最大数。
  • VMware 移行の場合、パラメーターには以下の意味があります。

    • コールドマイグレーション:

      • ローカル OpenShift Virtualization への移行: 同時に移行できる各 ESXi ホストの仮想マシン。
      • リモート OpenShift Virtualization への移行: 同時に移行できる各 ESXi ホストのディスク。
    • ウォームマイグレーション: 同時に移行できる各 ESXi ホストのディスク。

      このパラメーターの詳細な説明は、controller_max_vm_inflight パラメーターの設定 を参照してください。

20

must_gather_api_cleanup_max_age

自動削除される前に must gather (収集する必要がある) レポートを保持する期間 (時間単位)

-1 (無効)

controller_container_limits_cpu

メインのコントローラーコンテナーに割り当てられる CPU 制限。

500 m

controller_container_limits_memory

メインのコントローラーコンテナーに割り当てられるメモリー制限。

800 Mi

controller_precopy_interval

ウォームマイグレーションを開始する前に新しいスナップショットが要求される間隔 (分単位)。

60

controller_snapshot_status_check_rate_seconds

ウォームマイグレーション中にシステムがスナップショットの作成または削除のステータスをチェックする頻度 (秒単位)。

10

controller_filesystem_overhead

storageclassfilesystem の場合に、ファイルシステムのオーバーヘッドとして割り当てられた永続ボリューム内のスペースの割合。

ForkliftController CR のみ。

10

controller_block_overhead

永続ブロックボリュームに割り当てられた固定量の追加スペース。この設定は、ブロックベースの storageclass に適用できます。これは、仮想ディスクの内容に加えて、暗号化ヘッダーなどのデータが永続ボリュームに書き込まれる場合に使用できます。

ForkliftController CR のみ。

0

vsphere_osmap_configmap_name

vSphere ソースプロバイダーの config map。この config map は、受信仮想マシンのオペレーティングシステムを OpenShift Virtualization の設定名にマッピングします。この config map は、MTV Operator がデプロイされている namespace に存在する必要があります。

OpenShift Virtualization 環境の設定リストを表示するには、OpenShift Web コンソールを開き、Virtualization > Preferences をクリックします。

このパラメーターの値がデフォルト値 (forklift-vsphere-osmap) の場合、config map に値を追加します。値をオーバーライドまたは削除するには、forklift-vsphere-osmap とは異なる config map を指定します。

ForkliftController CR のみ。

forklift-vsphere-osmap

ovirt_osmap_configmap_name

RHV ソースプロバイダーの config map。この config map は、受信仮想マシンのオペレーティングシステムを OpenShift Virtualization の設定名にマッピングします。この config map は、MTV Operator がデプロイされている namespace に存在する必要があります。

OpenShift Virtualization 環境の設定リストを表示するには、OpenShift Web コンソールを開き、VirtualizationPreferences をクリックします。

このラベルの値がデフォルト値 (forklift-ovirt-osmap) の場合、config map に値を追加できます。値をオーバーライドまたは削除するには、forklift-ovirt-osmap とは異なる config map を指定します。

ForkliftController CR のみ。

forklift-ovirt-osmap

controller_retain_precopy_importer_pods

移行中に Containerized Data Importer (CDI) がインポーター Pod を削除しないように、インポーター Pod を保持するかどうか。

ForkliftController CR のみ。

false

5.3.1. controller_max_vm_inflight パラメーターの設定

UI で Max concurrent virtual machine migrations として表示される controller_max_vm_inflight パラメーターの値は、移行のソースプロバイダーにより異なります。

  • Open Virtual Appliance (OVA) または VMware 移行を除くすべての移行では、このパラメーターは Migration Toolkit for Virtualization (MTV) が同時に転送できる ディスク の最大数を指定します。これらの移行では、MTV はディスクを並行して移行します。つまり、移行するディスクの合計数が設定値より大きい場合、仮想マシンの移行が完了したかどうかにかかわらず、追加のディスクはキューが空くまで待機する必要があります。

    たとえば、パラメーターの値が 15 で、仮想マシン A にディスクが 5 台、仮想マシン B にディスクが 5 台、仮想マシン C にディスクが 6 台ある場合、16 番目のディスクを除くすべてのディスクの移行が同時に開始します。いずれかのディスクが移行されると、仮想マシン A および仮想マシン B のすべてのディスクの移行が完了していなくても、16 番目のディスクを移行できます。

  • OVA の移行の場合、このパラメーターは MTV が同時に移行できる 仮想マシン の最大数を示します。つまり、追加のディスクはすべて、少なくとも 1 つの仮想マシンが完全に移行されるまで待機する必要があります。

    たとえば、パラメーターの値が 2 で、仮想マシン A に 5 つのディスク、仮想マシン B に 5 つのディスク、仮想マシン C に 6 つのディスクがある場合、仮想マシン C のすべてのディスクは、仮想マシン A または仮想マシン B のすべてのディスクの移行が完了するまで移行を待機する必要があります。

  • VMware 移行の場合、パラメーターには以下の意味があります。

    • コールドマイグレーション:

      • ローカル OpenShift Virtualization への移行: 同時に移行できる各 ESXi ホストの仮想マシン。
      • リモート OpenShift Virtualization への移行: 同時に移行できる各 ESXi ホストのディスク。
    • ウォームマイグレーション: 同時に移行できる各 ESXi ホストのディスク。

第6章 Red Hat OpenShift Web コンソールを使用した仮想マシンの移行

MTV ユーザーインターフェイスを使用して仮想マシン (VM) を移行します。これは、Red Hat OpenShift Web コンソールの Virtualization セクションにあります。

6.1. MTV ユーザーインターフェイス

Migration Toolkit for Virtualization (MTV) ユーザーインターフェイスは OpenShift Web コンソールに統合されています。

左側のパネルでは、移行の進行状況のコンポーネントに関連するページ (プロバイダー など) を選択できます。または、管理者の場合は、移行に関する情報が含まれる Overview を選択でき、MTV 設定を行うことができます。

コンポーネントに関連するページでは、ページの左上にある プロジェクト 一覧をクリックし、作業が許可されているプロジェクト (namespace) を確認できます。

6.1.1. MTV の概要ページ

Migration Toolkit for Virtualization (MTV) Overview ページには、移行に関するシステム全体の情報と、変更できる Settings の一覧が表示されます。

管理者特権がある場合は、Red Hat OpenShift Web コンソールで MigrationOverview をクリックして、Overview ページにアクセスできます。

Overview ページには 3 つのタブがあります。

  • 概要
  • YAML
  • ヘルス
  • 履歴
  • 設定
6.1.1.1. Overview タブ

Overview タブは、プロバイダーをすばやく作成し、システム全体に関する情報を見つけるのに役立ちます。

  • 上部のペインには Welcome セクションがあり、ここには各ベンダー (VMware、Open Virtual Appliance、OpenStack、Red Hat Virtualization、OpenShift Virtualization) の Create provider UI を開くためのボタンが含まれています。右上隅のオプションメニュー kebab をクリックして、Hide from view を選択してこのセクションを終了します。右上隅の Show the welcome カード をクリックすると、再度開くことができます。
  • 中央左のペインには、名前が Virtual machines の「ドーナツ」グラフがあります。このチャートは、指定の期間で MTV が実行した仮想マシンの移行で実行中、失敗、成功の数を示します。ペインの右上隅にあるリストをクリックすると、別の間隔を選択できます。リストをクリックすると、別の間隔を選択できます。オプションは、Last 24 hours、Last 10 days、Last 31 days、および All です。チャートの各部分をクリックすると、History タブに移動して移行に関する情報を確認できます。

    注記

    このグラフのデータには、障害が原因で変更された移行計画の最新の実行のみが含まれます。たとえば、3 台の仮想マシンを含むプランが 4 回失敗した場合、このグラフには 12 台ではなく 3 台の仮想マシンが失敗したことが示されます。

  • 中央のペインには、名前が Migration history のエリアチャートがあります。このグラフは、チャートのタイトルに示されている間隔で成功したか、失敗した移行の数を示します。ペインの右上隅にあるオプションメニュー kebab をクリックすると、異なる間隔を選択できます。オプションは、Last 24 hours、Last 10 days、および Last 31 days です。チャートの各部分をクリックすると、History タブに移動して移行に関する情報を確認できます。
  • 左下のペインでは、名前が Migration plans の「ドーナツ」グラフが表示されます。このグラフには、ステータス別にグループ化された移行計画の現在の数が表示されます。これには、起動されなかった、起動できない、不完全、アーカイブ、一時停止中、またはステータスが不明な計画が含まれます。Show all plans リンクをクリックすると、Migration plans ページにすばやく移動できます。

    注記

    1 回の移行に多数の仮想マシンが関係する可能性があるため、MTV を使用して実行される移行の数は、移行される仮想マシンの数によって大きく異なる可能性があります。

  • 右下のペインには、名前が MTV health の表があります。この表にはすべての MTV Pod がリストされています。最も重要なのは、forklift-controller です。残りの Pod はアルファベット順に一覧表示されます。View all リンクで Health タブが開きます。各 Pod のステータスと作成時刻がリスト表示されます。各 Pod のログへのリンクもあります。
6.1.1.2. YAML タブ

YAML タブには、MTV Operator の操作を定義する ForkliftController カスタムリソース (CR) が表示されます。このタブで CR を変更できます。

6.1.1.3. Health タブ

Health タブには 2 つのペインがあります。

  • 上のペインには、名前が Health のテーブルがあります。すべての MTV Pod がリストされます。最も重要なのは、forklift-controller です。残りの Pod はアルファベット順に一覧表示されます。各 Pod について、Pod のステータスと作成時刻がリストされます。また、Pod のログへのリンクがあります。
  • 下のペインには、名前は Conditions のテーブルがあります。タイプの状態、条件が最後に更新された日時、更新の理由、条件に関するメッセージなど、MTV Operator に使用可能なタイプ (状態) が表示されます。
6.1.1.4. History タブ

History タブには、移行に関する情報を表示します。

  • ページの左上には、特定のステータス (例: Succeeded) の移行のみを表示するために使用できるフィルターがあります。
  • フィルターの右側には Group by plan の切り替えスイッチがあり、これを使用して、すべての移行を表示するか、指定された時間範囲内のプランごとに最新の移行実行のみを表示できます。
6.1.1.5. Settings タブ

次の表では、Settings タブに表示される設定、そのデフォルト値、および必要に応じて設定または選択できるその他の使用可能な値について説明します。

Expand
表6.1 MTV 設定
設定説明デフォルト値追加の値

Maximum concurrent VM migrations

以下のとおり、プロバイダーにより異なります。

  • すべての移行 (OVA および VMware の移行を除く): MTV が同時に転送できるディスクの最大数。
  • OVA の移行: MTV が同時に移行できる仮想マシンの最大数。
  • VMware の移行の場合、この設定は以下を意味します。

    • コールドマイグレーション:

      • ローカル OpenShift Virtualization への移行: 同時に移行できる各 ESXi ホストの仮想マシン。
      • リモート OpenShift Virtualization への移行: 同時に移行できる各 ESXi ホストのディスク。
    • ウォームマイグレーション: 同時に移行できる各 ESXi ホストのディスク。

      この設定の詳細な説明は、controller_max_vm_inflight パラメーターの設定 を参照してください。

20.

+ キーと - キーを使用して異なる値を設定するか、テキストボックスをクリックして新しい値を入力することで調整できます。

Controller main container CPU limit

メインコントローラーコンテナーに割り当てられる CPU 制限 (ミリ CPU (m) 単位)。

500 m.

リストから別の値を選択して調整できます。オプション: 200 m、500 m、2000 m、8000 m。

Controller main container memory limit

メインコントローラーコンテナーに割り当てられるメモリー制限 (メビバイト (Mi) 単位)。

800 Mi.

リストから別の値を選択して調整できます。オプション: 200 Mi、800 Mi、2000 Mi、8000 Mi。

Controller inventory container memory limit

インベントリーコントローラーコンテナーに割り当てられるメモリー制限 (メビバイト (Mi) 単位)。

1000 Mi.

リストから別の値を選択して調整できます。オプション: 400 Mi、1000 Mi、2000 Mi、8000 Mi。

Precopy internal (minutes)

ウォームマイグレーションを開始する前に新しいスナップショットが要求される間隔 (分単位)。

60 分

リストから別の値を選択して調整できます。オプション: 5 分、30 分、60 分、120 分。

Snapshot polling interval

ウォームマイグレーション中にシステムがスナップショットの作成または削除のステータスをチェックする間隔 (秒)。

10 秒

リストから別の値を選択して調整できます。オプション: 1 秒、5 秒、10 秒、60 秒。

6.2. MTV ユーザーインターフェイスを使用した仮想マシンの移行

MTV ユーザーインターフェイスを使用して、次のプロバイダーから仮想マシンを移行します。

  • VMware vSphere
  • Red Hat Virtualization (RHV)
  • OpenStack
  • VMware vSphere によって作成された Open Virtual Appliances (OVA)
  • OpenShift Virtualization クラスター

すべての移行について、移行元のプロバイダー、移行先のプロバイダー、および移行計画を指定します。特定の手順はプロバイダーによって異なります。

重要

すべてのプロバイダーのすべての前提条件とソフトウェア要件 および 各プロバイダーのすべての特定のソフトウェア要件 が満たされていることを確認する必要があります。

VMware のみ: 最小限の VMware の権限 セットが必要です。

VMware のみ: VMware Virtual Disk Development Kit (VDDK) イメージを作成すると、移行速度が向上します。

第7章 VMware vSphere からの仮想マシンの移行

7.1. VMware vSphere 移行元プロバイダーの追加

VMware vSphere 仮想マシンは、VMware vCenter から移行することも、vCenter を経由せずに VMware ESX/ESXi サーバーから移行することもできます。

重要

Migration Toolkit for Virtualization でサポートされているが 2023 FIPS 要件に準拠していない vSphere のバージョンから移行をできるように、VMware vSphere 移行元プロバイダーを使用した移行では EMS 強制が無効になっています。したがって、vSphere 移行元プロバイダーからの移行が FIPS に準拠されなくなるリスクを考慮する必要があります。サポートされているバージョンの vSphere は、ソフトウェア互換性ガイドライン に記載されています。

重要

ウイルス対策ソフトウェアが原因で移行が失敗する可能性があります。移行を開始する前に、移行元仮想マシンからこのようなソフトウェアを削除することを強く推奨します。

重要

MTV は、VMware Non-Volatile Memory Express (NVMe) ディスクの移行をサポートしていません。

注記

移行ネットワークのデフォルト値のほかに、最大伝送単位 (MTU) の値を入力する場合は、使用する OpenShift 転送ネットワークに同じ値も入力する必要があります。OpenShift 転送ネットワークの詳細は、MTV ウィザードを使用した VMware vSphere 移行計画の作成 を参照してください。

前提条件

  • すべてのクラスターがアクセスできるセキュアなレジストリーに VMware Virtual Disk Development Kit (VDDK) イメージを作成することを強く推奨します。VDDK イメージは移行を加速し、計画が失敗するリスクを軽減します。VDDK を使用しておらず、プランが失敗した場合は、VDDK をインストールして再試行してください。詳細は、VDDK イメージの作成 を参照してください。
警告

仮想マシンが VMware vSAN によってバックアップされている場合、仮想マシンの移行は VDDK なしでは機能しません。

手順

  1. 次のいずれかの方法で、VMware の Create provider ページにアクセスします。

    1. Red Hat OpenShift Web コンソールで、Migration for Virtualization > Providers をクリックします。

      1. Create Provider をクリックします。
      2. リストから Project を選択します。表示されるデフォルトのプロジェクトは、MTV のアクティブなプロジェクトによって異なります。

        アクティブなプロジェクトが All projects の場合、デフォルトのプロジェクトは openshift-mtv になります。それ以外の場合、デフォルトのプロジェクトはアクティブなプロジェクトと同じになります。

        管理者特権を持っている場合は、すべてのプロジェクトを表示できます。持っていない場合は、操作を許可されているプロジェクトのみを表示できます。

      3. VMware をクリックします。
    2. 管理者特権がある場合は、Red Hat OpenShift Web コンソールで、Migration for Virtualization > Overview をクリックします。

      1. Welcome ペインで、VMware をクリックします。

        Welcome ペインが表示されない場合は、ページの右上隅にある Show the welcome card をクリックし、Welcome ペインが開いたら VMware をクリックします。

      2. リストから Project を選択します。表示されるデフォルトのプロジェクトは、MTV のアクティブなプロジェクトによって異なります。

        アクティブなプロジェクトが All projects の場合、デフォルトのプロジェクトは openshift-mtv になります。それ以外の場合、デフォルトのプロジェクトはアクティブなプロジェクトと同じになります。

        管理者特権を持っている場合は、すべてのプロジェクトを表示できます。持っていない場合は、操作を許可されているプロジェクトのみを表示できます。

  2. 次のフィールドを指定します。

    1. Provider details

      • Provider resource name: 移行元プロバイダーの名前。
      • Endpoint type: vSphere プロバイダーエンドポイントタイプを選択します。オプション: vCenter または ESXi。仮想マシンは、vCenter、vCenter によって管理されていない ESX/ESXi サーバー、または vCenter によって管理されているが vCenter を経由しない ESX/ESXi サーバーから移行できます。
      • URL: 移行元仮想マシンがマウントされている vCenter の SDK エンドポイントの URL。URL に sdk パス (通常は /sdk) が含まれていることを確認してください。たとえば、https://vCenter-host-example.com/sdk です。FQDN の証明書が指定されている場合、このフィールドの値は証明書内の FQDN と一致する必要があります。
      • VDDK init image: VDDKInitImage パス。移行を加速するために、VDDK init イメージの作成が強く推奨されます。詳細は、VDDK イメージの作成 を参照してください。

        次のいずれかを行います。

        • Skip VMWare Virtual Disk Development Kit (VDDK) SDK acceleration (not recommended) を選択します。
        • VDDK init image テキストボックスにパスを入力します。形式: <registry_route_or_server_path>/vddk:<tag>
        • 次の手順を実行して、VDDK アーカイブをアップロードし、アーカイブから VDDK 初期化イメージをビルドします。

          • VDDK init image archive テキストボックスの横にある Browse をクリックし、目的のファイルを選択して Select をクリックします。
          • Upload をクリックします。

            アップロードしたアーカイブの URL が VDDK init image archive テキストボックスに表示されます。

    2. プロバイダー認証情報

      • Username: vCenter ユーザーまたは ESXi ユーザー。たとえば、user@vsphere.local です。
      • Password: vCenter ユーザーパスワードまたは ESXi ユーザーパスワード。
  1. CA 証明書を検証するには、以下のいずれかのオプションを選択します。

    • Use a custom CA certificate: カスタム CA 証明書を検証した後に移行します。
    • Use the system CA certificate: システム CA 証明書を検証した後に移行します。
    • Skip certificate validation: CA 証明書を検証せずに移行します。

      1. カスタム CA 証明書を使用するには、Skip certificate validation スイッチを左に切り替えた状態にし、CA 証明書をテキストボックスにドラッグするか、または それを参照して Select をクリックするかの いずれか を行います。
      2. システム CA 証明書を使用するには、Skip certificate validation スイッチを左に切り替えた状態にし、CA certificate のテキストボックスを空のままにします。
      3. 証明書の検証を省略するには、Skip certificate validation スイッチを右に切り替えます。
  2. オプション: プロバイダーの API エンドポイント URL からカスタム CA 証明書を取得するように MTV に依頼します。

    1. Fetch certificate from URL をクリックします。Verify certificate ウィンドウが開きます。
    2. 詳細が正しい場合は、I trust the authenticity of this certificate チェックボックスを選択し、Confirm をクリックします。そうでない場合は、Cancel をクリックし、正しい証明書情報を手動で入力します。

      確認後、CA 証明書は、API エンドポイントとの後続の通信を検証するために使用されます。

  3. プロバイダーを追加して保存するには、プロバイダーの作成 をクリックします。

    プロバイダーがプロバイダーのリストに表示されます。

    注記

    プロバイダーのステータスが Ready になるまでには数分かかる場合があります。

  4. オプション: プロバイダーの UI へのアクセスを追加します。

    1. Providers ページで、プロバイダーをクリックします。

      Provider details ページが開きます。

    2. External UI web link の下の Edit アイコンをクリックします。
    3. リンクを入力して Save をクリックします。

      注記

      リンクを入力しない場合、MTV によって正しいリンクの計算が試行されます。

      • MTV が成功した場合、フィールドのハイパーリンクの参照先が計算されたリンクになります。
      • MTV が成功しなかった場合、フィールドは空のままになります。

7.2. VMware 移行元プロバイダーの移行ネットワークの選択

Red Hat OpenShift Web コンソールで移行元プロバイダーの移行ネットワークを選択して、移行元環境のリスクを軽減し、パフォーマンスを向上できます。

移行に管理ネットワークを使用すると、ネットワークに十分な帯域幅がないためにパフォーマンスが低下する可能性があります。この状況は、ディスク転送操作がネットワークを飽和状態にし、移行元プラットフォームに悪影響を及ぼす可能性があります。

注記

vSphere の Network File Copy (NFC) サービスを使用して、ホストからディスクを転送するネットワークを制御することもできます。

注記

移行ネットワークのデフォルト値のほかに、最大伝送単位 (MTU) の値を入力する場合は、使用する OpenShift 転送ネットワークに同じ値も入力する必要があります。OpenShift 転送ネットワークの詳細は、移行計画の作成 を参照してください。

前提条件

  • 移行ネットワークには、ディスク転送に十分なスループット (最低 10 Gbps の速度) が必要です。
  • デフォルトゲートウェイを使用して、OpenShift Virtualization ノードから移行ネットワークにアクセスできる。

    注記

    ソースの仮想ディスクは、ターゲット namespace の Pod ネットワークに接続されている Pod によってコピーされます。

  • 移行ネットワークで、ジャンボフレームを有効にしている。

手順

  1. Red Hat OpenShift Web コンソールで、MigrationProviders for virtualization をクリックします。
  2. プロバイダーの横にある Hosts 列のホスト番号をクリックし、ホストのリストを表示します。
  3. 1 つまたは複数のホストを選択し、Select migration network をクリックします。
  4. 次のフィールドを指定します。

    • Network: ネットワーク名
    • ESXi host admin username: 例: root
    • ESXi host admin password: パスワード
  5. Save をクリックします。
  6. 各ホストのステータスが Ready であることを確認します。

    ホストのステータスが Ready でない場合、移行ネットワーク上でホストに到達できないか、クレデンシャルが正しくない可能性があります。ホスト設定を変更して、変更を保存できます。

7.3. OpenShift Virtualization 移行先プロバイダーの追加

Red Hat OpenShift Virtualization プロバイダーは、移行元プロバイダーと移行先プロバイダーの両方として使用できます。

具体的には、OpenShift Virtualization プロバイダーとして自動的に追加されるホストクラスターは、移行元プロバイダーと移行先プロバイダーの両方として使用できます。

MTV をインストールしたプロバイダーであるデフォルトの OpenShift Virtualization 移行先プロバイダーだけでなく、別の OpenShift Virtualization 移行先プロバイダーも Red Hat OpenShift Web コンソールに追加できます。

MTV がデプロイされているクラスターから別のクラスターに仮想マシンを移行したり、リモートクラスターから MTV がデプロイされたクラスターに仮想マシンを移行したりできます。

前提条件

手順

  1. 次のいずれかの方法で、Create OpenShift Virtualization provider インターフェイスにアクセスします。

    1. Red Hat OpenShift Web コンソールで、Migration for Virtualization > Providers をクリックします。

      1. Create Provider をクリックします。
      2. リストから Project を選択します。表示されるデフォルトのプロジェクトは、MTV のアクティブなプロジェクトによって異なります。

        アクティブなプロジェクトが All projects の場合、デフォルトのプロジェクトは openshift-mtv になります。それ以外の場合、デフォルトのプロジェクトはアクティブなプロジェクトと同じになります。

        管理者特権を持っている場合は、すべてのプロジェクトを表示できます。持っていない場合は、操作を許可されているプロジェクトのみを表示できます。

      3. OpenShift Virtualization をクリックします。
    2. 管理者特権がある場合は、Red Hat OpenShift Web コンソールで、Migration for Virtualization > Overview をクリックします。

      1. Welcome ペインで、OpenShift Virtualization をクリックします。

        Welcome ペインが表示されない場合は、ページの右上隅にある Show the welcome card をクリックし、Welcome ペインが開いたら OpenShift Virtualization をクリックします。

      2. リストから Project を選択します。表示されるデフォルトのプロジェクトは、MTV のアクティブなプロジェクトによって異なります。

        アクティブなプロジェクトが All projects の場合、デフォルトのプロジェクトは openshift-mtv になります。それ以外の場合、デフォルトのプロジェクトはアクティブなプロジェクトと同じになります。

        管理者特権を持っている場合は、すべてのプロジェクトを表示できます。持っていない場合は、操作を許可されているプロジェクトのみを表示できます。

  2. 次のフィールドを指定します。

    • Provider resource name: 移行元プロバイダーの名前
    • URL: API サーバーのエンドポイントの URL
    • Service account bearer token: cluster-admin 権限を持つサービスアカウントのトークン

      URLService account bearer token の両方を空白のままにすると、ローカルの OpenShift クラスターが使用されます。

  3. CA 証明書を検証するには、以下のいずれかのオプションを選択します。

    • Use a custom CA certificate: カスタム CA 証明書を検証した後に移行します。
    • Use the system CA certificate: システム CA 証明書を検証した後に移行します。
    • Skip certificate validation: CA 証明書を検証せずに移行します。

      1. カスタム CA 証明書を使用するには、Skip certificate validation スイッチを左に切り替えた状態にし、CA 証明書をテキストボックスにドラッグするか、または それを参照して Select をクリックするかの いずれか を行います。
      2. システム CA 証明書を使用するには、Skip certificate validation スイッチを左に切り替えた状態にし、CA certificate のテキストボックスを空のままにします。
      3. 証明書の検証を省略するには、Skip certificate validation スイッチを右に切り替えます。
  4. オプション: プロバイダーの API エンドポイント URL からカスタム CA 証明書を取得するように MTV に依頼します。

    1. Fetch certificate from URL をクリックします。Verify certificate ウィンドウが開きます。
    2. 詳細が正しい場合は、I trust the authenticity of this certificate チェックボックスを選択し、Confirm をクリックします。そうでない場合は、Cancel をクリックし、正しい証明書情報を手動で入力します。

      確認後、CA 証明書は、API エンドポイントとの後続の通信を検証するために使用されます。

  5. プロバイダーを追加して保存するには、プロバイダーの作成 をクリックします。

    プロバイダーがプロバイダーのリストに表示されます。

7.4. OpenShift Virtualization プロバイダーの移行ネットワークの選択

Red Hat OpenShift Web コンソールで OpenShift Virtualization プロバイダーのデフォルトの移行ネットワークを選択して、パフォーマンスを向上させることができます。デフォルトの移行ネットワークは、ディスクが設定された namespace にディスクを転送するために使用されます。

転送ネットワークを選択したら、そのネットワーク接続定義 (NAD) を、このネットワークで使用されるゲートウェイに関連付けます。

移行ネットワークを選択しない場合、デフォルトの移行ネットワークは pod ネットワークで、ディスク転送に最適ではない可能性があります。

注記

移行計画の作成時に別のネットワークを選択して、プロバイダーのデフォルトの移行ネットワークをオーバーライドできます。

手順

  1. Red Hat OpenShift Web コンソールで、Migration > Providers for virtualization をクリックします。
  2. 変更する移行ネットワークがある OpenShift Virtualization プロバイダーをクリックします。

    Providers detail ページが表示されたら:

  3. Networks タブをクリックします。
  4. Set default transfer network をクリックします。
  5. リストからデフォルトの転送ネットワークを選択し、Save をクリックします。
  6. 次の手順を実行して、MTV 移行に使用するネットワーク内のゲートウェイを設定します。

    1. Red Hat OpenShift Web コンソールで、Networking > NetworkAttachmentDefinitions をクリックします。
    2. 適切なデフォルトの転送ネットワーク NAD を選択します。
    3. YAML タブをクリックします。
    4. 次の例のように、YAML の metadata:annotations セクションに forklift.konveyor.io/route を追加します。

      apiVersion: k8s.cni.cncf.io/v1
      kind: NetworkAttachmentDefinition
      metadata:
        name: localnet-network
        namespace: mtv-test
        annotations:
          forklift.konveyor.io/route: <IP address> 
      1
      1
      インターフェイスの IP アドレスを、Dynamic Host Configuration Protocol (DHCP) から設定する、または静的に設定するには、NetworkAttachmentDefinition パラメーターが必要です。IP アドレスを設定すると、インターフェイスが設定されたゲートウェイに到達できるようになります。
    5. Save をクリックします。

7.5. MTV ウィザードを使用した VMware vSphere 移行計画の作成

Migration Toolkit for Virtualization の計画作成ウィザードを使用して、VMware vCenter または VMware ESX または ESXi サーバーから VMware vSphere 仮想マシン (VM) を移行できます。

ウィザードは、移行計画を段階的に作成できるように設計されています。

警告

Internet Small Computer Systems Interface (iSCSI) 接続や Network File System (NFS) マウントなど、ゲストが開始するストレージ接続が指定された仮想マシンを含めないでください。これらには、移行前の追加の計画、または移行後の再設定が必要です。

これにより、ゲストが参照するストレージのディスクに同時にアクセスされないようにします。

重要

500 台を超える仮想マシンまたは 500 台を超えるディスクを計画に含めることはできません。

重要

ウィザードの Review and create ページで Create plan をクリックすると、Migration Toolkit for Virtualization (MTV) によって計画が検証されます。すべて問題がなければ、計画の Plan details ページが開きます。このページには、ウィザードには表示されないが重要な設定が含まれています。このページは計画作成ウィザードの外部にありますが、その指示を注意深く読み、必ず従ってください。このページは、計画を実行する前であれば、後でいつでも開くことができるため、必要に応じて戻ることができます。

前提条件

手順

  1. Red Hat OpenShift Web コンソールで、Migration for Virtualization > Migration plans をクリックします。
  2. Create plan をクリックします。

    Create migration plan ウィザードが開きます。

  3. General ページで、次のフィールドを指定します。

    • Plan name: 名前を入力します。
    • Plan project: リストから選択します。
    • Source provider: リストから選択します。
    • Target provider: リストから選択します。
    • Target project: リストから選択します。
  4. Next をクリックします。
  5. Virtual machines ページで、移行する仮想マシンを選択し、Next をクリックします。
  6. Network map ページで、次のいずれかのオプションを選択します。

    • Use an existing network map: リストから既存のネットワークマップを選択します。

      既存のマップは、すべての計画で利用可能なネットワークマップであるため、システム上では 所有者なし となります。このオプションを選択してマップを選択すると、そのマップのコピーが計画に割り当てられ、この計画がそのコピーの 所有者 となります。自分のコピーに加えた変更は、元の計画や他のユーザーが持っているコピーには影響しません。

      注記

      既存のマップを選択する場合は、そのマップの移行元プロバイダーと移行先プロバイダーが、計画で使用するものと同じであることを確認してください。

    • Use a new network map: 次のデータを入力して新しいネットワークマップを作成できます。このマップはこの計画に割り当てられ、この計画がその所有者であるとみなされます。このオプションを使用して作成したマップは、それぞれ所有者と関連付けられて作成されるため、Use an existing network map オプションでは使用できません。

      注記

      UI の Network Maps セクションで、所有者のないネットワークマップを作成できます。このマップは、自分や他のユーザーが追加の移行計画に使用できます。

      • Source network: リストから選択します。
      • Target network: リストから選択します。

        必要に応じて、Add mapping をクリックして別のマッピングを追加します。

      • Network map name: 名前を入力するか、MTV にネットワークマップの名前を自動的に生成させます。
  7. Next をクリックします。
  8. Storage map ページで、次のいずれかのオプションを選択します。

    • Use an existing storage map: リストから既存のストレージマップを選択します。

      既存のマップは、すべての計画で利用可能なストレージマップであるため、システム上では 所有者なし となります。このオプションを選択してマップを選択すると、そのマップのコピーが計画に割り当てられ、この計画がそのコピーの 所有者 となります。自分のコピーに加えた変更は、元の計画や他のユーザーが持っているコピーには影響しません。

      注記

      既存のマップを選択する場合は、そのマップの移行元プロバイダーと移行先プロバイダーが、計画で使用するものと同じであることを確認してください。

    • Use new storage map: 次のデータを指定して、1 つまたは 2 つの新しいストレージマップを作成できます。これらのマップはこの計画に割り当てられ、この計画がマップの所有者となります。各マップに以下を指定します。このオプションを使用して作成したマップは、それぞれ所有者と関連付けられて作成されるため、Use an existing storage map オプションでは使用できません。

      注記

      UI の Storage Maps セクションで、所有者のないストレージマップを作成できます。このマップは、自分や他のユーザーが追加の移行計画に使用できます。

      • Source storage: リストから選択します。
      • Target storage: リストから選択します。

        必要に応じて、Add mapping をクリックして別のマッピングを追加します。

      • Storage map name: 名前を入力するか、MTV にストレージマップの名前を自動的に生成させます。
  9. Next をクリックします。
  10. Migration type ページで、次のいずれかを選択します。

    • Cold migration (デフォルト)
    • Warm migration
  11. Next をクリックします。
  12. Other settings (optional) ページで、計画に合わせて以下の設定を適切に指定します。すべて任意です。

    • Disk decryption passphrases: Linux Unified Key Setup (LUKS) を使用して暗号化されたディスクの場合。

      • LUKS で暗号化されたデバイスの復号化パスフレーズを入力します。
      • 別のパスフレーズを追加するには、Add passphrase をクリックしてパスフレーズを追加します。
      • 必要に応じて繰り返し追加します。

        パスフレーズは特定の順序で入力する必要はありません。LUKS 暗号化デバイスごとに、MTV はデバイスのロックを解除するまで各パスフレーズを試みます。

    • Transfer Network: 仮想マシンを OpenShift Virtualization に転送するために使用されるネットワーク。プロバイダーのデフォルトの転送ネットワークです。

      • 転送ネットワークが選択したターゲットプロジェクト内にあることを確認します。
      • 別の転送ネットワークを選択するには、リストから別の転送ネットワークを選択します。
      • オプション: OpenShift Web コンソールで別の OpenShift ネットワークを設定するには、Networking > NetworkAttachmentDefinitions をクリックします。

        OpenShift がサポートするさまざまなタイプのネットワークの詳細は、OpenShift Container Platform の追加のネットワーク を参照してください。

      • OpenShift 転送ネットワークの最大転送単位 (MTU) を調整する場合は、VMware 移行ネットワークの MTU も変更する必要があります。詳細は、VMware 移行元プロバイダーの移行ネットワークの選択 を参照してください。
    • Preserve static IPs: デフォルトでは、仮想ネットワークインターフェイスコントローラー (vNIC) は移行プロセス中に変更されます。その結果、ゲスト仮想マシンのインターフェイス名にリンクされた静的 IP で設定された vNIC は移行中に IP を失います。

      • 静的 IP を保持するには、Preserve the static IPs チェックボックスをオンにします。

        その後、MTV は、vNIC プロパティーが欠落している仮想マシンに関する警告メッセージを発行します。欠落している vNIC プロパティーを取得するには、vSphere でそれらの仮想マシンを実行します。これにより、vNIC プロパティーが MTV に報告されます。

    • Root device: マルチブートの仮想マシン移行のみに適用されます。デフォルトでは、MTV はルートデバイスとして検出された最初の起動可能なデバイスを使用します。

      • 別のルートデバイスを指定するには、テキストボックスに入力します。

        MTV はディスクの場所に /dev/sd<disk_identifier><disk_partition> という形式を使用します。たとえば、2 番目のディスクがルートデバイスであり、オペレーティングシステムがディスクの 2 番目のパーティションにある場合、形式は /dev/sdb2 になります。起動デバイスを入力したら、Save をクリックします。

        指定した起動デバイスが正しくないために変換が失敗した場合は、変換 Pod のログを確認することで正確な情報を取得できます。

    • Shared disks: コールドマイグレーションにのみ適用されます。共有ディスクは、複数の仮想マシンにアタッチされ、multi-writer オプションを使用するディスクです。これらの特性があるため、共有ディスクの移行は困難です。デフォルトでは、MTV は共有ディスクを移行します。

      注記

      共有ディスクを移行すると、移行プロセスが遅くなる可能性があります。

      • 移行計画で共有ディスクを移行するには、Shared disks チェックボックスがオンになっていることを確認します。
      • 共有ディスクの移行を回避するには、Shared disks チェックボックスをオフにします。
  13. Next をクリックします。
  14. Hooks (optional) ページでは、移行前フック、移行後フック、または両方のタイプの移行フックを追加できます。すべて任意です。
  15. フックを追加するには、適切な Enable hook チェックボックスをオンにします。
  16. Hook runner image を入力します。
  17. ウィンドウにフックの Ansible Playbook を入力します。

    注記

    移行計画に、移行前フックまたは移行後フックを複数含めることはできません。

  18. Next をクリックします。
  19. Review and Create ページで、表示される情報を確認します。
  20. 次の操作を行って、任意の項目を編集します。

    1. Edit step リンクをクリックします。

      ウィザードが開き、項目を定義したページが表示されます。

    2. 項目を編集します。
    3. Next をクリックしてウィザードの次のページに進むか、Skip to review をクリックして Review and create ページに直接戻ります。
  21. 計画の詳細を確認したら、Create plan をクリックします。MTV が計画を検証します。

    計画が検証されると、Details タブに Plan details ページが開きます。

    このページの Plan settings セクションには、Other settings (optional) ページで指定した設定と、いくつかの追加のオプション設定が含まれています。以下の手順は追加のオプションの手順を説明していますが、どの設定も Options メニュー kebab をクリックし、変更を加えてから Save をクリックすることで編集できます。

  22. ページの Plan settings セクションで次の項目を確認します。

    • Volume name template: 計画に含まれる仮想マシンのボリュームインターフェイス名のテンプレートを指定します。

      テンプレートは Go テンプレート構文に準拠し、次の変数にアクセスできます。

      • .PVCName: このボリュームを使用して仮想マシンにマウントされた PVC の名前
      • .VolumeIndex: ボリュームインターフェイスの連続インデックス (0-based)

      • "disk-{{.VolumeIndex}}"
      • "pvc-{{.PVCName}}"

        変数名は 63 文字以内でなければなりません。

      • 計画内のすべての仮想マシンのボリューム名テンプレートを指定するには、次の手順を実行します。

        • Edit アイコンをクリックします。
        • Enter custom naming template をクリックします。
        • 指示に従ってテンプレートを入力します。
        • Save をクリックします。
      • 特定の仮想マシンに対してのみ異なるボリューム名テンプレートを指定するには、次の手順を実行します。

        • Virtual Machines タブをクリックします。
        • 仮想マシンを選択します。
        • 仮想マシンの Options メニュー kebab をクリックします。
        • Edit Volume name template を選択します。
        • 指示に従ってテンプレートを入力します。
        • Save をクリックします。

          重要

          Virtual Machines タブで行った変更は、Plan details ページで行った変更をオーバーライドします。

    • PVC name template: 計画に含まれる仮想マシンの永続ボリューム要求 (PVC) 名のテンプレートを指定します。

      テンプレートは Go テンプレート構文に準拠し、次の変数にアクセスできます。

      • .VmName: 仮想マシンの名前
      • .PlanName: 移行計画の名前
      • .DiskIndex: ディスクの初期ボリュームインデックス
      • .RootDiskIndex: ルートディスクのインデックス

      • "{{.VmName}}-disk-{{.DiskIndex}}"
      • "{{if eq .DiskIndex .RootDiskIndex}}root{{else}}data{{end}}-{{.DiskIndex}}"

        変数名は 63 文字以内でなければなりません。

      • 計画に含まれるすべての仮想マシンの PVC 名テンプレートを指定するには、次の手順を実行します。

        • Edit アイコンをクリックします。
        • Enter custom naming template をクリックします。
        • 指示に従ってテンプレートを入力します。
        • Save をクリックします。
      • 特定の仮想マシンに対してのみ PVC 名テンプレートを指定するには、次の手順を実行します。

        • Virtual Machines タブをクリックします。
        • 仮想マシンを選択します。
        • 仮想マシンの Options メニュー kebab をクリックします。
        • Edit PVC name template を選択します。
        • 指示に従ってテンプレートを入力します。
        • Save をクリックします。

          重要

          Virtual Machines タブで行った変更は、Plan details ページで行った変更をオーバーライドします。

    • Network name template: 計画に含まれる仮想マシンのネットワークインターフェイス名のテンプレートを指定します。

      テンプレートは Go テンプレート構文に準拠し、次の変数にアクセスできます。

      • .NetworkName: ターゲットネットワークが multus の場合は、Multus ネットワーク接続定義の名前を追加します。それ以外の場合は、この変数を空のままにします。
      • .NetworkNamespace: ターゲットネットワークが multus の場合、Multus ネットワーク接続定義が配置されている namespace を追加します。
      • .NetworkType: ネットワークタイプ。オプション: multus または pod
      • .NetworkIndex: ネットワークインターフェイスの連続インデックス (0-based)。

      • "net-{{.NetworkIndex}}"
      • {{if eq .NetworkType "pod"}}pod{{else}}multus-{{.NetworkIndex}}{{end}}"

        変数名は 63 文字以内でなければなりません。

      • 計画に含まれるすべての仮想マシンのネットワーク名テンプレートを指定するには、次の手順を実行します。

        • Edit アイコンをクリックします。
        • Enter custom naming template をクリックします。
        • 指示に従ってテンプレートを入力します。
        • Save をクリックします。
      • 特定の仮想マシンに対してのみ異なるネットワーク名テンプレートを指定するには、次の手順を実行します。

        • Virtual Machines タブをクリックします。
        • 仮想マシンを選択します。
        • 仮想マシンの Options メニュー kebab をクリックします。
        • Edit Network name template を選択します。
        • 指示に従ってテンプレートを入力します。
        • Save をクリックします。

          重要

          Virtual Machines タブで行った変更は、Plan details ページで行った変更をオーバーライドします。

    • Raw copy mode: デフォルトでは、移行中に仮想マシン (VM) は virt-v2v というツールを使用して変換されます。このツールにより、仮想マシンと OpenShift Virtualization の互換性が確保されます。この変換プロセスは、MTV での virt-v2v ツールの使用方法 で説明されています。Raw copy mode では、仮想マシンを変換せずにコピーします。これにより、変換が高速化され、さまざまなオペレーティングシステムを実行している仮想マシンの移行が可能になり、鍵を必要とせずに Linux Unified Key Setup (LUKS) を使用して暗号化されたディスクの移行がサポートされます。ただし、raw コピーモードを使用して移行した仮想マシンは、OpenShift Virtualization で正しく機能しない可能性があります。

      • 移行計画に raw コピーモードを使用するには、次の手順を実行します。

        • Edit アイコンをクリックします。
        • Raw copy mode スイッチを切り替えます。
        • Save をクリックします。

          このページで行った変更が MTV によって検証されます。

  23. Plan details タブに、ウィザードでの入力に基づいて詳細がリスト表示されます。また、計画の詳細の後に次の 2 つのセクションが含まれています。

    • Migration history: 計画の実行の成功と失敗の詳細
    • Conditions: 計画を正常に実行するために必要な変更
  24. リストされている条件をすべて満たしたら、Plans ページから計画を実行できます。

    Plan details ページには、次の表で説明する 5 つの追加タブも含まれています。

    Expand
    表7.1 Plan details ページのタブ
    YAMLVirtual MachinesResourcesMappingsHooks

    移行元プロバイダー、ネットワークマップとストレージマップ、仮想マシン、仮想マシンに関する問題など、計画の詳細に基づいた編集可能な YAML 形式の Plan マニフェスト

    計画によって移行される仮想マシン

    計算されたリソース: 仮想マシン数、CPU、および全仮想マシンと実行中の仮想マシンの合計メモリー

    計画で使用するネットワークおよびストレージマップの編集可能な仕様

    計画で使用するフックの更新可能な仕様 (ある場合)

7.6. 移行計画の実行

移行計画を実行し、Red Hat OpenShift Web コンソールでその進行状況を表示できます。

前提条件

  • 有効な移行計画が作成されている。

手順

  1. Red Hat OpenShift Web コンソールで、Migration > Plans for virtualization をクリックします。

    Plans のリストに、移行元プロバイダーとターゲットプロバイダー、移行する仮想マシン (VM) の数、ステータス、移行の開始日、および各計画の説明が表示されます。

  2. 移行計画の横にある Start をクリックして移行を開始します。
  3. 開いた確認ウィンドウで Start をクリックします。

    計画の StatusRunning に変わり、移行の進行状況が表示されます。

    ウォームマイグレーションのみ:

    • プレコピー段階が開始します。
    • Cutover をクリックして移行を完了します。

      警告

      移行の開始後に仮想マシンのスナップショットを作成しないでください。移行の開始後にスナップショットを作成すると、移行が失敗する可能性があります。

  4. オプション: 移行の ステータス のリンクをクリックすると、移行の全体的なステータスと各仮想マシンのステータスが表示されます。

    • 左側のリンクは、移行が失敗したか、成功したか、進行中かを示します。また、移行が成功、失敗、またはキャンセルされた仮想マシンの数も報告されます。
    • 右側のリンクで、Plan Details ページの Virtual Machines タブが開きます。各仮想マシンについて、タブには次のデータが表示されます。

      • 仮想マシンの名前
      • 移行の開始時間と終了時間
      • コピーされたデータ量
      • 仮想マシンの移行の進捗パイプライン

        警告

        データの破損を回避するために、インポートされる仮想マシンでは、svMotion を含む vMotion と再配置を無効にする必要があります。

  5. オプション: 移行の実行中または完了後に移行のログを表示するには、次の操作を実行します。

    1. Virtual Machines タブをクリックします。
    2. 移行の進行状況を確認する仮想マシンの左側にある矢印 (>) をクリックします。

      仮想マシンの詳細が表示されます。

    3. Pods セクションの Pod links 列で、Logs リンクをクリックします。

      Logs タブが開きます。

      注記

      ログは常に利用できるとは限りません。ログが利用できない一般的な理由は次のとおりです。

      • OpenShift Virtualization から OpenShift Virtualization への移行である。この場合、virt-v2v は関係しないため、Pod は必要ありません。
      • Pod が作成されなかった。
      • Pod が削除された。
      • Pod を実行する前に移行に失敗した。
    4. Raw ログを表示するには、Raw リンクをクリックします。
    5. ログをダウンロードするには、Download リンクをクリックします。

7.7. 移行計画のオプション

Red Hat OpenShift Web コンソールの Plans for virtualization ページで、移行計画の横にある Options メニュー kebab をクリックすると、次のオプションにアクセスできます。

  • Edit Plan: 移行計画の詳細を編集します。計画が実行中または正常に完了している場合は、次のオプションを編集できません。

    • Plan details ページの Settings セクションにあるすべてのプロパティー。たとえば、ウォームマイグレーションまたはコールドマイグレーション、ターゲットの namespace、および保持された静的 IP などです。
    • Mappings タブの計画のマッピング。
    • Hooks タブにリストされているフック。
  • Start migration: Active は、該当する場合のみ。
  • Restart migration: 中断された移行を再開します。このオプションを選択する前に、エラーメッセージがないことを確認してください。ある場合は、計画を編集する必要があります。
  • Cutover: ウォームマイグレーションのみ。該当する場合にのみアクティブになります。Cutover をクリックすると、Cutover ウィンドウが開き、以下のオプションがサポートされます。

    • Set cutover: カットオーバーの日時を設定します。
    • Remove cutover: スケジュールされたカットオーバーをキャンセルします。該当する場合にのみアクティブになります。
  • Duplicate Plan: 既存の計画と同じ仮想マシン (VM)、パラメーター、マッピング、およびフックを使用して、新しい移行計画を作成します。この機能は、以下のタスクに使用できます。

    • 仮想マシンを別の namespace に移行する。
    • アーカイブされた移行計画を編集する。
    • ステータスが異なる移行計画を編集する (例: 失敗、キャンセル、実行中、クリティカル、準備完了)。
  • Archive Plan: 移行計画のログ、履歴、メタデータを削除します。計画を編集または再起動することはできません。表示、複製、削除のみが可能です。

    注記

    Archive Plan は元に戻せません。ただし、アーカイブされた計画を複製することはできます。

  • Delete Plan: 移行計画を完全に削除します。実行中の移行計画を削除することはできません。

    注記

    Delete Plan は元に戻せません。

    移行計画を削除しても、一時リソースは削除されません。一時リソースを削除するには、削除する前にまず計画をアーカイブします。

    注記

    移行計画をアーカイブしてから削除した場合の結果は、計画とそのストレージおよびネットワークマッピングを CLI を使用して作成したか、UI を使用して作成したかによって異なります。

    • UI を使用して作成した場合、移行計画とそのマッピングが UI に表示されなくなります。
    • CLI を使用して作成した場合、マッピングは UI に引き続き表示される場合があります。これは、CLI のマッピングは複数の移行計画で使用できますが、UI で作成したマッピングは 1 つの移行計画でしか使用できないためです。

7.8. 移行計画のネットワークマップについて

Migration Toolkit for Virtualization (MTV) 移行計画でネットワークマップを作成し、移行元のネットワークを OpenShift Virtualization ネットワークにマッピングできます。

ネットワークマップには、特定の移行計画用に作成されたマップと、どの移行計画でも使用できるように作成されたマップの 2 種類があります。

  • 特定の計画用に作成されたマップは、その計画がマップの 所有者 です。このタイプのマップは、Plan creation wizardNetwork maps ステップで作成できます。
  • どの移行計画でも使用できるように作成されたマップは、所有者なし とみなされます。このタイプのマップは、OpenShift Virtualization Web コンソールの Migration for Virtualization セクションの Network maps ページで作成できます。

    このタイプのマップは、自分または同じプロジェクトで作業するすべてのユーザーが、Plan creation wizard で移行計画を作成するときに使用できます。所有者のないマップの 1 つを移行計画用に選択すると、MTV がそのマップのコピーを作成し、移行計画を そのコピーの所有者 として定義します。コピーに加えた変更は元のマップには影響せず、マップのコピーを使用する他の計画にも適用されません。Network maps ページには、プロジェクトの両タイプのネットワークマップが表示されます。ただし、それぞれのページの Owner 列に表示される情報には重要な違いがあります。

  • OpenShift Virtualization Web コンソールの Migration for Virtualization セクションの Network maps ページで作成されたマップには、所有者なしと表示されます。
  • Plan creation wizardNetwork maps ステップで作成されたマップには、移行計画が所有者であると表示されます。

7.8.1. MTV UI で所有者のないネットワークマップを作成する

Migration Toolkit for Virtualization (MTV) UI を使用して移行元のネットワークを OpenShift Virtualization のネットワークにマッピングすることにより、所有者のないネットワークマップを作成できます。

手順

  1. Red Hat OpenShift Web コンソールで、Migration for Virtualization > Network maps をクリックします。
  2. Create NetworkMap をクリックします。

    Create NetworkMap ページが開きます。

  3. YAML または JSON 定義をエディターに入力するか、ファイルをエディターにドラッグアンドドロップします。
  4. YAML 定義を入力する場合は、以下を使用します。
$  cat << EOF | oc apply -f -
apiVersion: forklift.konveyor.io/v1beta1
kind: NetworkMap
metadata:
  name: <network_map>
  namespace: <namespace>
spec:
  map:
    - destination:
        name: <network_name>
        type: pod 
1

      source: 
2

        id: <source_network_id>
        name: <source_network_name>
    - destination:
        name: <network_attachment_definition> 
3

        namespace: <network_attachment_definition_namespace> 
4

        type: multus
      source:
        id: <source_network_id>
        name: <source_network_name>
  provider:
    source:
      name: <source_provider>
      namespace: <namespace>
    destination:
      name: <destination_provider>
      namespace: <namespace>
EOF
1
許可される値は podmultus、および ignored です。この移行では、このネットワークに仮想マシンをアタッチするのを避けるために、ignored を使用します。
2
移行元のネットワークを指定するには、id または name パラメーターのいずれかを使用できます。id には、VMware vSphere ネットワーク Managed Object Reference (moRef) を指定します。moRef を取得するには、VMware vSphere moRef の取得 を参照してください。
3
追加の OpenShift Virtualization ネットワークごとにネットワークアタッチメント定義を指定します。
4
typemultus の場合に限り必要です。OpenShift Virtualization のネットワークアタッチメント定義の namespace を指定します。
  1. オプション: 入力内容をダウンロードするには、Download をクリックします。
  2. Create をクリックします。

    マップがネットワークマップのリストに表示されます。

7.9. 移行計画のストレージマップについて

Migration Toolkit for Virtualization (MTV) 移行計画でストレージマップを作成し、移行元のディスクストレージを OpenShift Virtualization ストレージクラスにマッピングできます。

ストレージマップには、特定の移行計画用に作成されたマップと、どの移行計画でも使用できるように作成されたマップの 2 種類があります。

  • 特定の計画用に作成されたマップは、その計画がマップの 所有者 です。このタイプのマップは、Plan creation wizardStorage maps ステップで作成できます。
  • どの移行計画でも使用できるように作成されたマップは、所有者なし とみなされます。このタイプのマップは、OpenShift Virtualization Web コンソールの Migration for Virtualization セクションの Storage maps ページで作成できます。

    このタイプのマップは、自分または同じプロジェクトで作業するすべてのユーザーが、Plan creation wizard で移行計画を作成するときに使用できます。所有者のないマップの 1 つを移行計画用に選択すると、MTV がそのマップのコピーを作成し、移行計画を そのコピーの所有者 として定義します。コピーに加えた変更は元のマップには影響せず、マップのコピーを使用する他の計画にも適用されません。Storage maps ページには、プロジェクトの両タイプのストレージマップが表示されます。ただし、それぞれのページの Owner 列に表示される情報には重要な違いがあります。

  • OpenShift Virtualization Web コンソールの Migration for Virtualization セクションの Storage maps ページで作成されたマップには、所有者なしと表示されます。
  • Plan creation wizardStorage maps ステップで作成されたマップには、移行計画が所有者であると表示されます。

7.9.1. MTV UI で所有者のないストレージマップを作成する

MTV UI を使用して移行元のディスクストレージを OpenShift Virtualization ストレージクラスにマッピングすることにより、所有者のないストレージマップを作成できます。

このタイプのマップは、次のいずれかの方法で作成できます。

  • フォームで作成する: リストから移行元プロバイダーなどの項目を選択します。
  • YAML で作成する: YAML または JSON 定義を入力するか、それと同じ定義を含むファイルを添付します。

MTV UI のフォームページを使用して、所有者のないストレージマップを作成できます。

前提条件

手順

  1. Red Hat OpenShift Web コンソールで、Migration for Virtualization > Storage maps をクリックします。
  2. Create storage map > Create with form をクリックします。
  3. 以下の項目を設定します。

    • Map name: ストレージマップの名前。
    • Project: リストから選択します。
    • Source provider: リストから選択します。
    • Target provider: リストから選択します。
    • Source storage: リストから選択します。
    • Target storage: リストから選択します。
  4. オプション: このストレージマップがストレージコピーオフロードを使用する移行用のマップである場合は、次のオフロードオプションを指定します。

    • Offload plugin: リストから選択します。
    • Storage secret: リストから選択します。
    • Storage product: リストから選択します。

      重要

      ストレージコピーオフロードは、開発者プレビューソフトウェアです。開発者プレビューソフトウェアは、Red Hat では一切サポートされておらず、機能的に完全ではなく、実稼働環境に対応していません。開発者プレビューのソフトウェアを実稼働ワークロードまたはビジネスクリティカルなワークロードには使用しないでください。開発者プレビューソフトウェアは、今後 Red Hat 製品サービスとして追加される可能性のある製品ソフトウェアを前もって早期に利用できます。お客様はこのソフトウェアを使用して機能をテストし、開発プロセス中にフィードバックを提供できます。このソフトウェアにはドキュメントが存在しない可能性があり、変更または削除される可能性があります。また、限定的なテストしか行われていません。Red Hat は、関連する SLA なしに、開発者プレビューソフトウェアに対するフィードバックを送信する手段を提供する場合があります。

      Red Hat 開発者プレビューソフトウェアのサポート範囲の詳細は、開発者プレビューのサポート範囲 を参照してください。

  5. オプション: 複数のストレージソースを 1 つのターゲットストレージクラスにマッピングするなど、追加のストレージマップを作成するには、Add mapping をクリックします。
  6. Create をクリックします。

    マップがストレージマップのリストに表示されます。

7.9.1.1. MTV UI で YAML または JSON 定義を使用して所有者のないストレージマップを作成する

Migration Toolkit for Virtualization (MTV) UI で YAML または JSON 定義を使用して、所有者のないストレージマップを作成できます。

手順

  1. Red Hat OpenShift Web コンソールで、Migration for Virtualization > Storage maps をクリックします。
  2. Create storage map > Create with YAML をクリックします。

    Create StorageMap ページが開きます。

  3. YAML または JSON 定義をエディターに入力するか、ファイルをエディターにドラッグアンドドロップします。
  4. YAML 定義を入力する場合は、以下を使用します。
$ cat << EOF | oc apply -f -
apiVersion: forklift.konveyor.io/v1beta1
kind: StorageMap
metadata:
  name: <storage_map>
  namespace: <namespace>
spec:
  map:
    - destination:
        storageClass: <storage_class>
        accessMode: <access_mode> 
1

      source:
        id: <source_datastore> 
2

  provider:
    source:
      name: <source_provider>
      namespace: <namespace>
    destination:
      name: <destination_provider>
      namespace: <namespace>
EOF
1
使用できる値は ReadWriteOnce および ReadWriteMany です。
2
VMware vSphere データストアの moRef を指定します。たとえば、f2737930-b567-451a-9ceb-2887f6207009 です。moRef を取得するには、VMware vSphere moRef の取得 を参照してください。
  1. オプション: 入力内容をダウンロードするには、Download をクリックします。
  2. Create をクリックします。

    マップがストレージマップのリストに表示されます。

7.10. 移行のキャンセル

Red Hat OpenShift Web コンソールを使用して、移行計画の進行中に一部またはすべての仮想マシン (VM) の移行をキャンセルできます。

手順

  1. Red Hat OpenShift Web コンソールで、Plans for virtualization をクリックします。
  2. 実行中の移行計画の名前をクリックし、移行の詳細を表示します。
  3. 1 つ以上の仮想マシンを選択し、Cancel をクリックします。
  4. Yes, cancel をクリックしてキャンセルを確定します。

    Migration details by VM リストでは、キャンセルした仮想マシンのステータスは Canceled になります。移行されていない仮想マシンと移行された仮想マシンは影響を受けません。

Migration plans ページの移行計画の横にある Restart をクリックして、キャンセルした移行を再開できます。

第8章 Red Hat Virtualization からの仮想マシンの移行

8.1. Red Hat Virtualization 移行元プロバイダーの追加

Red Hat OpenShift の Web コンソールを使用して、Red Hat Virtualization 移行元プロバイダーを追加できます。

前提条件

  • マネージャーの CA 証明書 (サードパーティーの証明書に置き換えられた場合を除く)。その場合は、マネージャーの Apache CA 証明書を指定します。

手順

  1. 次のいずれかの方法で、Red Hat Virtualization の Create provider ページにアクセスします。

    1. Red Hat OpenShift Web コンソールで、Migration for Virtualization > Providers をクリックします。

      1. Create Provider をクリックします。
      2. リストから Project を選択します。表示されるデフォルトのプロジェクトは、MTV のアクティブなプロジェクトによって異なります。

        アクティブなプロジェクトが All projects の場合、デフォルトのプロジェクトは openshift-mtv になります。それ以外の場合、デフォルトのプロジェクトはアクティブなプロジェクトと同じになります。

        管理者特権を持っている場合は、すべてのプロジェクトを表示できます。持っていない場合は、操作を許可されているプロジェクトのみを表示できます。

      3. Red Hat Virtualization をクリックします。
    2. 管理者特権がある場合は、Red Hat OpenShift Web コンソールで、Migration for Virtualization > Overview をクリックします。

      1. Welcome ペインで、Red Hat Virtualization をクリックします。

        Welcome ペインが表示されない場合は、ページの右上隅にある Show the welcome card をクリックし、Welcome ペインが開いたら Red Hat Virtualization をクリックします。

      2. リストから Project を選択します。表示されるデフォルトのプロジェクトは、MTV のアクティブなプロジェクトによって異なります。

        アクティブなプロジェクトが All projects の場合、デフォルトのプロジェクトは openshift-mtv になります。それ以外の場合、デフォルトのプロジェクトはアクティブなプロジェクトと同じになります。

        管理者特権を持っている場合は、すべてのプロジェクトを表示できます。持っていない場合は、操作を許可されているプロジェクトのみを表示できます。

  2. 次のフィールドを指定します。

    • Provider resource name: 移行元プロバイダーの名前。
    • URL: 移行元仮想マシンがマウントされている Red Hat Virtualization Manager (RHVM) の API エンドポイントの URL。URL に、RHVM API サーバーへのパス (通常は /ovirt-engine/api) が含まれていることを確認してください。たとえば、https://rhv-host-example.com/ovirt-engine/api です。
    • Username: ユーザー名。
    • Password: パスワード。
  3. CA 証明書を検証するには、以下のいずれかのオプションを選択します。

    • Use a custom CA certificate: カスタム CA 証明書を検証した後に移行します。
    • Use the system CA certificate: システム CA 証明書を検証した後に移行します。
    • Skip certificate validation: CA 証明書を検証せずに移行します。

      1. カスタム CA 証明書を使用するには、Skip certificate validation スイッチを左に切り替えた状態にし、CA 証明書をテキストボックスにドラッグするか、または それを参照して Select をクリックするかの いずれか を行います。
      2. システム CA 証明書を使用するには、Skip certificate validation スイッチを左に切り替えた状態にし、CA certificate のテキストボックスを空のままにします。
      3. 証明書の検証を省略するには、Skip certificate validation スイッチを右に切り替えます。
  4. オプション: プロバイダーの API エンドポイント URL からカスタム CA 証明書を取得するように MTV に依頼します。

    1. Fetch certificate from URL をクリックします。Verify certificate ウィンドウが開きます。
    2. 詳細が正しい場合は、I trust the authenticity of this certificate チェックボックスを選択し、Confirm をクリックします。そうでない場合は、Cancel をクリックし、正しい証明書情報を手動で入力します。

      確認後、CA 証明書は、API エンドポイントとの後続の通信を検証するために使用されます。

  5. プロバイダーを追加して保存するには、プロバイダーの作成 をクリックします。

    プロバイダーがプロバイダーのリストに表示されます。

  6. オプション: プロバイダーの UI へのアクセスを追加します。

    1. Providers ページで、プロバイダーをクリックします。

      Provider details ページが開きます。

    2. External UI web link の下の Edit アイコンをクリックします。
    3. リンクを入力して Save をクリックします。

      注記

      リンクを入力しない場合、MTV によって正しいリンクの計算が試行されます。

      • MTV が成功した場合、フィールドのハイパーリンクの参照先が計算されたリンクになります。
      • MTV が成功しなかった場合、フィールドは空のままになります。

8.2. OpenShift Virtualization 移行先プロバイダーの追加

Red Hat OpenShift Virtualization プロバイダーは、移行元プロバイダーと移行先プロバイダーの両方として使用できます。

具体的には、OpenShift Virtualization プロバイダーとして自動的に追加されるホストクラスターは、移行元プロバイダーと移行先プロバイダーの両方として使用できます。

MTV をインストールしたプロバイダーであるデフォルトの OpenShift Virtualization 移行先プロバイダーだけでなく、別の OpenShift Virtualization 移行先プロバイダーも Red Hat OpenShift Web コンソールに追加できます。

MTV がデプロイされているクラスターから別のクラスターに仮想マシンを移行したり、リモートクラスターから MTV がデプロイされたクラスターに仮想マシンを移行したりできます。

前提条件

手順

  1. 次のいずれかの方法で、Create OpenShift Virtualization provider インターフェイスにアクセスします。

    1. Red Hat OpenShift Web コンソールで、Migration for Virtualization > Providers をクリックします。

      1. Create Provider をクリックします。
      2. リストから Project を選択します。表示されるデフォルトのプロジェクトは、MTV のアクティブなプロジェクトによって異なります。

        アクティブなプロジェクトが All projects の場合、デフォルトのプロジェクトは openshift-mtv になります。それ以外の場合、デフォルトのプロジェクトはアクティブなプロジェクトと同じになります。

        管理者特権を持っている場合は、すべてのプロジェクトを表示できます。持っていない場合は、操作を許可されているプロジェクトのみを表示できます。

      3. OpenShift Virtualization をクリックします。
    2. 管理者特権がある場合は、Red Hat OpenShift Web コンソールで、Migration for Virtualization > Overview をクリックします。

      1. Welcome ペインで、OpenShift Virtualization をクリックします。

        Welcome ペインが表示されない場合は、ページの右上隅にある Show the welcome card をクリックし、Welcome ペインが開いたら OpenShift Virtualization をクリックします。

      2. リストから Project を選択します。表示されるデフォルトのプロジェクトは、MTV のアクティブなプロジェクトによって異なります。

        アクティブなプロジェクトが All projects の場合、デフォルトのプロジェクトは openshift-mtv になります。それ以外の場合、デフォルトのプロジェクトはアクティブなプロジェクトと同じになります。

        管理者特権を持っている場合は、すべてのプロジェクトを表示できます。持っていない場合は、操作を許可されているプロジェクトのみを表示できます。

  2. 次のフィールドを指定します。

    • Provider resource name: 移行元プロバイダーの名前
    • URL: API サーバーのエンドポイントの URL
    • Service account bearer token: cluster-admin 権限を持つサービスアカウントのトークン

      URLService account bearer token の両方を空白のままにすると、ローカルの OpenShift クラスターが使用されます。

  3. CA 証明書を検証するには、以下のいずれかのオプションを選択します。

    • Use a custom CA certificate: カスタム CA 証明書を検証した後に移行します。
    • Use the system CA certificate: システム CA 証明書を検証した後に移行します。
    • Skip certificate validation: CA 証明書を検証せずに移行します。

      1. カスタム CA 証明書を使用するには、Skip certificate validation スイッチを左に切り替えた状態にし、CA 証明書をテキストボックスにドラッグするか、または それを参照して Select をクリックするかの いずれか を行います。
      2. システム CA 証明書を使用するには、Skip certificate validation スイッチを左に切り替えた状態にし、CA certificate のテキストボックスを空のままにします。
      3. 証明書の検証を省略するには、Skip certificate validation スイッチを右に切り替えます。
  4. オプション: プロバイダーの API エンドポイント URL からカスタム CA 証明書を取得するように MTV に依頼します。

    1. Fetch certificate from URL をクリックします。Verify certificate ウィンドウが開きます。
    2. 詳細が正しい場合は、I trust the authenticity of this certificate チェックボックスを選択し、Confirm をクリックします。そうでない場合は、Cancel をクリックし、正しい証明書情報を手動で入力します。

      確認後、CA 証明書は、API エンドポイントとの後続の通信を検証するために使用されます。

  5. プロバイダーを追加して保存するには、プロバイダーの作成 をクリックします。

    プロバイダーがプロバイダーのリストに表示されます。

8.3. OpenShift Virtualization プロバイダーの移行ネットワークの選択

Red Hat OpenShift Web コンソールで OpenShift Virtualization プロバイダーのデフォルトの移行ネットワークを選択して、パフォーマンスを向上させることができます。デフォルトの移行ネットワークは、ディスクが設定された namespace にディスクを転送するために使用されます。

転送ネットワークを選択したら、そのネットワーク接続定義 (NAD) を、このネットワークで使用されるゲートウェイに関連付けます。

移行ネットワークを選択しない場合、デフォルトの移行ネットワークは pod ネットワークで、ディスク転送に最適ではない可能性があります。

注記

移行計画の作成時に別のネットワークを選択して、プロバイダーのデフォルトの移行ネットワークをオーバーライドできます。

手順

  1. Red Hat OpenShift Web コンソールで、Migration > Providers for virtualization をクリックします。
  2. 変更する移行ネットワークがある OpenShift Virtualization プロバイダーをクリックします。

    Providers detail ページが表示されたら:

  3. Networks タブをクリックします。
  4. Set default transfer network をクリックします。
  5. リストからデフォルトの転送ネットワークを選択し、Save をクリックします。
  6. 次の手順を実行して、MTV 移行に使用するネットワーク内のゲートウェイを設定します。

    1. Red Hat OpenShift Web コンソールで、Networking > NetworkAttachmentDefinitions をクリックします。
    2. 適切なデフォルトの転送ネットワーク NAD を選択します。
    3. YAML タブをクリックします。
    4. 次の例のように、YAML の metadata:annotations セクションに forklift.konveyor.io/route を追加します。

      apiVersion: k8s.cni.cncf.io/v1
      kind: NetworkAttachmentDefinition
      metadata:
        name: localnet-network
        namespace: mtv-test
        annotations:
          forklift.konveyor.io/route: <IP address> 
      1
      1
      インターフェイスの IP アドレスを、Dynamic Host Configuration Protocol (DHCP) から設定する、または静的に設定するには、NetworkAttachmentDefinition パラメーターが必要です。IP アドレスを設定すると、インターフェイスが設定されたゲートウェイに到達できるようになります。
    5. Save をクリックします。

8.4. MTV ウィザードを使用した Red Hat Virtualization 移行計画の作成

Migration Toolkit for Virtualization の計画作成ウィザードを使用して、Red Hat Virtualization 仮想マシン (VM) を移行できます。

ウィザードは、移行計画を段階的に作成できるように設計されています。

警告

Internet Small Computer Systems Interface (iSCSI) 接続や Network File System (NFS) マウントなど、ゲストが開始するストレージ接続が指定された仮想マシンを含めないでください。これらには、移行前の追加の計画、または移行後の再設定が必要です。

これにより、ゲストが参照するストレージのディスクに同時にアクセスされないようにします。

重要

500 台を超える仮想マシンまたは 500 台を超えるディスクを計画に含めることはできません。

重要

ウィザードの Review and create ページで Create plan をクリックすると、Migration Toolkit for Virtualization (MTV) によって計画が検証されます。すべて問題がなければ、計画の Plan details ページが開きます。このページには、ウィザードには表示されないが重要な設定が含まれています。このページは計画作成ウィザードの外部にありますが、その指示を注意深く読み、必ず従ってください。このページは、計画を実行する前であれば、後でいつでも開くことができるため、必要に応じて戻ることができます。

前提条件

手順

  1. Red Hat OpenShift Web コンソールで、Migration for Virtualization > Migration plans をクリックします。
  2. Create plan をクリックします。

    Create migration plan ウィザードが開きます。

  3. General ページで、次のフィールドを指定します。

    • Plan name: 名前を入力します。
    • Plan project: リストから選択します。
    • Source provider: リストから選択します。
    • Target provider: リストから選択します。
    • Target project: リストから選択します。
  4. Next をクリックします。
  5. Virtual machines ページで、移行する仮想マシンを選択し、Next をクリックします。
  6. Network map ページで、次のいずれかのオプションを選択します。

    • Use an existing network map: リストから既存のネットワークマップを選択します。

      既存のマップは、すべての計画で利用可能なネットワークマップであるため、システム上では 所有者なし となります。このオプションを選択してマップを選択すると、そのマップのコピーが計画に割り当てられ、この計画がそのコピーの 所有者 となります。自分のコピーに加えた変更は、元の計画や他のユーザーが持っているコピーには影響しません。

      注記

      既存のマップを選択する場合は、そのマップの移行元プロバイダーと移行先プロバイダーが、計画で使用するものと同じであることを確認してください。

    • Use a new network map: 次のデータを入力して新しいネットワークマップを作成できます。このマップはこの計画に割り当てられ、この計画がその所有者であるとみなされます。このオプションを使用して作成したマップは、それぞれ所有者と関連付けられて作成されるため、Use an existing network map オプションでは使用できません。

      注記

      UI の Network Maps セクションで、所有者のないネットワークマップを作成できます。このマップは、自分や他のユーザーが追加の移行計画に使用できます。

      • Source network: リストから選択します。
      • Target network: リストから選択します。

        必要に応じて、Add mapping をクリックして別のマッピングを追加します。

      • Network map name: 名前を入力するか、MTV にネットワークマップの名前を自動的に生成させます。
  7. Next をクリックします。
  8. Storage map ページで、次のいずれかのオプションを選択します。

    • Use an existing storage map: リストから既存のストレージマップを選択します。

      既存のマップは、すべての計画で利用可能なストレージマップであるため、システム上では 所有者なし となります。このオプションを選択してマップを選択すると、そのマップのコピーが計画に割り当てられ、この計画がそのコピーの 所有者 となります。自分のコピーに加えた変更は、元の計画や他のユーザーが持っているコピーには影響しません。

      注記

      既存のマップを選択する場合は、そのマップの移行元プロバイダーと移行先プロバイダーが、計画で使用するものと同じであることを確認してください。

    • Use new storage map: 次のデータを指定して、1 つまたは 2 つの新しいストレージマップを作成できます。これらのマップはこの計画に割り当てられ、この計画がマップの所有者となります。各マップに以下を指定します。このオプションを使用して作成したマップは、それぞれ所有者と関連付けられて作成されるため、Use an existing storage map オプションでは使用できません。

      注記

      UI の Storage Maps セクションで、所有者のないストレージマップを作成できます。このマップは、自分や他のユーザーが追加の移行計画に使用できます。

      • Source storage: リストから選択します。
      • Target storage: リストから選択します。

        必要に応じて、Add mapping をクリックして別のマッピングを追加します。

      • Storage map name: 名前を入力するか、MTV にストレージマップの名前を自動的に生成させます。
  9. Next をクリックします。
  10. Migration type ページで、次のいずれかを選択します。

    • Cold migration (デフォルト)
    • Warm migration
  11. Next をクリックします。
  12. Other settings (optional) ページで、移行計画の Transfer network (転送ネットワーク) を変更できます。

    転送ネットワークは、仮想マシンを OpenShift Virtualization に転送するために使用されるネットワークです。プロバイダーのデフォルトの転送ネットワークです。

    • 転送ネットワークが選択したターゲットプロジェクト内にあることを確認します。
    • 別の転送ネットワークを選択するには、リストから別の転送ネットワークを選択します。
    • オプション: OpenShift Web コンソールで別の OpenShift ネットワークを設定するには、Networking > NetworkAttachmentDefinitions をクリックします。

      OpenShift がサポートするさまざまなタイプのネットワークの詳細は、OpenShift Container Platform の追加のネットワーク を参照してください。

    • OpenShift 転送ネットワークの最大転送単位 (MTU) を調整する場合は、VMware 移行ネットワークの MTU も変更する必要があります。詳細は、VMware 移行元プロバイダーの移行ネットワークの選択 を参照してください。
  13. Next をクリックします。
  14. Hooks (optional) ページでは、移行前フック、移行後フック、または両方のタイプの移行フックを追加できます。すべて任意です。
  15. フックを追加するには、適切な Enable hook チェックボックスをオンにします。
  16. Hook runner image を入力します。
  17. ウィンドウにフックの Ansible Playbook を入力します。

    注記

    移行計画に、移行前フックまたは移行後フックを複数含めることはできません。

  18. Next をクリックします。
  19. Review and Create ページで、表示される情報を確認します。
  20. 次の操作を行って、任意の項目を編集します。

    1. Edit step リンクをクリックします。

      ウィザードが開き、項目を定義したページが表示されます。

    2. 項目を編集します。
    3. Next をクリックしてウィザードの次のページに進むか、Skip to review をクリックして Review and create ページに直接戻ります。
  21. 計画の詳細を確認したら、Create plan をクリックします。MTV が計画を検証します。

    計画が検証されると、Details タブに Plan details ページが開きます。

    このページの Plan settings セクションには、Other settings (optional) ページで指定した設定と、いくつかの追加のオプション設定が含まれています。以下の手順は追加のオプションの手順を説明していますが、どの設定も Options メニュー kebab をクリックし、変更を加えてから Save をクリックすることで編集できます。

  22. ページの Plan settings セクションで次の項目を確認します。

    • Preserve CPU mode: 通常、Red Hat Virtualization 仮想マシンの CPU モデル (タイプ) はクラスターレベルで設定されます。ただし、CPU モデルは仮想マシンレベルで設定でき、これをカスタム CPU モデルと呼びます。

      デフォルトでは、MTV は移行先クラスターの CPU モデルを次のように設定します。MTV は、カスタム CPU 設定がある仮想マシンのカスタム CPU 設定を保持します。カスタム CPU 設定のない仮想マシンの場合、CPU モデルを設定しません。代わりに、CPU モデルは OpenShift Virtualization によって後で設定されます。

      Red Hat Virtualization 仮想マシンのクラスターレベルの CPU モデルを保持するには、次の手順を実行します。

      1. Options メニュー kebab をクリックします。
      2. Whether to preserve the CPU model スイッチを切り替えます。
      3. Save をクリックします。

        このページで行った変更が MTV によって検証されます。

  23. Plan details タブに、ウィザードでの入力に基づいて詳細がリスト表示されます。また、計画の詳細の後に次の 2 つのセクションが含まれています。

    • Migration history: 計画の実行の成功と失敗の詳細
    • Conditions: 計画を正常に実行するために必要な変更
  24. リストされている条件をすべて満たしたら、Plans ページから計画を実行できます。

    Plan details ページには、次の表で説明する 5 つの追加タブも含まれています。

    Expand
    表8.1 Plan details ページのタブ
    YAMLVirtual MachinesResourcesMappingsHooks

    移行元プロバイダー、ネットワークマップとストレージマップ、仮想マシン、仮想マシンに関する問題など、計画の詳細に基づいた編集可能な YAML 形式の Plan マニフェスト

    計画によって移行される仮想マシン

    計算されたリソース: 仮想マシン数、CPU、および全仮想マシンと実行中の仮想マシンの合計メモリー

    計画で使用するネットワークおよびストレージマップの編集可能な仕様

    計画で使用するフックの更新可能な仕様 (ある場合)

8.5. 移行計画の実行

移行計画を実行し、Red Hat OpenShift Web コンソールでその進行状況を表示できます。

前提条件

  • 有効な移行計画が作成されている。

手順

  1. Red Hat OpenShift Web コンソールで、Migration > Plans for virtualization をクリックします。

    Plans のリストに、移行元プロバイダーとターゲットプロバイダー、移行する仮想マシン (VM) の数、ステータス、移行の開始日、および各計画の説明が表示されます。

  2. 移行計画の横にある Start をクリックして移行を開始します。
  3. 開いた確認ウィンドウで Start をクリックします。

    計画の StatusRunning に変わり、移行の進行状況が表示されます。

    ウォームマイグレーションのみ:

    • プレコピー段階が開始します。
    • Cutover をクリックして移行を完了します。

      警告

      移行の開始後に仮想マシンのスナップショットを作成しないでください。移行の開始後にスナップショットを作成すると、移行が失敗する可能性があります。

  4. オプション: 移行の ステータス のリンクをクリックすると、移行の全体的なステータスと各仮想マシンのステータスが表示されます。

    • 左側のリンクは、移行が失敗したか、成功したか、進行中かを示します。また、移行が成功、失敗、またはキャンセルされた仮想マシンの数も報告されます。
    • 右側のリンクで、Plan Details ページの Virtual Machines タブが開きます。各仮想マシンについて、タブには次のデータが表示されます。

      • 仮想マシンの名前
      • 移行の開始時間と終了時間
      • コピーされたデータ量
      • 仮想マシンの移行の進捗パイプライン

        警告

        データの破損を回避するために、インポートされる仮想マシンでは、svMotion を含む vMotion と再配置を無効にする必要があります。

  5. オプション: 移行の実行中または完了後に移行のログを表示するには、次の操作を実行します。

    1. Virtual Machines タブをクリックします。
    2. 移行の進行状況を確認する仮想マシンの左側にある矢印 (>) をクリックします。

      仮想マシンの詳細が表示されます。

    3. Pods セクションの Pod links 列で、Logs リンクをクリックします。

      Logs タブが開きます。

      注記

      ログは常に利用できるとは限りません。ログが利用できない一般的な理由は次のとおりです。

      • OpenShift Virtualization から OpenShift Virtualization への移行である。この場合、virt-v2v は関係しないため、Pod は必要ありません。
      • Pod が作成されなかった。
      • Pod が削除された。
      • Pod を実行する前に移行に失敗した。
    4. Raw ログを表示するには、Raw リンクをクリックします。
    5. ログをダウンロードするには、Download リンクをクリックします。

8.6. 移行計画のオプション

Red Hat OpenShift Web コンソールの Plans for virtualization ページで、移行計画の横にある Options メニュー kebab をクリックすると、次のオプションにアクセスできます。

  • Edit Plan: 移行計画の詳細を編集します。計画が実行中または正常に完了している場合は、次のオプションを編集できません。

    • Plan details ページの Settings セクションにあるすべてのプロパティー。たとえば、ウォームマイグレーションまたはコールドマイグレーション、ターゲットの namespace、および保持された静的 IP などです。
    • Mappings タブの計画のマッピング。
    • Hooks タブにリストされているフック。
  • Start migration: Active は、該当する場合のみ。
  • Restart migration: 中断された移行を再開します。このオプションを選択する前に、エラーメッセージがないことを確認してください。ある場合は、計画を編集する必要があります。
  • Cutover: ウォームマイグレーションのみ。該当する場合にのみアクティブになります。Cutover をクリックすると、Cutover ウィンドウが開き、以下のオプションがサポートされます。

    • Set cutover: カットオーバーの日時を設定します。
    • Remove cutover: スケジュールされたカットオーバーをキャンセルします。該当する場合にのみアクティブになります。
  • Duplicate Plan: 既存の計画と同じ仮想マシン (VM)、パラメーター、マッピング、およびフックを使用して、新しい移行計画を作成します。この機能は、以下のタスクに使用できます。

    • 仮想マシンを別の namespace に移行する。
    • アーカイブされた移行計画を編集する。
    • ステータスが異なる移行計画を編集する (例: 失敗、キャンセル、実行中、クリティカル、準備完了)。
  • Archive Plan: 移行計画のログ、履歴、メタデータを削除します。計画を編集または再起動することはできません。表示、複製、削除のみが可能です。

    注記

    Archive Plan は元に戻せません。ただし、アーカイブされた計画を複製することはできます。

  • Delete Plan: 移行計画を完全に削除します。実行中の移行計画を削除することはできません。

    注記

    Delete Plan は元に戻せません。

    移行計画を削除しても、一時リソースは削除されません。一時リソースを削除するには、削除する前にまず計画をアーカイブします。

    注記

    移行計画をアーカイブしてから削除した場合の結果は、計画とそのストレージおよびネットワークマッピングを CLI を使用して作成したか、UI を使用して作成したかによって異なります。

    • UI を使用して作成した場合、移行計画とそのマッピングが UI に表示されなくなります。
    • CLI を使用して作成した場合、マッピングは UI に引き続き表示される場合があります。これは、CLI のマッピングは複数の移行計画で使用できますが、UI で作成したマッピングは 1 つの移行計画でしか使用できないためです。

8.7. 移行計画のネットワークマップについて

Migration Toolkit for Virtualization (MTV) 移行計画でネットワークマップを作成し、移行元のネットワークを OpenShift Virtualization ネットワークにマッピングできます。

ネットワークマップには、特定の移行計画用に作成されたマップと、どの移行計画でも使用できるように作成されたマップの 2 種類があります。

  • 特定の計画用に作成されたマップは、その計画がマップの 所有者 です。このタイプのマップは、Plan creation wizardNetwork maps ステップで作成できます。
  • どの移行計画でも使用できるように作成されたマップは、所有者なし とみなされます。このタイプのマップは、OpenShift Virtualization Web コンソールの Migration for Virtualization セクションの Network maps ページで作成できます。

    このタイプのマップは、自分または同じプロジェクトで作業するすべてのユーザーが、Plan creation wizard で移行計画を作成するときに使用できます。所有者のないマップの 1 つを移行計画用に選択すると、MTV がそのマップのコピーを作成し、移行計画を そのコピーの所有者 として定義します。コピーに加えた変更は元のマップには影響せず、マップのコピーを使用する他の計画にも適用されません。Network maps ページには、プロジェクトの両タイプのネットワークマップが表示されます。ただし、それぞれのページの Owner 列に表示される情報には重要な違いがあります。

  • OpenShift Virtualization Web コンソールの Migration for Virtualization セクションの Network maps ページで作成されたマップには、所有者なしと表示されます。
  • Plan creation wizardNetwork maps ステップで作成されたマップには、移行計画が所有者であると表示されます。

8.7.1. MTV UI で所有者のないネットワークマップを作成する

Migration Toolkit for Virtualization (MTV) UI を使用して移行元のネットワークを OpenShift Virtualization のネットワークにマッピングすることにより、所有者のないネットワークマップを作成できます。

手順

  1. Red Hat OpenShift Web コンソールで、Migration for Virtualization > Network maps をクリックします。
  2. Create NetworkMap をクリックします。

    Create NetworkMap ページが開きます。

  3. YAML または JSON 定義をエディターに入力するか、ファイルをエディターにドラッグアンドドロップします。
  4. YAML 定義を入力する場合は、以下を使用します。
$  cat << EOF | oc apply -f -
apiVersion: forklift.konveyor.io/v1beta1
kind: NetworkMap
metadata:
  name: <network_map>
  namespace: <namespace>
spec:
  map:
    - destination:
        name: <network_name>
        type: pod 
1

      source: 
2

        id: <source_network_id>
        name: <source_network_name>
    - destination:
        name: <network_attachment_definition> 
3

        namespace: <network_attachment_definition_namespace> 
4

        type: multus
      source:
        id: <source_network_id>
        name: <source_network_name>
  provider:
    source:
      name: <source_provider>
      namespace: <namespace>
    destination:
      name: <destination_provider>
      namespace: <namespace>
EOF
1
使用できる値は pod および multus です。
2
移行元のネットワークを指定するには、id または name パラメーターのいずれかを使用できます。id には、RHV ネットワークの Universal Unique ID (UUID) を指定します。
3
追加の OpenShift Virtualization ネットワークごとにネットワークアタッチメント定義を指定します。
4
typemultus の場合に限り必要です。OpenShift Virtualization のネットワークアタッチメント定義の namespace を指定します。
  1. オプション: 入力内容をダウンロードするには、Download をクリックします。
  2. Create をクリックします。

    マップがネットワークマップのリストに表示されます。

8.8. 移行計画のストレージマップについて

Migration Toolkit for Virtualization (MTV) 移行計画でストレージマップを作成し、移行元のディスクストレージを OpenShift Virtualization ストレージクラスにマッピングできます。

ストレージマップには、特定の移行計画用に作成されたマップと、どの移行計画でも使用できるように作成されたマップの 2 種類があります。

  • 特定の計画用に作成されたマップは、その計画がマップの 所有者 です。このタイプのマップは、Plan creation wizardStorage maps ステップで作成できます。
  • どの移行計画でも使用できるように作成されたマップは、所有者なし とみなされます。このタイプのマップは、OpenShift Virtualization Web コンソールの Migration for Virtualization セクションの Storage maps ページで作成できます。

    このタイプのマップは、自分または同じプロジェクトで作業するすべてのユーザーが、Plan creation wizard で移行計画を作成するときに使用できます。所有者のないマップの 1 つを移行計画用に選択すると、MTV がそのマップのコピーを作成し、移行計画を そのコピーの所有者 として定義します。コピーに加えた変更は元のマップには影響せず、マップのコピーを使用する他の計画にも適用されません。Storage maps ページには、プロジェクトの両タイプのストレージマップが表示されます。ただし、それぞれのページの Owner 列に表示される情報には重要な違いがあります。

  • OpenShift Virtualization Web コンソールの Migration for Virtualization セクションの Storage maps ページで作成されたマップには、所有者なしと表示されます。
  • Plan creation wizardStorage maps ステップで作成されたマップには、移行計画が所有者であると表示されます。

8.8.1. MTV UI で所有者のないストレージマップを作成する

MTV UI を使用して移行元のディスクストレージを OpenShift Virtualization ストレージクラスにマッピングすることにより、所有者のないストレージマップを作成できます。

このタイプのマップは、次のいずれかの方法で作成できます。

  • フォームで作成する: リストから移行元プロバイダーなどの項目を選択します。
  • YAML で作成する: YAML または JSON 定義を入力するか、それと同じ定義を含むファイルを添付します。
8.8.1.1. MTV UI のフォームページを使用して所有者なしのストレージマップを作成する

MTV UI のフォームページを使用して、所有者のないストレージマップを作成できます。

前提条件

手順

  1. Red Hat OpenShift Web コンソールで、Migration for Virtualization > Storage maps をクリックします。
  2. Create storage map > Create with form をクリックします。
  3. 以下の項目を設定します。

    • Map name: ストレージマップの名前。
    • Project: リストから選択します。
    • Source provider: リストから選択します。
    • Target provider: リストから選択します。
    • Source storage: リストから選択します。
    • Target storage: リストから選択します。
  4. オプション: 複数のストレージソースを 1 つのターゲットストレージクラスにマッピングするなど、追加のストレージマップを作成するには、Add mapping をクリックします。
  5. Create をクリックします。

    マップがストレージマップのリストに表示されます。

8.8.1.2. MTV UI で YAML または JSON 定義を使用して所有者のないストレージマップを作成する

Migration Toolkit for Virtualization (MTV) UI で YAML または JSON 定義を使用して、所有者のないストレージマップを作成できます。

手順

  1. Red Hat OpenShift Web コンソールで、Migration for Virtualization > Storage maps をクリックします。
  2. Create storage map > Create with YAML をクリックします。

    Create StorageMap ページが開きます。

  3. YAML または JSON 定義をエディターに入力するか、ファイルをエディターにドラッグアンドドロップします。
  4. YAML 定義を入力する場合は、以下を使用します。
$ cat << EOF | oc apply -f -
apiVersion: forklift.konveyor.io/v1beta1
kind: StorageMap
metadata:
  name: <storage_map>
  namespace: <namespace>
spec:
  map:
    - destination:
        storageClass: <storage_class>
        accessMode: <access_mode> 
1

      source:
        id: <source_storage_domain> 
2

  provider:
    source:
      name: <source_provider>
      namespace: <namespace>
    destination:
      name: <destination_provider>
      namespace: <namespace>
EOF
1
使用できる値は ReadWriteOnce および ReadWriteMany です。
2
RHV ストレージドメイン UUID を指定します。たとえば、f2737930-b567-451a-9ceb-2887f6207009 です。
  1. オプション: 入力内容をダウンロードするには、Download をクリックします。
  2. Create をクリックします。

    マップがストレージマップのリストに表示されます。

8.9. 移行のキャンセル

Red Hat OpenShift Web コンソールを使用して、移行計画の進行中に一部またはすべての仮想マシン (VM) の移行をキャンセルできます。

手順

  1. Red Hat OpenShift Web コンソールで、Plans for virtualization をクリックします。
  2. 実行中の移行計画の名前をクリックし、移行の詳細を表示します。
  3. 1 つ以上の仮想マシンを選択し、Cancel をクリックします。
  4. Yes, cancel をクリックしてキャンセルを確定します。

    Migration details by VM リストでは、キャンセルした仮想マシンのステータスは Canceled になります。移行されていない仮想マシンと移行された仮想マシンは影響を受けません。

Migration plans ページの移行計画の横にある Restart をクリックして、キャンセルした移行を再開できます。

第9章 OpenStack からの仮想マシンの移行

9.1. OpenStack 移行元プロバイダーの追加

Red Hat OpenShift の Web コンソールを使用して、OpenStack 移行元プロバイダーを追加できます。

重要

OpenStack プロバイダーからイメージベースの仮想マシンを移行すると、移行元仮想マシンに接続されているイメージのスナップショットが作成され、スナップショットのデータがターゲット仮想マシンにコピーされます。つまり、ターゲット仮想マシンは、スナップショットが作成された時点での移行元仮想マシンと同じ状態になります。

手順

  1. 次のいずれかの方法で、OpenStack の Create provider ページにアクセスします。

    1. Red Hat OpenShift Web コンソールで、Migration for Virtualization > Providers をクリックします。

      1. Create Provider をクリックします。
      2. リストから Project を選択します。表示されるデフォルトのプロジェクトは、MTV のアクティブなプロジェクトによって異なります。

        アクティブなプロジェクトが All projects の場合、デフォルトのプロジェクトは openshift-mtv になります。それ以外の場合、デフォルトのプロジェクトはアクティブなプロジェクトと同じになります。

        管理者特権を持っている場合は、すべてのプロジェクトを表示できます。持っていない場合は、操作を許可されているプロジェクトのみを表示できます。

      3. OpenStack をクリックします。
    2. 管理者特権がある場合は、Red Hat OpenShift Web コンソールで、Migration for Virtualization > Overview をクリックします。

      1. Welcome ペインで、OpenStack をクリックします。

        Welcome ペインが表示されていない場合は、ページの右上隅にある Show the welcome card をクリックし、Welcome ペインが開いたら OpenStack をクリックします。

      2. リストから Project を選択します。表示されるデフォルトのプロジェクトは、MTV のアクティブなプロジェクトによって異なります。

        アクティブなプロジェクトが All projects の場合、デフォルトのプロジェクトは openshift-mtv になります。それ以外の場合、デフォルトのプロジェクトはアクティブなプロジェクトと同じになります。

        管理者特権を持っている場合は、すべてのプロジェクトを表示できます。持っていない場合は、操作を許可されているプロジェクトのみを表示できます。

  2. 次のフィールドを指定します。

    • Provider resource name: 移行元プロバイダーの名前。
    • URL: OpenStack Identity (Keystone) エンドポイントの URL。たとえば、http://controller:5000/v3 です。
    • Authentication type: 次の認証方法のいずれかを選択し、選択した内容に関連する情報を入力します。たとえば、認証タイプとして Application credential ID を選択した場合は、Application credential IDApplication credential secret フィールドがアクティブになり、ID とシークレットを指定する必要があります。

      • Application credential ID

        • Application credential ID: OpenStack アプリケーション認証情報 ID
        • Application credential secret: OpenStack アプリケーション認証情報の Secret
      • Application credential name

        • Application credential name: OpenStack アプリケーションの認証情報名
        • Application credential secret: OpenStack アプリケーション認証情報の Secret
        • Username: OpenStack ユーザー名
        • Domain: OpenStack ドメイン名
      • Token with user ID

        • Token: OpenStack トークン
        • User ID: OpenStack ユーザー ID
        • Project ID: OpenStack プロジェクト ID
      • ユーザー名のトークン

        • Token: OpenStack トークン
        • Username: OpenStack ユーザー名
        • Project: OpenStack プロジェクト
        • Domain name: OpenStack ドメイン名
      • Password

        • Username: OpenStack ユーザー名
        • Password: OpenStack パスワード
        • Project: OpenStack プロジェクト
        • Domain: OpenStack ドメイン名
  3. CA 証明書を検証するには、以下のいずれかのオプションを選択します。

    • Use a custom CA certificate: カスタム CA 証明書を検証した後に移行します。
    • Use the system CA certificate: システム CA 証明書を検証した後に移行します。
    • Skip certificate validation: CA 証明書を検証せずに移行します。

      1. カスタム CA 証明書を使用するには、Skip certificate validation スイッチを左に切り替えた状態にし、CA 証明書をテキストボックスにドラッグするか、または それを参照して Select をクリックするかの いずれか を行います。
      2. システム CA 証明書を使用するには、Skip certificate validation スイッチを左に切り替えた状態にし、CA certificate のテキストボックスを空のままにします。
      3. 証明書の検証を省略するには、Skip certificate validation スイッチを右に切り替えます。
  4. オプション: プロバイダーの API エンドポイント URL からカスタム CA 証明書を取得するように MTV に依頼します。

    1. Fetch certificate from URL をクリックします。Verify certificate ウィンドウが開きます。
    2. 詳細が正しい場合は、I trust the authenticity of this certificate チェックボックスを選択し、Confirm をクリックします。そうでない場合は、Cancel をクリックし、正しい証明書情報を手動で入力します。

      確認後、CA 証明書は、API エンドポイントとの後続の通信を検証するために使用されます。

  5. プロバイダーを追加して保存するには、プロバイダーの作成 をクリックします。

    プロバイダーがプロバイダーのリストに表示されます。

  6. オプション: プロバイダーの UI へのアクセスを追加します。

    1. Providers ページで、プロバイダーをクリックします。

      Provider details ページが開きます。

    2. External UI web link の下の Edit アイコンをクリックします。
    3. リンクを入力して Save をクリックします。

      注記

      リンクを入力しない場合、MTV によって正しいリンクの計算が試行されます。

      • MTV が成功した場合、フィールドのハイパーリンクの参照先が計算されたリンクになります。
      • MTV が成功しなかった場合、フィールドは空のままになります。

9.2. OpenShift Virtualization 移行先プロバイダーの追加

Red Hat OpenShift Virtualization プロバイダーは、移行元プロバイダーと移行先プロバイダーの両方として使用できます。

具体的には、OpenShift Virtualization プロバイダーとして自動的に追加されるホストクラスターは、移行元プロバイダーと移行先プロバイダーの両方として使用できます。

MTV をインストールしたプロバイダーであるデフォルトの OpenShift Virtualization 移行先プロバイダーだけでなく、別の OpenShift Virtualization 移行先プロバイダーも Red Hat OpenShift Web コンソールに追加できます。

MTV がデプロイされているクラスターから別のクラスターに仮想マシンを移行したり、リモートクラスターから MTV がデプロイされたクラスターに仮想マシンを移行したりできます。

前提条件

手順

  1. 次のいずれかの方法で、Create OpenShift Virtualization provider インターフェイスにアクセスします。

    1. Red Hat OpenShift Web コンソールで、Migration for Virtualization > Providers をクリックします。

      1. Create Provider をクリックします。
      2. リストから Project を選択します。表示されるデフォルトのプロジェクトは、MTV のアクティブなプロジェクトによって異なります。

        アクティブなプロジェクトが All projects の場合、デフォルトのプロジェクトは openshift-mtv になります。それ以外の場合、デフォルトのプロジェクトはアクティブなプロジェクトと同じになります。

        管理者特権を持っている場合は、すべてのプロジェクトを表示できます。持っていない場合は、操作を許可されているプロジェクトのみを表示できます。

      3. OpenShift Virtualization をクリックします。
    2. 管理者特権がある場合は、Red Hat OpenShift Web コンソールで、Migration for Virtualization > Overview をクリックします。

      1. Welcome ペインで、OpenShift Virtualization をクリックします。

        Welcome ペインが表示されない場合は、ページの右上隅にある Show the welcome card をクリックし、Welcome ペインが開いたら OpenShift Virtualization をクリックします。

      2. リストから Project を選択します。表示されるデフォルトのプロジェクトは、MTV のアクティブなプロジェクトによって異なります。

        アクティブなプロジェクトが All projects の場合、デフォルトのプロジェクトは openshift-mtv になります。それ以外の場合、デフォルトのプロジェクトはアクティブなプロジェクトと同じになります。

        管理者特権を持っている場合は、すべてのプロジェクトを表示できます。持っていない場合は、操作を許可されているプロジェクトのみを表示できます。

  2. 次のフィールドを指定します。

    • Provider resource name: 移行元プロバイダーの名前
    • URL: API サーバーのエンドポイントの URL
    • Service account bearer token: cluster-admin 権限を持つサービスアカウントのトークン

      URLService account bearer token の両方を空白のままにすると、ローカルの OpenShift クラスターが使用されます。

  3. CA 証明書を検証するには、以下のいずれかのオプションを選択します。

    • Use a custom CA certificate: カスタム CA 証明書を検証した後に移行します。
    • Use the system CA certificate: システム CA 証明書を検証した後に移行します。
    • Skip certificate validation: CA 証明書を検証せずに移行します。

      1. カスタム CA 証明書を使用するには、Skip certificate validation スイッチを左に切り替えた状態にし、CA 証明書をテキストボックスにドラッグするか、または それを参照して Select をクリックするかの いずれか を行います。
      2. システム CA 証明書を使用するには、Skip certificate validation スイッチを左に切り替えた状態にし、CA certificate のテキストボックスを空のままにします。
      3. 証明書の検証を省略するには、Skip certificate validation スイッチを右に切り替えます。
  4. オプション: プロバイダーの API エンドポイント URL からカスタム CA 証明書を取得するように MTV に依頼します。

    1. Fetch certificate from URL をクリックします。Verify certificate ウィンドウが開きます。
    2. 詳細が正しい場合は、I trust the authenticity of this certificate チェックボックスを選択し、Confirm をクリックします。そうでない場合は、Cancel をクリックし、正しい証明書情報を手動で入力します。

      確認後、CA 証明書は、API エンドポイントとの後続の通信を検証するために使用されます。

  5. プロバイダーを追加して保存するには、プロバイダーの作成 をクリックします。

    プロバイダーがプロバイダーのリストに表示されます。

9.3. OpenShift Virtualization プロバイダーの移行ネットワークの選択

Red Hat OpenShift Web コンソールで OpenShift Virtualization プロバイダーのデフォルトの移行ネットワークを選択して、パフォーマンスを向上させることができます。デフォルトの移行ネットワークは、ディスクが設定された namespace にディスクを転送するために使用されます。

転送ネットワークを選択したら、そのネットワーク接続定義 (NAD) を、このネットワークで使用されるゲートウェイに関連付けます。

移行ネットワークを選択しない場合、デフォルトの移行ネットワークは pod ネットワークで、ディスク転送に最適ではない可能性があります。

注記

移行計画の作成時に別のネットワークを選択して、プロバイダーのデフォルトの移行ネットワークをオーバーライドできます。

手順

  1. Red Hat OpenShift Web コンソールで、Migration > Providers for virtualization をクリックします。
  2. 変更する移行ネットワークがある OpenShift Virtualization プロバイダーをクリックします。

    Providers detail ページが表示されたら:

  3. Networks タブをクリックします。
  4. Set default transfer network をクリックします。
  5. リストからデフォルトの転送ネットワークを選択し、Save をクリックします。
  6. 次の手順を実行して、MTV 移行に使用するネットワーク内のゲートウェイを設定します。

    1. Red Hat OpenShift Web コンソールで、Networking > NetworkAttachmentDefinitions をクリックします。
    2. 適切なデフォルトの転送ネットワーク NAD を選択します。
    3. YAML タブをクリックします。
    4. 次の例のように、YAML の metadata:annotations セクションに forklift.konveyor.io/route を追加します。

      apiVersion: k8s.cni.cncf.io/v1
      kind: NetworkAttachmentDefinition
      metadata:
        name: localnet-network
        namespace: mtv-test
        annotations:
          forklift.konveyor.io/route: <IP address> 
      1
      1
      インターフェイスの IP アドレスを、Dynamic Host Configuration Protocol (DHCP) から設定する、または静的に設定するには、NetworkAttachmentDefinition パラメーターが必要です。IP アドレスを設定すると、インターフェイスが設定されたゲートウェイに到達できるようになります。
    5. Save をクリックします。

9.4. MTV ウィザードを使用した OpenStack 移行計画の作成

Migration Toolkit for Virtualization の計画作成ウィザードを使用して、OpenStack 仮想マシン (VM) を移行できます。

ウィザードは、移行計画を段階的に作成できるように設計されています。

警告

Internet Small Computer Systems Interface (iSCSI) 接続や Network File System (NFS) マウントなど、ゲストが開始するストレージ接続が指定された仮想マシンを含めないでください。これらには、移行前の追加の計画、または移行後の再設定が必要です。

これにより、ゲストが参照するストレージのディスクに同時にアクセスされないようにします。

重要

500 台を超える仮想マシンまたは 500 台を超えるディスクを計画に含めることはできません。

重要

ウィザードの Review and create ページで Create plan をクリックすると、Migration Toolkit for Virtualization (MTV) によって計画が検証されます。すべて問題がなければ、計画の Plan details ページが開きます。このページには、ウィザードには表示されないが重要な設定が含まれています。このページは計画作成ウィザードの外部にありますが、その指示を注意深く読み、必ず従ってください。このページは、計画を実行する前であれば、後でいつでも開くことができるため、必要に応じて戻ることができます。

前提条件

  • OpenStack 移行元プロバイダーと OpenShift Virtualization 移行先プロバイダーがある。詳細は、OpenStack 移行元プロバイダーの追加 または OpenShift Virtualization 移行先プロバイダーの追加 を参照してください。
  • 複数の移行計画で使用する ネットワークマップ または ストレージマップ を作成する場合は、そのマップを使用する移行計画を作成する前に、UI の Network maps または Storage maps ページでマップを作成する。

手順

  1. Red Hat OpenShift Web コンソールで、Migration for Virtualization > Migration plans をクリックします。
  2. Create plan をクリックします。

    Create migration plan ウィザードが開きます。

  3. General ページで、次のフィールドを指定します。

    • Plan name: 名前を入力します。
    • Plan project: リストから選択します。
    • Source provider: リストから選択します。
    • Target provider: リストから選択します。
    • Target project: リストから選択します。
  4. Next をクリックします。
  5. Virtual machines ページで、移行する仮想マシンを選択し、Next をクリックします。
  6. Network map ページで、次のいずれかのオプションを選択します。

    • Use an existing network map: リストから既存のネットワークマップを選択します。

      既存のマップは、すべての計画で利用可能なネットワークマップであるため、システム上では 所有者なし となります。このオプションを選択してマップを選択すると、そのマップのコピーが計画に割り当てられ、この計画がそのコピーの 所有者 となります。自分のコピーに加えた変更は、元の計画や他のユーザーが持っているコピーには影響しません。

      注記

      既存のマップを選択する場合は、そのマップの移行元プロバイダーと移行先プロバイダーが、計画で使用するものと同じであることを確認してください。

    • Use a new network map: 次のデータを入力して新しいネットワークマップを作成できます。このマップはこの計画に割り当てられ、この計画がその所有者であるとみなされます。このオプションを使用して作成したマップは、それぞれ所有者と関連付けられて作成されるため、Use an existing network map オプションでは使用できません。

      注記

      UI の Network Maps セクションで、所有者のないネットワークマップを作成できます。このマップは、自分や他のユーザーが追加の移行計画に使用できます。

      • Source network: リストから選択します。
      • Target network: リストから選択します。

        必要に応じて、Add mapping をクリックして別のマッピングを追加します。

      • Network map name: 名前を入力するか、MTV にネットワークマップの名前を自動的に生成させます。
  7. Next をクリックします。
  8. Storage map ページで、次のいずれかのオプションを選択します。

    • Use an existing storage map: リストから既存のストレージマップを選択します。

      既存のマップは、すべての計画で利用可能なストレージマップであるため、システム上では 所有者なし となります。このオプションを選択してマップを選択すると、そのマップのコピーが計画に割り当てられ、この計画がそのコピーの 所有者 となります。自分のコピーに加えた変更は、元の計画や他のユーザーが持っているコピーには影響しません。

      注記

      既存のマップを選択する場合は、そのマップの移行元プロバイダーと移行先プロバイダーが、計画で使用するものと同じであることを確認してください。

    • Use new storage map: 次のデータを指定して、1 つまたは 2 つの新しいストレージマップを作成できます。これらのマップはこの計画に割り当てられ、この計画がマップの所有者となります。各マップに以下を指定します。このオプションを使用して作成したマップは、それぞれ所有者と関連付けられて作成されるため、Use an existing storage map オプションでは使用できません。

      注記

      UI の Storage Maps セクションで、所有者のないストレージマップを作成できます。このマップは、自分や他のユーザーが追加の移行計画に使用できます。

      • Source storage: リストから選択します。
      • Target storage: リストから選択します。

        必要に応じて、Add mapping をクリックして別のマッピングを追加します。

      • Storage map name: 名前を入力するか、MTV にストレージマップの名前を自動的に生成させます。
  9. Next をクリックします。
  10. Other settings (optional) ページで、移行計画の Transfer network (転送ネットワーク) を変更できます。

    転送ネットワークは、仮想マシンを OpenShift Virtualization に転送するために使用されるネットワークです。プロバイダーのデフォルトの転送ネットワークです。

    • 転送ネットワークが選択したターゲットプロジェクト内にあることを確認します。
    • 別の転送ネットワークを選択するには、リストから別の転送ネットワークを選択します。
    • オプション: OpenShift Web コンソールで別の OpenShift ネットワークを設定するには、Networking > NetworkAttachmentDefinitions をクリックします。

      OpenShift がサポートするさまざまなタイプのネットワークの詳細は、OpenShift Container Platform の追加のネットワーク を参照してください。

    • OpenShift 転送ネットワークの最大転送単位 (MTU) を調整する場合は、VMware 移行ネットワークの MTU も変更する必要があります。詳細は、VMware 移行元プロバイダーの移行ネットワークの選択 を参照してください。
  11. Next をクリックします。
  12. Hooks (optional) ページでは、移行前フック、移行後フック、または両方のタイプの移行フックを追加できます。すべて任意です。
  13. フックを追加するには、適切な Enable hook チェックボックスをオンにします。
  14. Hook runner image を入力します。
  15. ウィンドウにフックの Ansible Playbook を入力します。

    注記

    移行計画に、移行前フックまたは移行後フックを複数含めることはできません。

  16. Next をクリックします。
  17. Review and Create ページで、表示される情報を確認します。
  18. 次の操作を行って、任意の項目を編集します。

    1. Edit step リンクをクリックします。

      ウィザードが開き、項目を定義したページが表示されます。

    2. 項目を編集します。
    3. Next をクリックしてウィザードの次のページに進むか、Skip to review をクリックして Review and create ページに直接戻ります。
  19. 計画の詳細を確認したら、Create plan をクリックします。MTV が計画を検証します。

    計画が検証されると、Details タブに Plan details ページが開きます。

  20. Plan details タブに、ウィザードでの入力に基づいて詳細がリスト表示されます。また、計画の詳細の後に次の 2 つのセクションが含まれています。

    • Migration history: 計画の実行の成功と失敗の詳細
    • Conditions: 計画を正常に実行するために必要な変更
  21. リストされている条件をすべて満たしたら、Plans ページから計画を実行できます。

    Plan details ページには、次の表で説明する 5 つの追加タブも含まれています。

    Expand
    表9.1 Plan details ページのタブ
    YAMLVirtual MachinesResourcesMappingsHooks

    移行元プロバイダー、ネットワークマップとストレージマップ、仮想マシン、仮想マシンに関する問題など、計画の詳細に基づいた編集可能な YAML 形式の Plan マニフェスト

    計画によって移行される仮想マシン

    計算されたリソース: 仮想マシン数、CPU、および全仮想マシンと実行中の仮想マシンの合計メモリー

    計画で使用するネットワークおよびストレージマップの編集可能な仕様

    計画で使用するフックの更新可能な仕様 (ある場合)

9.5. 移行計画の実行

移行計画を実行し、Red Hat OpenShift Web コンソールでその進行状況を表示できます。

前提条件

  • 有効な移行計画が作成されている。

手順

  1. Red Hat OpenShift Web コンソールで、Migration > Plans for virtualization をクリックします。

    Plans のリストに、移行元プロバイダーとターゲットプロバイダー、移行する仮想マシン (VM) の数、ステータス、移行の開始日、および各計画の説明が表示されます。

  2. 移行計画の横にある Start をクリックして移行を開始します。
  3. 開いた確認ウィンドウで Start をクリックします。

    計画の StatusRunning に変わり、移行の進行状況が表示されます。

    警告

    移行の開始後に仮想マシンのスナップショットを作成しないでください。移行の開始後にスナップショットを作成すると、移行が失敗する可能性があります。

  4. オプション: 移行の ステータス のリンクをクリックすると、移行の全体的なステータスと各仮想マシンのステータスが表示されます。

    • 左側のリンクは、移行が失敗したか、成功したか、進行中かを示します。また、移行が成功、失敗、またはキャンセルされた仮想マシンの数も報告されます。
    • 右側のリンクで、Plan Details ページの Virtual Machines タブが開きます。各仮想マシンについて、タブには次のデータが表示されます。

      • 仮想マシンの名前
      • 移行の開始時間と終了時間
      • コピーされたデータ量
      • 仮想マシンの移行の進捗パイプライン

        警告

        データの破損を回避するために、インポートされる仮想マシンでは、svMotion を含む vMotion と再配置を無効にする必要があります。

  5. オプション: 移行の実行中または完了後に移行のログを表示するには、次の操作を実行します。

    1. Virtual Machines タブをクリックします。
    2. 移行の進行状況を確認する仮想マシンの左側にある矢印 (>) をクリックします。

      仮想マシンの詳細が表示されます。

    3. Pods セクションの Pod links 列で、Logs リンクをクリックします。

      Logs タブが開きます。

      注記

      ログは常に利用できるとは限りません。ログが利用できない一般的な理由は次のとおりです。

      • OpenShift Virtualization から OpenShift Virtualization への移行である。この場合、virt-v2v は関係しないため、Pod は必要ありません。
      • Pod が作成されなかった。
      • Pod が削除された。
      • Pod を実行する前に移行に失敗した。
    4. Raw ログを表示するには、Raw リンクをクリックします。
    5. ログをダウンロードするには、Download リンクをクリックします。

9.6. 移行計画のオプション

Red Hat OpenShift Web コンソールの Plans for virtualization ページで、移行計画の横にある Options メニュー kebab をクリックすると、次のオプションにアクセスできます。

  • Edit Plan: 移行計画の詳細を編集します。計画が実行中または正常に完了している場合は、次のオプションを編集できません。

    • Plan details ページの Settings セクションにあるすべてのプロパティー。たとえば、ウォームマイグレーションまたはコールドマイグレーション、ターゲットの namespace、および保持された静的 IP などです。
    • Mappings タブの計画のマッピング。
    • Hooks タブにリストされているフック。
  • Start migration: Active は、該当する場合のみ。
  • Restart migration: 中断された移行を再開します。このオプションを選択する前に、エラーメッセージがないことを確認してください。ある場合は、計画を編集する必要があります。
  • Cutover: ウォームマイグレーションのみ。該当する場合にのみアクティブになります。Cutover をクリックすると、Cutover ウィンドウが開き、以下のオプションがサポートされます。

    • Set cutover: カットオーバーの日時を設定します。
    • Remove cutover: スケジュールされたカットオーバーをキャンセルします。該当する場合にのみアクティブになります。
  • Duplicate Plan: 既存の計画と同じ仮想マシン (VM)、パラメーター、マッピング、およびフックを使用して、新しい移行計画を作成します。この機能は、以下のタスクに使用できます。

    • 仮想マシンを別の namespace に移行する。
    • アーカイブされた移行計画を編集する。
    • ステータスが異なる移行計画を編集する (例: 失敗、キャンセル、実行中、クリティカル、準備完了)。
  • Archive Plan: 移行計画のログ、履歴、メタデータを削除します。計画を編集または再起動することはできません。表示、複製、削除のみが可能です。

    注記

    Archive Plan は元に戻せません。ただし、アーカイブされた計画を複製することはできます。

  • Delete Plan: 移行計画を完全に削除します。実行中の移行計画を削除することはできません。

    注記

    Delete Plan は元に戻せません。

    移行計画を削除しても、一時リソースは削除されません。一時リソースを削除するには、削除する前にまず計画をアーカイブします。

    注記

    移行計画をアーカイブしてから削除した場合の結果は、計画とそのストレージおよびネットワークマッピングを CLI を使用して作成したか、UI を使用して作成したかによって異なります。

    • UI を使用して作成した場合、移行計画とそのマッピングが UI に表示されなくなります。
    • CLI を使用して作成した場合、マッピングは UI に引き続き表示される場合があります。これは、CLI のマッピングは複数の移行計画で使用できますが、UI で作成したマッピングは 1 つの移行計画でしか使用できないためです。

9.7. 移行計画のネットワークマップについて

Migration Toolkit for Virtualization (MTV) 移行計画でネットワークマップを作成し、移行元のネットワークを OpenShift Virtualization ネットワークにマッピングできます。

ネットワークマップには、特定の移行計画用に作成されたマップと、どの移行計画でも使用できるように作成されたマップの 2 種類があります。

  • 特定の計画用に作成されたマップは、その計画がマップの 所有者 です。このタイプのマップは、Plan creation wizardNetwork maps ステップで作成できます。
  • どの移行計画でも使用できるように作成されたマップは、所有者なし とみなされます。このタイプのマップは、OpenShift Virtualization Web コンソールの Migration for Virtualization セクションの Network maps ページで作成できます。

    このタイプのマップは、自分または同じプロジェクトで作業するすべてのユーザーが、Plan creation wizard で移行計画を作成するときに使用できます。所有者のないマップの 1 つを移行計画用に選択すると、MTV がそのマップのコピーを作成し、移行計画を そのコピーの所有者 として定義します。コピーに加えた変更は元のマップには影響せず、マップのコピーを使用する他の計画にも適用されません。Network maps ページには、プロジェクトの両タイプのネットワークマップが表示されます。ただし、それぞれのページの Owner 列に表示される情報には重要な違いがあります。

  • OpenShift Virtualization Web コンソールの Migration for Virtualization セクションの Network maps ページで作成されたマップには、所有者なしと表示されます。
  • Plan creation wizardNetwork maps ステップで作成されたマップには、移行計画が所有者であると表示されます。

9.7.1. MTV UI で所有者のないネットワークマップを作成する

Migration Toolkit for Virtualization (MTV) UI を使用して移行元のネットワークを OpenShift Virtualization のネットワークにマッピングすることにより、所有者のないネットワークマップを作成できます。

手順

  1. Red Hat OpenShift Web コンソールで、Migration for Virtualization > Network maps をクリックします。
  2. Create NetworkMap をクリックします。

    Create NetworkMap ページが開きます。

  3. YAML または JSON 定義をエディターに入力するか、ファイルをエディターにドラッグアンドドロップします。
  4. YAML 定義を入力する場合は、以下を使用します。
$  cat << EOF | oc apply -f -
apiVersion: forklift.konveyor.io/v1beta1
kind: NetworkMap
metadata:
  name: <network_map>
  namespace: <namespace>
spec:
  map:
    - destination:
        name: <network_name>
        type: pod 
1

      source:
2

        id: <source_network_id>
        name: <source_network_name>
    - destination:
        name: <network_attachment_definition> 
3

        namespace: <network_attachment_definition_namespace> 
4

        type: multus
      source:
        id: <source_network_id>
        name: <source_network_name>
  provider:
    source:
      name: <source_provider>
      namespace: <namespace>
    destination:
      name: <destination_provider>
      namespace: <namespace>
EOF
1
使用できる値は pod および multus です。
2
移行元のネットワークを指定するには、id または name パラメーターのいずれかを使用できます。id には、OpenStack ネットワークの UUID を指定します。
3
追加の OpenShift Virtualization ネットワークごとにネットワークアタッチメント定義を指定します。
4
typemultus の場合に限り必要です。OpenShift Virtualization のネットワークアタッチメント定義の namespace を指定します。
  1. オプション: 入力内容をダウンロードするには、Download をクリックします。
  2. Create をクリックします。

    マップがネットワークマップのリストに表示されます。

9.8. 移行計画のストレージマップについて

Migration Toolkit for Virtualization (MTV) 移行計画でストレージマップを作成し、移行元のディスクストレージを OpenShift Virtualization ストレージクラスにマッピングできます。

ストレージマップには、特定の移行計画用に作成されたマップと、どの移行計画でも使用できるように作成されたマップの 2 種類があります。

  • 特定の計画用に作成されたマップは、その計画がマップの 所有者 です。このタイプのマップは、Plan creation wizardStorage maps ステップで作成できます。
  • どの移行計画でも使用できるように作成されたマップは、所有者なし とみなされます。このタイプのマップは、OpenShift Virtualization Web コンソールの Migration for Virtualization セクションの Storage maps ページで作成できます。

    このタイプのマップは、自分または同じプロジェクトで作業するすべてのユーザーが、Plan creation wizard で移行計画を作成するときに使用できます。所有者のないマップの 1 つを移行計画用に選択すると、MTV がそのマップのコピーを作成し、移行計画を そのコピーの所有者 として定義します。コピーに加えた変更は元のマップには影響せず、マップのコピーを使用する他の計画にも適用されません。Storage maps ページには、プロジェクトの両タイプのストレージマップが表示されます。ただし、それぞれのページの Owner 列に表示される情報には重要な違いがあります。

  • OpenShift Virtualization Web コンソールの Migration for Virtualization セクションの Storage maps ページで作成されたマップには、所有者なしと表示されます。
  • Plan creation wizardStorage maps ステップで作成されたマップには、移行計画が所有者であると表示されます。

9.8.1. MTV UI で所有者のないストレージマップを作成する

MTV UI を使用して移行元のディスクストレージを OpenShift Virtualization ストレージクラスにマッピングすることにより、所有者のないストレージマップを作成できます。

このタイプのマップは、次のいずれかの方法で作成できます。

  • フォームで作成する: リストから移行元プロバイダーなどの項目を選択します。
  • YAML で作成する: YAML または JSON 定義を入力するか、それと同じ定義を含むファイルを添付します。
9.8.1.1. MTV UI のフォームページを使用して所有者なしのストレージマップを作成する

MTV UI のフォームページを使用して、所有者のないストレージマップを作成できます。

前提条件

手順

  1. Red Hat OpenShift Web コンソールで、Migration for Virtualization > Storage maps をクリックします。
  2. Create storage map > Create with form をクリックします。
  3. 以下の項目を設定します。

    • Map name: ストレージマップの名前。
    • Project: リストから選択します。
    • Source provider: リストから選択します。
    • Target provider: リストから選択します。
    • Source storage: リストから選択します。
    • Target storage: リストから選択します。
  4. オプション: 複数のストレージソースを 1 つのターゲットストレージクラスにマッピングするなど、追加のストレージマップを作成するには、Add mapping をクリックします。
  5. Create をクリックします。

    マップがストレージマップのリストに表示されます。

9.8.1.2. MTV UI で YAML または JSON 定義を使用して所有者のないストレージマップを作成する

Migration Toolkit for Virtualization (MTV) UI で YAML または JSON 定義を使用して、所有者のないストレージマップを作成できます。

手順

  1. Red Hat OpenShift Web コンソールで、Migration for Virtualization > Storage maps をクリックします。
  2. Create storage map > Create with YAML をクリックします。

    Create StorageMap ページが開きます。

  3. YAML または JSON 定義をエディターに入力するか、ファイルをエディターにドラッグアンドドロップします。
  4. YAML 定義を入力する場合は、以下を使用します。
$ cat << EOF | oc apply -f -
apiVersion: forklift.konveyor.io/v1beta1
kind: StorageMap
metadata:
  name: <storage_map>
  namespace: <namespace>
spec:
  map:
    - destination:
        storageClass: <storage_class>
        accessMode: <access_mode> 
1

      source:
        id: <source_volume_type> 
2

  provider:
    source:
      name: <source_provider>
      namespace: <namespace>
    destination:
      name: <destination_provider>
      namespace: <namespace>
EOF
1
使用できる値は ReadWriteOnce および ReadWriteMany です。
2
OpenStack volume_type UUID を指定します。たとえば、f2737930-b567-451a-9ceb-2887f6207009 です。
  1. オプション: 入力内容をダウンロードするには、Download をクリックします。
  2. Create をクリックします。

    マップがストレージマップのリストに表示されます。

9.9. 移行のキャンセル

Red Hat OpenShift Web コンソールを使用して、移行計画の進行中に一部またはすべての仮想マシン (VM) の移行をキャンセルできます。

手順

  1. Red Hat OpenShift Web コンソールで、Plans for virtualization をクリックします。
  2. 実行中の移行計画の名前をクリックし、移行の詳細を表示します。
  3. 1 つ以上の仮想マシンを選択し、Cancel をクリックします。
  4. Yes, cancel をクリックしてキャンセルを確定します。

    Migration details by VM リストでは、キャンセルした仮想マシンのステータスは Canceled になります。移行されていない仮想マシンと移行された仮想マシンは影響を受けません。

Migration plans ページの移行計画の横にある Restart をクリックして、キャンセルした移行を再開できます。

第10章 OVA からの仮想マシンの移行

10.1. Open Virtual Appliance (OVA) 移行元プロバイダーの追加

Red Hat OpenShift Web コンソールを使用して、VMware vSphere によって作成された Open Virtual Appliance (OVA) ファイルを移行元プロバイダーとして追加できます。

手順

  1. 次のいずれかの方法で、Open Virtual Appliance の Create provider ページにアクセスします。

    1. Red Hat OpenShift Web コンソールで、Migration for Virtualization > Providers をクリックします。

      1. Create Provider をクリックします。
      2. リストから Project を選択します。表示されるデフォルトのプロジェクトは、MTV のアクティブなプロジェクトによって異なります。

        アクティブなプロジェクトが All projects の場合、デフォルトのプロジェクトは openshift-mtv になります。それ以外の場合、デフォルトのプロジェクトはアクティブなプロジェクトと同じになります。

        管理者特権を持っている場合は、すべてのプロジェクトを表示できます。持っていない場合は、操作を許可されているプロジェクトのみを表示できます。

      3. Open Virtual Appliance をクリックします。
    2. 管理者特権がある場合は、Red Hat OpenShift Web コンソールで、Migration for Virtualization > Overview をクリックします。

      1. Welcome ウィンドウで、Open Virtual Appliance をクリックします。

        Welcome ウィンドウが表示されていない場合は、ページの右上隅にある Show the welcome card をクリックし、Welcome ウィンドウが開いたら Open Virtual Appliance をクリックします。

      2. リストから Project を選択します。表示されるデフォルトのプロジェクトは、MTV のアクティブなプロジェクトによって異なります。

        アクティブなプロジェクトが All projects の場合、デフォルトのプロジェクトは openshift-mtv になります。それ以外の場合、デフォルトのプロジェクトはアクティブなプロジェクトと同じになります。

        管理者特権を持っている場合は、すべてのプロジェクトを表示できます。持っていない場合は、操作を許可されているプロジェクトのみを表示できます。

  2. 次のフィールドを指定します。

    • Provider resource name: 移行元プロバイダーの名前
    • URL: OVA を提供する NFS ファイル共有の URL
  3. プロバイダーを追加して保存するには、プロバイダーの作成 をクリックします。

    プロバイダーがプロバイダーのリストに表示されます。

    注記

    エラーが発生したことを示すエラーメッセージが表示される場合があります。このメッセージは無視しても問題ありません。

10.2. OpenShift Virtualization 移行先プロバイダーの追加

Red Hat OpenShift Virtualization プロバイダーは、移行元プロバイダーと移行先プロバイダーの両方として使用できます。

具体的には、OpenShift Virtualization プロバイダーとして自動的に追加されるホストクラスターは、移行元プロバイダーと移行先プロバイダーの両方として使用できます。

MTV をインストールしたプロバイダーであるデフォルトの OpenShift Virtualization 移行先プロバイダーだけでなく、別の OpenShift Virtualization 移行先プロバイダーも Red Hat OpenShift Web コンソールに追加できます。

MTV がデプロイされているクラスターから別のクラスターに仮想マシンを移行したり、リモートクラスターから MTV がデプロイされたクラスターに仮想マシンを移行したりできます。

前提条件

手順

  1. 次のいずれかの方法で、Create OpenShift Virtualization provider インターフェイスにアクセスします。

    1. Red Hat OpenShift Web コンソールで、Migration for Virtualization > Providers をクリックします。

      1. Create Provider をクリックします。
      2. リストから Project を選択します。表示されるデフォルトのプロジェクトは、MTV のアクティブなプロジェクトによって異なります。

        アクティブなプロジェクトが All projects の場合、デフォルトのプロジェクトは openshift-mtv になります。それ以外の場合、デフォルトのプロジェクトはアクティブなプロジェクトと同じになります。

        管理者特権を持っている場合は、すべてのプロジェクトを表示できます。持っていない場合は、操作を許可されているプロジェクトのみを表示できます。

      3. OpenShift Virtualization をクリックします。
    2. 管理者特権がある場合は、Red Hat OpenShift Web コンソールで、Migration for Virtualization > Overview をクリックします。

      1. Welcome ペインで、OpenShift Virtualization をクリックします。

        Welcome ペインが表示されない場合は、ページの右上隅にある Show the welcome card をクリックし、Welcome ペインが開いたら OpenShift Virtualization をクリックします。

      2. リストから Project を選択します。表示されるデフォルトのプロジェクトは、MTV のアクティブなプロジェクトによって異なります。

        アクティブなプロジェクトが All projects の場合、デフォルトのプロジェクトは openshift-mtv になります。それ以外の場合、デフォルトのプロジェクトはアクティブなプロジェクトと同じになります。

        管理者特権を持っている場合は、すべてのプロジェクトを表示できます。持っていない場合は、操作を許可されているプロジェクトのみを表示できます。

  2. 次のフィールドを指定します。

    • Provider resource name: 移行元プロバイダーの名前
    • URL: API サーバーのエンドポイントの URL
    • Service account bearer token: cluster-admin 権限を持つサービスアカウントのトークン

      URLService account bearer token の両方を空白のままにすると、ローカルの OpenShift クラスターが使用されます。

  3. CA 証明書を検証するには、以下のいずれかのオプションを選択します。

    • Use a custom CA certificate: カスタム CA 証明書を検証した後に移行します。
    • Use the system CA certificate: システム CA 証明書を検証した後に移行します。
    • Skip certificate validation: CA 証明書を検証せずに移行します。

      1. カスタム CA 証明書を使用するには、Skip certificate validation スイッチを左に切り替えた状態にし、CA 証明書をテキストボックスにドラッグするか、または それを参照して Select をクリックするかの いずれか を行います。
      2. システム CA 証明書を使用するには、Skip certificate validation スイッチを左に切り替えた状態にし、CA certificate のテキストボックスを空のままにします。
      3. 証明書の検証を省略するには、Skip certificate validation スイッチを右に切り替えます。
  4. オプション: プロバイダーの API エンドポイント URL からカスタム CA 証明書を取得するように MTV に依頼します。

    1. Fetch certificate from URL をクリックします。Verify certificate ウィンドウが開きます。
    2. 詳細が正しい場合は、I trust the authenticity of this certificate チェックボックスを選択し、Confirm をクリックします。そうでない場合は、Cancel をクリックし、正しい証明書情報を手動で入力します。

      確認後、CA 証明書は、API エンドポイントとの後続の通信を検証するために使用されます。

  5. プロバイダーを追加して保存するには、プロバイダーの作成 をクリックします。

    プロバイダーがプロバイダーのリストに表示されます。

10.3. OpenShift Virtualization プロバイダーの移行ネットワークの選択

Red Hat OpenShift Web コンソールで OpenShift Virtualization プロバイダーのデフォルトの移行ネットワークを選択して、パフォーマンスを向上させることができます。デフォルトの移行ネットワークは、ディスクが設定された namespace にディスクを転送するために使用されます。

転送ネットワークを選択したら、そのネットワーク接続定義 (NAD) を、このネットワークで使用されるゲートウェイに関連付けます。

移行ネットワークを選択しない場合、デフォルトの移行ネットワークは pod ネットワークで、ディスク転送に最適ではない可能性があります。

注記

移行計画の作成時に別のネットワークを選択して、プロバイダーのデフォルトの移行ネットワークをオーバーライドできます。

手順

  1. Red Hat OpenShift Web コンソールで、Migration > Providers for virtualization をクリックします。
  2. 変更する移行ネットワークがある OpenShift Virtualization プロバイダーをクリックします。

    Providers detail ページが表示されたら:

  3. Networks タブをクリックします。
  4. Set default transfer network をクリックします。
  5. リストからデフォルトの転送ネットワークを選択し、Save をクリックします。
  6. 次の手順を実行して、MTV 移行に使用するネットワーク内のゲートウェイを設定します。

    1. Red Hat OpenShift Web コンソールで、Networking > NetworkAttachmentDefinitions をクリックします。
    2. 適切なデフォルトの転送ネットワーク NAD を選択します。
    3. YAML タブをクリックします。
    4. 次の例のように、YAML の metadata:annotations セクションに forklift.konveyor.io/route を追加します。

      apiVersion: k8s.cni.cncf.io/v1
      kind: NetworkAttachmentDefinition
      metadata:
        name: localnet-network
        namespace: mtv-test
        annotations:
          forklift.konveyor.io/route: <IP address> 
      1
      1
      インターフェイスの IP アドレスを、Dynamic Host Configuration Protocol (DHCP) から設定する、または静的に設定するには、NetworkAttachmentDefinition パラメーターが必要です。IP アドレスを設定すると、インターフェイスが設定されたゲートウェイに到達できるようになります。
    5. Save をクリックします。

10.4. MTV ウィザードを使用した Open Virtualization Appliance (OVA) 移行計画の作成

Migration Toolkit for Virtualization の計画作成ウィザードを使用して、VMware vSphere によって作成された Open Virtual Appliance (OVA) ファイルを移行できます。

ウィザードは、移行計画を段階的に作成できるように設計されています。

警告

Internet Small Computer Systems Interface (iSCSI) 接続や Network File System (NFS) マウントなど、ゲストが開始するストレージ接続が指定された仮想マシンを含めないでください。これらには、移行前の追加の計画、または移行後の再設定が必要です。

これにより、ゲストが参照するストレージのディスクに同時にアクセスされないようにします。

重要

500 台を超える仮想マシンまたは 500 台を超えるディスクを計画に含めることはできません。

重要

ウィザードの Review and create ページで Create plan をクリックすると、Migration Toolkit for Virtualization (MTV) によって計画が検証されます。すべて問題がなければ、計画の Plan details ページが開きます。このページには、ウィザードには表示されないが重要な設定が含まれています。このページは計画作成ウィザードの外部にありますが、その指示を注意深く読み、必ず従ってください。このページは、計画を実行する前であれば、後でいつでも開くことができるため、必要に応じて戻ることができます。

前提条件

手順

  1. Red Hat OpenShift Web コンソールで、Migration for Virtualization > Migration plans をクリックします。
  2. Create plan をクリックします。

    Create migration plan ウィザードが開きます。

  3. General ページで、次のフィールドを指定します。

    • Plan name: 名前を入力します。
    • Plan project: リストから選択します。
    • Source provider: リストから選択します。
    • Target provider: リストから選択します。
    • Target project: リストから選択します。
  4. Next をクリックします。
  5. Virtual machines ページで、移行する仮想マシンを選択し、Next をクリックします。
  6. Network map ページで、次のいずれかのオプションを選択します。

    • Use an existing network map: リストから既存のネットワークマップを選択します。

      既存のマップは、すべての計画で利用可能なネットワークマップであるため、システム上では 所有者なし となります。このオプションを選択してマップを選択すると、そのマップのコピーが計画に割り当てられ、この計画がそのコピーの 所有者 となります。自分のコピーに加えた変更は、元の計画や他のユーザーが持っているコピーには影響しません。

      注記

      既存のマップを選択する場合は、そのマップの移行元プロバイダーと移行先プロバイダーが、計画で使用するものと同じであることを確認してください。

    • Use a new network map: 次のデータを入力して新しいネットワークマップを作成できます。このマップはこの計画に割り当てられ、この計画がその所有者であるとみなされます。このオプションを使用して作成したマップは、それぞれ所有者と関連付けられて作成されるため、Use an existing network map オプションでは使用できません。

      注記

      UI の Network Maps セクションで、所有者のないネットワークマップを作成できます。このマップは、自分や他のユーザーが追加の移行計画に使用できます。

      • Source network: リストから選択します。
      • Target network: リストから選択します。

        必要に応じて、Add mapping をクリックして別のマッピングを追加します。

      • Network map name: 名前を入力するか、MTV にネットワークマップの名前を自動的に生成させます。
  7. Next をクリックします。
  8. Storage map ページで、次のいずれかのオプションを選択します。

    • Use an existing storage map: リストから既存のストレージマップを選択します。

      既存のマップは、すべての計画で利用可能なストレージマップであるため、システム上では 所有者なし となります。このオプションを選択してマップを選択すると、そのマップのコピーが計画に割り当てられ、この計画がそのコピーの 所有者 となります。自分のコピーに加えた変更は、元の計画や他のユーザーが持っているコピーには影響しません。

      注記

      既存のマップを選択する場合は、そのマップの移行元プロバイダーと移行先プロバイダーが、計画で使用するものと同じであることを確認してください。

    • Use new storage map: 次のデータを指定して、1 つまたは 2 つの新しいストレージマップを作成できます。これらのマップはこの計画に割り当てられ、この計画がマップの所有者となります。各マップに以下を指定します。このオプションを使用して作成したマップは、それぞれ所有者と関連付けられて作成されるため、Use an existing storage map オプションでは使用できません。

      注記

      UI の Storage Maps セクションで、所有者のないストレージマップを作成できます。このマップは、自分や他のユーザーが追加の移行計画に使用できます。

      • Source storage: リストから選択します。
      • Target storage: リストから選択します。

        必要に応じて、Add mapping をクリックして別のマッピングを追加します。

      • Storage map name: 名前を入力するか、MTV にストレージマップの名前を自動的に生成させます。
  9. Next をクリックします。
  10. Other settings (optional) ページで、移行計画の Transfer network (転送ネットワーク) を変更できます。

    転送ネットワークは、仮想マシンを OpenShift Virtualization に転送するために使用されるネットワークです。プロバイダーのデフォルトの転送ネットワークです。

    • 転送ネットワークが選択したターゲットプロジェクト内にあることを確認します。
    • 別の転送ネットワークを選択するには、リストから別の転送ネットワークを選択します。
    • オプション: OpenShift Web コンソールで別の OpenShift ネットワークを設定するには、Networking > NetworkAttachmentDefinitions をクリックします。

      OpenShift がサポートするさまざまなタイプのネットワークの詳細は、OpenShift Container Platform の追加のネットワーク を参照してください。

    • OpenShift 転送ネットワークの最大転送単位 (MTU) を調整する場合は、VMware 移行ネットワークの MTU も変更する必要があります。詳細は、VMware 移行元プロバイダーの移行ネットワークの選択 を参照してください。
  11. Next をクリックします。
  12. Hooks (optional) ページでは、移行前フック、移行後フック、または両方のタイプの移行フックを追加できます。すべて任意です。
  13. フックを追加するには、適切な Enable hook チェックボックスをオンにします。
  14. Hook runner image を入力します。
  15. ウィンドウにフックの Ansible Playbook を入力します。

    注記

    移行計画に、移行前フックまたは移行後フックを複数含めることはできません。

  16. Next をクリックします。
  17. Review and Create ページで、表示される情報を確認します。
  18. 次の操作を行って、任意の項目を編集します。

    1. Edit step リンクをクリックします。

      ウィザードが開き、項目を定義したページが表示されます。

    2. 項目を編集します。
    3. Next をクリックしてウィザードの次のページに進むか、Skip to review をクリックして Review and create ページに直接戻ります。
  19. 計画の詳細を確認したら、Create plan をクリックします。MTV が計画を検証します。

    計画が検証されると、Details タブに Plan details ページが開きます。

  20. Plan details タブに、ウィザードでの入力に基づいて詳細がリスト表示されます。また、計画の詳細の後に次の 2 つのセクションが含まれています。

    • Migration history: 計画の実行の成功と失敗の詳細
    • Conditions: 計画を正常に実行するために必要な変更
  21. リストされている条件をすべて満たしたら、Plans ページから計画を実行できます。

    Plan details ページには、次の表で説明する 5 つの追加タブも含まれています。

    Expand
    表10.1 Plan details ページのタブ
    YAMLVirtual MachinesResourcesMappingsHooks

    移行元プロバイダー、ネットワークマップとストレージマップ、仮想マシン、仮想マシンに関する問題など、計画の詳細に基づいた編集可能な YAML 形式の Plan マニフェスト

    計画によって移行される仮想マシン

    計算されたリソース: 仮想マシン数、CPU、および全仮想マシンと実行中の仮想マシンの合計メモリー

    計画で使用するネットワークおよびストレージマップの編集可能な仕様

    計画で使用するフックの更新可能な仕様 (ある場合)

10.5. 移行計画の実行

移行計画を実行し、Red Hat OpenShift Web コンソールでその進行状況を表示できます。

前提条件

  • 有効な移行計画が作成されている。

手順

  1. Red Hat OpenShift Web コンソールで、Migration > Plans for virtualization をクリックします。

    Plans のリストに、移行元プロバイダーとターゲットプロバイダー、移行する仮想マシン (VM) の数、ステータス、移行の開始日、および各計画の説明が表示されます。

  2. 移行計画の横にある Start をクリックして移行を開始します。
  3. 開いた確認ウィンドウで Start をクリックします。

    計画の StatusRunning に変わり、移行の進行状況が表示されます。

    警告

    移行の開始後に仮想マシンのスナップショットを作成しないでください。移行の開始後にスナップショットを作成すると、移行が失敗する可能性があります。

  4. オプション: 移行の ステータス のリンクをクリックすると、移行の全体的なステータスと各仮想マシンのステータスが表示されます。

    • 左側のリンクは、移行が失敗したか、成功したか、進行中かを示します。また、移行が成功、失敗、またはキャンセルされた仮想マシンの数も報告されます。
    • 右側のリンクで、Plan Details ページの Virtual Machines タブが開きます。各仮想マシンについて、タブには次のデータが表示されます。

      • 仮想マシンの名前
      • 移行の開始時間と終了時間
      • コピーされたデータ量
      • 仮想マシンの移行の進捗パイプライン

        警告

        データの破損を回避するために、インポートされる仮想マシンでは、svMotion を含む vMotion と再配置を無効にする必要があります。

  5. オプション: 移行の実行中または完了後に移行のログを表示するには、次の操作を実行します。

    1. Virtual Machines タブをクリックします。
    2. 移行の進行状況を確認する仮想マシンの左側にある矢印 (>) をクリックします。

      仮想マシンの詳細が表示されます。

    3. Pods セクションの Pod links 列で、Logs リンクをクリックします。

      Logs タブが開きます。

      注記

      ログは常に利用できるとは限りません。ログが利用できない一般的な理由は次のとおりです。

      • OpenShift Virtualization から OpenShift Virtualization への移行である。この場合、virt-v2v は関係しないため、Pod は必要ありません。
      • Pod が作成されなかった。
      • Pod が削除された。
      • Pod を実行する前に移行に失敗した。
    4. Raw ログを表示するには、Raw リンクをクリックします。
    5. ログをダウンロードするには、Download リンクをクリックします。

10.6. 移行計画のオプション

Red Hat OpenShift Web コンソールの Plans for virtualization ページで、移行計画の横にある Options メニュー kebab をクリックすると、次のオプションにアクセスできます。

  • Edit Plan: 移行計画の詳細を編集します。計画が実行中または正常に完了している場合は、次のオプションを編集できません。

    • Plan details ページの Settings セクションにあるすべてのプロパティー。たとえば、ウォームマイグレーションまたはコールドマイグレーション、ターゲットの namespace、および保持された静的 IP などです。
    • Mappings タブの計画のマッピング。
    • Hooks タブにリストされているフック。
  • Start migration: Active は、該当する場合のみ。
  • Restart migration: 中断された移行を再開します。このオプションを選択する前に、エラーメッセージがないことを確認してください。ある場合は、計画を編集する必要があります。
  • Cutover: ウォームマイグレーションのみ。該当する場合にのみアクティブになります。Cutover をクリックすると、Cutover ウィンドウが開き、以下のオプションがサポートされます。

    • Set cutover: カットオーバーの日時を設定します。
    • Remove cutover: スケジュールされたカットオーバーをキャンセルします。該当する場合にのみアクティブになります。
  • Duplicate Plan: 既存の計画と同じ仮想マシン (VM)、パラメーター、マッピング、およびフックを使用して、新しい移行計画を作成します。この機能は、以下のタスクに使用できます。

    • 仮想マシンを別の namespace に移行する。
    • アーカイブされた移行計画を編集する。
    • ステータスが異なる移行計画を編集する (例: 失敗、キャンセル、実行中、クリティカル、準備完了)。
  • Archive Plan: 移行計画のログ、履歴、メタデータを削除します。計画を編集または再起動することはできません。表示、複製、削除のみが可能です。

    注記

    Archive Plan は元に戻せません。ただし、アーカイブされた計画を複製することはできます。

  • Delete Plan: 移行計画を完全に削除します。実行中の移行計画を削除することはできません。

    注記

    Delete Plan は元に戻せません。

    移行計画を削除しても、一時リソースは削除されません。一時リソースを削除するには、削除する前にまず計画をアーカイブします。

    注記

    移行計画をアーカイブしてから削除した場合の結果は、計画とそのストレージおよびネットワークマッピングを CLI を使用して作成したか、UI を使用して作成したかによって異なります。

    • UI を使用して作成した場合、移行計画とそのマッピングが UI に表示されなくなります。
    • CLI を使用して作成した場合、マッピングは UI に引き続き表示される場合があります。これは、CLI のマッピングは複数の移行計画で使用できますが、UI で作成したマッピングは 1 つの移行計画でしか使用できないためです。

10.7. 移行計画のネットワークマップについて

Migration Toolkit for Virtualization (MTV) 移行計画でネットワークマップを作成し、移行元のネットワークを OpenShift Virtualization ネットワークにマッピングできます。

ネットワークマップには、特定の移行計画用に作成されたマップと、どの移行計画でも使用できるように作成されたマップの 2 種類があります。

  • 特定の計画用に作成されたマップは、その計画がマップの 所有者 です。このタイプのマップは、Plan creation wizardNetwork maps ステップで作成できます。
  • どの移行計画でも使用できるように作成されたマップは、所有者なし とみなされます。このタイプのマップは、OpenShift Virtualization Web コンソールの Migration for Virtualization セクションの Network maps ページで作成できます。

    このタイプのマップは、自分または同じプロジェクトで作業するすべてのユーザーが、Plan creation wizard で移行計画を作成するときに使用できます。所有者のないマップの 1 つを移行計画用に選択すると、MTV がそのマップのコピーを作成し、移行計画を そのコピーの所有者 として定義します。コピーに加えた変更は元のマップには影響せず、マップのコピーを使用する他の計画にも適用されません。Network maps ページには、プロジェクトの両タイプのネットワークマップが表示されます。ただし、それぞれのページの Owner 列に表示される情報には重要な違いがあります。

  • OpenShift Virtualization Web コンソールの Migration for Virtualization セクションの Network maps ページで作成されたマップには、所有者なしと表示されます。
  • Plan creation wizardNetwork maps ステップで作成されたマップには、移行計画が所有者であると表示されます。

10.7.1. MTV UI で所有者のないネットワークマップを作成する

Migration Toolkit for Virtualization (MTV) UI を使用して移行元のネットワークを OpenShift Virtualization のネットワークにマッピングすることにより、所有者のないネットワークマップを作成できます。

手順

  1. Red Hat OpenShift Web コンソールで、Migration for Virtualization > Network maps をクリックします。
  2. Create NetworkMap をクリックします。

    Create NetworkMap ページが開きます。

  3. YAML または JSON 定義をエディターに入力するか、ファイルをエディターにドラッグアンドドロップします。
  4. YAML 定義を入力する場合は、以下を使用します。
$  cat << EOF | oc apply -f -
apiVersion: forklift.konveyor.io/v1beta1
kind: NetworkMap
metadata:
  name: <network_map>
  namespace: <namespace>
spec:
  map:
    - destination:
        name: <network_name>
        type: pod 
1

      source:
        id: <source_network_id> 
2

    - destination:
        name: <network_attachment_definition> 
3

        namespace: <network_attachment_definition_namespace> 
4

        type: multus
      source:
        id: <source_network_id>
  provider:
    source:
      name: <source_provider>
      namespace: <namespace>
    destination:
      name: <destination_provider>
      namespace: <namespace>
EOF
1
使用できる値は pod および multus です。
2
OVA ネットワーク Universal Unique ID (UUID) を指定します。
3
追加の OpenShift Virtualization ネットワークごとにネットワークアタッチメント定義を指定します。
4
typemultus の場合に限り必要です。OpenShift Virtualization のネットワークアタッチメント定義の namespace を指定します。
  1. オプション: 入力内容をダウンロードするには、Download をクリックします。
  2. Create をクリックします。

    マップがネットワークマップのリストに表示されます。

10.8. 移行計画のストレージマップについて

Migration Toolkit for Virtualization (MTV) 移行計画でストレージマップを作成し、移行元のディスクストレージを OpenShift Virtualization ストレージクラスにマッピングできます。

ストレージマップには、特定の移行計画用に作成されたマップと、どの移行計画でも使用できるように作成されたマップの 2 種類があります。

  • 特定の計画用に作成されたマップは、その計画がマップの 所有者 です。このタイプのマップは、Plan creation wizardStorage maps ステップで作成できます。
  • どの移行計画でも使用できるように作成されたマップは、所有者なし とみなされます。このタイプのマップは、OpenShift Virtualization Web コンソールの Migration for Virtualization セクションの Storage maps ページで作成できます。

    このタイプのマップは、自分または同じプロジェクトで作業するすべてのユーザーが、Plan creation wizard で移行計画を作成するときに使用できます。所有者のないマップの 1 つを移行計画用に選択すると、MTV がそのマップのコピーを作成し、移行計画を そのコピーの所有者 として定義します。コピーに加えた変更は元のマップには影響せず、マップのコピーを使用する他の計画にも適用されません。Storage maps ページには、プロジェクトの両タイプのストレージマップが表示されます。ただし、それぞれのページの Owner 列に表示される情報には重要な違いがあります。

  • OpenShift Virtualization Web コンソールの Migration for Virtualization セクションの Storage maps ページで作成されたマップには、所有者なしと表示されます。
  • Plan creation wizardStorage maps ステップで作成されたマップには、移行計画が所有者であると表示されます。

10.8.1. MTV UI で所有者のないストレージマップを作成する

MTV UI を使用して移行元のディスクストレージを OpenShift Virtualization ストレージクラスにマッピングすることにより、所有者のないストレージマップを作成できます。

このタイプのマップは、次のいずれかの方法で作成できます。

  • フォームで作成する: リストから移行元プロバイダーなどの項目を選択します。
  • YAML で作成する: YAML または JSON 定義を入力するか、それと同じ定義を含むファイルを添付します。
10.8.1.1. MTV UI のフォームページを使用して所有者なしのストレージマップを作成する

MTV UI のフォームページを使用して、所有者のないストレージマップを作成できます。

前提条件

手順

  1. Red Hat OpenShift Web コンソールで、Migration for Virtualization > Storage maps をクリックします。
  2. Create storage map > Create with form をクリックします。
  3. 以下の項目を設定します。

    • Map name: ストレージマップの名前。
    • Project: リストから選択します。
    • Source provider: リストから選択します。
    • Target provider: リストから選択します。
    • Source storage: リストから選択します。
    • Target storage: リストから選択します。
  4. オプション: 複数のストレージソースを 1 つのターゲットストレージクラスにマッピングするなど、追加のストレージマップを作成するには、Add mapping をクリックします。
  5. Create をクリックします。

    マップがストレージマップのリストに表示されます。

10.8.1.2. MTV UI で YAML または JSON 定義を使用して所有者のないストレージマップを作成する

Migration Toolkit for Virtualization (MTV) UI で YAML または JSON 定義を使用して、所有者のないストレージマップを作成できます。

手順

  1. Red Hat OpenShift Web コンソールで、Migration for Virtualization > Storage maps をクリックします。
  2. Create storage map > Create with YAML をクリックします。

    Create StorageMap ページが開きます。

  3. YAML または JSON 定義をエディターに入力するか、ファイルをエディターにドラッグアンドドロップします。
  4. YAML 定義を入力する場合は、以下を使用します。
$ cat << EOF | oc apply -f -
apiVersion: forklift.konveyor.io/v1beta1
kind: StorageMap
metadata:
  name: <storage_map>
  namespace: <namespace>
spec:
  map:
    - destination:
        storageClass: <storage_class>
        accessMode: <access_mode> 
1

      source:
        name:  Dummy storage for source provider <provider_name> 
2

  provider:
    source:
      name: <source_provider>
      namespace: <namespace>
    destination:
      name: <destination_provider>
      namespace: <namespace>
EOF
1
使用できる値は ReadWriteOnce および ReadWriteMany です。
2
OVA の場合、StorageMap は、OVA のすべてのディスクが関連付けられている単一のストレージのみを移行先のストレージクラスにマップできます。このため、ストレージは UI では "Dummy storage for source provider <provider_name>" と呼ばれます。YAML では、引用符なしで上記のフレーズを記述し、<provider_name> をプロバイダーの実際の名前に置き換えます。
  1. オプション: 入力内容をダウンロードするには、Download をクリックします。
  2. Create をクリックします。

    マップがストレージマップのリストに表示されます。

10.9. 移行のキャンセル

Red Hat OpenShift Web コンソールを使用して、移行計画の進行中に一部またはすべての仮想マシン (VM) の移行をキャンセルできます。

手順

  1. Red Hat OpenShift Web コンソールで、Plans for virtualization をクリックします。
  2. 実行中の移行計画の名前をクリックし、移行の詳細を表示します。
  3. 1 つ以上の仮想マシンを選択し、Cancel をクリックします。
  4. Yes, cancel をクリックしてキャンセルを確定します。

    Migration details by VM リストでは、キャンセルした仮想マシンのステータスは Canceled になります。移行されていない仮想マシンと移行された仮想マシンは影響を受けません。

Migration plans ページの移行計画の横にある Restart をクリックして、キャンセルした移行を再開できます。

第11章 OpenShift Virtualization からの仮想マシンの移行

11.1. Red Hat OpenShift Virtualization 移行元プロバイダーの追加

Red Hat OpenShift Virtualization プロバイダーは、移行元プロバイダーと移行先プロバイダーの両方として使用できます。

具体的には、OpenShift Virtualization プロバイダーとして自動的に追加されるホストクラスターは、移行元プロバイダーと移行先プロバイダーの両方として使用できます。

MTV がデプロイされているクラスターから別のクラスターに仮想マシンを移行したり、リモートクラスターから MTV がデプロイされたクラスターに仮想マシンを移行したりできます。

注記

移行元プロバイダーの Red Hat OpenShift クラスターのバージョンは 4.16 以降である必要があります。

手順

  1. 次のいずれかの方法で、OpenShift Virtualization の Create provider インターフェイスにアクセスします。

    1. Red Hat OpenShift Web コンソールで、Migration for Virtualization > Providers をクリックします。

      1. Create Provider をクリックします。
      2. リストから Project を選択します。表示されるデフォルトのプロジェクトは、MTV のアクティブなプロジェクトによって異なります。

        アクティブなプロジェクトが All projects の場合、デフォルトのプロジェクトは openshift-mtv になります。それ以外の場合、デフォルトのプロジェクトはアクティブなプロジェクトと同じになります。

        管理者特権を持っている場合は、すべてのプロジェクトを表示できます。持っていない場合は、操作を許可されているプロジェクトのみを表示できます。

      3. OpenShift Virtualization をクリックします。
    2. 管理者特権がある場合は、Red Hat OpenShift Web コンソールで、Migration for Virtualization > Overview をクリックします。

      1. Welcome ペインで、OpenShift Virtualization をクリックします。

        Welcome ペインが表示されない場合は、ページの右上隅にある Show the welcome card をクリックし、Welcome ペインが開いたら OpenShift Virtualization をクリックします。

      2. リストから Project を選択します。表示されるデフォルトのプロジェクトは、MTV のアクティブなプロジェクトによって異なります。

        アクティブなプロジェクトが All projects の場合、デフォルトのプロジェクトは openshift-mtv になります。それ以外の場合、デフォルトのプロジェクトはアクティブなプロジェクトと同じになります。

        管理者特権を持っている場合は、すべてのプロジェクトを表示できます。持っていない場合は、操作を許可されているプロジェクトのみを表示できます。

  2. 次のフィールドを指定します。

    • Provider resource name: 移行元プロバイダーの名前
    • URL: API サーバーのエンドポイントの URL
    • Service account bearer token: cluster-admin 権限を持つサービスアカウントのトークン

      URLService account bearer token の両方を空白のままにすると、ローカルの OpenShift クラスターが使用されます。

  3. CA 証明書を検証するには、以下のいずれかのオプションを選択します。

    • Use a custom CA certificate: カスタム CA 証明書を検証した後に移行します。
    • Use the system CA certificate: システム CA 証明書を検証した後に移行します。
    • Skip certificate validation: CA 証明書を検証せずに移行します。

      1. カスタム CA 証明書を使用するには、Skip certificate validation スイッチを左に切り替えた状態にし、CA 証明書をテキストボックスにドラッグするか、または それを参照して Select をクリックするかの いずれか を行います。
      2. システム CA 証明書を使用するには、Skip certificate validation スイッチを左に切り替えた状態にし、CA certificate のテキストボックスを空のままにします。
      3. 証明書の検証を省略するには、Skip certificate validation スイッチを右に切り替えます。
  4. オプション: プロバイダーの API エンドポイント URL からカスタム CA 証明書を取得するように MTV に依頼します。

    1. Fetch certificate from URL をクリックします。Verify certificate ウィンドウが開きます。
    2. 詳細が正しい場合は、I trust the authenticity of this certificate チェックボックスを選択し、Confirm をクリックします。そうでない場合は、Cancel をクリックし、正しい証明書情報を手動で入力します。

      確認後、CA 証明書は、API エンドポイントとの後続の通信を検証するために使用されます。

  5. プロバイダーを追加して保存するには、プロバイダーの作成 をクリックします。

    プロバイダーがプロバイダーのリストに表示されます。

  6. オプション: プロバイダーの UI へのアクセスを追加します。

    1. Providers ページで、プロバイダーをクリックします。

      Provider details ページが開きます。

    2. External UI web link の下の Edit アイコンをクリックします。
    3. リンクを入力して Save をクリックします。

      注記

      リンクを入力しない場合、MTV によって正しいリンクの計算が試行されます。

      • MTV が成功した場合、フィールドのハイパーリンクの参照先が計算されたリンクになります。
      • MTV が成功しなかった場合、フィールドは空のままになります。

11.2. OpenShift Virtualization 移行先プロバイダーの追加

Red Hat OpenShift Virtualization プロバイダーは、移行元プロバイダーと移行先プロバイダーの両方として使用できます。

具体的には、OpenShift Virtualization プロバイダーとして自動的に追加されるホストクラスターは、移行元プロバイダーと移行先プロバイダーの両方として使用できます。

MTV をインストールしたプロバイダーであるデフォルトの OpenShift Virtualization 移行先プロバイダーだけでなく、別の OpenShift Virtualization 移行先プロバイダーも Red Hat OpenShift Web コンソールに追加できます。

MTV がデプロイされているクラスターから別のクラスターに仮想マシンを移行したり、リモートクラスターから MTV がデプロイされたクラスターに仮想マシンを移行したりできます。

前提条件

手順

  1. 次のいずれかの方法で、Create OpenShift Virtualization provider インターフェイスにアクセスします。

    1. Red Hat OpenShift Web コンソールで、Migration for Virtualization > Providers をクリックします。

      1. Create Provider をクリックします。
      2. リストから Project を選択します。表示されるデフォルトのプロジェクトは、MTV のアクティブなプロジェクトによって異なります。

        アクティブなプロジェクトが All projects の場合、デフォルトのプロジェクトは openshift-mtv になります。それ以外の場合、デフォルトのプロジェクトはアクティブなプロジェクトと同じになります。

        管理者特権を持っている場合は、すべてのプロジェクトを表示できます。持っていない場合は、操作を許可されているプロジェクトのみを表示できます。

      3. OpenShift Virtualization をクリックします。
    2. 管理者特権がある場合は、Red Hat OpenShift Web コンソールで、Migration for Virtualization > Overview をクリックします。

      1. Welcome ペインで、OpenShift Virtualization をクリックします。

        Welcome ペインが表示されない場合は、ページの右上隅にある Show the welcome card をクリックし、Welcome ペインが開いたら OpenShift Virtualization をクリックします。

      2. リストから Project を選択します。表示されるデフォルトのプロジェクトは、MTV のアクティブなプロジェクトによって異なります。

        アクティブなプロジェクトが All projects の場合、デフォルトのプロジェクトは openshift-mtv になります。それ以外の場合、デフォルトのプロジェクトはアクティブなプロジェクトと同じになります。

        管理者特権を持っている場合は、すべてのプロジェクトを表示できます。持っていない場合は、操作を許可されているプロジェクトのみを表示できます。

  2. 次のフィールドを指定します。

    • Provider resource name: 移行元プロバイダーの名前
    • URL: API サーバーのエンドポイントの URL
    • Service account bearer token: cluster-admin 権限を持つサービスアカウントのトークン

      URLService account bearer token の両方を空白のままにすると、ローカルの OpenShift クラスターが使用されます。

  3. CA 証明書を検証するには、以下のいずれかのオプションを選択します。

    • Use a custom CA certificate: カスタム CA 証明書を検証した後に移行します。
    • Use the system CA certificate: システム CA 証明書を検証した後に移行します。
    • Skip certificate validation: CA 証明書を検証せずに移行します。

      1. カスタム CA 証明書を使用するには、Skip certificate validation スイッチを左に切り替えた状態にし、CA 証明書をテキストボックスにドラッグするか、または それを参照して Select をクリックするかの いずれか を行います。
      2. システム CA 証明書を使用するには、Skip certificate validation スイッチを左に切り替えた状態にし、CA certificate のテキストボックスを空のままにします。
      3. 証明書の検証を省略するには、Skip certificate validation スイッチを右に切り替えます。
  4. オプション: プロバイダーの API エンドポイント URL からカスタム CA 証明書を取得するように MTV に依頼します。

    1. Fetch certificate from URL をクリックします。Verify certificate ウィンドウが開きます。
    2. 詳細が正しい場合は、I trust the authenticity of this certificate チェックボックスを選択し、Confirm をクリックします。そうでない場合は、Cancel をクリックし、正しい証明書情報を手動で入力します。

      確認後、CA 証明書は、API エンドポイントとの後続の通信を検証するために使用されます。

  5. プロバイダーを追加して保存するには、プロバイダーの作成 をクリックします。

    プロバイダーがプロバイダーのリストに表示されます。

11.3. OpenShift Virtualization プロバイダーの移行ネットワークの選択

Red Hat OpenShift Web コンソールで OpenShift Virtualization プロバイダーのデフォルトの移行ネットワークを選択して、パフォーマンスを向上させることができます。デフォルトの移行ネットワークは、ディスクが設定された namespace にディスクを転送するために使用されます。

転送ネットワークを選択したら、そのネットワーク接続定義 (NAD) を、このネットワークで使用されるゲートウェイに関連付けます。

移行ネットワークを選択しない場合、デフォルトの移行ネットワークは pod ネットワークで、ディスク転送に最適ではない可能性があります。

注記

移行計画の作成時に別のネットワークを選択して、プロバイダーのデフォルトの移行ネットワークをオーバーライドできます。

手順

  1. Red Hat OpenShift Web コンソールで、Migration > Providers for virtualization をクリックします。
  2. 変更する移行ネットワークがある OpenShift Virtualization プロバイダーをクリックします。

    Providers detail ページが表示されたら:

  3. Networks タブをクリックします。
  4. Set default transfer network をクリックします。
  5. リストからデフォルトの転送ネットワークを選択し、Save をクリックします。
  6. 次の手順を実行して、MTV 移行に使用するネットワーク内のゲートウェイを設定します。

    1. Red Hat OpenShift Web コンソールで、Networking > NetworkAttachmentDefinitions をクリックします。
    2. 適切なデフォルトの転送ネットワーク NAD を選択します。
    3. YAML タブをクリックします。
    4. 次の例のように、YAML の metadata:annotations セクションに forklift.konveyor.io/route を追加します。

      apiVersion: k8s.cni.cncf.io/v1
      kind: NetworkAttachmentDefinition
      metadata:
        name: localnet-network
        namespace: mtv-test
        annotations:
          forklift.konveyor.io/route: <IP address> 
      1
      1
      インターフェイスの IP アドレスを、Dynamic Host Configuration Protocol (DHCP) から設定する、または静的に設定するには、NetworkAttachmentDefinition パラメーターが必要です。IP アドレスを設定すると、インターフェイスが設定されたゲートウェイに到達できるようになります。
    5. Save をクリックします。

11.4. MTV ウィザードを使用した OpenShift Virtualization 移行計画の作成

Migration Toolkit for Virtualization の計画作成ウィザードを使用して、OpenShift Virtualization 仮想マシン (VM) を移行できます。

ウィザードは、移行計画を段階的に作成できるように設計されています。

警告

Internet Small Computer Systems Interface (iSCSI) 接続や Network File System (NFS) マウントなど、ゲストが開始するストレージ接続が指定された仮想マシンを含めないでください。これらには、移行前の追加の計画、または移行後の再設定が必要です。

これにより、ゲストが参照するストレージのディスクに同時にアクセスされないようにします。

重要

500 台を超える仮想マシンまたは 500 台を超えるディスクを計画に含めることはできません。

重要

ウィザードの Review and create ページで Create plan をクリックすると、Migration Toolkit for Virtualization (MTV) によって計画が検証されます。すべて問題がなければ、計画の Plan details ページが開きます。このページには、ウィザードには表示されないが重要な設定が含まれています。このページは計画作成ウィザードの外部にありますが、その指示を注意深く読み、必ず従ってください。このページは、計画を実行する前であれば、後でいつでも開くことができるため、必要に応じて戻ることができます。

前提条件

手順

  1. Red Hat OpenShift Web コンソールで、Migration for Virtualization > Migration plans をクリックします。
  2. Create plan をクリックします。

    Create migration plan ウィザードが開きます。

  3. General ページで、次のフィールドを指定します。

    • Plan name: 名前を入力します。
    • Plan project: リストから選択します。
    • Source provider: リストから選択します。
    • Target provider: リストから選択します。
    • Target project: リストから選択します。
  4. Next をクリックします。
  5. Virtual machines ページで、移行する仮想マシンを選択し、Next をクリックします。
  6. Network map ページで、次のいずれかのオプションを選択します。

    • Use an existing network map: リストから既存のネットワークマップを選択します。

      既存のマップは、すべての計画で利用可能なネットワークマップであるため、システム上では 所有者なし となります。このオプションを選択してマップを選択すると、そのマップのコピーが計画に割り当てられ、この計画がそのコピーの 所有者 となります。自分のコピーに加えた変更は、元の計画や他のユーザーが持っているコピーには影響しません。

      注記

      既存のマップを選択する場合は、そのマップの移行元プロバイダーと移行先プロバイダーが、計画で使用するものと同じであることを確認してください。

    • Use a new network map: 次のデータを入力して新しいネットワークマップを作成できます。このマップはこの計画に割り当てられ、この計画がその所有者であるとみなされます。このオプションを使用して作成したマップは、それぞれ所有者と関連付けられて作成されるため、Use an existing network map オプションでは使用できません。

      注記

      UI の Network Maps セクションで、所有者のないネットワークマップを作成できます。このマップは、自分や他のユーザーが追加の移行計画に使用できます。

      • Source network: リストから選択します。
      • Target network: リストから選択します。

        必要に応じて、Add mapping をクリックして別のマッピングを追加します。

      • Network map name: 名前を入力するか、MTV にネットワークマップの名前を自動的に生成させます。
  7. Next をクリックします。
  8. Storage map ページで、次のいずれかのオプションを選択します。

    • Use an existing storage map: リストから既存のストレージマップを選択します。

      既存のマップは、すべての計画で利用可能なストレージマップであるため、システム上では 所有者なし となります。このオプションを選択してマップを選択すると、そのマップのコピーが計画に割り当てられ、この計画がそのコピーの 所有者 となります。自分のコピーに加えた変更は、元の計画や他のユーザーが持っているコピーには影響しません。

      注記

      既存のマップを選択する場合は、そのマップの移行元プロバイダーと移行先プロバイダーが、計画で使用するものと同じであることを確認してください。

    • Use new storage map: 次のデータを指定して、1 つまたは 2 つの新しいストレージマップを作成できます。これらのマップはこの計画に割り当てられ、この計画がマップの所有者となります。各マップに以下を指定します。このオプションを使用して作成したマップは、それぞれ所有者と関連付けられて作成されるため、Use an existing storage map オプションでは使用できません。

      注記

      UI の Storage Maps セクションで、所有者のないストレージマップを作成できます。このマップは、自分や他のユーザーが追加の移行計画に使用できます。

      • Source storage: リストから選択します。
      • Target storage: リストから選択します。

        必要に応じて、Add mapping をクリックして別のマッピングを追加します。

      • Storage map name: 名前を入力するか、MTV にストレージマップの名前を自動的に生成させます。
  9. Next をクリックします。
  10. Other settings (optional) ページで、移行計画の Transfer network (転送ネットワーク) を変更できます。

    転送ネットワークは、仮想マシンを OpenShift Virtualization に転送するために使用されるネットワークです。プロバイダーのデフォルトの転送ネットワークです。

    • 転送ネットワークが選択したターゲットプロジェクト内にあることを確認します。
    • 別の転送ネットワークを選択するには、リストから別の転送ネットワークを選択します。
    • オプション: OpenShift Web コンソールで別の OpenShift ネットワークを設定するには、Networking > NetworkAttachmentDefinitions をクリックします。

      OpenShift がサポートするさまざまなタイプのネットワークの詳細は、OpenShift Container Platform の追加のネットワーク を参照してください。

    • OpenShift 転送ネットワークの最大転送単位 (MTU) を調整する場合は、VMware 移行ネットワークの MTU も変更する必要があります。詳細は、VMware 移行元プロバイダーの移行ネットワークの選択 を参照してください。
  11. Next をクリックします。
  12. Hooks (optional) ページでは、移行前フック、移行後フック、または両方のタイプの移行フックを追加できます。すべて任意です。
  13. フックを追加するには、適切な Enable hook チェックボックスをオンにします。
  14. Hook runner image を入力します。
  15. ウィンドウにフックの Ansible Playbook を入力します。

    注記

    移行計画に、移行前フックまたは移行後フックを複数含めることはできません。

  16. Next をクリックします。
  17. Review and Create ページで、表示される情報を確認します。
  18. 次の操作を行って、任意の項目を編集します。

    1. Edit step リンクをクリックします。

      ウィザードが開き、項目を定義したページが表示されます。

    2. 項目を編集します。
    3. Next をクリックしてウィザードの次のページに進むか、Skip to review をクリックして Review and create ページに直接戻ります。
  19. 計画の詳細を確認したら、Create plan をクリックします。MTV が計画を検証します。

    計画が検証されると、Details タブに Plan details ページが開きます。

  20. Plan details タブに、ウィザードでの入力に基づいて詳細がリスト表示されます。また、計画の詳細の後に次の 2 つのセクションが含まれています。

    • Migration history: 計画の実行の成功と失敗の詳細
    • Conditions: 計画を正常に実行するために必要な変更
  21. リストされている条件をすべて満たしたら、Plans ページから計画を実行できます。

    Plan details ページには、次の表で説明する 5 つの追加タブも含まれています。

    Expand
    表11.1 Plan details ページのタブ
    YAMLVirtual MachinesResourcesMappingsHooks

    移行元プロバイダー、ネットワークマップとストレージマップ、仮想マシン、仮想マシンに関する問題など、計画の詳細に基づいた編集可能な YAML 形式の Plan マニフェスト

    計画によって移行される仮想マシン

    計算されたリソース: 仮想マシン数、CPU、および全仮想マシンと実行中の仮想マシンの合計メモリー

    計画で使用するネットワークおよびストレージマップの編集可能な仕様

    計画で使用するフックの更新可能な仕様 (ある場合)

11.5. 移行計画の実行

移行計画を実行し、Red Hat OpenShift Web コンソールでその進行状況を表示できます。

前提条件

  • 有効な移行計画が作成されている。

手順

  1. Red Hat OpenShift Web コンソールで、Migration > Plans for virtualization をクリックします。

    Plans のリストに、移行元プロバイダーとターゲットプロバイダー、移行する仮想マシン (VM) の数、ステータス、移行の開始日、および各計画の説明が表示されます。

  2. 移行計画の横にある Start をクリックして移行を開始します。
  3. 開いた確認ウィンドウで Start をクリックします。

    計画の StatusRunning に変わり、移行の進行状況が表示されます。

    警告

    移行の開始後に仮想マシンのスナップショットを作成しないでください。移行の開始後にスナップショットを作成すると、移行が失敗する可能性があります。

  4. オプション: 移行の ステータス のリンクをクリックすると、移行の全体的なステータスと各仮想マシンのステータスが表示されます。

    • 左側のリンクは、移行が失敗したか、成功したか、進行中かを示します。また、移行が成功、失敗、またはキャンセルされた仮想マシンの数も報告されます。
    • 右側のリンクで、Plan Details ページの Virtual Machines タブが開きます。各仮想マシンについて、タブには次のデータが表示されます。

      • 仮想マシンの名前
      • 移行の開始時間と終了時間
      • コピーされたデータ量
      • 仮想マシンの移行の進捗パイプライン

        警告

        データの破損を回避するために、インポートされる仮想マシンでは、svMotion を含む vMotion と再配置を無効にする必要があります。

  5. オプション: 移行の実行中または完了後に移行のログを表示するには、次の操作を実行します。

    1. Virtual Machines タブをクリックします。
    2. 移行の進行状況を確認する仮想マシンの左側にある矢印 (>) をクリックします。

      仮想マシンの詳細が表示されます。

    3. Pods セクションの Pod links 列で、Logs リンクをクリックします。

      Logs タブが開きます。

      注記

      ログは常に利用できるとは限りません。ログが利用できない一般的な理由は次のとおりです。

      • OpenShift Virtualization から OpenShift Virtualization への移行である。この場合、virt-v2v は関係しないため、Pod は必要ありません。
      • Pod が作成されなかった。
      • Pod が削除された。
      • Pod を実行する前に移行に失敗した。
    4. Raw ログを表示するには、Raw リンクをクリックします。
    5. ログをダウンロードするには、Download リンクをクリックします。

11.6. 移行計画のオプション

Red Hat OpenShift Web コンソールの Plans for virtualization ページで、移行計画の横にある Options メニュー kebab をクリックすると、次のオプションにアクセスできます。

  • Edit Plan: 移行計画の詳細を編集します。計画が実行中または正常に完了している場合は、次のオプションを編集できません。

    • Plan details ページの Settings セクションにあるすべてのプロパティー。たとえば、ウォームマイグレーションまたはコールドマイグレーション、ターゲットの namespace、および保持された静的 IP などです。
    • Mappings タブの計画のマッピング。
    • Hooks タブにリストされているフック。
  • Start migration: Active は、該当する場合のみ。
  • Restart migration: 中断された移行を再開します。このオプションを選択する前に、エラーメッセージがないことを確認してください。ある場合は、計画を編集する必要があります。
  • Cutover: ウォームマイグレーションのみ。該当する場合にのみアクティブになります。Cutover をクリックすると、Cutover ウィンドウが開き、以下のオプションがサポートされます。

    • Set cutover: カットオーバーの日時を設定します。
    • Remove cutover: スケジュールされたカットオーバーをキャンセルします。該当する場合にのみアクティブになります。
  • Duplicate Plan: 既存の計画と同じ仮想マシン (VM)、パラメーター、マッピング、およびフックを使用して、新しい移行計画を作成します。この機能は、以下のタスクに使用できます。

    • 仮想マシンを別の namespace に移行する。
    • アーカイブされた移行計画を編集する。
    • ステータスが異なる移行計画を編集する (例: 失敗、キャンセル、実行中、クリティカル、準備完了)。
  • Archive Plan: 移行計画のログ、履歴、メタデータを削除します。計画を編集または再起動することはできません。表示、複製、削除のみが可能です。

    注記

    Archive Plan は元に戻せません。ただし、アーカイブされた計画を複製することはできます。

  • Delete Plan: 移行計画を完全に削除します。実行中の移行計画を削除することはできません。

    注記

    Delete Plan は元に戻せません。

    移行計画を削除しても、一時リソースは削除されません。一時リソースを削除するには、削除する前にまず計画をアーカイブします。

    注記

    移行計画をアーカイブしてから削除した場合の結果は、計画とそのストレージおよびネットワークマッピングを CLI を使用して作成したか、UI を使用して作成したかによって異なります。

    • UI を使用して作成した場合、移行計画とそのマッピングが UI に表示されなくなります。
    • CLI を使用して作成した場合、マッピングは UI に引き続き表示される場合があります。これは、CLI のマッピングは複数の移行計画で使用できますが、UI で作成したマッピングは 1 つの移行計画でしか使用できないためです。

11.7. 移行計画のネットワークマップについて

Migration Toolkit for Virtualization (MTV) 移行計画でネットワークマップを作成し、移行元のネットワークを OpenShift Virtualization ネットワークにマッピングできます。

ネットワークマップには、特定の移行計画用に作成されたマップと、どの移行計画でも使用できるように作成されたマップの 2 種類があります。

  • 特定の計画用に作成されたマップは、その計画がマップの 所有者 です。このタイプのマップは、Plan creation wizardNetwork maps ステップで作成できます。
  • どの移行計画でも使用できるように作成されたマップは、所有者なし とみなされます。このタイプのマップは、OpenShift Virtualization Web コンソールの Migration for Virtualization セクションの Network maps ページで作成できます。

    このタイプのマップは、自分または同じプロジェクトで作業するすべてのユーザーが、Plan creation wizard で移行計画を作成するときに使用できます。所有者のないマップの 1 つを移行計画用に選択すると、MTV がそのマップのコピーを作成し、移行計画を そのコピーの所有者 として定義します。コピーに加えた変更は元のマップには影響せず、マップのコピーを使用する他の計画にも適用されません。Network maps ページには、プロジェクトの両タイプのネットワークマップが表示されます。ただし、それぞれのページの Owner 列に表示される情報には重要な違いがあります。

  • OpenShift Virtualization Web コンソールの Migration for Virtualization セクションの Network maps ページで作成されたマップには、所有者なしと表示されます。
  • Plan creation wizardNetwork maps ステップで作成されたマップには、移行計画が所有者であると表示されます。

11.7.1. MTV UI で所有者のないネットワークマップを作成する

Migration Toolkit for Virtualization (MTV) UI を使用して移行元のネットワークを OpenShift Virtualization のネットワークにマッピングすることにより、所有者のないネットワークマップを作成できます。

手順

  1. Red Hat OpenShift Web コンソールで、Migration for Virtualization > Network maps をクリックします。
  2. Create NetworkMap をクリックします。

    Create NetworkMap ページが開きます。

  3. YAML または JSON 定義をエディターに入力するか、ファイルをエディターにドラッグアンドドロップします。
  4. YAML 定義を入力する場合は、以下を使用します。
$  cat << EOF | oc apply -f -
apiVersion: forklift.konveyor.io/v1beta1
kind: NetworkMap
metadata:
  name: <network_map>
  namespace: <namespace>
spec:
  map:
    - destination:
        name: <network_name>
        type: pod 
1

      source:
        name: <network_name>
        type: pod
    - destination:
        name: <network_attachment_definition> 
2

        namespace: <network_attachment_definition_namespace> 
3

        type: multus
      source:
        name: <network_attachment_definition>
        namespace: <network_attachment_definition_namespace>
        type: multus
  provider:
    source:
      name: <source_provider>
      namespace: <namespace>
    destination:
      name: <destination_provider>
      namespace: <namespace>
EOF
1
使用できる値は pod および multus です。
2
追加の OpenShift Virtualization ネットワークごとにネットワークアタッチメント定義を指定します。namespace property を使用するか、<network_namespace>/<network_name> のように構築された名前で namespace を指定します。
3
typemultus の場合に限り必要です。OpenShift Virtualization のネットワークアタッチメント定義の namespace を指定します。
  1. オプション: 入力内容をダウンロードするには、Download をクリックします。
  2. Create をクリックします。

    マップがネットワークマップのリストに表示されます。

11.8. 移行計画のストレージマップについて

Migration Toolkit for Virtualization (MTV) 移行計画でストレージマップを作成し、移行元のディスクストレージを OpenShift Virtualization ストレージクラスにマッピングできます。

ストレージマップには、特定の移行計画用に作成されたマップと、どの移行計画でも使用できるように作成されたマップの 2 種類があります。

  • 特定の計画用に作成されたマップは、その計画がマップの 所有者 です。このタイプのマップは、Plan creation wizardStorage maps ステップで作成できます。
  • どの移行計画でも使用できるように作成されたマップは、所有者なし とみなされます。このタイプのマップは、OpenShift Virtualization Web コンソールの Migration for Virtualization セクションの Storage maps ページで作成できます。

    このタイプのマップは、自分または同じプロジェクトで作業するすべてのユーザーが、Plan creation wizard で移行計画を作成するときに使用できます。所有者のないマップの 1 つを移行計画用に選択すると、MTV がそのマップのコピーを作成し、移行計画を そのコピーの所有者 として定義します。コピーに加えた変更は元のマップには影響せず、マップのコピーを使用する他の計画にも適用されません。Storage maps ページには、プロジェクトの両タイプのストレージマップが表示されます。ただし、それぞれのページの Owner 列に表示される情報には重要な違いがあります。

  • OpenShift Virtualization Web コンソールの Migration for Virtualization セクションの Storage maps ページで作成されたマップには、所有者なしと表示されます。
  • Plan creation wizardStorage maps ステップで作成されたマップには、移行計画が所有者であると表示されます。

11.8.1. MTV UI で所有者のないストレージマップを作成する

MTV UI を使用して移行元のディスクストレージを OpenShift Virtualization ストレージクラスにマッピングすることにより、所有者のないストレージマップを作成できます。

このタイプのマップは、次のいずれかの方法で作成できます。

  • フォームで作成する: リストから移行元プロバイダーなどの項目を選択します。
  • YAML で作成する: YAML または JSON 定義を入力するか、それと同じ定義を含むファイルを添付します。
11.8.1.1. MTV UI のフォームページを使用して所有者なしのストレージマップを作成する

MTV UI のフォームページを使用して、所有者のないストレージマップを作成できます。

前提条件

手順

  1. Red Hat OpenShift Web コンソールで、Migration for Virtualization > Storage maps をクリックします。
  2. Create storage map > Create with form をクリックします。
  3. 以下の項目を設定します。

    • Map name: ストレージマップの名前。
    • Project: リストから選択します。
    • Source provider: リストから選択します。
    • Target provider: リストから選択します。
    • Source storage: リストから選択します。
    • Target storage: リストから選択します。
  4. オプション: 複数のストレージソースを 1 つのターゲットストレージクラスにマッピングするなど、追加のストレージマップを作成するには、Add mapping をクリックします。
  5. Create をクリックします。

    マップがストレージマップのリストに表示されます。

11.8.1.2. MTV UI で YAML または JSON 定義を使用して所有者のないストレージマップを作成する

Migration Toolkit for Virtualization (MTV) UI で YAML または JSON 定義を使用して、所有者のないストレージマップを作成できます。

手順

  1. Red Hat OpenShift Web コンソールで、Migration for Virtualization > Storage maps をクリックします。
  2. Create storage map > Create with YAML をクリックします。

    Create StorageMap ページが開きます。

  3. YAML または JSON 定義をエディターに入力するか、ファイルをエディターにドラッグアンドドロップします。
  4. YAML 定義を入力する場合は、以下を使用します。

[source,yaml,subs="attributes"]

$ cat << EOF | {oc} apply -f -
apiVersion: forklift.konveyor.io/v1beta1
kind: StorageMap
metadata:
  name: <storage_map>
  namespace: <namespace>
spec:
  map:
    - destination:
        storageClass: <storage_class>
        accessMode: <access_mode> 
1

      source:
        name: <storage_class>
  provider:
    source:
      name: <source_provider>
      namespace: <namespace>
    destination:
      name: <destination_provider>
      namespace: <namespace>
EOF
1
使用できる値は ReadWriteOnce および ReadWriteMany です。
  1. オプション: 入力内容をダウンロードするには、Download をクリックします。
  2. Create をクリックします。

    マップがストレージマップのリストに表示されます。

11.9. 移行のキャンセル

Red Hat OpenShift Web コンソールを使用して、移行計画の進行中に一部またはすべての仮想マシン (VM) の移行をキャンセルできます。

手順

  1. Red Hat OpenShift Web コンソールで、Plans for virtualization をクリックします。
  2. 実行中の移行計画の名前をクリックし、移行の詳細を表示します。
  3. 1 つ以上の仮想マシンを選択し、Cancel をクリックします。
  4. Yes, cancel をクリックしてキャンセルを確定します。

    Migration details by VM リストでは、キャンセルした仮想マシンのステータスは Canceled になります。移行されていない仮想マシンと移行された仮想マシンは影響を受けません。

Migration plans ページの移行計画の横にある Restart をクリックして、キャンセルした移行を再開できます。

第12章 コマンドラインからの仮想マシンの移行

MTV カスタムリソース (CR) を作成し、コマンドラインインターフェイス (CLI) を使用して仮想マシン (VM) を移行します。CR と移行手順は移行元プロバイダーによって異なります。

重要

クラスタースコープの CR の名前を指定する必要があります。

namespace スコープの CR の名前と namespace の両方を指定する必要があります。

移行計画が定義されている OpenShift クラスターとは異なるクラスターへの移行や、そこからの移行を行うには、cluster-admin 権限を持つ OpenShift Virtualization サービスアカウントトークンが必要です。

重要

12.1. 管理者以外が移行計画コンポーネントを操作するために必要な権限

管理者の場合は、移行計画のすべてのコンポーネント (プロバイダー、ネットワークマッピング、移行計画など) を操作できます。

デフォルトでは、管理者以外のユーザーが移行計画とそのコンポーネントを操作できる機能は限られています。管理者は、ロールを変更してすべてのコンポーネントへの完全なアクセスを許可したり、制限付きのパーミッションを付与したりできます。

たとえば、管理者は、移行計画に管理者以外のクラスターロールを 1 つ以上割り当てることができます。

Expand
表12.1 移行計画のロールおよびそれらの権限の例
Role説明

plans.forklift.konveyor.io-v1beta1-view

移行計画を表示できますが、作成、削除、または変更はできません。

plans.forklift.konveyor.io-v1beta1-edit

個々の移行計画を作成、削除、または変更 (edit 権限のすべての部分) できます。

plans.forklift.konveyor.io-v1beta1-admin

すべての edit 権限と移行計画のコレクション全体を削除する権限

注記

事前定義されたクラスターロールには、リソース (例: plans)、API グループ (例: forklift.konveyor.io-v1beta1)、およびアクション (例: viewedit) が含まれます。

全体的な例として、管理者以外のユーザーに namespace 別に次の一連の権限を付与できます。

  • アクセス可能な namespace のストレージマップ、ネットワークマップ、および移行計画を作成および変更する
  • 管理者が作成したプロバイダーをストレージマップ、ネットワークマップ、移行計画に接続する
  • プロバイダーを作成できない、またはシステム設定を変更できないようにする
Expand
表12.2 管理者以外のユーザーが移行計画コンポーネントを操作できるものの、プロバイダーは作成できない場合に必要な権限の例
アクションAPI グループリソース

get, list, watch, create, update, patch, delete

forklift.konveyor.io

plans

get, list, watch, create, update, patch, delete

forklift.konveyor.io

migrations

get, list, watch, create, update, patch, delete

forklift.konveyor.io

hooks

get, list, watch

forklift.konveyor.io

providers

get, list, watch, create, update, patch, delete

forklift.konveyor.io

networkmaps

get, list, watch, create, update, patch, delete

forklift.konveyor.io

storagemaps

get, list, watch

forklift.konveyor.io

forkliftcontrollers

createpatchdelete

空の文字列

secrets

注記

管理者以外が移行計画を作成するには、ネットワークマップまたはストレージマップのテンプレートを使用する場合でも、ネットワークマップおよびストレージマップの edit ロールの一部である create 権限が必要です。

12.2. VMware vSphere 移行元プロバイダーからの移行

コマンドラインインターフェイス (CLI) を使用して、VMware vSphere ソースプロバイダーから移行できます。

重要

ウイルス対策ソフトウェアが原因で移行が失敗する可能性があります。移行を開始する前に、移行元仮想マシンからこのようなソフトウェアを削除することを強く推奨します。

重要

MTV は、VMware Non-Volatile Memory Express (NVMe) ディスクの移行をサポートしていません。

注記

共有ディスクを持つ仮想マシンを移行する場合は、共有ディスクを持つ仮想マシンの移行 を参照してください。

手順

  1. 移行元プロバイダーの認証情報の Secret マニフェストを作成します。

    $ cat << EOF | oc apply -f -
    apiVersion: v1
    kind: Secret
    metadata:
      name: <secret>
      namespace: <namespace>
      ownerReferences: 
    1
    
        - apiVersion: forklift.konveyor.io/v1beta1
          kind: Provider
          name: <provider_name>
          uid: <provider_uid>
      labels:
        createdForProviderType: vsphere
        createdForResourceType: providers
    type: Opaque
    stringData:
      user: <user> 
    2
    
      password: <password> 
    3
    
      insecureSkipVerify: <"true"/"false"> 
    4
    
      cacert: | 
    5
    
        <ca_certificate>
      url: <api_end_point> 
    6
    
    EOF
    1
    ownerReferences セクションはオプションです。
    2
    vCenter ユーザーまたは ESX/ESXi ユーザーを指定します。
    3
    vCenter ユーザーまたは ESX/ESXi ユーザーのパスワードを指定します。
    4
    証明書の検証をスキップするには "true" を指定し、証明書を検証するには "false" を指定します。指定されていない場合はデフォルトで "false" になります。証明書の検証をスキップすると、セキュアでない移行が続行され、証明書は不要になります。セキュアではない移行とは、転送されたデータがセキュアではない接続を介して送信され、機密性の高いデータが公開される可能性があることを意味します。
    5
    このフィールドが設定されておらず、skip certificate verification が無効になっている場合、MTV はシステム CA の使用を試みます。
    6
    vCenter または ESX/ESXi の API エンドポイント URL を指定します (例: https://<vCenter_host>/sdk)。
  1. 移行元プロバイダーの Provider マニフェストを作成します。

    $ cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: Provider
    metadata:
      name: <source_provider>
      namespace: <namespace>
    spec:
      type: vsphere
      url: <api_end_point> 
    1
    
      settings:
        vddkInitImage: <VDDK_image> 
    2
    
        sdkEndpoint: vcenter 
    3
    
      secret:
        name: <secret> 
    4
    
        namespace: <namespace>
    EOF
    1
    API エンドポイントの URL を指定します (例: https://<vCenter_host>/sdk)。
    2
    オプションですが、移行を高速化するために VDDK イメージを作成することを強く推奨します。OpenShift のドキュメントに従って、作成した VDDK イメージを指定します。
    3
    オプション: vcenter または esxi
    4
    プロバイダーの Secret CR の名前を指定します。
  1. Host マニフェストを作成します。

    $ cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: Host
    metadata:
      name: <vmware_host>
      namespace: <namespace>
    spec:
      provider:
        namespace: <namespace>
        name: <source_provider> 
    1
    
      id: <source_host_mor> 
    2
    
      ipAddress: <source_network_ip> 
    3
    
    EOF
    1
    VMware vSphere Provider CR の名前を指定します。
    2
    VMware vSphere ホストの Managed Object Reference (moRef) を指定します。moRef を取得するには、VMware vSphere moRef の取得 を参照してください。
    3
    VMware vSphere 移行ネットワークの IP アドレスを指定します。
  1. 移行元ネットワークと移行先ネットワークをマッピングする NetworkMap マニフェストを作成します。

    $  cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: NetworkMap
    metadata:
      name: <network_map>
      namespace: <namespace>
    spec:
      map:
        - destination:
            name: <network_name>
            type: pod 
    1
    
          source: 
    2
    
            id: <source_network_id>
            name: <source_network_name>
        - destination:
            name: <network_attachment_definition> 
    3
    
            namespace: <network_attachment_definition_namespace> 
    4
    
            type: multus
          source:
            id: <source_network_id>
            name: <source_network_name>
      provider:
        source:
          name: <source_provider>
          namespace: <namespace>
        destination:
          name: <destination_provider>
          namespace: <namespace>
    EOF
    1
    許可される値は podmultus、および ignored です。この移行では、このネットワークに仮想マシンをアタッチするのを避けるために、ignored を使用します。
    2
    移行元のネットワークを指定するには、id または name パラメーターのいずれかを使用できます。id には、VMware vSphere ネットワーク Managed Object Reference (moRef) を指定します。moRef を取得するには、VMware vSphere moRef の取得 を参照してください。
    3
    追加の OpenShift Virtualization ネットワークごとにネットワークアタッチメント定義を指定します。
    4
    typemultus の場合に限り必要です。OpenShift Virtualization のネットワークアタッチメント定義の namespace を指定します。
  1. StorageMap マニフェストを作成し、移行元ストレージと移行先ストレージをマッピングします。

    $ cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: StorageMap
    metadata:
      name: <storage_map>
      namespace: <namespace>
    spec:
      map:
        - destination:
            storageClass: <storage_class>
            accessMode: <access_mode> 
    1
    
          source:
            id: <source_datastore> 
    2
    
      provider:
        source:
          name: <source_provider>
          namespace: <namespace>
        destination:
          name: <destination_provider>
          namespace: <namespace>
    EOF
    1
    使用できる値は ReadWriteOnce および ReadWriteMany です。
    2
    VMware vSphere データストアの moRef を指定します。たとえば、f2737930-b567-451a-9ceb-2887f6207009 です。moRef を取得するには、VMware vSphere moRef の取得 を参照してください。
  2. オプション: Hook マニフェストを作成し、Plan CR で指定されたフェーズ中に仮想マシンでカスタムコードを実行します。

    $  cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: Hook
    metadata:
      name: <hook>
      namespace: <namespace>
    spec:
      image: quay.io/kubev2v/hook-runner
      serviceAccount:<service account> 
    1
    
      playbook: |
        LS0tCi0gbm... 
    2
    
    EOF
    1
    オプション: Red Hat OpenShift サービスアカウント。serviceAccount パラメーターを使用して、クラスターリソースを変更します。
    2
    Base64 でエンコードされた Ansible Playbook。Playbook を指定する場合、image には ansible-runner が含まれている必要があります。
    注記

    デフォルトの hook-runner イメージを使用するか、カスタムイメージを指定することができます。カスタムイメージを指定する場合は、Playbook を指定する必要はありません。

  1. 次のコマンドを入力して、MTV 移行に使用される転送ネットワークのネットワーク接続定義 (NAD) を作成します。

    この定義を使用して、Dynamic Host Configuration Protocol (DHCP) から、または静的に、インターフェイスの IP アドレスを設定します。

    IP アドレスを設定すると、インターフェイスが設定されたゲートウェイに到達できるようになります。

    $ oc edit NetworkAttachmentDefinitions <name_of_the_NAD_to_edit>
    apiVersion: k8s.cni.cncf.io/v1
    kind: NetworkAttachmentDefinition
    metadata:
      name: <name_of_transfer_network>
      namespace: <namespace>
      annotations:
        forklift.konveyor.io/route: <IP_address>
  2. 移行の Plan マニフェストを作成します。

    $ cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: Plan
    metadata:
      name: <plan> 
    1
    
      namespace: <namespace>
    spec:
      warm: false 
    2
    
      provider:
        source:
          name: <source_provider>
          namespace: <namespace>
        destination:
          name: <destination_provider>
          namespace: <namespace>
      map: 
    3
    
        network: 
    4
    
          name: <network_map> 
    5
    
          namespace: <namespace>
        storage: 
    6
    
          name: <storage_map> 
    7
    
          namespace: <namespace>
      preserveStaticIPs: 
    8
    
      networkNameTemplate: <network_interface_template> 
    9
    
      pvcNameTemplate: <pvc_name_template> 
    10
    
      pvcNameTemplateUseGenerateName: true 
    11
    
      skipGuestConversion: false 
    12
    
      targetNamespace: <target_namespace>
      useCompatibilityMode: true 
    13
    
      volumeNameTemplate: <volume_name_template> 
    14
    
      vms: 
    15
    
        - id: <source_vm1> 
    16
    
        - name: <source_vm2>
          networkNameTemplate: <network_interface_template_for_this_vm> 
    17
    
          pvcNameTemplate: <pvc_name_template_for_this_vm> 
    18
    
          volumeNameTemplate: <volume_name_template_for_this_vm> 
    19
    
          targetName: <target_name> 
    20
    
          hooks: 
    21
    
            - hook:
                namespace: <namespace>
                name: <hook> 
    22
    
              step: <step> 
    23
    
    
    EOF
    1
    Plan CR の名前を指定します。
    2
    移行がウォーム (true) かコールド (false) かを指定します。Migration マニフェストで cutover パラメーターの値を指定せずにウォームマイグレーションを指定すると、プレコピーステージのみが実行します。
    3
    計画ごとにネットワークマップとストレージマップを 1 つだけ指定します。
    4
    移行する仮想マシンがネットワークに割り当てられていない場合でも、ネットワークマッピングを指定します。この場合、マッピングは空にできます。
    5
    NetworkMap CR の名前を指定します。
    6
    移行する仮想マシンにディスクイメージが割り当てられていない場合でも、ストレージマッピングを指定します。この場合、マッピングは空にできます。
    7
    StorageMap CR の名前を指定します。
    8
    デフォルトでは、仮想ネットワークインターフェイスコントローラー (vNIC) は移行プロセス中に変更されます。その結果、ゲスト仮想マシンのインターフェイス名にリンクされた静的 IP アドレスで設定された vNIC は、IP アドレスを失います。これを回避するには、preserveStaticIPstrue に設定します。MTV は、vNIC プロパティーが欠落している仮想マシンに関する警告メッセージを発行します。不足している vNIC プロパティーを取得するには、vSphere で該当する仮想マシンを実行して、vNIC プロパティーが MTV に報告されるようにします。
    9
    オプション。計画に含まれる仮想マシンのネットワークインターフェイス名のテンプレートを指定します。テンプレートは Go テンプレート構文に準拠し、次の変数にアクセスできます。
    • .NetworkName: ターゲットネットワークが multus の場合は、Multus ネットワーク接続定義の名前を追加します。それ以外の場合は、この変数を空のままにします。
    • .NetworkNamespace: ターゲットネットワークが multus の場合、Multus ネットワーク接続定義が配置されている namespace を追加します。
    • .NetworkType: ネットワークタイプを指定します。オプション: multus または pod
    • .NetworkIndex: ネットワークインターフェイスの連続インデックス (0-based)。

    • "net-{{.NetworkIndex}}"
    • {{if eq .NetworkType "pod"}}pod{{else}}multus-{{.NetworkIndex}}{{end}}"

      変数名は 63 文字以内でなければなりません。このルールは、ネットワーク名ネットワークテンプレート、PVC 名テンプレート、仮想マシン名テンプレート、およびボリューム名テンプレートに適用されます。

    10
    オプション。計画の永続ボリューム要求 (PVC) 名のテンプレートを指定します。テンプレートは Go テンプレート構文に準拠し、次の変数にアクセスできます。
    • .VmName: 仮想マシンの名前。
    • .PlanName: 移行計画の名前。
    • .DiskIndex: ディスクの初期ボリュームインデックス。
    • .RootDiskIndex: ルートディスクのインデックス。
    • .Shared: オプション: 共有ボリュームの場合は true、非共有ボリュームの場合は false

    • "{{.VmName}}-disk-{{.DiskIndex}}"
    • "{{if eq .DiskIndex .RootDiskIndex}}root{{else}}data{{end}}-{{.DiskIndex}}"
    • "{{if .Shared}}shared-{{end}}{{.VmName}}-{{.DiskIndex}}"
    11
    オプション:
    • true に設定すると、MTV は、すべての PVC に一意の名前が付けられるよう、ランダムに生成された 1 つ以上の英数字を PVC の名前に追加します。
    • false に設定されている場合、pvcNameTemplate を指定すると、MTV は PVC の名前にそのような文字を追加しません。

      警告

      pvcNameTemplateUseGenerateNamefalse に設定すると、生成された PVC 名が一意でなくなり、競合が発生する可能性があります。

    12
    virt-v2v ツールを使用して移行前に仮想マシンを変換するかどうかを決定します。これにより、仮想マシンは OpenShift Virtualization と互換性を持つようになります。
    • デフォルト値の false に設定すると、MTV は virt-v2v を使用して仮想マシンを移行します。
    • true に設定すると、MTV は仮想マシンを最初に変換せずにコピーする raw コピーモードを使用して仮想マシンを移行します。

      raw コピーモードでは、仮想マシンを virt-v2v で変換せずにコピーします。これにより、変換が高速化され、さまざまなオペレーティングシステムを実行している仮想マシンの移行が可能になるほか、Linux Unified Key Setup (LUKS) を使用して暗号化されたディスクを鍵なしで移行できるようになります。ただし、raw コピーモードを使用して移行した仮想マシンは、OpenShift Virtualization で正しく機能しない可能性があります。virt-v2v の詳細は、MTV での virt-v2v ツールの使用方法 を参照してください。

    13
    skipGuestConversiontrue の場合、つまり移行に raw コピーモードが使用される場合に、移行で VirtIO デバイスを使用するか、互換デバイス (SATA バス、E1000E NIC) を使用するかを決定します。skipGuestConversionfalse の場合、virt-v2v 変換では常に VirtIO デバイスが使用されるため、useCompatibilityMode の設定は効果がありません。
    • デフォルト設定の true に設定すると、MTV は移行プロセスで互換性デバイス (SATA バス、E1000E NIC) を使用して、移行後に仮想マシンを起動できるようにします。
    • false に設定すると、MTV は移行プロセスで高性能 VirtIO デバイスを使用し、virt-v2v は移行後に仮想マシンを起動できるようにします。このオプションを使用する前に、移行元仮想マシンに VirtIO ドライバーがすでにインストールされていることを確認してください。
    14
    オプション: 計画に含まれる仮想マシンのボリュームインターフェイス名のテンプレートを指定します。テンプレートは Go テンプレート構文に準拠し、次の変数にアクセスできます。
    • .PVCName: このボリュームを使用して仮想マシンにマウントされた PVC の名前。
    • .VolumeIndex: ボリュームインターフェイスの連続インデックス (0-based)。

    • "disk-{{.VolumeIndex}}"
    • "pvc-{{.PVCName}}"
    15
    id パラメーターまたは name パラメーターのいずれかを使用して、移行元仮想マシンを指定できます。
    16
    VMware vSphere 仮想マシンの moRef を指定します。moRef を取得するには、VMware vSphere moRef の取得 を参照してください。
    17
    オプション: 特定の仮想マシンのネットワークインターフェイス名を指定します。spec:networkNameTemplate で設定された値をオーバーライドします。変数と例は callout 9 と同じです。
    18
    オプション: 特定の仮想マシンの PVC 名を指定します。spec:pvcNameTemplate で設定された値をオーバーライドします。変数と例は callout 10 と同じです。
    19
    オプション: 特定の仮想マシンのボリューム名を指定します。spec:volumeNameTemplate で設定された値をオーバーライドします。変数と例は callout 14 と同じです。
    20
    オプション: MTV はターゲット仮想マシンの名前を自動的に生成します。この名前は、このパラメーターを使用して新しい名前を入力すると、オーバーライドできます。入力する名前は一意であり、有効な Kubernetes サブドメインである必要があります。そうでない場合、移行が自動的に失敗します。
    21
    オプション: 仮想マシンに最大 2 つのフックを指定します。各フックは個別の移行ステップで実行する必要があります。
    22
    Hook CR の名前を指定します。
    23
    使用できる値は、移行計画が開始される前の PreHook、または移行が完了した後の PostHook です。
    重要

    VMware 7 仮想マシンを CentOS 7.9 を使用する OpenShift 4.13+ プラットフォームに移行すると、ネットワークインターフェイスの名前が変更され、仮想マシンの静的 IP 設定が機能しなくなります。

  3. Plan CR を実行するための Migration マニフェストを作成します。

    $ cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: Migration
    metadata:
      name: <name_of_migration_cr>
      namespace: <namespace>
    spec:
      plan:
        name: <name_of_plan_cr>
        namespace: <namespace>
      cutover: <optional_cutover_time>
    EOF
    注記

    カットオーバー時間を指定する場合は、UTC 時間オフセットを含む ISO 8601 形式を使用します (例: 2024-04-04T01:23:45.678+09:00)。

重要

forklift-controller が移行計画の調整に常に失敗し、その後 HTTP 500 エラーを返すという問題があります。この問題は、仮想マシン (VM) 上でのみユーザー権限を指定した場合に発生します。

MTV では、仮想マシンで使用されるストレージ、ネットワーク、スイッチなどを含むデータセンターレベルで権限を追加する必要があります。次に、権限を子要素に伝播する必要があります。

このレベルの権限を追加しない場合は、必要な仮想マシンホスト上の各オブジェクトに権限を手動で追加する必要があります。

12.2.1. VMware vSphere moRef の取得

コマンドラインインターフェイスから Migration Toolkit for Virtualization (MTV) を使用して VMware vSphere ソースプロバイダーで仮想マシンを移行する場合は、データストア、ネットワーク、仮想マシンなど、vSphere 内の特定のエンティティーのマネージドオブジェクト参照 (moRef) を知っておく必要があります。

インベントリーサービスから 1 つ以上の vSphere エンティティーの moRef を取得できます。その後、各 moRef を別のエンティティーの moRef を取得するための参照として使用できます。

手順

  1. プロジェクトのルートを取得します。

    oc get route -n openshift-mtv
  2. Inventory サービスルートを取得します。

    $ oc get route <inventory_service> -n openshift-mtv
  3. アクセストークンを取得します。

    $ TOKEN=$(oc whoami -t)
  4. VMware vSphere プロバイダーの moRef を取得します。

    $ curl -H "Authorization: Bearer $TOKEN"  https://<inventory_service_route>/providers/vsphere -k
  5. VMware vSphere ソースプロバイダーのデータストアを取得します。

    $ curl -H "Authorization: Bearer $TOKEN"  https://<inventory_service_route>/providers/vsphere/<provider id>/datastores/ -k

    出力例

    [
      {
        "id": "datastore-11",
        "parent": {
          "kind": "Folder",
          "id": "group-s5"
        },
        "path": "/Datacenter/datastore/v2v_general_porpuse_ISCSI_DC",
        "revision": 46,
        "name": "v2v_general_porpuse_ISCSI_DC",
        "selfLink": "providers/vsphere/01278af6-e1e4-4799-b01b-d5ccc8dd0201/datastores/datastore-11"
      },
      {
        "id": "datastore-730",
        "parent": {
          "kind": "Folder",
          "id": "group-s5"
        },
        "path": "/Datacenter/datastore/f01-h27-640-SSD_2",
        "revision": 46,
        "name": "f01-h27-640-SSD_2",
        "selfLink": "providers/vsphere/01278af6-e1e4-4799-b01b-d5ccc8dd0201/datastores/datastore-730"
      },
     ...

この例では、データストア v2v_general_porpuse_ISCSI_DC の moRef は datastore-11 であり、データストア f01-h27-640-SSD_2 の moRef は datastore-730 です。

12.2.2. 共有ディスクを持つ仮想マシンの移行

Migration Toolkit for Virtualization (MTV) を使用して、共有ディスクを持つ VMware 仮想マシン (VM) を移行できます。この機能はコールドマイグレーションでのみ使用でき、共有ブートディスクでは使用できません。

共有ディスクは、複数の仮想マシンにアタッチされ、multi-writer オプションを使用するディスクです。これらの特性があるため、共有ディスクの移行は困難です。

特定の状況では、仮想マシン内のアプリケーションに共有ディスクが必要になります。データベースとクラスター化されたファイルシステムは、共有ディスクの主なユースケースです。

MTV バージョン 2.7.11 以降には、Plan カスタムリソース (CR) に migrateSharedDisks というパラメーターが含まれています。これは、MTV に共有ディスクを移行するか、移行中にスキップするかを以下のように指示します。

  • true に設定すると、MTV は共有ディスクを移行します。MTV は、virt-v2v を使用し、共有永続ボリューム要求 (PVC) にラベルを付ける、通常のコールドマイグレーションフローを使用します。
  • false に設定すると、MTV は共有ディスクをスキップします。MTV はディスク転送に KubeVirt Containerized-Data-Importer (CDI) を使用します。

ディスク転送後、MTV は、すでに共有されている PVC とすでに移行されている共有ディスクを自動的に見つけて、それらを仮想マシンにアタッチしようとします。

migrateSharedDisks は、デフォルトで true に設定されています。

共有ディスクを持つ仮想マシンを正常に移行するには、次のように 2 つの Plan CR を作成します。

  • 1 番目では、migrateSharedDiskstrue に設定します。

    MTV は以下を移行します。

    • すべての共有ディスク。
    • 共有ディスクごとに、アタッチされている仮想マシンを 1 つ。可能であれば、複数の仮想マシンに接続されている共有ディスクが計画に含まれないように仮想マシンを選択してください。詳しい説明は、次の図を参照してください。
    • 計画で選択した仮想マシンに接続されているすべての非共有ディスク。
  • 2 番目では、migrateSharedDisksfalse に設定します。

    MTV は以下を移行します。

    • その他すべての仮想マシン。
    • 2 番目の Plan CR に含まれる仮想マシンの非共有ディスク。

MTV は共有ディスクを持つ仮想マシンを移行するときに、その共有ディスクがすでに移行されているかどうかをチェックしません。したがって、各共有ディスクが 1 回だけ移行されるように、2 つの Plan CR にそれぞれ仮想マシンを割り当てることが重要です。

Plan CR に仮想マシンと共有ディスクを割り当てる方法は、次の 2 つの図を参照してください。どちらも、migrateSharedDisksplan1 では true に設定され、plan2 では false に設定されています。

最初の図では、仮想マシンと共有ディスクが正しく割り当てられています。

図12.1 正しく割り当てられた仮想マシンと共有ディスクの例

移行成功例

plan1 は、仮想マシン 2 と 4、共有ディスク 1、2、3、および仮想マシン 2 と 4 の非共有ディスクを移行します。仮想マシン 2 と 4 は、すべての共有ディスクにそれぞれ 1 回接続するため、この計画に含まれています。

plan2 は、仮想マシン 1 と 3、およびそれらの非共有ディスクを移行します。plan2 は、migrateSharedDisksfalse に設定されているため、仮想マシン 1 および 3 に接続されている共有ディスクを移行しません。

MTV は各仮想マシンとそのディスクを次のように移行します。

  1. plan1 より:

    1. 仮想マシン 3、共有ディスク 1 と 2、仮想マシン 3 に接続された非共有ディスク。
    2. 仮想マシン 4、共有ディスク 3、仮想マシン 4 に接続された非共有ディスク。
  2. plan2 より:

    1. 仮想マシン 1 とそれに接続された非共有ディスク。
    2. 仮想マシン 2 とそれに接続された非共有ディスク。

その結果、仮想マシン 2 と 4、すべての共有ディスク、すべての非共有ディスクが移行されますが、移行されるのは 1 回だけです。MTV は、すべての仮想マシンをディスク (共有ディスクを含む) に再接続できます。

2 番目の図では、仮想マシンと共有ディスクが正しく割り当てられていません。

図12.2 誤って割り当てられた仮想マシンと共有ディスクの例

共有ディスクの複雑な循環依存関係

この場合、MTV は各仮想マシンとそのディスクを次のように移行します。

  1. plan1 より:

    1. 仮想マシン 2、共有ディスク 1 と 2、仮想マシン 2 に接続された非共有ディスク。
    2. 仮想マシン 3、共有ディスク 2 と 3、仮想マシン 3 に接続された非共有ディスク。
  2. plan2 より:

    1. 仮想マシン 1 とそれに接続された非共有ディスク。
    2. 仮想マシン 4 とそれに接続された非共有ディスク。

この移行は "成功" しますが、問題が発生します。共有ディスク 2 は、最初の Plan CR によって 2 回移行されます。この問題は、手順の後に記載されている既知の問題セクションで説明されている 2 つの回避策のいずれかを使用することで解決できます。

手順

  1. MTV で、共有ディスク、それらに接続されている仮想マシンの最小数、それらの仮想マシンの非共有ディスクの移行計画を作成します。
  2. VMware クラスターで、共有ディスクに接続されているすべての仮想マシンの電源をオフにします。
  3. Red Hat OpenShift Web コンソールで、Migration > Plans for virtualization をクリックします。
  4. 計画を選択します。

    Plan details ページが開きます。

  5. 計画の YAML タブをクリックします。
  6. migrateSharedDiskstrue に設定されていることを確認します。

    migrateSharedDisks が true に設定された Plan CR の例

    apiVersion: forklift.konveyor.io/v1beta1
    kind: Plan
     name: transfer-shared-disks
     namespace: openshift-mtv
    spec:
     map:
       network:
         apiVersion: forklift.konveyor.io/v1beta1
         kind: NetworkMap
         name: vsphere-7gxbs
         namespace: openshift-mtv
         uid: a3c83db3-1cf7-446a-b996-84c618946362
       storage:
         apiVersion: forklift.konveyor.io/v1beta1
         kind: StorageMap
         name: vsphere-mqp7b
         namespace: openshift-mtv
         uid: 20b43d4f-ded4-4798-b836-7c0330d552a0
     migrateSharedDisks: true
     provider:
       destination:
         apiVersion: forklift.konveyor.io/v1beta1
         kind: Provider
         name: host
         namespace: openshift-mtv
         uid: abf4509f-1d5f-4ff6-b1f2-18206136922a
       source:
         apiVersion: forklift.konveyor.io/v1beta1
         kind: Provider
         name: vsphere
         namespace: openshift-mtv
         uid: be4dc7ab-fedd-460a-acae-a850f6b9543f
     targetNamespace: openshift-mtv
     vms:
       - id: vm-69
         name: vm-1-with-shared-disks

  7. 最初の計画の移行を開始し、完了するまで待ちます。
  8. 2 番目の Plan CR を作成して、他のすべての仮想マシンとそれらの非共有ディスクを、最初の Plan CR と同じターゲット namespace に移行します。
  9. Red Hat OpenShift Web コンソールの Plans for virtualization ページで、新しい計画を選択します。

    Plan details ページが開きます。

  10. 計画の YAML タブをクリックします。
  11. migrateSharedDisksfalse に設定します。

    migrateSharedDisks を false に設定した Plan CR の例

    apiVersion: forklift.konveyor.io/v1beta1
    kind: Plan
     name: skip-shared-disks
     namespace: openshift-mtv
    spec:
     map:
       network:
         apiVersion: forklift.konveyor.io/v1beta1
         kind: NetworkMap
         name: vsphere-7gxbs
         namespace: openshift-mtv
         uid: a3c83db3-1cf7-446a-b996-84c618946362
       storage:
         apiVersion: forklift.konveyor.io/v1beta1
         kind: StorageMap
         name: vsphere-mqp7b
         namespace: openshift-mtv
         uid: 20b43d4f-ded4-4798-b836-7c0330d552a0
     migrateSharedDisks: false
     provider:
       destination:
         apiVersion: forklift.konveyor.io/v1beta1
         kind: Provider
         name: host
         namespace: openshift-mtv
         uid: abf4509f-1d5f-4ff6-b1f2-18206136922a
       source:
         apiVersion: forklift.konveyor.io/v1beta1
         kind: Provider
         name: vsphere
         namespace: openshift-mtv
         uid: be4dc7ab-fedd-460a-acae-a850f6b9543f
     targetNamespace: openshift-mtv
     vms:
       - id: vm-71
         name: vm-2-with-shared-disks

  12. 2 番目の計画の移行を開始し、完了するまで待ちます。
  13. すべての共有ディスクが移行前と同じ仮想マシンに接続されており、重複していないことを確認します。問題が発生した場合は、この後に記載されている既知の問題の説明を参照してください。
12.2.2.1. 既知の問題: 共有ディスクの循環依存関係

共有ディスクを移行する際の既知の問題として、循環的な共有ディスク依存関係を持つ仮想マシン (VM) は正常に移行できません。

  • 説明: migrateSharedDiskstrue に設定されている場合、MTV は、共有ディスクが移行済みかどうかを確認しないまま、計画に含まれる各仮想マシンとそれに接続されている共有ディスクを 1 つずつ移行します。

2 つの仮想マシンが 1 つのディスクを共有する場合、問題はありません。MTV は共有ディスクを転送し、移行後に 2 つの仮想マシンを共有ディスクに接続します。

ただし、3 つ以上の仮想マシン間で共有ディスクの循環依存関係がある場合、MTV は共有ディスクの 1 つを複製するか省略します。次の図は、この問題を最も単純化した場合を示しています。

図12.3 循環共有ディスクの単純な例

単純な共有ディスクの循環依存関係

この場合、仮想マシンと共有ディスクを同じ Plan CR 内で移行することはできません。この問題は、migrateSharedDisks と 2 つの Plan CR を使用して解決できますが、共有ディスクを持つ仮想マシンの移行時に回避する必要がある基本的な問題を示しています。

12.2.2.2. 共有ディスク依存関係を持つ仮想マシンの回避策

前述したように、各共有ディスクが 1 回ずつ移行される 2 つの Plan CR を作成することが重要です。ただし、移行によって共有ディスクが重複したり転送されなかったりする場合は、次のいずれかの回避策を使用できます。

  • 共有ディスクの 1 つを複製する
  • 共有ディスクの 1 つを "削除" する
12.2.2.2.1. 共有ディスクを複製する

次の図では、仮想マシン 2 と 3 は最初の計画で共有ディスクを使用して移行され、仮想マシン 1 は 2 番目の計画で移行されます。これにより循環依存関係は解消されますが、この回避策には共有ディスク 3 が複製されてしまうという欠点があります。解決策は、重複した PV を削除し、仮想マシン 1 を再度移行することです。

図12.4 共有ディスクが複製される

共有ディスクを複製する

利点: 移行元仮想マシンは影響を受けません。

欠点: 1 つの共有ディスクが 2 回転送されるため、移行後に重複したディスクを手動で削除し、Red Hat OpenShift で仮想マシン 3 を共有ディスク 3 に再接続する必要があります。

12.2.3. コマンドラインインターフェイスからの移行のキャンセル

移行の進行中に、コマンドラインインターフェイス (CLI) を使用して、移行全体または特定の仮想マシン (VM) の移行をキャンセルできます。

12.2.3.1. コマンドラインインターフェイスから移行全体をキャンセルする

移行の進行中に、コマンドラインインターフェイス (CLI) を使用して移行全体をキャンセルできます。

手順

  • Migration CR を削除します。

    $ oc delete migration <migration> -n <namespace> 
    1
    1
    Migration CR の名前を指定します。
12.2.3.2. コマンドラインインターフェイスから特定の仮想マシンの移行をキャンセルする

移行の進行中に、コマンドラインインターフェイス (CLI) を使用して特定の仮想マシン (VM) の移行をキャンセルできます。

手順

  1. 次の例に従って、Migration マニフェストの spec.cancel ブロックに特定の仮想マシンを追加します。

    $ cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: Migration
    metadata:
      name: <migration>
      namespace: <namespace>
    ...
    spec:
      cancel:
      - id: vm-102 
    1
    
      - id: vm-203
        name: rhel8-vm
    EOF
    1
    id キーまたは name キーを使用して仮想マシンを指定できます。

    id キーの値は、VMware 仮想マシンの場合は Managed Object Reference、RHV 仮想マシンの場合は VM UUID です。

  2. 次の例に従って、Migration カスタムリソース (CR) を取得し、残りの仮想マシンの進行状況を監視します。

    $ oc get migration/<migration> -n <namespace> -o yaml

12.3. Red Hat Virtualization 移行元プロバイダーからの移行

コマンドラインインターフェイス (CLI) を使用して、Red Hat Virtualization (RHV) の移行元プロバイダーから移行できます。

前提条件

ダイレクト LUN ディスクを使用して仮想マシンを移行する場合は、仮想マシン実行先の OpenShift Virtualization クラスター内のノードがバックエンドストレージにアクセスできることを確認してください。

注記
  • 移行元プロバイダーから移行先プロバイダーに コピーされる ディスクイメージとは異なり、LUN は移行元プロバイダーの仮想マシンから 切り離され ますが、削除 されず、ターゲットプロバイダーで作成された仮想マシン (VM) にアタッチされます。
  • 移行元プロバイダーへのフォールバックが必要な場合に備えて、移行中に LUN は移行元プロバイダーから削除されません。ただし、LUN を移行元プロバイダーの仮想マシンに再接続する前に、LUN がターゲット環境上の仮想マシンによって同時に使用されていないことを確認してください。同時に使用されていると、データの破損が発生する可能性があります。

手順

  1. 移行元プロバイダーの認証情報の Secret マニフェストを作成します。

    $ cat << EOF | oc apply -f -
    apiVersion: v1
    kind: Secret
    metadata:
      name: <secret>
      namespace: <namespace>
      ownerReferences: 
    1
    
        - apiVersion: forklift.konveyor.io/v1beta1
          kind: Provider
          name: <provider_name>
          uid: <provider_uid>
      labels:
        createdForProviderType: ovirt
        createdForResourceType: providers
    type: Opaque
    stringData:
      user: <user> 
    2
    
      password: <password> 
    3
    
      insecureSkipVerify: <"true"/"false"> 
    4
    
      cacert: | 
    5
    
        <ca_certificate>
      url: <api_end_point> 
    6
    
    EOF
    1
    ownerReferences セクションはオプションです。
    2
    RHV Manager ユーザーを指定します。
    3
    ユーザーパスワードを指定します。
    4
    証明書の検証をスキップするには "true" を指定し、証明書を検証するには "false" を指定します。指定されていない場合はデフォルトで "false" になります。証明書の検証をスキップすると、セキュアでない移行が続行され、証明書は不要になります。セキュアではない移行とは、転送されたデータがセキュアではない接続を介して送信され、機密性の高いデータが公開される可能性があることを意味します。
    5
    サードパーティーの証明書に置き換えられていない限り、Manager CA 証明書を入力します。その場合は、Manager Apache CA 証明書を入力します。Manager CA 証明書は、https://<engine_host>/ovirt-engine/services/pki-resource?resource=ca-certificate&format=X509-PEM-CA で取得できます。
    6
    API エンドポイント URL を指定します (例: https://<engine_host>/ovirt-engine/api)。
  1. 移行元プロバイダーの Provider マニフェストを作成します。

    $ cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: Provider
    metadata:
      name: <source_provider>
      namespace: <namespace>
    spec:
      type: ovirt
      url: <api_end_point> 
    1
    
      secret:
        name: <secret> 
    2
    
        namespace: <namespace>
    EOF
    1
    API エンドポイントの URL を指定します (例: https://<engine_host>/ovirt-engine/api)
    2
    プロバイダー Secret CR の名前を指定します。
  1. 移行元ネットワークと移行先ネットワークをマッピングする NetworkMap マニフェストを作成します。

    $  cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: NetworkMap
    metadata:
      name: <network_map>
      namespace: <namespace>
    spec:
      map:
        - destination:
            name: <network_name>
            type: pod 
    1
    
          source: 
    2
    
            id: <source_network_id>
            name: <source_network_name>
        - destination:
            name: <network_attachment_definition> 
    3
    
            namespace: <network_attachment_definition_namespace> 
    4
    
            type: multus
          source:
            id: <source_network_id>
            name: <source_network_name>
      provider:
        source:
          name: <source_provider>
          namespace: <namespace>
        destination:
          name: <destination_provider>
          namespace: <namespace>
    EOF
    1
    使用できる値は pod および multus です。
    2
    移行元のネットワークを指定するには、id または name パラメーターのいずれかを使用できます。id には、RHV ネットワークの Universal Unique ID (UUID) を指定します。
    3
    追加の OpenShift Virtualization ネットワークごとにネットワークアタッチメント定義を指定します。
    4
    typemultus の場合に限り必要です。OpenShift Virtualization のネットワークアタッチメント定義の namespace を指定します。
  1. StorageMap マニフェストを作成し、移行元ストレージと移行先ストレージをマッピングします。

    $ cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: StorageMap
    metadata:
      name: <storage_map>
      namespace: <namespace>
    spec:
      map:
        - destination:
            storageClass: <storage_class>
            accessMode: <access_mode> 
    1
    
          source:
            id: <source_storage_domain> 
    2
    
      provider:
        source:
          name: <source_provider>
          namespace: <namespace>
        destination:
          name: <destination_provider>
          namespace: <namespace>
    EOF
    1
    使用できる値は ReadWriteOnce および ReadWriteMany です。
    2
    RHV ストレージドメイン UUID を指定します。たとえば、f2737930-b567-451a-9ceb-2887f6207009 です。
  2. オプション: Hook マニフェストを作成し、Plan CR で指定されたフェーズ中に仮想マシンでカスタムコードを実行します。

    $  cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: Hook
    metadata:
      name: <hook>
      namespace: <namespace>
    spec:
      image: quay.io/kubev2v/hook-runner
      serviceAccount:<service account> 
    1
    
      playbook: |
        LS0tCi0gbm... 
    2
    
    EOF
    1
    オプション: Red Hat OpenShift サービスアカウント。serviceAccount パラメーターを使用して、クラスターリソースを変更します。
    2
    Base64 でエンコードされた Ansible Playbook。Playbook を指定する場合、image には ansible-runner が含まれている必要があります。
    注記

    デフォルトの hook-runner イメージを使用するか、カスタムイメージを指定することができます。カスタムイメージを指定する場合は、Playbook を指定する必要はありません。

  1. 次のコマンドを入力して、MTV 移行に使用される転送ネットワークのネットワーク接続定義 (NAD) を作成します。

    この定義を使用して、Dynamic Host Configuration Protocol (DHCP) から、または静的に、インターフェイスの IP アドレスを設定します。

    IP アドレスを設定すると、インターフェイスが設定されたゲートウェイに到達できるようになります。

    $ oc edit NetworkAttachmentDefinitions <name_of_the_NAD_to_edit>
    apiVersion: k8s.cni.cncf.io/v1
    kind: NetworkAttachmentDefinition
    metadata:
      name: <name_of_transfer_network>
      namespace: <namespace>
      annotations:
        forklift.konveyor.io/route: <IP_address>
  2. 移行の Plan マニフェストを作成します。

    $ cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: Plan
    metadata:
      name: <plan> 
    1
    
      namespace: <namespace>
      preserveClusterCpuModel: true 
    2
    
    spec:
      warm: false 
    3
    
      provider:
        source:
          name: <source_provider>
          namespace: <namespace>
        destination:
          name: <destination_provider>
          namespace: <namespace>
      map: 
    4
    
        network: 
    5
    
          name: <network_map> 
    6
    
          namespace: <namespace>
        storage: 
    7
    
          name: <storage_map> 
    8
    
          namespace: <namespace>
      targetNamespace: <target_namespace>
      vms: 
    9
    
        - id: <source_vm1> 
    10
    
        - name: <source_vm2>
          hooks: 
    11
    
            - hook:
                namespace: <namespace>
                name: <hook> 
    12
    
              step: <step> 
    13
    
    EOF
    1
    Plan CR の名前を指定します。
    2
    以下の注を参照してください。
    3
    移行がウォームまたはコールドであるかどうかを指定します。Migration マニフェストで cutover パラメーターの値を指定せずにウォームマイグレーションを指定すると、プレコピーステージのみが実行します。
    4
    計画ごとにネットワークマップとストレージマップを 1 つだけ指定します。
    5
    移行する仮想マシンがネットワークに割り当てられていない場合でも、ネットワークマッピングを指定します。この場合、マッピングは空にできます。
    6
    NetworkMap CR の名前を指定します。
    7
    移行する仮想マシンにディスクイメージが割り当てられていない場合でも、ストレージマッピングを指定します。この場合、マッピングは空にできます。
    8
    StorageMap CR の名前を指定します。
    9
    id パラメーターまたは name パラメーターのいずれかを使用して、移行元仮想マシンを指定できます。
    10
    RHV 仮想マシンの UUID を指定します。
    11
    オプション: 仮想マシンに最大 2 つのフックを指定します。各フックは個別の移行ステップで実行する必要があります。
    12
    Hook CR の名前を指定します。
    13
    使用できる値は、移行計画が開始される前の PreHook、または移行が完了した後の PostHook です。
    注記
    • 移行されたマシンにカスタム CPU モデルが設定されている場合、preserveClusterCpuModel の設定に関係なく、移行先クラスターでもその CPU モデルが設定されます。
    • 移行されたマシンにカスタム CPU モデルが 設定されていない 場合:

      • preserveClusterCpuModel が 'true` に設定されている場合、MTV はクラスターの設定に基づいて、RHV で実行されている仮想マシンの CPU モデルをチェックし、移行された仮想マシンをその CPU モデルに設定します。
      • preserveClusterCpuModel が 'false` に設定されている場合、MTV は CPU タイプを設定せず、仮想マシンが移行先クラスターのデフォルトの CPU モデルで設定されます。
  3. Plan CR を実行するための Migration マニフェストを作成します。

    $ cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: Migration
    metadata:
      name: <name_of_migration_cr>
      namespace: <namespace>
    spec:
      plan:
        name: <name_of_plan_cr>
        namespace: <namespace>
      cutover: <optional_cutover_time>
    EOF
    注記

    カットオーバー時間を指定する場合は、UTC 時間オフセットを含む ISO 8601 形式を使用します (例: 2024-04-04T01:23:45.678+09:00)。

12.3.1. コマンドラインインターフェイスからの移行のキャンセル

移行の進行中に、コマンドラインインターフェイス (CLI) を使用して、移行全体または特定の仮想マシン (VM) の移行をキャンセルできます。

12.3.1.1. コマンドラインインターフェイスから移行全体をキャンセルする

移行の進行中に、コマンドラインインターフェイス (CLI) を使用して移行全体をキャンセルできます。

手順

  • Migration CR を削除します。

    $ oc delete migration <migration> -n <namespace> 
    1
    1
    Migration CR の名前を指定します。
12.3.1.2. コマンドラインインターフェイスから特定の仮想マシンの移行をキャンセルする

移行の進行中に、コマンドラインインターフェイス (CLI) を使用して特定の仮想マシン (VM) の移行をキャンセルできます。

手順

  1. 次の例に従って、Migration マニフェストの spec.cancel ブロックに特定の仮想マシンを追加します。

    $ cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: Migration
    metadata:
      name: <migration>
      namespace: <namespace>
    ...
    spec:
      cancel:
      - id: vm-102 
    1
    
      - id: vm-203
        name: rhel8-vm
    EOF
    1
    id キーまたは name キーを使用して仮想マシンを指定できます。

    id キーの値は、VMware 仮想マシンの場合は Managed Object Reference、RHV 仮想マシンの場合は VM UUID です。

  2. 次の例に従って、Migration カスタムリソース (CR) を取得し、残りの仮想マシンの進行状況を監視します。

    $ oc get migration/<migration> -n <namespace> -o yaml

12.4. OpenStack 移行元プロバイダーからの移行

コマンドラインインターフェイス (CLI) を使用して、OpenStack ソースプロバイダーから移行できます。

手順

  1. 移行元プロバイダーの認証情報の Secret マニフェストを作成します。

    $ cat << EOF | oc apply -f -
    apiVersion: v1
    kind: Secret
    metadata:
      name: <secret>
      namespace: <namespace>
      ownerReferences: 
    1
    
        - apiVersion: forklift.konveyor.io/v1beta1
          kind: Provider
          name: <provider_name>
          uid: <provider_uid>
      labels:
        createdForProviderType: openstack
        createdForResourceType: providers
    type: Opaque
    stringData:
      user: <user> 
    2
    
      password: <password> 
    3
    
      insecureSkipVerify: <"true"/"false"> 
    4
    
      domainName: <domain_name>
      projectName: <project_name>
      regionName: <region_name>
      cacert: | 
    5
    
        <ca_certificate>
      url: <api_end_point> 
    6
    
    EOF
    1
    ownerReferences セクションはオプションです。
    2
    OpenStack ユーザーを指定します。
    3
    OpenStack ユーザーのパスワードを指定します。
    4
    証明書の検証をスキップするには "true" を指定し、証明書を検証するには "false" を指定します。指定されていない場合はデフォルトで "false" になります。証明書の検証をスキップすると、セキュアでない移行が続行され、証明書は不要になります。セキュアではない移行とは、転送されたデータがセキュアではない接続を介して送信され、機密性の高いデータが公開される可能性があることを意味します。
    5
    このフィールドが設定されておらず、skip certificate verification が無効になっている場合、MTV はシステム CA の使用を試みます。
    6
    API エンドポイント URL を指定します (例: https://<identity_service>/v3)。
  1. 移行元プロバイダーの Provider マニフェストを作成します。

    $ cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: Provider
    metadata:
      name: <source_provider>
      namespace: <namespace>
    spec:
      type: openstack
      url: <api_end_point> 
    1
    
      secret:
        name: <secret> 
    2
    
        namespace: <namespace>
    EOF
    1
    API エンドポイントの URL を指定します。
    2
    プロバイダー Secret CR の名前を指定します。
  1. 移行元ネットワークと移行先ネットワークをマッピングする NetworkMap マニフェストを作成します。

    $  cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: NetworkMap
    metadata:
      name: <network_map>
      namespace: <namespace>
    spec:
      map:
        - destination:
            name: <network_name>
            type: pod 
    1
    
          source:
    2
    
            id: <source_network_id>
            name: <source_network_name>
        - destination:
            name: <network_attachment_definition> 
    3
    
            namespace: <network_attachment_definition_namespace> 
    4
    
            type: multus
          source:
            id: <source_network_id>
            name: <source_network_name>
      provider:
        source:
          name: <source_provider>
          namespace: <namespace>
        destination:
          name: <destination_provider>
          namespace: <namespace>
    EOF
    1
    使用できる値は pod および multus です。
    2
    移行元のネットワークを指定するには、id または name パラメーターのいずれかを使用できます。id には、OpenStack ネットワークの UUID を指定します。
    3
    追加の OpenShift Virtualization ネットワークごとにネットワークアタッチメント定義を指定します。
    4
    typemultus の場合に限り必要です。OpenShift Virtualization のネットワークアタッチメント定義の namespace を指定します。
  1. StorageMap マニフェストを作成し、移行元ストレージと移行先ストレージをマッピングします。

    $ cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: StorageMap
    metadata:
      name: <storage_map>
      namespace: <namespace>
    spec:
      map:
        - destination:
            storageClass: <storage_class>
            accessMode: <access_mode> 
    1
    
          source:
            id: <source_volume_type> 
    2
    
      provider:
        source:
          name: <source_provider>
          namespace: <namespace>
        destination:
          name: <destination_provider>
          namespace: <namespace>
    EOF
    1
    使用できる値は ReadWriteOnce および ReadWriteMany です。
    2
    OpenStack volume_type UUID を指定します。たとえば、f2737930-b567-451a-9ceb-2887f6207009 です。
  2. オプション: Hook マニフェストを作成し、Plan CR で指定されたフェーズ中に仮想マシンでカスタムコードを実行します。

    $  cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: Hook
    metadata:
      name: <hook>
      namespace: <namespace>
    spec:
      image: quay.io/kubev2v/hook-runner
      serviceAccount:<service account> 
    1
    
      playbook: |
        LS0tCi0gbm... 
    2
    
    EOF
    1
    オプション: Red Hat OpenShift サービスアカウント。serviceAccount パラメーターを使用して、クラスターリソースを変更します。
    2
    Base64 でエンコードされた Ansible Playbook。Playbook を指定する場合、image には ansible-runner が含まれている必要があります。
    注記

    デフォルトの hook-runner イメージを使用するか、カスタムイメージを指定することができます。カスタムイメージを指定する場合は、Playbook を指定する必要はありません。

  1. 次のコマンドを入力して、MTV 移行に使用される転送ネットワークのネットワーク接続定義 (NAD) を作成します。

    この定義を使用して、Dynamic Host Configuration Protocol (DHCP) から、または静的に、インターフェイスの IP アドレスを設定します。

    IP アドレスを設定すると、インターフェイスが設定されたゲートウェイに到達できるようになります。

    $ oc edit NetworkAttachmentDefinitions <name_of_the_NAD_to_edit>
    apiVersion: k8s.cni.cncf.io/v1
    kind: NetworkAttachmentDefinition
    metadata:
      name: <name_of_transfer_network>
      namespace: <namespace>
      annotations:
        forklift.konveyor.io/route: <IP_address>
  2. 移行の Plan マニフェストを作成します。

    $ cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: Plan
    metadata:
      name: <plan> 
    1
    
      namespace: <namespace>
    spec:
      provider:
        source:
          name: <source_provider>
          namespace: <namespace>
        destination:
          name: <destination_provider>
          namespace: <namespace>
      map: 
    2
    
        network: 
    3
    
          name: <network_map> 
    4
    
          namespace: <namespace>
        storage: 
    5
    
          name: <storage_map> 
    6
    
          namespace: <namespace>
      targetNamespace: <target_namespace>
      vms: 
    7
    
        - id: <source_vm1> 
    8
    
        - name: <source_vm2>
          hooks: 
    9
    
            - hook:
                namespace: <namespace>
                name: <hook> 
    10
    
              step: <step> 
    11
    
    EOF
    1
    Plan CR の名前を指定します。
    2
    計画ごとにネットワークマップとストレージマップを 1 つだけ指定します。
    3
    移行する仮想マシンがネットワークに割り当てられていない場合でも、ネットワークマッピングを指定します。この場合、マッピングは空にできます。
    4
    NetworkMap CR の名前を指定します。
    5
    移行する仮想マシンにディスクイメージが割り当てられていない場合でも、ストレージマッピングを指定します。この場合、マッピングは空にできます。
    6
    StorageMap CR の名前を指定します。
    7
    id パラメーターまたは name パラメーターのいずれかを使用して、移行元仮想マシンを指定できます。
    8
    OpenStack 仮想マシン UUID を指定します。
    9
    オプション: 仮想マシンに最大 2 つのフックを指定します。各フックは個別の移行ステップで実行する必要があります。
    10
    Hook CR の名前を指定します。
    11
    使用できる値は、移行計画が開始される前の PreHook、または移行が完了した後の PostHook です。
  3. Plan CR を実行するための Migration マニフェストを作成します。

    $ cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: Migration
    metadata:
      name: <name_of_migration_cr>
      namespace: <namespace>
    spec:
      plan:
        name: <name_of_plan_cr>
        namespace: <namespace>
      cutover: <optional_cutover_time>
    EOF
    注記

    カットオーバー時間を指定する場合は、UTC 時間オフセットを含む ISO 8601 形式を使用します (例: 2024-04-04T01:23:45.678+09:00)。

12.4.1. コマンドラインインターフェイスからの移行のキャンセル

移行の進行中に、コマンドラインインターフェイス (CLI) を使用して、移行全体または特定の仮想マシン (VM) の移行をキャンセルできます。

12.4.1.1. コマンドラインインターフェイスから移行全体をキャンセルする

移行の進行中に、コマンドラインインターフェイス (CLI) を使用して移行全体をキャンセルできます。

手順

  • Migration CR を削除します。

    $ oc delete migration <migration> -n <namespace> 
    1
    1
    Migration CR の名前を指定します。
12.4.1.2. コマンドラインインターフェイスから特定の仮想マシンの移行をキャンセルする

移行の進行中に、コマンドラインインターフェイス (CLI) を使用して特定の仮想マシン (VM) の移行をキャンセルできます。

手順

  1. 次の例に従って、Migration マニフェストの spec.cancel ブロックに特定の仮想マシンを追加します。

    $ cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: Migration
    metadata:
      name: <migration>
      namespace: <namespace>
    ...
    spec:
      cancel:
      - id: vm-102 
    1
    
      - id: vm-203
        name: rhel8-vm
    EOF
    1
    id キーまたは name キーを使用して仮想マシンを指定できます。

    id キーの値は、VMware 仮想マシンの場合は Managed Object Reference、RHV 仮想マシンの場合は VM UUID です。

  2. 次の例に従って、Migration カスタムリソース (CR) を取得し、残りの仮想マシンの進行状況を監視します。

    $ oc get migration/<migration> -n <namespace> -o yaml

12.5. Open Virtual Appliance (OVA) の移行元プロバイダーからの移行

コマンドラインインターフェイス (CLI) を使用して、移行元のプロバイダーとして VMware vSphere によって作成された Open Virtual Appliance (OVA) ファイルから移行できます。

手順

  1. 移行元プロバイダーの認証情報の Secret マニフェストを作成します。

    $ cat << EOF | oc apply -f -
    apiVersion: v1
    kind: Secret
    metadata:
      name: <secret>
      namespace: <namespace>
      ownerReferences: 
    1
    
        - apiVersion: forklift.konveyor.io/v1beta1
          kind: Provider
          name: <provider_name>
          uid: <provider_uid>
      labels:
        createdForProviderType: ova
        createdForResourceType: providers
    type: Opaque
    stringData:
      url: <nfs_server:/nfs_path> 
    2
    
    EOF
    1
    ownerReferences セクションはオプションです。
    2
    ここで、nfs_server は、共有が作成されたサーバーの IP またはホスト名、nfs_path は OVA ファイルが保存されているサーバー上のパスに置き換えます。
  1. 移行元プロバイダーの Provider マニフェストを作成します。

    $ cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: Provider
    metadata:
      name: <source_provider>
      namespace: <namespace>
    spec:
      type: ova
      url:  <nfs_server:/nfs_path> 
    1
    
      secret:
        name: <secret> 
    2
    
        namespace: <namespace>
    EOF
    1
    ここで、nfs_server は、共有が作成されたサーバーの IP またはホスト名、nfs_path は OVA ファイルが保存されているサーバー上のパスに置き換えます。
    2
    プロバイダー Secret CR の名前を指定します。
  1. 移行元ネットワークと移行先ネットワークをマッピングする NetworkMap マニフェストを作成します。

    $  cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: NetworkMap
    metadata:
      name: <network_map>
      namespace: <namespace>
    spec:
      map:
        - destination:
            name: <network_name>
            type: pod 
    1
    
          source:
            id: <source_network_id> 
    2
    
        - destination:
            name: <network_attachment_definition> 
    3
    
            namespace: <network_attachment_definition_namespace> 
    4
    
            type: multus
          source:
            id: <source_network_id>
      provider:
        source:
          name: <source_provider>
          namespace: <namespace>
        destination:
          name: <destination_provider>
          namespace: <namespace>
    EOF
    1
    使用できる値は pod および multus です。
    2
    OVA ネットワーク Universal Unique ID (UUID) を指定します。
    3
    追加の OpenShift Virtualization ネットワークごとにネットワークアタッチメント定義を指定します。
    4
    typemultus の場合に限り必要です。OpenShift Virtualization のネットワークアタッチメント定義の namespace を指定します。
  1. StorageMap マニフェストを作成し、移行元ストレージと移行先ストレージをマッピングします。

    $ cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: StorageMap
    metadata:
      name: <storage_map>
      namespace: <namespace>
    spec:
      map:
        - destination:
            storageClass: <storage_class>
            accessMode: <access_mode> 
    1
    
          source:
            name:  Dummy storage for source provider <provider_name> 
    2
    
      provider:
        source:
          name: <source_provider>
          namespace: <namespace>
        destination:
          name: <destination_provider>
          namespace: <namespace>
    EOF
    1
    使用できる値は ReadWriteOnce および ReadWriteMany です。
    2
    OVA の場合、StorageMap は、OVA のすべてのディスクが関連付けられている単一のストレージのみを移行先のストレージクラスにマップできます。このため、ストレージは UI では "Dummy storage for source provider <provider_name>" と呼ばれます。YAML では、引用符なしで上記のフレーズを記述し、<provider_name> をプロバイダーの実際の名前に置き換えます。
  2. オプション: Hook マニフェストを作成し、Plan CR で指定されたフェーズ中に仮想マシンでカスタムコードを実行します。

    $  cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: Hook
    metadata:
      name: <hook>
      namespace: <namespace>
    spec:
      image: quay.io/kubev2v/hook-runner
      serviceAccount:<service account> 
    1
    
      playbook: |
        LS0tCi0gbm... 
    2
    
    EOF
    1
    オプション: Red Hat OpenShift サービスアカウント。serviceAccount パラメーターを使用して、クラスターリソースを変更します。
    2
    Base64 でエンコードされた Ansible Playbook。Playbook を指定する場合、image には ansible-runner が含まれている必要があります。
    注記

    デフォルトの hook-runner イメージを使用するか、カスタムイメージを指定することができます。カスタムイメージを指定する場合は、Playbook を指定する必要はありません。

  1. 次のコマンドを入力して、MTV 移行に使用される転送ネットワークのネットワーク接続定義 (NAD) を作成します。

    この定義を使用して、Dynamic Host Configuration Protocol (DHCP) から、または静的に、インターフェイスの IP アドレスを設定します。

    IP アドレスを設定すると、インターフェイスが設定されたゲートウェイに到達できるようになります。

    $ oc edit NetworkAttachmentDefinitions <name_of_the_NAD_to_edit>
    apiVersion: k8s.cni.cncf.io/v1
    kind: NetworkAttachmentDefinition
    metadata:
      name: <name_of_transfer_network>
      namespace: <namespace>
      annotations:
        forklift.konveyor.io/route: <IP_address>
  2. 移行の Plan マニフェストを作成します。

    $ cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: Plan
    metadata:
      name: <plan> 
    1
    
      namespace: <namespace>
    spec:
      provider:
        source:
          name: <source_provider>
          namespace: <namespace>
        destination:
          name: <destination_provider>
          namespace: <namespace>
      map: 
    2
    
        network: 
    3
    
          name: <network_map> 
    4
    
          namespace: <namespace>
        storage: 
    5
    
          name: <storage_map> 
    6
    
          namespace: <namespace>
      targetNamespace: <target_namespace>
      vms: 
    7
    
        - id: <source_vm1> 
    8
    
        - name: <source_vm2>
          hooks: 
    9
    
            - hook:
                namespace: <namespace>
                name: <hook> 
    10
    
              step: <step> 
    11
    
    EOF
    1
    Plan CR の名前を指定します。
    2
    計画ごとにネットワークマップとストレージマップを 1 つだけ指定します。
    3
    移行する仮想マシンがネットワークに割り当てられていない場合でも、ネットワークマッピングを指定します。この場合、マッピングは空にできます。
    4
    NetworkMap CR の名前を指定します。
    5
    移行する仮想マシンにディスクイメージが割り当てられていない場合でも、ストレージマッピングを指定します。この場合、マッピングは空にできます。
    6
    StorageMap CR の名前を指定します。
    7
    id パラメーターまたは name パラメーターのいずれかを使用して、移行元仮想マシンを指定できます。
    8
    OVA 仮想マシン UUID を指定します。
    9
    オプション: 仮想マシンのフックを最大 2 つ指定できます。各フックは個別の移行ステップで実行する必要があります。
    10
    Hook CR の名前を指定します。
    11
    使用できる値は、移行計画が開始される前の PreHook、または移行が完了した後の PostHook です。
  3. Plan CR を実行するための Migration マニフェストを作成します。

    $ cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: Migration
    metadata:
      name: <name_of_migration_cr>
      namespace: <namespace>
    spec:
      plan:
        name: <name_of_plan_cr>
        namespace: <namespace>
      cutover: <optional_cutover_time>
    EOF
    注記

    カットオーバー時間を指定する場合は、UTC 時間オフセットを含む ISO 8601 形式を使用します (例: 2024-04-04T01:23:45.678+09:00)。

12.5.1. コマンドラインインターフェイスからの移行のキャンセル

移行の進行中に、コマンドラインインターフェイス (CLI) を使用して、移行全体または特定の仮想マシン (VM) の移行をキャンセルできます。

12.5.1.1. コマンドラインインターフェイスから移行全体をキャンセルする

移行の進行中に、コマンドラインインターフェイス (CLI) を使用して移行全体をキャンセルできます。

手順

  • Migration CR を削除します。

    $ oc delete migration <migration> -n <namespace> 
    1
    1
    Migration CR の名前を指定します。
12.5.1.2. コマンドラインインターフェイスから特定の仮想マシンの移行をキャンセルする

移行の進行中に、コマンドラインインターフェイス (CLI) を使用して特定の仮想マシン (VM) の移行をキャンセルできます。

手順

  1. 次の例に従って、Migration マニフェストの spec.cancel ブロックに特定の仮想マシンを追加します。

    $ cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: Migration
    metadata:
      name: <migration>
      namespace: <namespace>
    ...
    spec:
      cancel:
      - id: vm-102 
    1
    
      - id: vm-203
        name: rhel8-vm
    EOF
    1
    id キーまたは name キーを使用して仮想マシンを指定できます。

    id キーの値は、VMware 仮想マシンの場合は Managed Object Reference、RHV 仮想マシンの場合は VM UUID です。

  2. 次の例に従って、Migration カスタムリソース (CR) を取得し、残りの仮想マシンの進行状況を監視します。

    $ oc get migration/<migration> -n <namespace> -o yaml

12.6. Red Hat OpenShift Virtualization 移行元プロバイダーからの移行

Red Hat OpenShift Virtualization プロバイダーは、移行元プロバイダーまたは移行先プロバイダーとして使用できます。コマンドラインインターフェイス (CLI) を使用して、OpenShift Virtualization ソースプロバイダーから移行できます。

注記

移行元プロバイダーの Red Hat OpenShift クラスターのバージョンは 4.16 以降である必要があります。

手順

  1. 移行元プロバイダーの認証情報の Secret マニフェストを作成します。

    $ cat << EOF | oc apply -f -
    apiVersion: v1
    kind: Secret
    metadata:
      name: <secret>
      namespace: <namespace>
      ownerReferences: 
    1
    
        - apiVersion: forklift.konveyor.io/v1beta1
          kind: Provider
          name: <provider_name>
          uid: <provider_uid>
      labels:
        createdForProviderType: openshift
        createdForResourceType: providers
    type: Opaque
    stringData:
      token: <token> 
    2
    
      password: <password> 
    3
    
      insecureSkipVerify: <"true"/"false"> 
    4
    
      cacert: | 
    5
    
        <ca_certificate>
      url: <api_end_point> 
    6
    
    EOF
    1
    ownerReferences セクションはオプションです。
    2
    cluster-admin 権限でサービスアカウントのトークンを指定します。tokenurl の両方が空白のままの場合、ローカル OpenShift クラスターが使用されます。
    3
    ユーザーパスワードを指定します。
    4
    証明書の検証をスキップするには "true" を指定し、証明書を検証するには "false" を指定します。指定されていない場合はデフォルトで "false" になります。証明書の検証をスキップすると、セキュアでない移行が続行され、証明書は不要になります。セキュアではない移行とは、転送されたデータがセキュアではない接続を介して送信され、機密性の高いデータが公開される可能性があることを意味します。
    5
    このフィールドが設定されておらず、skip certificate verification が無効になっている場合、MTV はシステム CA の使用を試みます。
    6
    API サーバーのエンドポイントの URL を指定します。
  1. 移行元プロバイダーの Provider マニフェストを作成します。

    $ cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: Provider
    metadata:
      name: <source_provider>
      namespace: <namespace>
    spec:
      type: openshift
      url: <api_end_point> 
    1
    
      secret:
        name: <secret> 
    2
    
        namespace: <namespace>
    EOF
    1
    API サーバーのエンドポイントの URL を指定します。
    2
    プロバイダー Secret CR の名前を指定します。
  1. 移行元ネットワークと移行先ネットワークをマッピングする NetworkMap マニフェストを作成します。

    $  cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: NetworkMap
    metadata:
      name: <network_map>
      namespace: <namespace>
    spec:
      map:
        - destination:
            name: <network_name>
            type: pod 
    1
    
          source:
            name: <network_name>
            type: pod
        - destination:
            name: <network_attachment_definition> 
    2
    
            namespace: <network_attachment_definition_namespace> 
    3
    
            type: multus
          source:
            name: <network_attachment_definition>
            namespace: <network_attachment_definition_namespace>
            type: multus
      provider:
        source:
          name: <source_provider>
          namespace: <namespace>
        destination:
          name: <destination_provider>
          namespace: <namespace>
    EOF
    1
    許可される値は podignored、および multus です。
    2
    ネットワーク名を指定します。typemultus の場合、OpenShift Virtualization ネットワークアタッチメント定義名を使用します。
    3
    typemultus の場合にのみ必須です。OpenShift Virtualization のネットワークアタッチメント定義の namespace を指定します。
  1. StorageMap マニフェストを作成し、移行元ストレージと移行先ストレージをマッピングします。

    $ cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: StorageMap
    metadata:
      name: <storage_map>
      namespace: <namespace>
    spec:
      map:
        - destination:
            storageClass: <storage_class>
            accessMode: <access_mode> 
    1
    
          source:
            name: <storage_class>
      provider:
        source:
          name: <source_provider>
          namespace: <namespace>
        destination:
          name: <destination_provider>
          namespace: <namespace>
    EOF
    1
    使用できる値は ReadWriteOnce および ReadWriteMany です。
  2. オプション: Hook マニフェストを作成し、Plan CR で指定されたフェーズ中に仮想マシンでカスタムコードを実行します。

    $  cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: Hook
    metadata:
      name: <hook>
      namespace: <namespace>
    spec:
      image: quay.io/kubev2v/hook-runner
      serviceAccount:<service account> 
    1
    
      playbook: |
        LS0tCi0gbm... 
    2
    
    EOF
    1
    オプション: Red Hat OpenShift サービスアカウント。serviceAccount パラメーターを使用して、クラスターリソースを変更します。
    2
    Base64 でエンコードされた Ansible Playbook。Playbook を指定する場合、image には ansible-runner が含まれている必要があります。
    注記

    デフォルトの hook-runner イメージを使用するか、カスタムイメージを指定することができます。カスタムイメージを指定する場合は、Playbook を指定する必要はありません。

  1. 次のコマンドを入力して、MTV 移行に使用される転送ネットワークのネットワーク接続定義 (NAD) を作成します。

    この定義を使用して、Dynamic Host Configuration Protocol (DHCP) から、または静的に、インターフェイスの IP アドレスを設定します。

    IP アドレスを設定すると、インターフェイスが設定されたゲートウェイに到達できるようになります。

    $ oc edit NetworkAttachmentDefinitions <name_of_the_NAD_to_edit>
    apiVersion: k8s.cni.cncf.io/v1
    kind: NetworkAttachmentDefinition
    metadata:
      name: <name_of_transfer_network>
      namespace: <namespace>
      annotations:
        forklift.konveyor.io/route: <IP_address>
  2. 移行の Plan マニフェストを作成します。

    $ cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: Plan
    metadata:
      name: <plan> 
    1
    
      namespace: <namespace>
    spec:
      provider:
        source:
          name: <source_provider>
          namespace: <namespace>
        destination:
          name: <destination_provider>
          namespace: <namespace>
      map: 
    2
    
        network: 
    3
    
          name: <network_map> 
    4
    
          namespace: <namespace>
        storage: 
    5
    
          name: <storage_map> 
    6
    
          namespace: <namespace>
      targetNamespace: <target_namespace>
      vms:
        - name: <source_vm>
          namespace: <namespace>
          hooks: 
    7
    
            - hook:
                namespace: <namespace>
                name: <hook> 
    8
    
              step: <step> 
    9
    
    EOF
    1
    Plan CR の名前を指定します。
    2
    計画ごとにネットワークマップとストレージマップを 1 つだけ指定します。
    3
    移行する仮想マシンがネットワークに割り当てられていない場合でも、ネットワークマッピングを指定します。この場合、マッピングは空にできます。
    4
    NetworkMap CR の名前を指定します。
    5
    移行する仮想マシンにディスクイメージが割り当てられていない場合でも、ストレージマッピングを指定します。この場合、マッピングは空にできます。
    6
    StorageMap CR の名前を指定します。
    7
    オプション: 仮想マシンに最大 2 つのフックを指定します。各フックは個別の移行ステップで実行する必要があります。
    8
    Hook CR の名前を指定します。
    9
    使用できる値は、移行計画が開始される前の PreHook、または移行が完了した後の PostHook です。
  3. Plan CR を実行するための Migration マニフェストを作成します。

    $ cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: Migration
    metadata:
      name: <name_of_migration_cr>
      namespace: <namespace>
    spec:
      plan:
        name: <name_of_plan_cr>
        namespace: <namespace>
      cutover: <optional_cutover_time>
    EOF
    注記

    カットオーバー時間を指定する場合は、UTC 時間オフセットを含む ISO 8601 形式を使用します (例: 2024-04-04T01:23:45.678+09:00)。

12.6.1. コマンドラインインターフェイスからの移行のキャンセル

移行の進行中に、コマンドラインインターフェイス (CLI) を使用して、移行全体または特定の仮想マシン (VM) の移行をキャンセルできます。

12.6.1.1. コマンドラインインターフェイスから移行全体をキャンセルする

移行の進行中に、コマンドラインインターフェイス (CLI) を使用して移行全体をキャンセルできます。

手順

  • Migration CR を削除します。

    $ oc delete migration <migration> -n <namespace> 
    1
    1
    Migration CR の名前を指定します。
12.6.1.2. コマンドラインインターフェイスから特定の仮想マシンの移行をキャンセルする

移行の進行中に、コマンドラインインターフェイス (CLI) を使用して特定の仮想マシン (VM) の移行をキャンセルできます。

手順

  1. 次の例に従って、Migration マニフェストの spec.cancel ブロックに特定の仮想マシンを追加します。

    $ cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: Migration
    metadata:
      name: <migration>
      namespace: <namespace>
    ...
    spec:
      cancel:
      - id: vm-102 
    1
    
      - id: vm-203
        name: rhel8-vm
    EOF
    1
    id キーまたは name キーを使用して仮想マシンを指定できます。

    id キーの値は、VMware 仮想マシンの場合は Managed Object Reference、RHV 仮想マシンの場合は VM UUID です。

  2. 次の例に従って、Migration カスタムリソース (CR) を取得し、残りの仮想マシンの進行状況を監視します。

    $ oc get migration/<migration> -n <namespace> -o yaml

第13章 高度な移行オプション

13.1. ウォームマイグレーションのプレコピー間隔の変更

ForkliftController カスタムリソース (CR) にパッチを適用して、スナップショットの間隔を変更できます。

手順

  • ForkliftController CR にパッチを適用します。

    $ oc patch forkliftcontroller/<forklift-controller> -n openshift-mtv -p '{"spec": {"controller_precopy_interval": <60>}}' --type=merge 
    1
    1
    プレコピーの間隔を分単位で指定します。デフォルト値は 60 です。

    forklift-controller Pod を再起動する必要はありません。

13.2. Validation サービスのカスタムルールの作成

Validation サービスは Open Policy Agent (OPA) ポリシールールを使用して、移行に対する各仮想マシン (VM) の適合性を確認します。Validation サービスは、各仮想マシンの concerns リストを生成します。これは、Provider Inventory サービスに仮想マシン属性として保存されます。Web コンソールには、プロバイダーインベントリー内の各仮想マシンの concerns が表示されます。

カスタムルールを作成して、Validation サービスのデフォルトルールセットを拡張できます。たとえば、仮想マシンに複数のディスクがあるかどうかを確認するルールを作成できます。

13.2.1. Rego ファイルについて

検証ルールは、Open Policy Agent (OPA) のネイティブクエリー言語である Rego で記述されます。ルールは、Validation Pod の /usr/share/opa/policies/io/konveyor/forklift/<provider> ディレクトリーに .rego ファイルとして保存されます。

各検証ルールは、個別の .rego ファイルに定義され、特定の条件をテストします。条件が true と評価された場合、ルールは {“category”, “label”, “assessment”} ハッシュを concerns に追加します。concerns のコンテンツは、仮想マシンのインベントリーレコードの concerns キーに追加されます。Web コンソールには、プロバイダーインベントリー内の各仮想マシンの concerns キーのコンテンツが表示されます。

次の .rego ファイルの例では、VMware 仮想マシンのクラスターで有効になっている分散リソーススケジューリングを確認します。

drs_enabled.rego の例

package io.konveyor.forklift.vmware 
1


has_drs_enabled {
    input.host.cluster.drsEnabled 
2

}

concerns[flag] {
    has_drs_enabled
    flag := {
        "category": "Information",
        "label": "VM running in a DRS-enabled cluster",
        "assessment": "Distributed resource scheduling is not currently supported by OpenShift Virtualization. The VM can be migrated but it will not have this feature in the target environment."
    }
}

1
各検証ルールはパッケージ内で定義されます。パッケージの namespace は、VMware の場合が io.konveyor.forklift.vmware、Red Hat Virtualization の場合が io.konveyor.forklift.ovirt です。
2
クエリーパラメーターは、Validation サービス JSON の input キーに基づいています。

13.2.2. デフォルトの検証ルールの確認

カスタムルールを作成する前に、Validation サービスのデフォルトルールを確認して、既存のデフォルト値を再定義するルールを作成しないようにする必要があります。

例: デフォルトのルールに default valid_input = false の行が含まれていて、default valid_input = true の行が含まれるカスタムルールを作成した場合、Validation サービスは起動しません。

手順

  1. Validation Pod のターミナルに接続します。

    $ oc rsh <validation_pod>
  2. プロバイダーの OPA ポリシーディレクトリーに移動します。

    $ cd /usr/share/opa/policies/io/konveyor/forklift/<provider> 
    1
    1
    vmware または ovirt を指定します。
  3. デフォルトポリシーを検索します。

    $ grep -R "default" *

13.2.3. 検証ルールの作成

ルールを含む設定マップカスタムリソース (CR) を Validation サービスに適用して、検証ルールを作成します。

重要
  • 既存のルールと同じ 名前 でルールを作成すると、Validation サービスは、それらのルールで OR 操作を実行します。
  • デフォルトのルールと矛盾するルールを作成すると、Validation サービスは開始しません。

検証ルールの例

検証ルールは、Provider Inventory サービスが収集する仮想マシン (VM) 属性に基づいています。

たとえば、VMware API はこのパス (MOR:VirtualMachine.config.extraConfig["numa.nodeAffinity"]) を使用して、VMware 仮想マシンに NUMA ノードアフィニティーが設定されているかどうかを確認します。

Provider Inventory サービスは、この設定を簡素化し、テスト可能な属性を、リストの値で返します。

"numaNodeAffinity": [
    "0",
    "1"
],

この属性に基づいて Rego クエリーを作成し、それを forklift-validation-config 設定マップに追加します。

`count(input.numaNodeAffinity) != 0`

手順

  1. 以下の例に従って設定マップ CR を作成します。

    $ cat << EOF | oc apply -f -
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: <forklift-validation-config>
      namespace: openshift-mtv
    data:
      vmware_multiple_disks.rego: |-
        package <provider_package> 
    1
    
    
        has_multiple_disks { 
    2
    
          count(input.disks) > 1
        }
    
        concerns[flag] {
          has_multiple_disks 
    3
    
            flag := {
              "category": "<Information>", 
    4
    
              "label": "Multiple disks detected",
              "assessment": "Multiple disks detected on this VM."
            }
        }
    EOF
    1
    プロバイダーパッケージ名を指定します。使用できる値は、VMware の場合が io.konveyor.forklift.vmware、Red Hat Virtualization の場合が io.konveyor.forklift.ovirt です。
    2
    concerns の名前と Rego クエリーを指定します。
    3
    concerns の名前と flag パラメーターの値を指定します。
    4
    使用できる値は CriticalWarning、および Information です。
  2. forklift-controller デプロイメントを 0 にスケーリングして、Validation Pod を停止します。

    $ oc scale -n openshift-mtv --replicas=0 deployment/forklift-controller
  3. forklift-controller デプロイメントを 1 にスケーリングして、Validation Pod を起動します。

    $ oc scale -n openshift-mtv --replicas=1 deployment/forklift-controller
  4. Validation Pod ログをチェックして、Pod が起動したことを確認します。

    $ oc logs -f <validation_pod>

    カスタムルールがデフォルトのルールと競合する場合、Validation Pod は起動しません。

  5. 移行元プロバイダーを削除します。

    $ oc delete provider <provider> -n openshift-mtv
  6. 移行元プロバイダーを追加して、新規ルールを適用します。

    $ cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: Provider
    metadata:
      name: <provider>
      namespace: openshift-mtv
    spec:
      type: <provider_type> 
    1
    
      url: <api_end_point> 
    2
    
      secret:
        name: <secret> 
    3
    
        namespace: openshift-mtv
    EOF
    1
    使用できる値は、ovirtvsphere、および openstack です。
    2
    API エンドポイント URL を指定します。たとえば、vSphere の場合は https://<vCenter_host>/sdk、RHV の場合は https://<engine_host>/ovirt-engine/api、OpenStack の場合は https://<identity_service>/v3 です。
    3
    プロバイダーの Secret CR の名前を指定します。

カスタムルールを作成した後、ルールのバージョンを更新して、Inventory サービスが変更を検出し、仮想マシンを検証できるようにする必要があります。

13.2.4. インベントリールールバージョンの更新

Provider Inventory サービスが変更を検出して Validation サービスをトリガーするように、ルールを更新するたびにインベントリールールのバージョンを更新する必要があります。

ルールバージョンは、各プロバイダーの rules_version.rego ファイルに記録されます。

手順

  1. 現在のルールバージョンを取得します。

    $ GET https://forklift-validation/v1/data/io/konveyor/forklift/<provider>/rules_version 
    1

    出力例

    {
       "result": {
           "rules_version": 5
       }
    }

  2. Validation Pod のターミナルに接続します。

    $ oc rsh <validation_pod>
  3. /usr/share/opa/policies/io/konveyor/forklift/<provider>/rules_version.rego ファイルでルールバージョンを更新します。
  4. Validation Pod ターミナルからログアウトします。
  5. 更新されたルールバージョンを検証します。

    $ GET https://forklift-validation/v1/data/io/konveyor/forklift/<provider>/rules_version 
    1

    出力例

    {
       "result": {
           "rules_version": 6
       }
    }

13.3. Inventory サービス JSON の取得

Inventory サービスクエリーを仮想マシン (VM) に送信して Inventory サービス JSON を取得します。出力には "input" キーが含まれます。このキーには、Validation サービスルールによってクエリーされるインベントリー属性が含まれます。

検証ルールは、"input" キーの任意の属性に基づいて作成できます (例: input.snapshot.kind)。

手順

  1. プロジェクトのルートを取得します。

    oc get route -n openshift-mtv
  2. Inventory サービスルートを取得します。

    $ oc get route <inventory_service> -n openshift-mtv
  3. アクセストークンを取得します。

    $ TOKEN=$(oc whoami -t)
  4. HTTP GET リクエストをトリガーします (たとえば、Curl を使用)。

    $ curl -H "Authorization: Bearer $TOKEN" https://<inventory_service_route>/providers -k
  5. プロバイダーの UUID を取得します。

    $ curl -H "Authorization: Bearer $TOKEN"  https://<inventory_service_route>/providers/<provider> -k 
    1
    1 1 1
    プロバイダーに使用できる値は、vsphereovirt、および openstack です。
  6. プロバイダーの仮想マシンを取得します。

    $ curl -H "Authorization: Bearer $TOKEN"  https://<inventory_service_route>/providers/<provider>/<UUID>/vms -k
  7. 仮想マシンの詳細を取得します。

    $ curl -H "Authorization: Bearer $TOKEN"  https://<inventory_service_route>/providers/<provider>/<UUID>/workloads/<vm> -k

    出力例

    {
        "input": {
            "selfLink": "providers/vsphere/c872d364-d62b-46f0-bd42-16799f40324e/workloads/vm-431",
            "id": "vm-431",
            "parent": {
                "kind": "Folder",
                "id": "group-v22"
            },
            "revision": 1,
            "name": "iscsi-target",
            "revisionValidated": 1,
            "isTemplate": false,
            "networks": [
                {
                    "kind": "Network",
                    "id": "network-31"
                },
                {
                    "kind": "Network",
                    "id": "network-33"
                }
            ],
            "disks": [
                {
                    "key": 2000,
                    "file": "[iSCSI_Datastore] iscsi-target/iscsi-target-000001.vmdk",
                    "datastore": {
                        "kind": "Datastore",
                        "id": "datastore-63"
                    },
                    "capacity": 17179869184,
                    "shared": false,
                    "rdm": false
                },
                {
                    "key": 2001,
                    "file": "[iSCSI_Datastore] iscsi-target/iscsi-target_1-000001.vmdk",
                    "datastore": {
                        "kind": "Datastore",
                        "id": "datastore-63"
                    },
                    "capacity": 10737418240,
                    "shared": false,
                    "rdm": false
                }
            ],
            "concerns": [],
            "policyVersion": 5,
            "uuid": "42256329-8c3a-2a82-54fd-01d845a8bf49",
            "firmware": "bios",
            "powerState": "poweredOn",
            "connectionState": "connected",
            "snapshot": {
                "kind": "VirtualMachineSnapshot",
                "id": "snapshot-3034"
            },
            "changeTrackingEnabled": false,
            "cpuAffinity": [
                0,
                2
            ],
            "cpuHotAddEnabled": true,
            "cpuHotRemoveEnabled": false,
            "memoryHotAddEnabled": false,
            "faultToleranceEnabled": false,
            "cpuCount": 2,
            "coresPerSocket": 1,
            "memoryMB": 2048,
            "guestName": "Red Hat Enterprise Linux 7 (64-bit)",
            "balloonedMemory": 0,
            "ipAddress": "10.19.2.96",
            "storageUsed": 30436770129,
            "numaNodeAffinity": [
                "0",
                "1"
            ],
            "devices": [
                {
                    "kind": "RealUSBController"
                }
            ],
            "host": {
                "id": "host-29",
                "parent": {
                    "kind": "Cluster",
                    "id": "domain-c26"
                },
                "revision": 1,
                "name": "IP address or host name of the vCenter host or RHV Engine host",
                "selfLink": "providers/vsphere/c872d364-d62b-46f0-bd42-16799f40324e/hosts/host-29",
                "status": "green",
                "inMaintenance": false,
                "managementServerIp": "10.19.2.96",
                "thumbprint": <thumbprint>,
                "timezone": "UTC",
                "cpuSockets": 2,
                "cpuCores": 16,
                "productName": "VMware ESXi",
                "productVersion": "6.5.0",
                "networking": {
                    "pNICs": [
                        {
                            "key": "key-vim.host.PhysicalNic-vmnic0",
                            "linkSpeed": 10000
                        },
                        {
                            "key": "key-vim.host.PhysicalNic-vmnic1",
                            "linkSpeed": 10000
                        },
                        {
                            "key": "key-vim.host.PhysicalNic-vmnic2",
                            "linkSpeed": 10000
                        },
                        {
                            "key": "key-vim.host.PhysicalNic-vmnic3",
                            "linkSpeed": 10000
                        }
                    ],
                    "vNICs": [
                        {
                            "key": "key-vim.host.VirtualNic-vmk2",
                            "portGroup": "VM_Migration",
                            "dPortGroup": "",
                            "ipAddress": "192.168.79.13",
                            "subnetMask": "255.255.255.0",
                            "mtu": 9000
                        },
                        {
                            "key": "key-vim.host.VirtualNic-vmk0",
                            "portGroup": "Management Network",
                            "dPortGroup": "",
                            "ipAddress": "10.19.2.13",
                            "subnetMask": "255.255.255.128",
                            "mtu": 1500
                        },
                        {
                            "key": "key-vim.host.VirtualNic-vmk1",
                            "portGroup": "Storage Network",
                            "dPortGroup": "",
                            "ipAddress": "172.31.2.13",
                            "subnetMask": "255.255.0.0",
                            "mtu": 1500
                        },
                        {
                            "key": "key-vim.host.VirtualNic-vmk3",
                            "portGroup": "",
                            "dPortGroup": "dvportgroup-48",
                            "ipAddress": "192.168.61.13",
                            "subnetMask": "255.255.255.0",
                            "mtu": 1500
                        },
                        {
                            "key": "key-vim.host.VirtualNic-vmk4",
                            "portGroup": "VM_DHCP_Network",
                            "dPortGroup": "",
                            "ipAddress": "10.19.2.231",
                            "subnetMask": "255.255.255.128",
                            "mtu": 1500
                        }
                    ],
                    "portGroups": [
                        {
                            "key": "key-vim.host.PortGroup-VM Network",
                            "name": "VM Network",
                            "vSwitch": "key-vim.host.VirtualSwitch-vSwitch0"
                        },
                        {
                            "key": "key-vim.host.PortGroup-Management Network",
                            "name": "Management Network",
                            "vSwitch": "key-vim.host.VirtualSwitch-vSwitch0"
                        },
                        {
                            "key": "key-vim.host.PortGroup-VM_10G_Network",
                            "name": "VM_10G_Network",
                            "vSwitch": "key-vim.host.VirtualSwitch-vSwitch1"
                        },
                        {
                            "key": "key-vim.host.PortGroup-VM_Storage",
                            "name": "VM_Storage",
                            "vSwitch": "key-vim.host.VirtualSwitch-vSwitch1"
                        },
                        {
                            "key": "key-vim.host.PortGroup-VM_DHCP_Network",
                            "name": "VM_DHCP_Network",
                            "vSwitch": "key-vim.host.VirtualSwitch-vSwitch1"
                        },
                        {
                            "key": "key-vim.host.PortGroup-Storage Network",
                            "name": "Storage Network",
                            "vSwitch": "key-vim.host.VirtualSwitch-vSwitch1"
                        },
                        {
                            "key": "key-vim.host.PortGroup-VM_Isolated_67",
                            "name": "VM_Isolated_67",
                            "vSwitch": "key-vim.host.VirtualSwitch-vSwitch2"
                        },
                        {
                            "key": "key-vim.host.PortGroup-VM_Migration",
                            "name": "VM_Migration",
                            "vSwitch": "key-vim.host.VirtualSwitch-vSwitch2"
                        }
                    ],
                    "switches": [
                        {
                            "key": "key-vim.host.VirtualSwitch-vSwitch0",
                            "name": "vSwitch0",
                            "portGroups": [
                                "key-vim.host.PortGroup-VM Network",
                                "key-vim.host.PortGroup-Management Network"
                            ],
                            "pNICs": [
                                "key-vim.host.PhysicalNic-vmnic4"
                            ]
                        },
                        {
                            "key": "key-vim.host.VirtualSwitch-vSwitch1",
                            "name": "vSwitch1",
                            "portGroups": [
                                "key-vim.host.PortGroup-VM_10G_Network",
                                "key-vim.host.PortGroup-VM_Storage",
                                "key-vim.host.PortGroup-VM_DHCP_Network",
                                "key-vim.host.PortGroup-Storage Network"
                            ],
                            "pNICs": [
                                "key-vim.host.PhysicalNic-vmnic2",
                                "key-vim.host.PhysicalNic-vmnic0"
                            ]
                        },
                        {
                            "key": "key-vim.host.VirtualSwitch-vSwitch2",
                            "name": "vSwitch2",
                            "portGroups": [
                                "key-vim.host.PortGroup-VM_Isolated_67",
                                "key-vim.host.PortGroup-VM_Migration"
                            ],
                            "pNICs": [
                                "key-vim.host.PhysicalNic-vmnic3",
                                "key-vim.host.PhysicalNic-vmnic1"
                            ]
                        }
                    ]
                },
                "networks": [
                    {
                        "kind": "Network",
                        "id": "network-31"
                    },
                    {
                        "kind": "Network",
                        "id": "network-34"
                    },
                    {
                        "kind": "Network",
                        "id": "network-57"
                    },
                    {
                        "kind": "Network",
                        "id": "network-33"
                    },
                    {
                        "kind": "Network",
                        "id": "dvportgroup-47"
                    }
                ],
                "datastores": [
                    {
                        "kind": "Datastore",
                        "id": "datastore-35"
                    },
                    {
                        "kind": "Datastore",
                        "id": "datastore-63"
                    }
                ],
                "vms": null,
                "networkAdapters": [],
                "cluster": {
                    "id": "domain-c26",
                    "parent": {
                        "kind": "Folder",
                        "id": "group-h23"
                    },
                    "revision": 1,
                    "name": "mycluster",
                    "selfLink": "providers/vsphere/c872d364-d62b-46f0-bd42-16799f40324e/clusters/domain-c26",
                    "folder": "group-h23",
                    "networks": [
                        {
                            "kind": "Network",
                            "id": "network-31"
                        },
                        {
                            "kind": "Network",
                            "id": "network-34"
                        },
                        {
                            "kind": "Network",
                            "id": "network-57"
                        },
                        {
                            "kind": "Network",
                            "id": "network-33"
                        },
                        {
                            "kind": "Network",
                            "id": "dvportgroup-47"
                        }
                    ],
                    "datastores": [
                        {
                            "kind": "Datastore",
                            "id": "datastore-35"
                        },
                        {
                            "kind": "Datastore",
                            "id": "datastore-63"
                        }
                    ],
                    "hosts": [
                        {
                            "kind": "Host",
                            "id": "host-44"
                        },
                        {
                            "kind": "Host",
                            "id": "host-29"
                        }
                    ],
                    "dasEnabled": false,
                    "dasVms": [],
                    "drsEnabled": true,
                    "drsBehavior": "fullyAutomated",
                    "drsVms": [],
                    "datacenter": null
                }
            }
        }
    }

13.3.1. MTV 移行計画のフック

Migration Toolkit for Virtualization (MTV) 移行計画にフックを追加して、移行前または移行後に仮想マシン上で自動化の操作を実行できます。

MTV CLI または Red Hat OpenShift Web コンソールにある MTV ユーザーインターフェイスを使用して、Migration Toolkit for Virtualization (MTV) 移行計画にフックを追加できます。

  • 移行前 フックは、プロバイダー上にある仮想マシンに対して操作を実行するフックです。これにより、仮想マシンの移行の準備が整います。
  • 移行後 フックは、OpenShift Virtualization に移行した仮想マシン上で操作を実行するフックです。
13.3.1.1. デフォルトのフックイメージ

MTV フックのデフォルトのフックイメージは quay.io/kubev2v/hook-runner です。このイメージは、Ansible Runner イメージをベースにしており、Ansible Kubernetes リソースと最新の oc バイナリーを提供するための python-openshift が追加されています。

13.3.1.2. フックの実行

移行フックの一部として提供される Ansible Playbook は、ConfigMap としてフックコンテナーにマウントされます。フックコンテナーは、選択した ServiceAccount を使用して、openshift-mtv namespace 内の目的のクラスター上でジョブとして実行されます。

フックを追加するときは、Hook CR が配置されている namespace、フックの名前、およびフックが移行前フックか移行後フックかを指定する必要があります。

重要

フックを仮想マシンで実行するには、仮想マシンが起動し、SSH を使用して利用可能な状態である必要があります。

次の図は、移行フックを使用する一般的なプロセスを示しています。具体的な手順は、Red Hat OpenShift Web コンソールを使用した移行計画への移行フックの追加 および CLI を使用した移行計画への移行フックの追加 を参照してください。

図13.1 移行計画へのフックの追加

移行計画へのフックの追加

プロセス:

  1. Ansible フックと認証情報を入力します。

    1. UI または CLI を使用して、Ansible フックイメージを MTV コントローラーに入力します。

      • UI で、ansible-runner を指定し、フックを含む playbook.yml を入力します。
      • CLI で、フックを実行する Playbook を指定するフックイメージを入力します。
    2. Pod 内で Playbook を実行するために SSH データなどの追加データが必要な場合は、仮想マシンの認証情報を含むシークレットを作成します。このシークレットは Pod にマウントされませんが、Playbook によって呼び出されます。

      注記

      このシークレットは、ソースプロバイダーの認証情報を含む Secret CR とは異なります。

  2. MTV コントローラーは、次の内容を含む ConfigMap を作成します。

    • workload.yml、仮想マシンに関する情報を含む。
    • playbook.yml、実行する raw 文字列 Playbook。
    • plan.ymlPlan CR。

      ConfigMap には仮想マシンの名前が含まれており、Playbook に何を実行するかを指示します。

  3. MTV コントローラーは、ユーザーが指定したイメージを開始するジョブを作成します。

    1. ConfigMap をコンテナーにマウントします。

      Ansible フックは、ユーザーが以前に入力したシークレットをインポートします。

  4. ジョブは、次のように移行前フックまたは移行後フックを実行します。

    1. 移行前フックの場合、ジョブは SSH を使用してソースプロバイダー上の仮想マシンにログインし、フックを実行します。
    2. 移行後のフックの場合、ジョブは SSH を使用して OpenShift Virtualization 上の仮想マシンにログインし、フックを実行します。

13.3.2. Red Hat OpenShift Web コンソールを使用した移行計画への移行フックの追加

Red Hat OpenShift Web コンソールを使用して、既存の移行計画に移行フックを追加できます。

注記

Migration Toolkit for Virtualization (MTV) CLI で 1 つのコマンドを実行する必要があります。

たとえば、移行前に仮想マシンに cloud-init サービスをインストールし、ファイルを書き込むフックを作成できます。

注記

移行計画ごとに、移行前フックを 1 つ、移行後フックを 1 つ、またはそれぞれを 1 つ実行できます。

前提条件

  • 移行計画。
  • 移行フックファイル。その内容をコピーして Web コンソールに貼り付けます。
  • ソースプロバイダーの Secret を含むファイル。
  • フックによって呼び出され、作業している namespace に対して少なくとも書き込みアクセス権がある Red Hat OpenShift サービスアカウント。
  • 仮想マシンにインストールされた公開鍵を使用して移行する仮想マシンへの SSH アクセス。
  • Microsoft Server 上でのみ実行されている仮想マシン: リモート実行が有効化されている。

関連情報

サービスアカウントを作成する手順は、サービスアカウントの概要および作成 を参照してください。

手順

  1. Red Hat OpenShift Web コンソールで、Migration > Plans for virtualization をクリックし、フックを追加する移行計画をクリックします。
  2. Hooks をクリックします。
  3. 移行前のフックの場合は、以下の手順を実行します。

    1. Pre migration hook セクションで、Enable hook スイッチを Enable pre migration hook に切り替えます。
    2. Hook runner image を入力します。spec.playbook を指定する場合は、ansible-runner が含まれるイメージを使用する必要があります。
    3. Ansible Playbook テキストボックスにフックを YAML ファイルとして貼り付けます。
  4. 移行後のフックの場合は、以下の手順を実行します。

    1. Post migration hook で、Enable hookEnable post migration hook に切り替えます。
    2. Hook runner image を入力します。spec.playbook を指定する場合は、ansible-runner が含まれるイメージを使用する必要があります。
    3. Ansible Playbook テキストボックスにフックを YAML ファイルとして貼り付けます。
  5. タブの上部にある Update hooks をクリックします。
  6. ターミナルで以下のコマンドを実行し、各フックを Red Hat OpenShift サービスアカウントに関連付けます。

    $ oc -n openshift-mtv patch hook <name_of_hook> \
      -p '{"spec":{"serviceAccount":"<service_account>"}}' --type merge

次の移行フックの例では、SSH を使用して仮想マシンにアクセスできることを確認し、SSH 鍵を作成し、Maria データベースの停止とテキストファイルの生成の 2 つのタスクを実行します。

移行フックの例

- name: Main
  hosts: localhost
  vars_files:
    - plan.yml
    - workload.yml
  tasks:
  - k8s_info:
      api_version: v1
      kind: Secret
      name: privkey
      namespace: openshift-mtv
    register: ssh_credentials

  - name: Ensure SSH directory exists
    file:
      path: ~/.ssh
      state: directory
      mode: 0750

  - name: Create SSH key
    copy:
      dest: ~/.ssh/id_rsa
      content: "{{ ssh_credentials.resources[0].data.key | b64decode }}"
      mode: 0600

  - add_host:
      name: "{{ vm.ipaddress }}"  # ALT "{{ vm.guestnetworks[2].ip }}"
      ansible_user: root
      groups: vms

- hosts: vms
  vars_files:
    - plan.yml
    - workload.yml
  tasks:
  - name: Stop MariaDB
    service:
      name: mariadb
      state: stopped

  - name: Create Test File
    copy:
      dest: /premigration.txt
      content: "Migration from {{ provider.source.name }}
                of {{ vm.vm1.vm0.id }} has finished\n"
      mode: 0644

13.3.3. CLI を使用した移行計画への移行フックの追加

Hook CR を使用すると、Migration Toolkit for Virtualization (MTV) CLI を使用して、既存の移行計画に移行前フックまたは移行後フックを追加できます。

たとえば、移行前に仮想マシンに cloud-init サービスをインストールし、ファイルを書き込むための Hook カスタムリソース (CR) を作成できます。

注記

移行計画ごとに、移行前フックを 1 つ、移行後フックを 1 つ、またはそれぞれを 1 つ実行できます。各フックには独自の Hook CR が必要ですが、Plan CR には使用するすべてのフックのデータが含まれます。

注記

k8s モジュールを使用して、シークレットまたは ConfigMap に保存されている追加情報を取得できます。

前提条件

  • 移行計画。
  • 移行フックイメージまたはフックイメージを含む Playbook。
  • ソースプロバイダーのシークレットを含むファイル。
  • フックによって呼び出され、作業している namespace に対して少なくとも書き込みアクセス権がある Red Hat OpenShift サービスアカウント。
  • 仮想マシンにインストールされた公開鍵を使用して移行する仮想マシンへの SSH アクセス。
  • Microsoft Server 上でのみ実行されている仮想マシン: リモート実行が有効化されている。

関連情報

サービスアカウントを作成する手順は、サービスアカウントの概要および作成 を参照してください。

手順

  1. 必要に応じて、仮想マシンの SSH 秘密鍵でシークレットを作成します。

    1. 既存のキーを選択するか、キーペアを生成します。
    2. 仮想マシンに公開鍵をインストールします。
    3. シークレット内の秘密鍵を base64 でエンコードします。

      apiVersion: v1
      data:
        key: VGhpcyB3YXMgZ2Vu...
      kind: Secret
      metadata:
        name: ssh-credentials
        namespace: openshift-mtv
      type: Opaque
  2. ファイルを連結し、Base64 エンコード用にパイプすることで、Playbook をエンコードします。次に例を示します。

    $ cat playbook.yml | base64 -w0
  3. Hook CR を作成します。

    $  cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: Hook
    metadata:
      name: <hook>
      namespace: <namespace>
    spec:
      image: quay.io/kubev2v/hook-runner
      serviceAccount:<service account> 
    1
    
      playbook: |
        LS0tCi0gbm... 
    2
    
    EOF
    1
    (オプション) Red Hat OpenShift サービスアカウント。クラスターのリソースを操作する場合は、serviceAccount を指定する必要があります。
    2
    Base64 でエンコードされた Ansible Playbook。Playbook を指定する場合、image には ansible-runner が含まれている必要があります。
    注記

    デフォルトの hook-runner イメージを使用するか、カスタムイメージを指定することができます。カスタムイメージを指定する場合は、Playbook を指定する必要はありません。

    注記

    アタッチされた Playbook をデコードするには、カスタム出力でリソースを取得して base64 にパイプします。以下に例を示します。

    $ oc get -n konveyor-forklift hook playbook -o \
        go-template='{{ .spec.playbook }}' | base64 -d
  4. 移行の Plan CR で、仮想マシンごとに、CR の末尾に次のセクションを追加します。

      vms:
        - id: <vm_id>
          hooks:
            - hook:
                namespace: <namespace>
                name: <name_of_hook>
              step: <type_of_hook> 
    1
    1
    オプションは、移行前にフックを実行する PreHook と、移行後にフックを実行する PostHook です。
重要

PreHook を仮想マシンで実行するには、仮想マシンを起動し、SSH 経由で利用できるようにする必要があります。

次の移行フックの例では、SSH を使用して仮想マシンにアクセスできることを確認し、SSH 鍵を作成し、Maria データベースの停止とテキストファイルの生成の 2 つのタスクを実行します。

移行フックの例

- name: Main
  hosts: localhost
  vars_files:
    - plan.yml
    - workload.yml
  tasks:
  - k8s_info:
      api_version: v1
      kind: Secret
      name: privkey
      namespace: openshift-mtv
    register: ssh_credentials

  - name: Ensure SSH directory exists
    file:
      path: ~/.ssh
      state: directory
      mode: 0750

  - name: Create SSH key
    copy:
      dest: ~/.ssh/id_rsa
      content: "{{ ssh_credentials.resources[0].data.key | b64decode }}"
      mode: 0600

  - add_host:
      name: "{{ vm.ipaddress }}"  # ALT "{{ vm.guestnetworks[2].ip }}"
      ansible_user: root
      groups: vms

- hosts: vms
  vars_files:
    - plan.yml
    - workload.yml
  tasks:
  - name: Stop MariaDB
    service:
      name: mariadb
      state: stopped

  - name: Create Test File
    copy:
      dest: /premigration.txt
      content: "Migration from {{ provider.source.name }}
                of {{ vm.vm1.vm0.id }} has finished\n"
      mode: 0644

第14章 Migration Toolkit for Virtualization のアップグレード

Red Hat OpenShift Web コンソールを使用して、新しいバージョンをインストールすると、MTV Operator をアップグレードできます。

手順

  1. Red Hat OpenShift Web コンソールで、OperatorsInstalled OperatorsMigration Toolkit for Virtualization OperatorSubscription をクリックします。
  2. 更新チャネルを正しいリリースに変更します。

    Red Hat OpenShift ドキュメントの 更新チャネルの変更 を参照してください。

  3. Upgrade statusUp to date から Upgrade available に変わります。そうでない場合は、CatalogSource Pod を再起動します。

    1. カタログソース (例: redhat-operators) に注意してください。
    2. コマンドラインで、カタログソース Pod を取得します。

      $ oc get pod -n openshift-marketplace | grep <catalog_source>
    3. Pod を削除します。

      $ oc delete pod -n openshift-marketplace <catalog_source_pod>

      Upgrade statusUp to date から Upgrade available に変わります。

      Subscriptions タブで Update approvalAutomatic に設定すると、アップグレードが自動的に開始されます。

  4. Subscriptions タブで Update approvalManual に設定すると、アップグレードが承認されます。

    Red Hat OpenShift ドキュメントの 保留中のアップグレードの手動承認 を参照してください。

  5. MTV 2.2 からアップグレードしており、VMware 移行元プロバイダーを定義している場合は、VDDK init イメージを追加して、VMware プロバイダーを編集します。そうしないと、更新によって VMware プロバイダーの状態が Critical に変更になります。詳細は、VMSphere 移行元プロバイダーの追加 を参照してください。
  6. MTV 2.2 の Red Hat OpenShift 移行先プロバイダーで NFS にマッピングした場合は、NFS ストレージプロファイルで AccessModes および VolumeMode パラメーターを編集します。そうしないと、アップグレードによって NFS マッピングが無効になります。詳細は、ストレージプロファイルのカスタマイズ を参照してください。

第15章 Migration Toolkit for Virtualization のアンインストール

Red Hat OpenShift Web コンソールまたはコマンドラインインターフェイス (CLI) を使用して、Migration Toolkit for Virtualization (MTV) をアンインストールできます。

15.1. Red Hat OpenShift Web コンソールを使用した MTV のアンインストール

Red Hat OpenShift Web コンソールを使用して、Migration Toolkit for Virtualization (MTV) をアンインストールできます。

前提条件

  • cluster-admin 権限を持つユーザーとしてログインしている。

手順

  1. Red Hat OpenShift Web コンソールで、Operators > Installed Operators をクリックします。
  2. Migration Toolkit for Virtualization Operator をクリックします。

    Details タブで Operator Details ページが開きます。

  3. ForkliftController タブをクリックします。
  4. Actions をクリックし、Delete ForkLiftController を選択します。

    確認ウィンドウが開きます。

  5. Delete をクリックします。

    コントローラーが削除されます。

  6. Details タブを開きます。

    削除したコントローラーの代わりに Create ForkliftController ボタンが表示されます。クリックする必要はありません。

  7. ページの右上にある Actions をクリックし、Uninstall Operator を選択します。

    確認ウィンドウが開き、オペランドインスタンスが表示されます。

  8. すべてのインスタンスを削除するには、Delete all operand instances for this operator チェックボックスをオンにします。デフォルトでは、チェックボックスはオフになっています。

    重要

    Operator がクラスター外のリソースを設定した場合、これらは引き続き実行されるため、手動でクリーンアップする必要があります。

  9. Uninstall をクリックします。

    Installed Operators ページが開き、Installed Operators のリストから Migration Toolkit for Virtualization Operator が削除されます。

  10. Home > Overview をクリックします。
  11. ページの Status セクションで、Dynamic Plugins をクリックします。

    Dynamic Plugins ポップアップが開き、失敗したプラグインとして forklift-console-plugin がリストされます。forklift-console-plugin が失敗したプラグインとして表示されない場合は、Web コンソールを更新します。

  12. forklift-console-plugin をクリックします。

    ConsolePlugin details ページが Details タブで開きます。

  13. ページの右上にある Actions をクリックし、リストから Delete ConsolePlugin を選択します。

    確認ウィンドウが開きます。

  14. Delete をクリックします。

    このプラグインは、Overview ページの Dynamic plugins のリストから削除されます。プラグインがまだ表示される場合は、Overview ページを再起動します。

15.2. コマンドラインから MTV のアンインストール

コマンドラインから Migration Toolkit for Virtualization (MTV) をアンインストールできます。

注記

このアクションは、カスタムリソース定義 (CRD) およびカスタムリソース (CR) など、MTV Operator が管理するリソースは削除されません。MTV Operator をアンインストールした後にこれらを削除するには、MTV Operator CRD を手動で削除する必要がある場合があります。

前提条件

  • cluster-admin 権限を持つユーザーとしてログインしている。

手順

  1. 以下のコマンドを実行して forklift コントローラーを削除します。

    $ oc delete ForkliftController --all -n openshift-mtv
  2. 以下のコマンドを実行して MTV Operator へのサブスクリプションを削除します。

    $ oc get subscription -o name|grep 'mtv-operator'| xargs oc delete
  3. 以下のコマンドを実行して MTV Operator の clusterserviceversion を削除します。

    $ oc get clusterserviceversion -o name|grep 'mtv-operator'| xargs oc delete
  4. 次のコマンドを実行して、プラグインコンソール CR を削除します。

    $ oc delete ConsolePlugin forklift-console-plugin
  5. オプション: 次のコマンドを実行して、カスタムリソース定義 (CRD) を削除します。

    oc get crd -o name | grep 'forklift.konveyor.io' | xargs oc delete
  6. オプション: 次のコマンドを実行して MTV プロジェクトを削除し、クリーンアップを実行します。

    oc delete project openshift-mtv

第16章 MTV パフォーマンスに関する推奨事項

このセクションの目的は、テストで確認できた結果に基づいて、Migration Toolkit for Virtualization (MTV) を使用して仮想マシン (VM) を効率的かつ効果的に移行するための推奨事項を共有することです。

ここで提供されるデータは Red Hat Labs でのテストから収集されたもので、参考目的でのみ提供されています。 

全体として、これらの数値は最良のシナリオを示すものと考えるべきです。

確認できた移行のパフォーマンスは、これらの結果と異なる場合があり、いくつかの要因に依存します。

16.1. 高速なストレージとネットワーク速度を確保する

VMware 環境と Red Hat OpenShift (OCP) 環境の両方で、高速なストレージとネットワーク速度を確保します。

  • 高速移行を実行するには、VMware がデータストアへの読み取りアクセスが高速でなければなりません。VMware ESXi ホスト間のネットワークは高速で、10 GiB のネットワーク接続を確保し、ネットワークのボトルネックを回避する必要があります。

    • VMware ネットワークを OCP Workers Interface ネットワーク環境に拡張します。
    • 受信速度が ESXi データストアの読み取り速度と一致するように、VMware ネットワークが高スループット (10 ギガビットイーサネット) と高速ネットワークを提供することが重要です。
    • 移行プロセスでは大量のネットワーク帯域幅が使用され、移行ネットワークが利用されることに注意してください。他のサービスがそのネットワークを使用する場合、それらのサービスとその移行率に影響を及ぼす可能性があります。
    • たとえば、OCP インターフェイスへのデータ転送に関連する各 ESXi ホストの vmnic からの平均ネットワーク転送速度は 200 - 325 MiB/秒でした。

データストアの読み取り速度は合計転送時間に影響するため、ESXi データストアから ESXi ホストへの高速読み取りをできるようにすることが重要です。  

数字での例: 単一の ESXi サーバーの vSphere エンドポイントと ESXi エンドポイントの両方の平均読み取り速度は 200 - 300 MiB/秒でした。複数の ESXi サーバーを使用すると、データストアの読み取り速度が向上します。

16.3. エンドポイントの種類 

MTV 2.6 では、以下の vSphere プロバイダーオプションを使用できます。

  • ESXi エンドポイント (ESXi からのインベントリーおよびディスク転送)、MTV 2.6 で導入
  • vCenter Server エンドポイント。ESXi ホスト用のネットワークはありません (vCenter からのインベントリーおよびディスク転送)
  • vCenter エンドポイント。ESXi ネットワークが利用できます (vCenter からのインベントリー、ESXi からのディスク転送)。

複数の ESXi ホストに登録されている多数の仮想マシンを転送する場合は、vCenter エンドポイントと ESXi ネットワークを使用することを推奨します。

注記

vSphere 7.0 以降、ESXi ホストは、Network Block Device (NBD) トランスポートに使用するネットワークにラベルを付けることができます。これは、目的の仮想ネットワークインターフェイスカード (NIC) に適切な vSphereBackupNFC ラベルをタグ付けすることによって実現されます。これが完了すると、ワーカーと ESXi ホストインターフェイスにアクセスできる場合、MTV は ESXi インターフェイスを使用して OpenShift へのネットワーク転送を行うことができます。これは、移行ユーザーが ESXi 認証情報にアクセスできない可能性があるにもかかわらず、移行に使用する ESXi インターフェイスを制御する必要がある場合に特に便利です。 

詳細は、(MTV-1230) を参照してください。

NBD バックアップ用にインターフェイス vmk2 を指定する次の ESXi コマンドを使用できます。

esxcli network ip interface tag add -t vSphereBackupNFC -i vmk2

16.4. ESXi ホストの BIOS プロファイルと ESXi ホストの電源管理を高パフォーマンスに設定する

可能であれば、移行に使用されるホストが、パフォーマンスが最大の BIOS プロファイルに設定されていることを確認します。vSphere 内で制御されるホスト電源管理を使用するホストでは、High Performance が設定されていることを確認する必要があります。

テストの結果、BIOS とホスト電源管理の両方を適切に設定した状態で 10 個を超える仮想マシンを転送すると、移行によって平均データストア読み取り速度が 15 MiB 増加することがわかりました。

16.5. VMware ネットワークへの追加のネットワーク負荷を回避する

ESXi エンドポイントを使用するときに移行ネットワークを選択すると、VMware ネットワークのネットワーク負荷を軽減できます。

MTV は仮想化プロバイダーを組み込むことで、仮想マシンを OpenShift に移行する目的で、ESXi ホスト上でアクセス可能な特定のネットワークを選択できるようになります。MTV UI の ESXi ホストからこの移行ネットワークを選択すると、選択したネットワークを ESXi エンドポイントとして使用して転送が実行されるようになります。

選択したネットワークが OCP インターフェイスに接続できること、移行に十分な帯域幅があること、およびネットワークインターフェイスが飽和していないことを確認することが不可欠です。

10GbE ネットワークなどの高速ネットワークを備えた環境では、データの移行時に発生するネットワークの負荷が、ESXi データストアの読み取り速度と同じくらいになると予想されます。

16.6. ESXi ホストあたりの最大同時ディスク移行を制御する

MAX_VM_INFLIGHT MTV 変数を設定して、ESXi ホストで対応できる同時仮想マシン転送の最大数を制御します。 

MTV では、この変数を使用して同時実行性を制御できます。デフォルトでは 20 に設定されています。

MAX_VM_INFLIGHT を設定するときは、ESXi ホストに必要な最大同時仮想マシン転送の数を考慮してください。 同時に転送する移行の種類を考慮することが重要です。ウォームマイグレーション: スケジュールされた時間内に移行される実行中の仮想マシンの移行によって定義されます。

ウォームマイグレーションでは、スナップショットを使用して、ディスクの以前のスナップショット間の差異のみを比較して移行します。スナップショット間の差異の移行は、実行中の仮想マシンから OpenShift への最終的な切り替えが行われる前に、特定の間隔で行われます。 

MTV 2.6 では、特定のスナップショットの現在の移行アクティビティーや単一の仮想マシンに属するディスクの数に関係なく、MAX_VM_INFLIGHT は仮想マシンごとに 1 つの転送スロットを予約します。 MAX_VM_INFLIGHT によって設定された合計は、ESXi ホストごとに許可される同時仮想マシン転送の数を示すために使用されます。

  • MAX_VM_INFLIGHT = 20 で、プロバイダーに 2 つの ESXi ホストが定義されている場合、各ホストは 20 台の仮想マシンを転送できます。

16.7. 複数の仮想マシンを同時に移行する場合の移行時間を短縮する

特定の ESXi ホストから複数の仮想マシンを移行する場合、複数の仮想マシンの同時移行を開始すると、移行時間が短縮されます。 

テストでは、1 台のホストから 10 個の仮想マシン (それぞれ 35 GiB のデータを含み、合計サイズは 50 GiB) を移行する方が、同じ数の仮想マシンを 1 つずつ順番に移行するよりも大幅に高速であることが実証されました。 

単一のホストから 10 台を超える仮想マシンへの同時移行を増やすことは可能ですが、大幅な改善は見られません。 

  • 1 台のディスク仮想マシンは 6 分、移行速度は 100 MiB/秒でした
  • 10 枚の単一ディスク仮想マシンは 22 分、移行速度は 272 MiB/s でした
  • 20 台の単一ディスクの仮想マシンは 42 分、移行速度は 284 MiB/s でした。
注記

前述の例から、10 台の仮想マシンを同時に移行すると、同一の仮想マシンを順番に移行するよりも 3 倍高速になることがわかります。

10 台または 20 台の仮想マシンを同時に移行する場合の移行率はほぼ同じでした。

16.8. 複数のホストを使用する場合の移行時間を短縮する

移行に使用する ESXi ホスト間で均等に分散された登録済み仮想マシンが含まれるホストを複数使用すると、移行時間が短縮されます。

テストの結果、合計 50 G のデータのうちそれぞれ 35 GiB を含む 10 個以上の単一ディスク仮想マシンを転送する場合、追加のホストを使用すると移行時間を短縮できることが示されました。

  • 1 台のホストを使用して、それぞれ 35 GiB のデータを含む 80 台の単一ディスク仮想マシンを移行するのに 2 時間 43 分、移行速度は 294 MiB/秒でした。
  • 8 台の ESXi ホストを使用して、それぞれ 35 GiB のデータを含む 80 個の単一ディスク仮想マシンを移行するのに 41 分、移行速度は 1,173 MiB/秒でした。
注記

前述の例から、8 台の ESXi ホストから 80 個の仮想マシン (各ホストから 10 個ずつ) を同時に移行すると、単一の ESXi ホストから同じ仮想マシンを実行するよりも 4 倍高速になることがわかります。 

8 台を超える ESXi ホストから多数の仮想マシンを同時に移行すると、パフォーマンスが向上する可能性があります。ただし、テストされていないため、推奨されません。

16.9. 単一の大規模な移行計画と比較した複数の移行計画

1 つの移行計画で参照できるディスクの最大数は 500 です。詳細は (MTV-1203) を参照してください。 

単一の移行計画で多数の仮想マシンを移行しようとすると、すべての移行が開始されるまでに時間がかかることがあります。 1 つの移行計画を複数の移行計画に分割することで、移行を同時に開始することが可能になります。

移行の比較:

  • 1 つの計画で、8 台の ESXi ホストを使用する 500 台の仮想マシンを、max_vm_inflight=100 を指定して移行したところ、5 時間 10 分かかりました。
  • 8 つの計画で、8 台の ESXi ホストを使用する 800 台の仮想マシンを、max_vm_inflight=100 を指定して移行したところ、57 分かかりました。

テストの結果、1 つの大規模な計画を複数の中規模の計画 (例: 計画ごとに 100 台の仮想マシンを使用) に分割すると、移行の合計時間を短縮できることが示されました。

16.10. コールドマイグレーションでテストされた最大値

  • テスト済みの ESXi ホストの最大数: 8
  • 1 つの移行計画内の仮想マシンの最大数: 500
  • 1 回のテストで移行した仮想マシンの最大数: 5000
  • 同時に実行した移行計画の最大数: 40
  • 移行したディスクの最大サイズ: 6 TB ディスク (3 TB のデータを含む)
  • 移行した単一の仮想マシン上のディスクの最大数: 50
  • 単一の ESXi サーバーでの単一のデータストアの最高読み取り速度: 312 MiB/秒
  • 8 台の ESXi サーバーと 2 つのデータストアを使用した場合の最高マルチデータストア読み取り速度: 1,242 MiB/秒
  • OpenShift ワーカーへの仮想 NIC 転送速度の最高値: 327 MiB/秒
  • 単一ディスクの最大移行転送速度: 162 MiB/秒 (1.5 TB の使用データの非同時移行を転送するときに確認できた速度)
  • 単一の ESXi ホストからの複数の仮想マシン (単一ディスク) の最大コールドマイグレーション転送速度: 294 MiB/秒 (単一の ESXi から 30 台の仮想マシンを同時に移行、35/50 GiB 使用)
  • 複数の ESXi ホストからの複数の仮想マシン (単一ディスク) の最大コールドマイグレーション転送速度: 1173 MB/秒 (8 台の ESXi サーバーから 80 台の仮想マシンを同時に移行、35/50 GiB 使用、各 ESXi から 10 台の仮想マシン)

16.11. ウォームマイグレーションの推奨事項

以下の推奨事項はウォームマイグレーションに特有のものです。

  • 最大 400 ディスクを並行して移行する

テストでは、8 台の ESXi ホストを使用してそれぞれ 2 つのディスクを持つ 200 台の仮想マシンを並行して移行し、合計 400 台のディスクを使用しました。400 台を超えるディスクを並行して移行する移行計画はテストが実行されていないため、この数のディスクを並行して移行することは推奨されません。

  • 最大 200 台のディスクを並行して移行し、最速の速度を実現する

200、300、400 台のディスクを使用した並列ディスク移行のテストが正常に実行されました。200 台のディスクを移行するテストと 300 台および 400 台のディスクを移行するテストでは、プレコピー移行率が約 25% 減少しました。

したがって、プレコピーの速度が 25% 低下してもカットオーバー計画に影響がない限り、300 - 400 個のディスクではなく、200 個以下のディスクのグループで並列ディスク移行を実行することを推奨します。

  • 移行計画の開始直後にカットオーバー時間を設定する (可能な場合)

ウォームマイグレーションにかかる時間を短縮するには、移行計画の開始直後にカットオーバーが発生するように設定することを推奨します。これにより、MTV は仮想マシンごとに 1 つのプレコピーのみ を実行します。この推奨事項は、移行計画に含まれる仮想マシンの数に関係なく有効です。

  • スナップショット間のプレコピー間隔を増やす

単一の仮想マシンで多数の移行計画を作成し、移行の開始とカットオーバーの間に十分な時間がある場合は、controller_precopy_interval パラメーターの値を 120 分から 240 分の範囲に増やします。設定を長くすると、カットオーバー前の仮想マシンあたりのスナップショットとディスク転送の合計数が減ります。

16.12. ウォームマイグレーションでテストされた最大値

  • テスト済みの ESXi ホストの最大数: 8
  • ワーカーノードの最大数: 12
  • 1 つの移行計画内の仮想マシンの最大数: 200
  • 並列ディスク転送の最大数: 400、仮想マシン 200 台、ESXi 6 台、転送速度 667 MB/秒
  • 移行したディスクの最大サイズ: 6 TB ディスク (3 TB のデータを含む)
  • 移行される単一の仮想マシン上のディスクの最大数: 3
  • ESXi ホストあたりの並列ディスク転送の最大数: 68
  • 同時移行のない単一ディスクの最大転送速度: 76.5 MB/秒
  • 単一の ESXi ホストから複数のディスクで確認された最大転送速度: 253 MB/秒 (10 台の仮想マシン、各ディスク 1 台、ディスクあたり 35/50 GiB 使用)
  • 8 台の ESXi ホストからの複数のディスク (210) で確認された合計転送速度: 802 MB/秒 (70 台の仮想マシン、各 3 台のディスクの同時移行、ディスクあたり 35/50 GiB 使用)

16.13. 大容量ディスクを使用する仮想マシンの移行に関する推奨事項

各ディスクのディスク上のデータ総量が 1 TB 以上になる仮想マシンの場合は、次の推奨事項を考慮してください。

  • 大容量ディスクの仮想マシン (VM) を移行するための適切なメンテナンス期間をスケジュールしてください。このような移行は繊細な操作です。特にストレージやネットワークのアクティビティーが少ない期間中に、メンテナンス期間とダウンタイムを慎重に計画する必要がある場合があります。
  • 大規模な仮想マシン (VM) の移行中に、他の移行アクティビティーや、他の負荷の高いネットワークまたはストレージアクティビティーが実行されないことを確認してください。このような大規模な仮想マシンの移行は特別なケースとして扱う必要があります。移行中は、MTV のアクティビティーを優先します。大規模な仮想マシンおよび関連するデータストアでのアクティビティーが少なくなる期間に、仮想マシンを移行するように計画します。
  • データの更新頻度が高く、スナップショット間で 100 GB 以上のデータが頻繁に変更される大規模な仮想マシンの場合は、ウォームマイグレーションの controller_precopy_interval をデフォルトの 60 分から短縮することを検討してください。 このプロセスは、複数回のプレコピースナップショットが正常に完了できるように、計画されているカットオーバーの少なくとも 24 時間前に開始することが重要です。 カットオーバーをスケジュールする際は、必ずメンテナンス期間中に余裕を持って変更の最後のスナップショットをコピーできるようにします。また、そのメンテナンス期間の開始時にカットオーバープロセスを始めてください。
  • きわめて大きな単一ディスクの仮想マシンで、ダウンタイムが発生する可能性がある場合、特に仮想マシンスナップショットが大きくなる場合は、ウォームマイグレーションではなくコールドマイグレーションを選択してください。
  • きわめて大きなディスク上のデータを複数のディスクに分割することを検討してください。そうすることで、ウォームマイグレーションの使用時に MTV による並列ディスク移行が可能になります。
  • ダウンタイムや仮想マシンスナップショットが不可能な、大量のデータが継続的に書き込まれる大きなデータベースディスクがある場合は、MTV 外での特殊な移行を見据えて、データベースベンダー固有のデータベースデータのレプリケーション方法を検討する必要がある可能性があります。このケースが当てはまる場合は、データベースのベンダー固有のオプションを確認してください。

16.14. NBD トランスポートモードの AIO サイズとバッファー数の増加

Migration Toolkit for Virtualization (MTV) で Asynchronous Input/Output (AIO) バッファリングを使用する場合、Network Block Device (NBD) トランスポート Network File Copy (NFC) パラメーターを変更して、移行のパフォーマンスを向上させることができます。

警告

AIO バッファリングの使用は、コールドマイグレーションのユースケースにのみ適しています。

ウォームマイグレーションを初期化する前に、AIO 設定を無効にします。詳細は、AIO バッファー設定の無効化 を参照してください。

16.14.1. 主な調査結果

  • 次の値を使用して、複数 (10) の仮想マシン (VM) を単一の ESXi ホストに移行することで、最高の移行パフォーマンスが達成されました。

    • VixDiskLib.nfcAio.Session.BufSizeIn64KB=16
    • vixDiskLib.nfcAio.Session.BufCount=4
  • AIO バッファー設定 (非同期バッファー数) を使用すると、次の改善が見られました。

    • 移行時間は 0:24:32 から 0:16:54 になり、31.1% 短縮されました。
    • 読み取り速度は 347.83 MB/秒から 504.93 MB/秒に向上しました。
  • 単一の仮想マシンで AIO バッファー設定を使用した場合、大きな改善は見られませんでした。
  • 複数のホストからの複数の仮想マシンで AIO バッファー設定を使用した場合、大きな改善は見られませんでした。

16.14.2. AIO サイズとバッファー数のサポートに関する主な要件

サポートは、次のバージョンを使用して実行されたテストに基づいています。

  • vSphere 7.0.3
  • VDDK 7.0.3

16.14.3. AIO バッファリングの有効化と設定

Migration Toolkit for Virtualization (MTV) で使用するために、Asynchronous Input/Output (AIO) バッファリングを有効にして設定できます。

手順

  1. openshift-mtv namespace の forklift-controller Pod が AIO バッファー値をサポートしていることを確認します。Pod 名の接頭辞は動的であるため、次のコマンドを実行して Pod 名を確認します。

    oc get pods -n openshift-mtv | grep forklift-controller | awk '{print $1}'

    たとえば、Pod 名の接頭辞が "forklift-controller-667f57c8f8-qllnx" の場合、出力は次のようになります。

    forklift-controller-667f57c8f8-qllnx
  2. 次のコマンドを実行して、Pod の環境変数を確認します。

    oc get pod forklift-controller-667f57c8f8-qllnx -n openshift-mtv -o yaml
  3. 出力で次の行を確認します。

    ...
    \- name: VIRT\_V2V\_EXTRA\_ARGS
    \- name: VIRT\_V2V\_EXTRA\_CONF\_CONFIG\_MAP
    ...
  4. openshift-mtv namespace で、次の手順を実行して ForkliftController カスタムリソース (CR) を編集します。

    1. 次のコマンドを実行して、ForkliftController CR にアクセスし、編集します。

      oc edit forkliftcontroller -n openshift-mtv
    2. ForkliftController CR の spec セクションに次の行を追加します。

      virt_v2v_extra_args: "--vddk-config /mnt/extra-v2v-conf/input.conf"
      virt_v2v_extra_conf_config_map: "perf"
  5. 次のコマンドを実行して、必要な config map perf を作成します。

    oc -n openshift-mtv create cm perf
  6. 目的のバッファー設定値を Base64 に変換します。たとえば、16/4 の場合は、次のコマンドを実行します。

    echo -e "VixDiskLib.nfcAio.Session.BufSizeIn64KB=16\nvixDiskLib.nfcAio.Session.BufCount=4" | base64

    出力は次のようになります。

    Vml4RGlza0xpYi5uZmNBaW8uU2Vzc2lvbi5CdWZTaXplSW42NEtCPTE2CnZpeERpc2tMaWIubmZjQWlvLlNlc3Npb24uQnVmQ291bnQ9NAo=
  7. config map perf で、binaryData セクションに Base64 文字列を入力します。次に例を示します。

    apiVersion: v1
    kind: ConfigMap
    binaryData:
      input.conf: Vml4RGlza0xpYi5uZmNBaW8uU2Vzc2lvbi5CdWZTaXplSW42NEtCPTE2CnZpeERpc2tMaWIubmZjQWlvLlNlc3Npb24uQnVmQ291bnQ9NAo=
    metadata:
      name: perf
      namespace: openshift-mtv
  8. 新しい設定を適用するには、forklift-controller Pod を再起動します。
  9. VIRT_V2V_EXTRA_ARGS 環境変数が更新された設定を反映していることを確認します。
  10. 移行計画を実行し、移行 Pod のログを確認します。AIO バッファー設定、特に --vddk-config 値がパラメーターとして渡されていることを確認します。

    たとえば、次のコマンドを実行するとします。

    exec: /usr/bin/virt-v2v … --vddk-config /mnt/extra-v2v-conf/input.conf

    debug_level = 4 の場合、ログには次のようなセクションが含まれます。

    Buffer size calc for 16 value:
    (16 * 64 * 1024 = 1048576)
    nbdkit: vddk[1]: debug: [NFC VERBOSE] NfcAio_OpenSession:
    Opening an AIO session.
    nbdkit: vddk[1]: debug: [NFC INFO] NfcAioInitSession:
    Disabling
    read-ahead buffer since the AIO buffer size of 1048576 is >=
    the read-ahead buffer size of 65536. Explicitly setting flag
    '`NFC_AIO_SESSION_NO_NET_READ_AHEAD`'
    nbdkit: vddk[1]: debug: [NFC VERBOSE] NfcAioInitSession: AIO Buffer Size is 1048576
    nbdkit: vddk[1]: debug: [NFC VERBOSE] NfcAioInitSession: AIO Buffer
    Count is 4
  11. 移行 Pod に正しい config map 値があることを確認します。これを行うには、移行 Pod にログインし、次のコマンドを実行します。

    cat /mnt/extra-v2v-conf/input.conf

    出力例は次のとおりです。

    VixDiskLib.nfcAio.Session.BufSizeIn64KB=16
    vixDiskLib.nfcAio.Session.BufCount=4
  12. オプション: 次のコマンドを実行してデバッグログを有効にします。このコマンドは、高いログレベルを含む設定を Base64 に変換します。

    echo -e
    "`VixDiskLib.nfcAio.Session.BufSizeIn64KB=16\nVixDiskLib.nfcAio.Session.BufCount=4\nVixDiskLib.nfc.LogLevel=4`"
    | base64
    注記

    高いログレベルを追加するとパフォーマンスが低下しますが、これはデバッグ目的のみに使用されます。

16.14.4. AIO バッファリングの無効化

Migration Toolkit for Virtualization (MTV) を使用して、コールドマイグレーションの AIO バッファリングを無効化できます。MTV を使用したウォームマイグレーションでは、AIO バッファリングを無効にする必要があります。

注記

次の手順では、AIO バッファリングの有効化と設定 の手順に従って、AIO バッファリングが有効化および設定されていることを前提としています。

手順

  1. openshift-mtv namespace で、次の手順を実行して ForkliftController カスタムリソース (CR) を編集します。

    1. 次のコマンドを実行して、ForkliftController CR にアクセスし、編集します。

      oc edit forkliftcontroller -n openshift-mtv
    2. ForkliftController CR の spec セクションから次の行を削除します。

      virt_v2v_extra_args: "`–vddk-config /mnt/extra-v2v-conf/input.conf`"
      virt_v2v_extra_conf_config_map: "`perf`"
  2. perf という名前の config map を削除します。

    oc delete cm perf -n openshift-mtv
  3. オプション: 変更が有効になったことを確認するには、forklift-controller Pod を再起動します。

第17章 トラブルシューティング

このセクションでは、一般的な移行の問題をトラブルシューティングするための情報を提供します。

17.1. エラーメッセージ

このセクションでは、エラーメッセージと、その解決方法を説明します。

17.1.1. warm import retry limit reached

VMware 仮想マシン (VM) が、プレコピーの段階で変更ブロックのトラッキング (CBT) スナップショットの最大数 (28) に達した場合は、ウォームマイグレーション時に warm import retry limit reached エラーメッセージが表示されます。

この問題を解決するには、仮想マシンから CBT スナップショットの一部を削除して、移行計画を再起動します。

17.1.2. Unable to resize disk image to required size

ターゲットプロバイダーの仮想マシンがブロックストレージの EXT4 ファイルシステムで永続ボリュームを使用しているために移行が失敗すると、Unable to resize disk image to required size エラーメッセージが表示されます。この問題は、CDI が想定するデフォルトのオーバーヘッドに root パーティション用に予約された場所が完全に含まれていないために発生します。

この問題を解決するには、CDI のファイルシステムのオーバーヘッドを 10% 以上に増やします。

17.2. must-gather ツールの使用

must-gather ツールを使用して、MTV カスタムリソース (CR) のログおよび情報を収集できます。must-gather データファイルをすべてのカスタマーケースに割り当てる必要があります。

フィルタリングオプションを使用して、特定の namespace、移行計画、または仮想マシンのデータを収集できます。

注記

フィルターされた must-gather コマンドで存在しないリソースを指定すると、アーカイブファイルは作成されません。

前提条件

  • cluster-admin ロールを持つユーザーとして OpenShift Virtualization クラスターにログインしている。
  • Red Hat OpenShift CLI (oc) がインストールされている。

手順

  1. must-gather データを保存するディレクトリーに移動します。
  2. oc adm must-gather コマンドを実行します。

    $ oc adm must-gather --image=registry.redhat.io/migration-toolkit-virtualization/mtv-must-gather-rhel8:2.9.6

    データは /must-gather/must-gather.tar.gz として保存されます。このファイルを Red Hat カスタマーポータル で作成したサポートケースにアップロードできます。

  3. オプション: oc adm must-gather コマンドに以下のオプションを指定して実行し、フィルターされたデータを収集します。

    • Namespace:

      $ oc adm must-gather --image=registry.redhat.io/migration-toolkit-virtualization/mtv-must-gather-rhel8:2.9.6 \
        -- NS=<namespace> /usr/bin/targeted
    • 移行計画:

      $ oc adm must-gather --image=registry.redhat.io/migration-toolkit-virtualization/mtv-must-gather-rhel8:2.9.6 \
        -- PLAN=<migration_plan> /usr/bin/targeted
    • 仮想マシン:

      $ oc adm must-gather --image=registry.redhat.io/migration-toolkit-virtualization/mtv-must-gather-rhel8:2.9.6 \
        -- VM=<vm_id> NS=<namespace> /usr/bin/targeted 
      1
      1
      Plan CR に表示される仮想マシンの ID を指定します。

第18章 アーキテクチャー

このセクションでは、MTV カスタムリソース、サービス、およびワークフローを説明します。

18.1. MTV カスタムリソースおよびサービス

Migration Toolkit for Virtualization (MTV) は、Red Hat OpenShift Operator として提供されます。以下のカスタムリソース (CR) およびサービスを作成し、管理します。

18.1.1. MTV カスタムリソース

  • Provider CR は、MTV がソースおよびターゲットプロバイダーに接続し、対話できるようにする属性を保存します。
  • NetworkMapping CR は、ソースおよびターゲットプロバイダーのネットワークをマッピングします。
  • StorageMapping CR は、ソースおよびターゲットプロバイダーのストレージをマッピングします。
  • Plan CR には、同じ移行パラメーターと関連するネットワークおよびストレージマッピングを持つ仮想マシンのリストが含まれます。
  • Migration CR は移行計画を実行します。

    一度に実行できる Migration CR は、移行計画ごとに 1 つのみです。単一の Plan CR に複数の Migration CR を作成できます。

18.1.2. MTV サービス

  • Inventory サービスは以下のアクションを実行します。

    • 移行元プロバイダーおよびターゲットプロバイダーに接続します。
    • マッピングおよび計画に関するローカルインベントリーを維持します。
    • 仮想マシンの設定を保存します。
    • 仮想マシンの設定の変更が検出されたら、Validation サービスを実行します。
  • Validation サービスは、ルールを適用して移行の適合性を確認します。
  • Migration Controller サービスは移行のオーケストレーションを行います。

    移行計画の作成時に、Migration Controller サービスは計画を検証し、ステータスラベルを追加します。計画の検証に失敗した場合には、計画のステータスは Not ready となり、その計画を使用して移行を行うことができません。計画が検証をパスすると、計画のステータスは Ready となり、移行を実行するために使用できます。移行に成功すると、Migration Controller サービスは計画のステータスを Completed に変更します。

  • Populator Controller サービスは、Volume Populator を使用して、ディスク転送を調整します。
  • Kubevirt Controller および Containerized Data Import (CDI) Controller サービスは、ほとんどの技術操作を処理します。

18.2. 移行ワークフローの概要

ワークフローの概要では、ユーザーの観点から移行プロセスを示しています。

  1. 移行元プロバイダー、ターゲットプロバイダー、ネットワークマッピング、およびストレージマッピングを作成します。
  2. 以下のリソースを含む Plan カスタムリソース (CR) を作成します。

    • 移行元プロバイダー
    • ターゲットプロバイダー (MTV がターゲットクラスターにインストールされていない場合)
    • ネットワークマッピング
    • ストレージマッピング
    • 1 つ以上の仮想マシン (VM)
  3. Plan CR を参照する Migration CR を作成して移行計画を実行します。

    何らかの理由ですべての仮想マシン移行できない場合は、すべての仮想マシンが移行されるまで、同じ Plan CR に対して複数の Migration CR を作成できます。

  4. Plan CR の仮想マシンごとに、Migration Controller サービスは仮想マシン移行の進行状況を Migration CR に記録します。
  5. Plan CR 内の各仮想マシンのデータ転送が完了すると、Migration Controller サービスによって VirtualMachine CR が作成されます。

    すべての仮想マシンが移行されると、Migration Controller サービスは Plan CR のステータスを Completed に更新します。各移行元仮想マシンの電源状態は、移行後も維持されます。

18.3. 移行ワークフローの詳細

詳細な移行ワークフローを使用して、失敗した移行のトラブルシューティングを行うことができます。

ワークフローでは、以下の手順を説明します。

ウォームマイグレーションまたはリモート OpenShift クラスターへの移行:

  1. Migration カスタムリソース (CR) を作成して、移行計画を実行すると、Migration Controller サービスは移行元仮想マシンディスクごとに DataVolume CR を作成します。

    各仮想マシンディスクについて:

  2. Containerized Data Importer (CDI) Controller サービスが、DataVolume CR で指定されたパラメーターに基づいて永続ボリューム要求 (PVC) を作成します。
  3. StorageClass に動的プロビジョナーがある場合、永続ボリューム (PV) は StorageClass プロビジョナーによって動的にプロビジョニングされます。
  4. CDI Controller サービスが importer Pod を作成します。
  5. importer Pod が仮想マシンディスクを PV にストリーミングします。

    仮想マシンディスクの転送後:

  6. Migration Controller サービスは、VMWare からのインポート時に、PVC が接続された conversion Pod を作成します。

    conversion Pod は virt-v2v を実行して、ターゲット仮想マシンの PVC にデバイスドライバーをインストールし、設定します。

  7. Migration Controller サービスは、PVC に接続されたソース仮想マシン (VM) ごとに VirtualMachine CR を作成します。
  8. 仮想マシンがソース環境で実行されている場合は、Migration Controller が仮想マシンの電源を入れ、KubeVirt Controller サービスが virt-launcher Pod と VirtualMachineInstance CR を作成します。

    virt-launcher Pod は、仮想マシンディスクとして割り当てられた PVC で QEMU-KVM を実行します。

RHV または OpenStack からローカル OpenShift クラスターへのコールドマイグレーション:

  1. Migration カスタムリソース (CR) を作成して、移行計画を実行すると、Migration Controller サービスは移行元仮想マシンディスクごとに PersistentVolumeClaim CR を作成し、ソースが RHV の場合は OvirtVolumePopulator を作成し、ソースが OpenStack の場合は OpenstackVolumePopulator CR を作成します。

    各仮想マシンディスクについて:

  2. Populator Controller サービスは一時的な永続ボリューム要求 (PVC) を作成します。
  3. StorageClass に動的プロビジョナーがある場合、永続ボリューム (PV) は StorageClass プロビジョナーによって動的にプロビジョニングされます。

    • Migration Controller サービスは、ダミー Pod を作成して、すべての PVC をバインドします。Pod の名前には pvcinit が含まれます。
  4. Populator Controller サービスは、populator Pod を作成します。
  5. populator Pod は、ディスクデータを PV に転送します。

    仮想マシンディスクの転送後:

  6. 一時的な PVC は削除され、最初の PVC はデータを含む PV を指します。
  7. Migration Controller サービスは、PVC に接続されたソース仮想マシン (VM) ごとに VirtualMachine CR を作成します。
  8. 仮想マシンがソース環境で実行されている場合は、Migration Controller が仮想マシンの電源を入れ、KubeVirt Controller サービスが virt-launcher Pod と VirtualMachineInstance CR を作成します。

    virt-launcher Pod は、仮想マシンディスクとして割り当てられた PVC で QEMU-KVM を実行します。

VMWare からローカル OpenShift クラスターへのコールドマイグレーション:

  1. Migration カスタムリソース (CR) を作成して、移行計画を実行すると、Migration Controller サービスは移行元仮想マシンディスクごとに DataVolume CR を作成します。

    各仮想マシンディスクについて:

  2. Containerized Data Importer (CDI) Controller サービスは、DataVolume CR に指定されたパラメーターに基づいて、空の永続ボリューム要求 (PVC) を作成します。
  3. StorageClass に動的プロビジョナーがある場合、永続ボリューム (PV) は StorageClass プロビジョナーによって動的にプロビジョニングされます。

すべての仮想マシンディスクについて:

  1. Migration Controller サービスは、ダミー Pod を作成して、すべての PVC をバインドします。Pod の名前には pvcinit が含まれます。
  2. Migration Controller サービスは、すべての PVC の conversion Pod を作成します。
  3. conversion Pod は virt-v2v を実行します。これにより、仮想マシンが KVM ハイパーバイザーに変換され、ディスクのデータが対応する PV に転送されます。

    仮想マシンディスクの転送後:

  4. Migration Controller サービスは、PVC に接続されたソース仮想マシン (VM) ごとに VirtualMachine CR を作成します。
  5. 仮想マシンがソース環境で実行されている場合は、Migration Controller が仮想マシンの電源を入れ、KubeVirt Controller サービスが virt-launcher Pod と VirtualMachineInstance CR を作成します。

    virt-launcher Pod は、仮想マシンディスクとして割り当てられた PVC で QEMU-KVM を実行します。

18.4. MTV での virt-v2v ツールの使用方法

Migration Toolkit for Virtualization (MTV) は、virt-v2v ツールを使用して、仮想マシン (VM) のディスクイメージを OpenShift Virtualization と互換性のある形式に変換します。このツールは、仮想マシンを OpenShift Virtualization で動作させるために必要なタスクを自動的に実行するため、移行が容易になります。たとえば、可能であれば変換後の仮想マシンで準仮想化 VirtIO ドライバーを有効にしたり、QEMU ゲストエージェントをインストールしたりします。

virt-v2v は、Red Hat Enterprise Linux (RHEL) バージョン 7 以降に含まれています。

18.4.1. MTV 移行における virt-v2v の主な機能

移行時に、MTV は virt-v2v を使用して仮想マシンに関するメタデータを収集し、仮想マシンディスクに必要な変更を加え、仮想マシンを含むディスクを OpenShift Virtualization にコピーします。

virt-v2v は、VM ディスクに以下の変更を加えて、移行向けに準備します。

  • 追加:

    • VirtIO ドライバー (ネットワークやディスクドライバーなど) の注入。
    • QEMU ゲストエージェントのインストールなど、ハイパーバイザー固有のツールまたはエージェントの準備。
    • 更新されたブートローダーやブートエントリーなどのブート設定の変更。
  • 削除:

    • VMware ツールや VirtualBox の追加など、ハイパーバイザー固有の不要なファイルまたは以前のファイル。
    • たとえば、VMware 固有の NIC ドライバーを削除するなど、古いネットワークドライバー設定。
    • 古いブート設定など、ターゲットシステムと互換性のない設定。

VMware または Open Virtual Appliances (OVA) ファイルから移行する場合、virt-v2v は移行中または移行後の仮想マシンの最初の再起動時に IP アドレスも設定します。

注記

MTV を使用して移行の前または後に、事前定義された Ansible フックを実行することもできます。詳細は、MTV 移行計画へのフックの追加 を参照してください。

これらのフックは virt-v2v を使用するとは限りません。

18.4.2. ファイルのカスタマイズ、削除、およびインストール

MTV は、virt-v2v を使用して、以下のアクションなどの変換中に追加のゲストのカスタマイズを実行します。

  • IP アドレスを保存するカスタマイズ
  • ドライブ文字を保存するカスタマイズ
注記

Red Hat Enterprise Linux (RHEL) ベースのゲストの場合、virt-v2v は Red Hat レジストリーからゲストエージェントをインストールしようとします。移行が分離された環境で実行される場合、インストールプログラムは失敗するため、フックまたはその他の自動化を使用してゲストエージェントをインストールする必要があります。

詳細は、以下の man リファレンスページを参照してください。

18.4.3. パーミッションおよび virt-v2v

virt-v2v は、実行中の仮想マシンに対して実行されず、VM のディスクに対してのみ実行されるため、virt-v2v は、ゲストオペレーティングシステム自体にパーミッションまたはアクセス認証情報を必要としません。

18.4.4. raw コピーモード

通常のコールドマイグレーションおよびウォームマイグレーションでは、Migration Toolkit for Virtualization (MTV) は、virt-v2v と呼ばれるプログラムを使用して、仮想マシン (VM) がソースプロバイダーからコピーされた後、OpenShift Virtualization への移行に向けて仮想マシンを準備します。

virt-v2v の主な機能は、仮想マシンのディスクイメージを OpenShift Virtualization と互換性のある形式に変換することです。このプログラムの詳細は、MTV での virt-v2v ツールの使用方法 を参照してください。ここで注意すべき重要な点は、virt-v2v は Red Hat Enterprise Linux、Windows、Windows Server の最新バージョンなどの主要なオペレーティングシステムと互換性がありますが、macOS やその他の一部のオペレーティングシステムとは互換性がないことです。

注記

virt-v2v がサポートするオペレーティングシステムのリストについては、Converting virtual machines from other hypervisors to KVM with virt-v2v in RHEL 7, RHEL 8, and RHEL 9 を参照してください。

virt-v2v がサポートしていないオペレーティングシステムを使用する仮想マシンを移行するための回避策として、MTV には raw コピーモード と呼ばれる機能が含まれています。raw コピーモードでは、OpenShift Virtualization で使用するために仮想マシンを変換するツールを適用せずに、仮想マシンをコピーします。移行された仮想マシンはエミュレートされたデバイスを使用します。

これにより、より堅牢な移行が可能になり、より幅広いオペレーティングシステムと設定が可能になります。例としては、一般的でないファイルシステムを持つ仮想マシン、一般的でない暗号化テクノロジーを持つ仮想マシン、またはキーにアクセスできない仮想マシンが挙げられます。

ただし、raw コピーモードを使用して移行された仮想マシンは、OpenShift Virtualization で起動しなかったり、通常の方法で移行された仮想マシンと同じように動作しない可能性があります。raw コピーモードを使用して移行された仮想マシンは、OpenShift Virtualization で起動しないか、通常の方法で移行された仮想マシンと同じようには動作しない可能性があります。

したがって、raw コピーモードの使用は、移行後の問題発生リスクが高まる半面、より汎用性の高い移行オプションであるというトレードオフの関係にあります。

このリスクがあるため、ユーザーは Red Hat Support チームに raw コピーモードの移行を実行するように依頼する必要があります。

第19章 ログとカスタムリソース

トラブルシューティングのためにログおよびカスタムリソース (CR) の情報をダウンロードできます。詳細は、詳細な移行ワークフロー を参照してください。

19.1. 収集されるログおよびカスタムリソース情報

Red Hat OpenShift Web コンソールまたはコマンドラインインターフェイス (CLI) を使用すると、以下のターゲットのログとカスタムリソース (CR) yaml ファイルをダウンロードできます。

  • 移行計画: Web コンソールまたは CLI。
  • 仮想マシン: Web コンソールまたは CLI。
  • namespace: CLI のみ。

must-gather ツールは、以下のログおよび CR ファイルをアーカイブファイルで収集します。

  • CR:

    • DataVolume CR: 移行された仮想マシンにマウントされているディスクを表します。
    • VirtualMachine CR: 移行された仮想マシンを表します。
    • Plan CR: 仮想マシンおよびストレージおよびネットワークマッピングを定義します。
    • Job CR: オプション: 移行前のフック、移行後のフック、またはその両方を表します。
  • ログ:

    • importer Pod: ディスクからデータボリュームへの変換ログ。importer Pod の命名規則は importer-<migration_plan>-<vm_id><5_char_id> です。たとえば、importer-mig-plan-ed90dfc6-9a17-4a8btnfh は、ed90dfc6-9a17-4a8 が省略された RHV 仮想マシン ID、btnfh は生成された 5 文字の ID です。
    • conversion Pod: 仮想マシンの変換ログ。conversion Pod は virt-v2v を実行します。これは、仮想マシンの PVC にデバイスドライバーをインストールし、設定します。conversion Pod の命名規則は <migration_plan>-<vm_id><5_char_id> です。
    • virt-launcher Pod: 仮想マシンランチャーログ。移行した仮想マシンの電源がオンになると、virt-launcher Pod は仮想マシンディスクとして割り当てられた PVC で QEMU-KVM を実行します。
    • forklift-controller Pod: ログは must-gather コマンドで指定される移行計画、仮想マシン、または namespace に対してフィルター処理されます。
    • forklift-must-gather-api Pod: ログは must-gather コマンドで指定される移行計画、仮想マシン、または namespace に対してフィルター処理されます。
    • hook-job Pod: ログはフックジョブに対してフィルターされます。hook-job の命名規則は、<migration_plan>-<vm_id><5_char_id> (例: plan2j-vm-3696-posthook-4mx85 または plan2j-vm-3696-prehook-mwqnl) です。

      注記

      空または除外されたログファイルは、must-gather アーカイブファイルには含まれません。

VMware 移行計画の must-gather アーカイブ構造の例

must-gather
└── namespaces
    ├── target-vm-ns
    │   ├── crs
    │   │   ├── datavolume
    │   │   │   ├── mig-plan-vm-7595-tkhdz.yaml
    │   │   │   ├── mig-plan-vm-7595-5qvqp.yaml
    │   │   │   └── mig-plan-vm-8325-xccfw.yaml
    │   │   └── virtualmachine
    │   │       ├── test-test-rhel8-2disks2nics.yaml
    │   │       └── test-x2019.yaml
    │   └── logs
    │       ├── importer-mig-plan-vm-7595-tkhdz
    │       │   └── current.log
    │       ├── importer-mig-plan-vm-7595-5qvqp
    │       │   └── current.log
    │       ├── importer-mig-plan-vm-8325-xccfw
    │       │   └── current.log
    │       ├── mig-plan-vm-7595-4glzd
    │       │   └── current.log
    │       └── mig-plan-vm-8325-4zw49
    │           └── current.log
    └── openshift-mtv
        ├── crs
        │   └── plan
        │       └── mig-plan-cold.yaml
        └── logs
            ├── forklift-controller-67656d574-w74md
            │   └── current.log
            └── forklift-must-gather-api-89fc7f4b6-hlwb6
                └── current.log

19.2. Web コンソールからのログおよびカスタムリソース情報のダウンロード

完了、失敗、またはキャンセルされた移行計画、または移行された仮想マシン (VM) のカスタムリソース (CR) に関するログと情報を Red Hat OpenShift Web コンソールからダウンロードできます。

手順

  1. Red Hat OpenShift Web コンソールで、MigrationPlans for virtualization をクリックします。
  2. 移行計画名の横にある Get logs をクリックします。
  3. Get logs ウィンドウで Get logs をクリックします。

    ログが収集されます。Log collection complete メッセージが表示されます。

  4. Download logs をクリックしてアーカイブファイルをダウンロードします。
  5. 移行された仮想マシンのログをダウンロードするには、移行計画名をクリックして、仮想マシンの横にある Get logs をクリックします。

19.3. コマンドラインからのログとカスタムリソース情報へのアクセス

must-gather ツールを使用して、コマンドラインからカスタムリソース (CR) に関するログと情報にアクセスできます。must-gather データファイルをすべてのカスタマーケースに割り当てる必要があります。

フィルターオプションを使用して、特定の namespace、完了、失敗、またはキャンセルされた移行計画、移行した仮想マシン (VM) のデータを収集できます。

注記

フィルターされた must-gather コマンドで存在しないリソースを指定すると、アーカイブファイルは作成されません。

前提条件

  • cluster-admin ロールを持つユーザーとして OpenShift Virtualization クラスターにログインしている。
  • Red Hat OpenShift CLI (oc) がインストールされている。

手順

  1. must-gather データを保存するディレクトリーに移動します。
  2. oc adm must-gather コマンドを実行します。

    $ oc adm must-gather --image=registry.redhat.io/migration-toolkit-virtualization/mtv-must-gather-rhel8:2.9.6

    データは /must-gather/must-gather.tar.gz として保存されます。このファイルを Red Hat カスタマーポータル で作成したサポートケースにアップロードできます。

  3. オプション: oc adm must-gather コマンドに以下のオプションを指定して実行し、フィルターされたデータを収集します。

    • Namespace:

      $ oc adm must-gather --image=registry.redhat.io/migration-toolkit-virtualization/mtv-must-gather-rhel8:2.9.6 \
        -- NS=<namespace> /usr/bin/targeted
    • 移行計画:

      $ oc adm must-gather --image=registry.redhat.io/migration-toolkit-virtualization/mtv-must-gather-rhel8:2.9.6 \
        -- PLAN=<migration_plan> /usr/bin/targeted
    • 仮想マシン:

      $ oc adm must-gather --image=registry.redhat.io/migration-toolkit-virtualization/mtv-must-gather-rhel8:2.9.6 \
        -- VM=<vm_name> NS=<namespace> /usr/bin/targeted 
      1
      1
      仮想マシンの ID ではなく、Plan CR に表示される仮想マシンの 名前 を指定する必要があります。

第20章 テレメトリー

20.1. テレメトリー

Red Hat はテレメトリーを使用して、Migration Toolkit for Virtualization (MTV) インストールから匿名の使用状況データを収集し、MTV の使いやすさと効率性の向上に役立てています。

MTV は以下のデータを収集します。

  • 移行計画のステータス: 移行の数。失敗した移行、成功した移行、キャンセルされた移行が含まれます。
  • プロバイダー: プロバイダーごとの移行数。Red Hat Virtualization、vSphere、OpenStack、OVA、OpenShift Virtualization プロバイダーが含まれます。
  • モード: モード別の移行数。コールドマイグレーションとウォームマイグレーションが含まれます。
  • ターゲット: ターゲット別の移行数。ローカルおよびリモート移行が含まれます。
  • 計画 ID: 移行計画の ID 番号。番号は MTV によって割り当てられます。

メトリクスは 10 秒ごとに計算され、週ごと、月ごと、年ごとにレポートされます。

第21章 関連情報

21.1. MTV パフォーマンスアドオン

ここで提供されるデータは Red Hat Labs でのテストから収集されたもので、参考目的でのみ提供されています。 

全体として、これらの数値は最良のシナリオを示すものと考えるべきです。

確認できた移行のパフォーマンスは、これらの結果と異なる場合があり、いくつかの要因に依存します。

21.1.1. ESXi のパフォーマンス

ESXi のパフォーマンスは、単一の ESXi ホストまたは複数の ESXi ホストに対して測定できます。

21.1.1.1. 単一の ESXi ホストのパフォーマンス

同じ ESXi ホストを使用して移行をテストします。

各イテレーションで仮想マシンの合計数が増加し、同時移行が期間に与える影響が表示されます。

結果は、合計仮想マシン (50 GiB ディスク、使用率 70%) が増加すると、移行時間がディスク数や使用率に比例することを示しています。

ESXi あたりの仮想マシンの最適な数は 10 です。

Expand
表21.1 単一の ESXi ホストテスト
テストケースの説明MTVVDDKmax_vm inflight移行タイプ合計所要時間

コールドマイグレーション、10 台の仮想マシン、単一の ESXi、プライベートネットワーク (非管理ネットワーク)

2.6

7.0.3

100

コールド

0:21:39

コールドマイグレーション、20 台の仮想マシン、単一の ESXi、プライベートネットワーク

2.6

7.0.3

100

コールド

0:41:16

コールドマイグレーション、30 台の仮想マシン、単一の ESXi、プライベートネットワーク

2.6

7.0.3

100

コールド

1:00:59

コールドマイグレーション、40 台の仮想マシン、単一の ESXi、プライベートネットワーク

2.6

7.0.3

100

コールド

1:23:02

コールドマイグレーション、50 台の仮想マシン、単一の ESXi、プライベートネットワーク

2.6

7.0.3

100

コールド

1:46:24

コールドマイグレーション、80 台の仮想マシン、単一の ESXi、プライベートネットワーク

2.6

7.0.3

100

コールド

2:42:49

コールドマイグレーション、100 台の仮想マシン、単一の ESXi、プライベートネットワーク

2.6

7.0.3

100

コールド

3:25:15

21.1.1.2. 複数の ESXi ホストと単一のデータストア

各イテレーションで ESXi ホストの数が増加し、ESXi ホストの数を増やすと移行時間が改善されることが示されました (50 GiB ディスク、使用率 70%)。

Expand
表21.2 複数の ESXi ホストと単一のデータストア
テストケースの説明MTVVDDKmax_vm inflight移行タイプ合計所要時間

コールドマイグレーション、100 台の仮想マシン、単一の ESXi、プライベートネットワーク (非管理ネットワーク)

2.6

7.0.3

100

コールド

3:25:15

コールドマイグレーション、100 台の仮想マシン、4 台の ESX (ESX あたり 25 台の仮想マシン)、プライベートネットワーク

2.6

7.0.3

100

コールド

1:22:27

コールドマイグレーション、100 台の仮想マシン、5 台の ESX (ESX あたり 20 台の仮想マシン)、プライベートネットワーク、1 つのデータストア

2.6

7.0.3

100

コールド

1:04:57

21.1.2. 異なる移行ネットワークを使用したパフォーマンス

各回のテストで、移行に最も高速なネットワークを見つけるために、プロバイダー を使用して Migration Network を変更しました。

その結果、すべてのインターフェイスとネットワーク速度が同じである場合、管理ネットワークを使用した場合と管理ネットワークを使用しない場合との間でパフォーマンスが低下しないことを示しています。

Expand
表21.3 異なる移行ネットワークテスト
テストケースの説明MTVVDDKmax_vm inflight移行タイプ合計所要時間

コールドマイグレーション、10 台の仮想マシン、単一の ESXi、MGMT ネットワーク

2.6

7.0.3

100

コールド

0:21:30

コールドマイグレーション、10 台の仮想マシン、単一の ESXi、プライベートネットワーク (非管理ネットワーク)

2.6

7.0.3

20

コールド

0:21:20

コールドマイグレーション、10 台の仮想マシン、単一の ESXi、デフォルトネットワーク

2.6.2

7.0.3

20

コールド

0:21:30

法律上の通知

Copyright © 2025 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る