VMware のVMを、ライブネットワーク転送機能を使用して IBM Cloud の仮想サーバーへ移行する

virt-v2v および Transit Gateway 接続を使用して、ネットワーク経由でディスクデータをストリーミングすることにより、 VMware の仮想マシン(VM)を IBM Cloud VPC の仮想サーバーに移行します。

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

ライブ・ネットワーク転送マイグレーションのアーキテクチャ・コンポーネントは以下の通りである:

ライブ・ネットワーク転送移行方式のアーキテクチャ・コンポーネント
アーキテクチャー・コンポーネント 説明
Transit Gateway VMware 環境(Classic、NSX、または VCFaaS )を VPC に接続します。 これは、ソース仮想マシン( VMware )がワーカー仮想サーバインスタンス(VPC内)と通信するために必要なレイヤ3ルーティングを提供します。
ワーカー仮想サーバーインスタンス 方法2と似ているが、ここでは純粋にレシーバーであり、ネットワーク・ポートでディスク・データの入力をリッスンする。
ライブISO

ブート可能な ISO です:

  • ネットワーク設定ツール

  • ディスク読み込みユーティリティ (dd)

  • 圧縮ツール (gzip, pigz)

  • ネットワーク転送ツール (netcat, socat, ssh)

ブート・ソース・オプション
  • Ubuntu インストール ISO: ヘルプメニューに「Enter shell」オプションがあり、必要なツールのほとんどを含む

  • TinyCore Linux: 非常に小さいが、ssh/qemu 用のパッケージインストールが必要

  • virt-p2v ISO: Red Hat によって P2V 移行用に構築され、レシーバー上で virt-v2v と統合

  • G4L (Ghost for Linux ):イメージングに特化したライブ Linux

ライブ・ネットワーク移行プロセスの概要

以下のステップでは、ライブネットワーク転送を使用して移行するプロセスをレイアウトします。

  1. 提供 Transit Gateway

    1. Transit Gateway を作成する。 IBM Cloud
    2. VMware 環境に接続してください:
    • クラシッククラシック・ アカウント直接接続
    • NSX:NSXエッジへのGREトンネル
    • VCFaaS: VCFaaS エッジへのGREトンネル
    1. VMware ネットワークと VPC サブネット間のルーティングを設定する
    2. 最初の移行前に接続性を徹底的にテストする
  2. VPCにWorker仮想サーバーインスタンスをプロビジョニングする

    1. Ubuntu または十分なリソースのあるRHEL
    2. エフェメラル仮想サーバーインスタンス技術を使用してターゲットボリュームを作成する(方法2の手順2~4)
    3. ターゲットボリュームをワーカーにアタッチする
    4. netcatのインストール: apt-get install netcat または yum install nc
  3. 移籍元を準備する VM

    1. の仮想マシンにライブISOをアタッチする。 vCenter/VCFaaS
    2. 仮想マシンの起動順序をCD/ISOから最初に起動するように設定する
    3. ライブ環境でのネットワークセットアップのために、現在のIPコンフィギュレーションをメモしておく
  4. ISOからソース仮想マシンを起動する

    1. 仮想マシンを再起動すると、ライブ環境で起動する
    2. 仮想マシンのディスクにはアクセスできるが、OSが動作していない(クリーンシャットダウンと同等)
  5. ライブ環境でネットワークを設定する

    1. ネットワークインターフェースの名前を確認してください( eth0、 ens192 など、場合によって異なります)
    2. IPとルーティングを設定する:
    ip addr add 10.50.200.3/26 dev ens192
    ip route add 0.0.0.0/0 via 10.50.200.1
    ping 192.168.100.5  # Test connectivity to worker virtual server instance
    
  6. 転送の開始

    1. Worker仮想サーバーインスタンスで(最初にリスナーを起動します):
    # Listen for incoming data, decompress, write to volume
    nc -l 192.168.100.5 8080 | gunzip | dd of=/dev/vdb bs=16M status=progress
    
    1. ソース仮想マシン(ライブISO)で:
    # Read disk, compress, send to worker
    dd if=/dev/sda bs=16M | gzip | nc -N -v 192.168.100.5 8080
    
    • 双方の進捗状況を監視する
    • 転送時間はディスクサイズとネットワーク帯域幅に依存する
    • 圧縮は通常、OSディスクで 2-4x
  7. ディスクの追加を繰り返す

    • マルチディスク仮想マシンの場合は、各ディスクについて繰り返します:

      # Worker (disk 2)
      nc -l 192.168.100.5 8080 | gunzip | dd of=/dev/vdc bs=16M status=progress
      # Source (disk 2)
      dd if=/dev/sdb bs=16M | gzip | nc -N -v 192.168.100.5 8080
      
  8. 移籍後の処理

    1. 移籍の検証: fdisk -l /dev/vdb on worker
    2. オプションで virt-v2v : virt-v2v-in-place -i disk /dev/vdb
    3. バッファをフラッシュする: blockdev --flushbufs /dev/vdb
  9. ボリュームから仮想サーバーインスタンスを作成する

    1. ワーカーからボリュームを切り離す
    2. 既存のブートボリュームを使用して最終的な仮想サーバーインスタンスを作成する(方法2のステップ8と同じ)
  10. ソース仮想マシンのシャットダウン

    1. 仮想サーバーインスタンスが正常に起動することを確認した後、ソース仮想マシンをシャットダウンします
    2. オプションで、ロールバックポイントとして VMware にスナップショットを作成する

設計上の利点

以下の表は、ライブネットワーク転送マイグレーションの設計上の利点を説明したものである。

ライブ・ネットワーク転送移行方式の設計上の利点
デザインの優位性 説明
エクスポート時のオーバーヘッドなし VMDKのエクスポート時間、エクスポート・ストレージ、VPCへのエクスポート転送が不要になります。
ネットワークの効率的な活用 圧縮を伴うダイレクトストリーミングは、利用可能な帯域幅を最適に利用します。
並列移行機能 複数のワーカー仮想サーバーインスタンスをプロビジョニングし、ネットワーク帯域幅とワーカーリソースによってのみ制限される複数の仮想マシンを同時に移行します。
最大限の柔軟性 virt-v2v 変換との統合が容易で、 VCFaaS と vCenter, の両方をサポートし、ディスク数に関係なくあらゆる仮想マシンで動作します。
ディスクの状態をクリーンにする ISOからの起動は、ソースOSが実行されていないことを保証し、クリーンで一貫性のあるディスク状態を提供する(コールドスナップショットに似ている)。

設計上の制約と限界

次の表は、ライブネットワーク転送マイグレーションの制約と制限について説明したものである。

ライブ・ネットワーク転送移行手法の限界と制約
制限または制約 説明
Transit Gateway 要件 Transit Gateway 接続の設定とテストに先行投資が必要。
ライブISOの作成
  • 選択したライブISOを準備しテストする必要があり、必要なツールでカスタマイズする可能性もある。
ネットワーク帯域幅への依存性 転送速度は、環境間のネットワーク帯域幅によって制限される。 監視し、それに応じて計画を立てる。
手動によるネットワーク設定 各ソース仮想マシンについて、ライブISO環境でネットワークを設定する必要がある(スクリプトで設定可能)。
ウォームマイグレーションには適していません これはコールドマイグレーション手法であり、転送中はソース仮想マシンがオフラインになる。

virt-p2v 統合

virt-p2v 統合はより自動化されているが、RHEL/ Ubuntu ハイブリッドコンポーネントで libguestfs をビルドする必要がある。

Red Hat の virt-p2v ISOは、この用途に特化して作られている。 以下を提供します。

  • 転送するディスクを選択するためのグラフィカル・インターフェース
  • virt-v2v 受信機へのネットワーク接続機能内蔵
  • ドライバーの自動注入とOSの準備

virt-p2v 統合プロセス

  1. virt-p2v ISOからソース仮想マシンを起動する
  2. ネットワークを設定し、 virt-v2v をサーバーモードで実行しているワーカー仮想サーバーインスタンスに接続します
  3. virt-p2v ディスクを転送し、 virt-v2v 自動的に変換する
  4. 出来上がったボリュームは、仮想サーバーインスタンスにアタッチする準備ができています

ライブネットワーク転送移行は、大規模な移行(10台以上の仮想マシン)、エクスポートオーバーヘッドが法外なシナリオ、 Transit Gateway とライブISO環境をセットアップする専門知識がある場合に最適です。 初期設定コストは高くなるが、仮想マシンごとの移行効率は優れている。