2.6. VMware の前提条件

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

  • 互換性のあるバージョン の VMware vSphere を使用している。
  • 少なくとも最小限の VMware 権限 を持つユーザーとしてログインしている。
  • VMware ツール をすべてのソース仮想マシン (VM) にインストールしている。
  • ウォーム移行を実行している場合は、仮想マシンおよび仮想マシンディスクで 変更ブロックのトラッキング (CBT) を有効にしている。
  • VMware Virtual Disk Development Kit (VDDK) イメージを作成している。
  • vCenter ホストの SHA-1 フィンガープリントを取得している。
  • 同じ移行計画の ESXi ホストから 10 台を超える仮想マシンを移行する場合は、ホストの NFC サービスメモリーを増やしている。
  • Migration Toolkit for Virtualization (MTV) は休止状態の VM の移行をサポートしていないため、休止状態を無効にすることを強く推奨する。
重要

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

注記

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

VMware 権限

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

表2.4 VMware 権限

特権説明

Virtual machine.Interaction 権限:

Virtual machine.Interaction.Power Off

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

Virtual machine.Interaction.Power On

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

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

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

2.6.1. VDDK イメージの作成

Migration Toolkit for Virtualization (MTV) は、VMware Virtual Disk Development Kit (VDDK) SDK を使用して、VMware vSphere から仮想ディスクを転送します。

VMware Virtual Disk Development Kit (VDDK) をダウンロードして、VDDK イメージをビルドし、VDDK イメージをイメージレジストリーにプッシュする必要があります。VMware ソースプロバイダーを追加するには、VDDK init イメージパスが必要です。

注記

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

前提条件

手順

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

    $ mkdir /tmp/<dir_name> && cd /tmp/<dir_name>
  2. ブラウザーで、VMware VDDK バージョン 7 ダウンロードページ に移動します。
  3. バージョン 7.0.3.2 を選択し、Download をクリックします。
  4. VDDK アーカイブファイルを一時ディレクトリーに保存します。
  5. VDDK アーカイブを展開します。

    $ tar -xzf VMware-vix-disklib-<version>.x86_64.tar.gz
  6. 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
  7. VDDK イメージをビルドします。

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

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

2.6.2. vCenter ホストの SHA-1 フィンガープリントの取得

Secret CR を作成するには、vCenter ホストの SHA-1 フィンガープリントを取得する必要があります。

手順

  • 以下のコマンドを実行します。

    $ openssl s_client \
        -connect <vcenter_host>:443 \ 1
        < /dev/null 2>/dev/null \
        | openssl x509 -fingerprint -noout -in /dev/stdin \
        | cut -d '=' -f 2
    1
    vCenter ホストの IP アドレスまたは FQDN を指定します。

    出力例

    01:23:45:67:89:AB:CD:EF:01:23:45:67:89:AB:CD:EF:01:23:45:67

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

同じ移行計画の ESXi ホストから 10 台を超える仮想マシンを移行する場合は、ホストの 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

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