Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

4.3. 仮想マシンの変換

virt-v2v は、異種のハイパーバイザーの仮想マシンを Red Hat Enterprise Virtualization で実行するように変換します。この操作により、仮想マシンのイメージとメタデータは自動的にパッケージされ、Red Hat Enterprise Virtualization エクスポートストレージドメインにアップロードされます。エクスポートストレージドメインについての詳しい情報は、「エクスポートストレージドメインのアタッチ」 を参照してください。virt-v2v は、変換を行う前に必ずストレージのコピーを作成します。
仮想マシンの変換

図4.2 仮想マシンの変換

管理ポータルを使用して、エクスポートストレージドメインから Red Hat Enterprise Virtualization に仮想マシンのイメージをインポートすることができます。
仮想マシンのインポート

図4.3 仮想マシンのインポート

4.3.1. 仮想マシンの変換準備

仮想マシンを変換する前には、以下の手順が完了していることを確認してください。

手順4.2 仮想マシンの変換準備

  1. NFS エクスポートドメインを作成します。virt-v2v は、変換した仮想マシンを直接 NFS エクスポートストレージドメインに転送することが可能です。仮想マシンは、そのエクスポートストレージドメインから Red Hat Enterprise Virtualization データセンターにインポートすることができます。ストレージドメインは、virt-v2v を実行するマシンでマウント可能である必要があります。Red Hat Enterprise Virtualization エクスポートドメインへのエクスポートを行う際には、root として virt-v2v を実行する必要があります。

    注記

    エクスポートストレージドメインは、NFS 共有としてアクセスされます。デフォルトでは、Red Hat Enterprise Linux 6 は NFSv4 を使用し、更なる設定は必要ありませんが、NFSv2 および NFSv3 クライアントの場合には、virt-v2v を実行するのに使用するホスト上で rpcbind サービスと nfslock のサービスが稼働している必要があります。また、ストレージサーバーへの NFS アクセスを許可するようにネットワークを設定しておく必要もあります。詳細は、『Red Hat Enterprise Linux ストレージ管理ガイド』を参照してください。
  2. virt-v2v.conf でネットワークマッピングを指定します。このステップはオプションであり、大半のユースケースでは必要ありません。
    仮想マシンに複数のネットワークインターフェースがある場合には、/etc/virt-v2v.conf を編集して、全インターフェースのネットワークマッピングを指定する必要があります。-f パラメーターを使用して、代替の virt-v2v.conf ファイルを指定することが可能です。libvirt と Red Hat Enterprise Virtualization の両方への出力用の仮想マシンに変換する場合には、各変換処理ごとに別々の virt-v2v.conf ファイルを使用すべきです。変換されるブリッジには、出力のタイプ (libvirt または Red Hat Enterprise Virtualization) によって異なる設定が必要となるのがその理由です。
    仮想マシンに単一のネットワークインターフェースしかない場合は、virt-v2v.conf を変更するのではなく、 --network または --bridge のパラメーターを使用してより簡単に指定することができます。
  3. virt-v2v.conf に変換用のプロファイルを作成します。このステップはオプションです。プロファイルは、変換メソッド、ストレージの場所、出力フォーマット、割り当てポリシーを指定します。プロファイルが定義されると、--profile を使用して呼び出すことができるので、-o-os-of-oa のパラメーターを個別に指定せずに済みます。詳しくは virt-v2v.conf(5) を参照してください。

4.3.1.1. Linux を実行する仮想マシンの変換準備

Linux を実行する仮想マシンを変換する場合には、変換元のハイパーバイザーの種類に関わらず、以下の手順を実行する必要があります。

手順4.3 Linux を実行する仮想マシンの変換準備

  1. ソフトウェアの取得
    virt-v2v は、変換プロセスの一環として、仮想マシンに新たなカーネルとドライバーをインストールする場合があります。変換する仮想マシンが Red Hat Subscription Manager (RHSM) に登録されている場合は、必要なパッケージが自動的にダウンロードされます。Red Hat Subscription Manager (RHSM) を使用できない環境の場合には、virt-v2v.conf ファイルに、この目的で使用する RPM の一覧が参照されるため、対象の仮想マシンに適切な RPM を Red Hat カスタマーポータルから手動でダウンロードして、path-root 設定要素で指定されているディレクトリー (デフォルトでは /var/lib/virt-v2v/software/) で使用可能な状態にする必要があります。特定の変換を行うために依存するソフトウェアが使用できない場合、virt-v2v例3.1「パッケージが不足している場合に表示されるエラー」 のようなエラーを表示します。
  2. ご使用の環境に適した RPM を取得するには、不足しているパッケージごとに以下の手順を繰り返してください。
    1. Red Hat カスタマーポータル (https://access.redhat.com/) にログインします。
    2. Red Hat カスタマーポータルで、ダウンロード > 製品のダウンロード > Red Hat Enterprise Linux を選択します。
    3. 希望の Product VariantVersion を選び、Packages タブを選択します。エラーメッセージに表示されているパッケージ名と全く同じになるように、Filter フィールドに入力します。例3.1「パッケージが不足している場合に表示されるエラー」 の例では、最初のパッケージは kernel-2.6.32-128.el6.x86_64 です。
    4. パッケージの一覧が表示されます。エラーメッセージに表示されたのと全く同じパッケージ名を選択すると、パッケージの詳細情報が記載された詳細ページが表示されます。または、パッケージの最新版をダウンロードするには、希望のパッケージの横の Download Latest を選択します。
    5. ダウンロードしたパッケージを /var/lib/virt-v2v/software 内の適切なディレクトリーに保存します。Red Hat Enterprise Linux 6 の場合、ディレクトリーは /var/lib/virt-v2v/software/rhel/6 です。

4.3.1.2. Windows を実行する仮想マシンの変換準備

重要

virt-v2v は、Windows 回復コンソールの変換はサポートしていません。仮想マシンに回復コンソールがインストールされている状態で、かつ変換中に VirtIO が有効化されていた場合には、回復コンソールを起動しようとすると Stop エラーが発生します。
Windows XP x86 は VirtIO システム上では Windows 回復コンソールをサポートしていないので、この問題に解決策はありませんが、Windows XP AMD64 および Windows 2003 (x86 and AMD64) には、変換後に回復ツールを再インストールすることができます。再インストールの手順は、初期インストールと同じです。回復コンソールをあらかじめ削除しておく必要はありません。再インストール後には、回復コンソールが正しく機能します。

重要

複数のドライブがある Windows を実行する仮想マシンを Red Hat Enterprise Virtualization への出力用に変換する際に、場合によっては、追加のドライブがデフォルトで表示されない可能性があります。変換された仮想マシンには、Red Hat Enterprise Virtualization によって常に CD-ROM デバイスが追加されます。変換する前にその仮想マシンに CD-ROM デバイスがなかった場合には、新規 CD-ROM デバイスに、その仮想マシン上の既存のドライブと競合するドライブ文字が割り当てられる可能性があります。その場合は、既存のデバイスはアクセスできない状態となります。閉塞したディスクドライブは、手動で新たなドライブ文字を割り当てれば、依然としてアクセス可能です。また、新規 CD-ROM デバイスに割り当てられたドライブ文字を手動で変更してから仮想マシンを再起動すると、以前のドライブ文字を維持することができます。
Windows を実行する仮想マシンを変換する場合には、変換元のハイパーバイザーの種類に関わらず、以下の手順を実行する必要があります。変換の手順は、Red Hat Enterprise Virtualization Manager が作業を完了させるために行う後処理によって異なります。このプロセスについての詳しい説明は 「Windows 仮想マシンの設定変更」 を参照してください。

手順4.4 Windows を実行する仮想マシンの変換準備

Windows を実行する仮想マシンを変換する前には、以下の手順が完了していることを確認してください。
  1. virt-v2v を実行するホストに libguestfs-winsupport パッケージをインストールします。
    このパッケージは、多くの Windows システムで使用されている NTFS のサポートを提供します。libguestfs-winsupport パッケージは、RHEL V2VWIN (v. 6 for 64-bit x86_64) チャンネルで提供されています。ご使用のシステムがこのチャンネルをサブスクライブしていることを確認した上で以下のコマンドを root として実行してください。
    yum install libguestfs-winsupport
    libguestfs-winsupport パッケージをインストールせずに NTFS を使用する仮想マシンの変換を試みると、変換は失敗し、例4.1「libguestfs-winsupport をインストールせずに Windows 仮想マシンの変換を試みた場合に表示されるエラーメッセージ」 のようなエラーメッセージが表示されます。

    例4.1 libguestfs-winsupport をインストールせずに Windows 仮想マシンの変換を試みた場合に表示されるエラーメッセージ

    No operating system could be detected inside this disk image.
    
    This may be because the file is not a disk image, or is not a virtual machine image, or because the OS type is not understood by virt-inspector.
    
    If you feel this is an error, please file a bug report including as much
    information about the disk image as possible.
  2. virt-v2v を実行するホストに virtio-win パッケージをインストールします。
    このパッケージは、Windows ゲスト用の準仮想化ブロックドライバーとネットワークのドライバーを提供します。virtio-win パッケージは、RHEL Server Supplementary (v. 6 64-bit x86_64) チャンネルで提供されています。システムがこのチャンネルをサブスクライブしていることを確認した上で、以下のコマンドを root として実行してください。
    yum install virtio-win
    virtio-win パッケージをインストールぜずに Windows を実行する仮想マシンの変換を試みると、例3.3「virtio-win をインストールせずに Windows 仮想マシンを変換した場合に表示されるエラーメッセージ」 のようなエラーメッセージが表示されます。
  3. ISO ストレージドメインに、ゲストツール ISO をアップロードします。
    ゲストツール ISO は、変換プロセスを正常に完了するために必要なわけではありませんが、Red Hat Enterprise Virtualization で稼働するすべての Windows 仮想マシンに推奨される点に注意してください。仮想マシンが変換された後に Red Hat Enterprise Virtualization Manager はゲストツール ISO を使用してゲスト仮想マシンに Red Hat の Windows ドライバーをインストールします。詳しくは 「Windows 仮想マシンの設定変更」 を参照してください。
    以下の手順に従って、ゲストツール ISO を探してアップロードします。
    1. ゲストツール ISO の格納場所
      ゲストツール ISO は Red Hat カスタマーポータルを使用して rhev-guest-tools-iso.rpm として配布されます。このパッケージは、Red Hat Enterprise Virtualization Manager にインストールする RPM ファイルです。ゲストツール ISO は、Red Hat Enterprise Virtualization Manager にインストールされると、/usr/share/rhev-guest-tools-iso/rhev-tools-setup.iso に格納されます。
    2. ゲストツール ISO のアップロード
      ISO アップローダーを使用して、ゲストツール ISO を ISO ストレージドメインにアップロードします。
      ISO ファイルのアップロードおよびゲストエージェント/ドライバーのインストールについての詳しい情報は、『Red Hat Enterprise Virtualization 管理ガイド』を参照してください。

4.3.1.3. ローカル Xen 仮想マシンの変換準備

以前に Xen を実行していたホストが KVM を実行するように更新された場合、そのホストで仮想マシンを変換するには、以下の手順を実行する必要があります。実行中の libvirt/Xen インスタンスから直接インポートされた Xen 仮想マシンを変換する場合には、この手順は必要ありません。

手順4.5 ローカル Xen 仮想マシンの変換準備

  • 仮想マシン用の XML の取得
    virt-v2v は、libvirt ドメインの記述を使用して、仮想マシンの現在の設定 (例: ストレージの場所など) を確認します。変換を開始する前に、以下のコマンドを実行して、仮想マシンを実行しているホストからこの記述を取得しておきます。
    virsh dumpxml guest_name > guest_name.xml
    libvirt は実行中の Xen ハイパーバイザーに接続して、そのメタデータを取得する必要があるため、Xen カーネルでブートして、XML を取得する必要があります。変換プロセスは、KVM 用に最適化されているので、Xen カーネルの実行中にドメインデータを取得した後には、KVM カーネルを使用して変換を実行した方が、Xen カーネルで変換を行うよりも効率的です。