以下の場所から、VDDKダイレクト抽出機能を使用して IBM Cloud 仮想サーバーへ移行する vCenter

virt-v2v を使用した VDDK ダイレクト抽出機能を活用し、 VMware の仮想マシンを、 vCenter から IBM Cloud VPC の仮想サーバーへ、ディスク変換を自動化して移行します。

アーキテクチャー・コンポーネント

次の表は、VDDK 直接抽出マイグレーションのアーキテクチャコンポーネントについて説明したものです。

VDDK直接抽出移行法のアーキテクチャ構成要素
アーキテクチャー・コンポーネント 説明
VMware 仮想ディスク開発キット(VDDK) VMware の仮想ディスクアクセス用APIライブラリである。 VMware の開発者ポータルからダウンロードしてください。
VDDK サポート付き libguestfs nbdkit VDDKプラグインで構築された virt-v2v ツール。 これには Red Hat Enterprise Linux (RHEL)が必要です( Ubuntu のビルドにはVDDKのサポートが含まれていません)。
ワーカー仮想サーバーインスタンス libguestfs-tools と VDDK をインストールした RHEL ベースのインスタンス。
vCenter アクセス ワーカー仮想サーバーインスタンスから vCenter および vSphere ホストへのネットワーク接続。

VDDK 直接抽出移行プロセスの概要

以下のステップでは、VDDK Direct Extractionを使用して移行するプロセスをレイアウトします。

  1. RHEL( Red Hat Enterprise Linux )ワーカー仮想サーバーインスタンスの提供

    1. RHEL 8 または 9 インスタンス
    2. libguestfs-toolsをインストールする: dnf install libguestfs-tools
    3. ネットワーク接続 vCenter
  2. インストール VMware VDDK

    1. VMware 開発者ポータルからダウンロード( VMware アカウント必要です。)
    2. ワーカー仮想サーバーインスタンス上のディレクトリ(例: /opt/vmware-vix-disklib-distrib )に解凍してください
  3. vCenter 情報収集

    1. vCenter ホスト名/IP
    2. vCenter 認証情報(ドメインユーザー形式)
    3. ターゲット仮想マシン名
    4. 仮想マシンが稼動している ESXi ホスト( vCenter 経由で検出)
    5. vCenter 証明書のサムプリント:
    openssl s_client -connect vcenter.example.com:443 </dev/null 2>/dev/null | \
      openssl x509 -fingerprint -noout -in /dev/stdin | \
      cut -d= -f2
    
  4. ターゲット・ボリュームの作成

    1. エフェメラル仮想サーバーインスタンス方式を使用する(方法2の手順2~4)
    2. ワーカー仮想サーバーインスタンスにアタッチする
  5. /etc/hosts を設定する

    1. DNSが正しく解決されない場合、 vCenter、ESXiホストを追加する
    2. VDDKはホスト名解決にうるさいことがある
  6. VDDKで virt-v2v

    1. パスワードファイルの作成
       echo 'YourPasswordHere' > /tmp/vcenter-passwd
       chmod 600 /tmp/vcenter-passwd
    
    1. 走る virt-v2v
       virt-v2v \
         -ic 'vpx://vsphere.local\%5cAdministrator\@vcenter.example.com/Datacenter/Cluster/esxi-host.example.com?no_verify=1' \
         'VM-Name' \
         -ip /tmp/vcenter-passwd \
         -o disk \
         -os /tmp \
         -it vddk \
         -io vddk-libdir=/opt/vmware-vix-disklib-distrib \
         -io vddk-thumbprint=A2:41:6A:FA:81:CA:4B:06:AE:EB:C4:1B:0F:FE:23:22:D0:E8:89:02 \
         --block-driver virtio-scsi
    

    パラメーター: - -ic:入力接続文字列 ( vCenter の場合は vpx:// ) - \%5c domainuser のバックスラッシュのエンコーディングは URL - ?no_verify=1 SSL 証明書の検証を省略 - 'VM-Name':の仮想マシンの正確な名前。 vCenter - -ip:パスワードファイルのパス - -o disk -os /tmp:ディレクトリに出力 /tmp - -it vddk:入力トランスポート VDDK - -io vddk-libdir:VDDKインストールへのパス - -io vddk-thumbprint vCenter 証明書の拇印 - --block-driver virtio-scsi:Windows仮想マシンの場合(最初のディスクにSCSIドライバが必要)

  7. Symlinkトリックでデバイスに直接アクセス

    通常、 virt-v2v はディレクトリ内のファイルに書き込む。 ブロック・デバイスに直接書き込む:

    # virt-v2v will create file named VM-Name-sda
    ln -fs /dev/vdb /tmp/VM-Name-sda
    # Run virt-v2v, it writes to symlink which points to device
    virt-v2v ... (same command as above)
    
  8. ボリュームから仮想サーバーインスタンスを作成する

    • 方法2/3と同じ:ワーカーから切り離し、既存のボリュームから仮想サーバーインスタンスを作成する

設計上の利点

次の表は、VDDK ダイレクト・エクストラクション・マイグレーションの設計上の利点を示したものです。

VDDK直接抽出マイグレーション方式の設計上の利点
デザインの優位性 説明
単一コマンドによる移行 一つの virt-v2v 呼び出しがすべてを行う- vCenter, フォーマットの変換、ドライバーの注入、宛先への書き込み。
エクスポート手順なし ライブネットワーク転送マイグレーションと同様、エクスポートのオーバーヘッドを排除。
自動化に適した 一度作業すれば、大規模なマイグレーションを簡単にスクリプト化できる。
統合的変革 ドライバーインジェクションとOSの準備は自動的に行われる。

設計上の制約と限界

次の表に、VDDK 直接抽出マイグレーションの制約と制限を示します。

VDDK直接抽出移行法の限界と制約条件
制限または制約 説明
vCenter のみ VCFaaS では動作しません( vCenter API アクセス不可)。
RHEL/ Ubuntu ツールの機能不足

クリティカルな課題

  • libguestfs の RHEL ビルドには VDDK サポート (nbdkit プラグイン) が含まれている

  • libguestfs の RHEL ビルド virt-v2v は --block-driver virtio-scsi をサポートしていない (Windows では必須)

  • libguestfs の Ubuntu ビルド virt-v2v はサポートしている --block-driver virtio-scsi

  • libguestfs の Ubuntu ビルドには VDDK サポートが含まれていない

以下のいずれかが必要です:

  • Ubuntu

または

  • VDDK 抽出、ファイルへの書き込み、 Ubuntu システムへの転送には RHEL を使用し、 virt-v2v 変換を行う
複雑な前提条件 VDDKのインストール、 vCenter APIアクセス、証明書の拇印、正確な接続文字列が必要。 他の方法よりも段取りが多い。
ネットワーク要件 ワーカー仮想サーバーインスタンスは、 vCenter および ESXi ホストに直接到達する必要があります。 ファイアウォールのルールを追加する必要がある場合があります。

VDDK Direct Extraction移行は、セットアップとツール構築への先行投資が多くの仮想マシンで回収できる、大規模な vCenter 移行に威力を発揮します。 小規模なマイグレーションや VCFaaS 環境にはお勧めしません。 この方法を選択する場合は、ツールのセットアップとテストに時間を割くこと。