Red Hat Training

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

V2V ガイド

Red Hat Enterprise Linux 6

virt-v2v を使用した仮想マシンのインポート

Dayle Parker

Red Hat Engineering Content Services

Laura Novich

Red Hat Engineering Content Services

Laura Bailey

Red Hat Engineering Content Services

Tim Hildred

Red Hat Engineering Content Services

David Jorm

Red Hat Engineering Content Services

概要

本ガイドでは、異種のハイパーバイザーの仮想マシンを Red Hat Enterprise Virtualization および libvirt で管理される KVM にインポートする方法について説明します。

第1章 V2V について

V2V とは、「virtual to virtual」の頭字語で、異なる仮想化プラットフォーム間での仮想マシンのインポートプロセスを意味します。Red Hat Enterprise Virtualization および Red Hat Enterprise Linux では、virt-v2v コマンドを使用して V2V 操作を実行することが可能です。

1.1. virt-v2v とは

virt-v2v コマンドは、異種のハイパーバイザーの仮想マシンを Red Hat Enterprise Virtualization または libvirt で管理される KVM で実行するように変換します。現在、virt-v2v は、Xen、KVM および VMware ESX / ESX(i) のハイパーバイザー上の Red Hat Enterprise Linux および Windows を実行する仮想マシンを変換することができます。virt-v2v は、可能な場合には、変換された仮想マシンで準仮想化 (virtio) ドライバーを有効化します。
virt-v2v は、以下のゲストオペレーティングシステムをサポートしています。

サポート対象のゲストオペレーティングシステム

  • Red Hat Enterprise Linux 3.9
  • Red Hat Enterprise Linux 4
  • Red Hat Enterprise Linux 5
  • Red Hat Enterprise Linux 6
  • Windows XP
  • Windows Vista
  • Windows 7
  • Windows Server 2003
  • Windows Server 2008
virt-v2v は、上記のゲストオペレーティングシステムのマイナーリリースをすべてサポートしています。
virt-v2v は、以下のハイパーバイザーからの仮想マシンのインポートをサポートしています。

サポート対象の変換元ハイパーバイザー

特に規定のない限り、virt-v2v は変換元のハイパーバイザーに以下のマイナーリリースをすべてサポートします。
  • Xen: Red Hat によりリリースされた全バージョン
  • KVM: Red Hat によりリリースされた全バージョン
  • VMware ESX / ESX(i): バージョン 3.5、4.0、4.1、5.0、5.1

1.2. 本ガイドについて

本ガイドでは、異種のハイパーバイザーの仮想マシンを Red Hat Enterprise Virtualization および libvirt で管理される KVM にインポートする方法について説明します。

1.2.1. 対象読者

本ガイドは、Red Hat Enterprise Virtualization または Red Hat Enterprise Linux を使用する仮想化環境の管理を行うシステム管理者を対象としています。システム管理における高度な経験があり、仮想マシンのデータセンターの運用にも精通したユーザーがご使用いただくことを推奨します。本ガイドは初心者向けではありません。

1.2.2. Red Hat Enterprise Virtualization

Red Hat Enterprise Virtualization プラットフォームは、仮想化環境内の全仮想マシンにわたる完全な統合管理を実現する、豊富な機能を満載した仮想化管理ソリューションです。先進的なオープンソース仮想化プラットフォームを基盤とし、優れた技術的機能を提供します。本プラットフォームは、多数の仮想マシンを管理するためのスケーラビリティーも提供します。

1.3. 関連資料

Red Hat では、さまざまな仮想化製品のドキュメントを豊富に提供しています。Red Hat Enterprise Linux およびその技術を組み込みこんだ仮想化製品については、以下のようなガイドで解説しています。
  • Red Hat Enterprise Linux 仮想化スタートガイド』: 仮想化の概念、利点、ツールについて概説し、Red Hat の仮想化関連ドキュメントおよび製品の概要を記載しています。
  • Red Hat Enterprise Linux 仮想化ホスト設定およびゲストインストールガイド』: 仮想化ソフトウェアのインストールおよび仮想化ホスト上のゲストマシンの設定について記載しています。
  • Red Hat Enterprise Linux 仮想化管理ガイド』: virt-manager または virsh のいずれかを主要設定ツールとして使用した、ホスト、ネットワーク、ストレージ、デバイス、ゲストの管理について説明します。このガイドには、libvirt および QEMU についての参考情報と、トラブルシューティング情報も記載しています。
  • Red Hat Enterprise Linux 仮想化セキュリティーガイド』: Red Hat が提供する仮想化セキュリティーテクノロジーについての概要を説明しています。また、仮想化環境内のホスト、ゲスト、共有インフラストラクチャー/リソースをセキュリティー保護するための推奨事項も記載しています。
  • Red Hat Enterprise Linux 仮想化のチューニングと最適化ガイド』: システムおよびゲスト仮想マシンで、仮想化パフォーマンスの機能とオプションを最大限に活用するためのヒント、コツ、アドバイスを記載しています。
  • Red Hat Enterprise Linux V2V ガイド』: KVM、Xen および VMware ESX/ESX(i) のハイパーバイザーから Red Hat Enterprise Virtualization および libvirt で管理されている KVM への仮想マシンのインポートについて記載しています。
Red Hat Enterprise Virtualization ドキュメントスイートは、Red Hat Enterprise Virtualization プラットフォームおよび関連製品のインストール、アプリケーション開発、設定、使用方法に関する情報を提供します。
  • Red Hat Enterprise Virtualization インストールガイド』: Red Hat Enterprise Virtualization 環境を準備し、セットアップする方法、および Red Hat Enterprise Virtualization 環境を最新リリースにアップグレードする方法について記載しています。さらに、ハイパーバイザーをセットアップする方法や、Red Hat Enterprise Virtualization 環境の初期設定を実行する方法についても概説しています。
  • Red Hat Enterprise Virtualization 管理ガイド』: Red Hat Enterprise Virtualization 環境を最初にセットアップした後に設定し、管理する方法について記載しています。これには、ハイパーバイザーやストレージドメイン、および外部プロバイダーを環境に追加する方法や、仮想マシン、仮想ディスクおよびテンプレートなどのリソースを管理する方法、およびバックアップを取る方法や復元する方法などが含まれます。
  • Red Hat Enterprise Virtualization ユーザーガイド』: 基本タブや拡張タブで提供される機能を含む Red Hat Enterprise Virtualization 環境のユーザーポータルの使い方、仮想マシンおよびテンプレートの作成および使用方法、さらにはリソース使用を監視する方法について記載しています。
  • Red Hat Enterprise Virtualization テクニカルガイド』: Red Hat Enterprise Virtualization に特有の REST API、Python、Java ソフトウェア開発キット、およびコマンドラインツールの使用方法について記載しています。さらに、Red Hat Enterprise Virtualization の背後にある基盤となる技術コンセプトについて概説しています。
  • Red Hat Enterprise Virtualization Manager リリースノート』: 現行リリースに固有の Red Hat Enterprise Virtualization Manager に関する情報が記載されています。
  • Red Hat Enterprise Virtualization テクニカルノート』: 現行リリースと旧リリース間の変更点を記載しています。

注記

これらの製品についてのすべてのガイドは、Red Hat カスタマーポータル (https://access.redhat.com/documentation/en-US/) からご覧いただけます。

第2章 virt-v2v のインストール

virt-v2v は Red Hat Enterprise Linux 64 ビットのホストから実行するため、ホスト上に virt-v2v をインストールしておく必要があります。

手順2.1 virt-v2v のインストール

  1. Red Hat カスタマーポータルの virt-v2v チャンネルにサブスクライブします。

    virt-v2v は、Red Hat カスタマーポータルの Red Hat Enterprise Linux Server (v.6 for 64-bit x86_64) または Red Hat Enterprise Linux Workstation (v.6 for x86_64) のチャンネルで入手することができます。virt-v2v をインストールする前には、システムが適切なチャンネルにサブスクライブされていることを確認してください。

    注記

    Red Hat Network クラシック (RHN) は非推奨となりました。今後、登録のタスクには Red Hat Subscription Manager を使用する必要があります。詳細情報は、https://access.redhat.com/rhn-to-rhsm を参照してください。
  2. 必須コンポーネントをインストールします。

    • Windows 仮想マシンを変換する場合には、libguestfs-winsupportvirtio-win のパッケージをインストールしておく必要があります。これらのパッケージは、NTFS および Windows の準仮想化ブロックドライバーとネットワークドライバーに対するサポートを提供します。
    • libguestfs-winsupport パッケージをインストールせずに NTFS を使用する仮想マシンの変換を試みると、変換は失敗してしまいます。
    • virtio-win をインストールせずに Windows を実行する仮想マシンの変換を試みると、変換は失敗し、ファイルが見つからないというエラーメッセージが表示されます。
    Red Hat Enterprise Linux Server 6 用の libguestfs-winsupport は、Red Hat Enterprise Linux Server V2V Tools for Windows (v. 6) チャンネルで提供されています。また virtio-win パッケージは Red Hat Enterprise Linux Server Supplementary (v. 6) チャンネルで入手することができます。これらのパッケージをインストールするには、両チャンネルをサブスクライブするのに必要なパーミッションが設定されていることを確認した上で、以下のコマンドを root として実行します。
    # subscription-manager repos --enable rhel-6-server-v2vwin-1-rpms --enable rhel-6-server-supplementary-rpms
  3. virt-v2v パッケージをインストールします。

    以下のコマンドを root として実行します。
    yum install virt-v2v
    virt-v2v がインストールされ、お使いのシステムで使用できる準備が整いました。

第3章 libvirt で管理される KVM で実行するための仮想マシンの変換

virt-v2v は、libvirt で管理される KVM を使用する Red Hat Enterprise Linux で実行するように仮想マシンを変換することができます。仮想マシンは Xen、KVM、VMware ESX / ESX(i)、および Hyper-V の環境から変換することが可能です。libvirt および virsh のコマンドについては、『Red Hat Enterprise Linux Virtualization 管理ガイド』で説明しています。また、man virsh のコマンドで、詳細情報を参照することもできます。

3.1. 概要

virt-v2v コマンドは、異種のハイパーバイザーの仮想マシンを libvirt で管理される KVM で実行するように変換します。virt-v2v は以下のオペレーティングシステムをサポートしています。
  • Red Hat Enterprise Linux 3.9
  • Red Hat Enterprise Linux 4
  • Red Hat Enterprise Linux 5
  • Red Hat Enterprise Linux 6
  • Windows XP
  • Windows Vista
  • Windows 7
  • Windows Server 2003
  • Windows Server 2008
以下のハイパーバイザーをサポートしています。
  • KVM
  • libvirt で管理される Xen
  • VMware ESX / ESX(i) - バージョン 3.5、4.0、4.1、5.0、5.1
virt-v2v コマンドは、可能である場合には、変換されたゲストで準仮想化 (virtio) ドライバーを有効化します。
virt-v2v は、Red Hat カスタマーポータルの Red Hat Enterprise Linux Server (v.6 for 64-bit x86_64) または Red Hat Enterprise Linux Workstation (v.6 for x86_64) のチャンネルで入手することができます。
virt-v2v ツールを使用するには、ホストシステムへの root アクセスが必要です。
Red Hat Enterprise Linux 6 から実装された virt-v2v の新機能には以下が含まれます。
  • -os の方が推奨されるようになったため、-op および -osd のコマンドラインオプションは非推奨となりましたが、引き続きサポートされています。これらのオプションの使用時には、非推奨である旨を示す警告は表示されません。
  • -of コマンドラインオプションにより、ターゲットストレージで使用するファイルフォーマット (raw または qcow2) を指定することができます。 この機能により、raw ストレージを使用する仮想マシンを qcow2 ストレージを使用する仮想マシンに、またはその逆に変換することが可能です。
  • -oa のコマンドラインオプションにより、ターゲットストレージの割り当て (sparse または preallocated) を指定することができます。このオプションは、sparse/preallocated の切り替えに使用することが可能です。この変更は、スパースボリュームがサポートされるようになったために導入されました。
  • 設定ファイルには、ストレージの場所、出力フォーマット、ターゲットの割り当てポリシーを指定するターゲットプロファイルを追加できるようになりました。これによりユーザーは -os<a> -op<b> -oa<oc> を使用するのではなく、--profile<foo> で設定を指定できるようになりました。
  • libvirt をターゲットとする Windows 仮想マシンの変換がサポートされるようになりました。
上記およびその他の機能についての詳しい情報は、virt-v2v の man ページを参照してください。
Red Hat カスタマーポータルから virt-v2v をインストールするには、システムが適切なチャンネルをサブスクライブしていることを確認した上で以下のコマンドを実行します。
# yum install virt-v2v

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

virt-v2v は、libvirt で管理される KVM を使用する Red Hat Enterprise Linux で実行するように、異種のハイパーバイザーの仮想マシンを変換します。変換される仮想マシン用の libvirt ドメインは自動的に作成されます。
仮想マシンの変換

図3.1 仮想マシンの変換

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

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

  1. 移行されるストレージ用にローカルストレージドメインを作成します。
    virt-v2v はインポート中に、ゲスト仮想マシンのストレージをローカルで定義された libvirt ストレージプールにコピーします。このプールは、任意の libvirt ツールを使用して、任意のタイプに定義することができます。新規プールを作成する最も簡単な方法は、virt-manager を使用する方法です。virt-manager または virsh のいずれかを使用したストレージドメインの詳しい作成方法については、『Red Hat Enterprise Linux 仮想化管理ガイド』を参照してください。
  2. ローカルネットワークインターフェースを作成します。
    ローカルマシーンには、変換された仮想マシンの接続先となる適切なネットワークが必要です。これは、ブリッジインターフェースとなる可能性が高くなります。ブリッジインターフェースは、ホスト上の標準ツールを使用して作成することができます。libvirt バージョン 0.8.3 以降では、virt-manager を使用してブリッジの作成および管理を行うことも可能です。libvirt を使用する、ブリッジされたネットワークについての詳しい情報は、『Red Hat Enterprise Linux 仮想化ホスト設定およびゲストインストールガイド』または 『Red Hat Enterprise Linux 仮想化管理ガイド』を参照してください。
  3. virt-v2v.conf でネットワークマッピングを指定します。このステップはオプションであり、大半のユースケースでは必要ありません。
    仮想マシンに複数のインターフェースがある場合、/etc/virt-v2v.conf を編集してすべてのインターフェースのネットワークマッピングを指定する必要があります。-f パラメーターを使用すると、代替の virt-v2v.conf ファイルを指定することができます。
    仮想マシンに単一のネットワークインターフェースしかない場合は、virt-v2v.conf を変更するのではなく、 --network または --bridge のパラメーターを使用してより簡単に指定することができます。
  4. virt-v2v.conf に変換用プロファイルを作成します。
    この手順はオプションです。プロファイルは変換メソッド、ストレージの場所、出力形式、割り当てポリシーを指定します。プロファイルを定義すると、--profile を使用して呼び出すことができるので、-o-os-of-oa のパラメーターを個別に指定せずに済みます。詳しくは virt-v2v.conf(5) を参照してください。

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

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

手順3.2 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「パッケージが不足している場合に表示されるエラー」 のようなエラーを表示します。

    例3.1 パッケージが不足している場合に表示されるエラー

    virt-v2v: Installation failed because the following files referenced in the configuration file are required, but missing:
    rhel/6/kernel-2.6.32-128.el6.x86_64.rpm
    rhel/6/ecryptfs-utils-82-6.el6.x86_64.rpm
    rhel/6/ecryptfs-utils-82-6.el6.i686.rpm
    
  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 です。

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

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

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

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

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

重要

virt-v2v は、Windows 回復コンソールの変換はサポートしていません。仮想マシンに回復コンソールがインストールされている状態で、かつ変換中に VirtIO が有効化されていた場合には、回復コンソールを起動しようとすると Stop エラーが発生します。
Windows XP x86 は VirtIO システム上では Windows 回復コンソールをサポートしていないので、この問題に解決策はありませんが、Windows XP AMD64 および Windows 2003 (x86 および AMD64) には、変換後に回復ツールを再インストールすることができます。再インストールの手順は、初期インストールと同じです。回復コンソールをあらかじめ削除しておく必要はありません。再インストール後には、回復コンソールが正しく機能します。
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 を使用する仮想マシンの変換を試みると、変換は失敗し、例3.2「libguestfs-winsupport をインストールせずに Windows 仮想マシンの変換を試みた場合に表示されるエラーメッセージ」 と同じようなエラーメッセージが表示されます。

    例3.2 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.3 virtio-win をインストールせずに Windows 仮想マシンを変換した場合に表示されるエラーメッセージ

    virt-v2v: Installation failed because the following files referenced in the configuration file are required, but missing: /usr/share/virtio-win/drivers/i386/Win2008

注記

Windows を実行する仮想マシンを Red Hat Enterprise Virtualization への出力用に変換すると、Red Hat Enterprise Virtualization Manager が更新されたドライバーをインストールするために仮想マシンイメージの後処理を実行します。このプロセスに関する詳しい説明は 「Windows 仮想マシンの設定変更」 を参照してください。Windows を実行する仮想マシンを libvirt への出力用に変換する場合には、この手順は省略します。

3.3. 仮想マシンの変換

仮想マシンを変換する準備が整ったら、virt-v2v を使用して実際の変換を行います。本セクションでは、仮想マシンの変換手順と virt-v2v のコマンド構文について説明します。
リソースを集中的に使用するプロセスで、仮想マシンのディスクイメージ全体をコピーする必要がある点に注意してください。標準的な環境では、1 台の仮想マシンの変換に約 5 分から 10 分かかります。例3.4「virt-v2v の標準的な変換所要時間」 では、単一の 8GB のディスクを使用する仮想マシンを 3 年前のコンシューマー向けハードウェア上の 1GigE ネットワークで SSH を使用してコピーしています。

例3.4 virt-v2v の標準的な変換所要時間

win2k3r2-pv-32.img: 100% [===========================================]D
0h02m57s
virt-v2v: win2k3r2-pv-32 configured with virtio drivers.
コピーするディスクのサイズは、変換の所要時間を決定する主要な要因です。20 GB 以下の単一ディスクを使用する平均的なハードウェア上の仮想マシンの変換所要時間は、通常 10 分未満です。

3.3.1. virt-v2v を使用したローカル仮想マシンの変換

virt-v2v は、異種のハイパーバイザーからの仮想マシンを libvirt で管理される KVM で実行するように変換します。libvirt で管理される KVM で実行するようにマシンを変換するための一般的なコマンド構文は以下のとおりです。
virt-v2v -i libvirtxml -op pool --bridge bridge_name guest_name.xml
virt-v2v -op pool --network netname guest_name
virt-v2v -ic esx://esx.example.com/?no_verify=1 -op pool --bridge bridge_name guest_name
virt-v2v のパラメーターの一覧は、7章参考情報 を参照してください。

3.3.2. リモートの KVM 仮想マシンの変換

KVM 仮想マシンは、SSH を介してリモートで変換することが可能です。その仮想マシンを実行しているホストが SSH 経由でアクセス可能であることを確認してください。
仮想マシンを変換するには、以下のコマンドを実行します。
virt-v2v -ic qemu+ssh://root@vmhost.example.com/system -op pool --bridge bridge_name guest_name
vmhost.example.com の箇所には、仮想マシンを実行しているホストを、pool の箇所には、イメージを格納するローカルストレージプールを指定します。bridge_name は、変換された仮想マシンのネットワークの接続先となるローカルネットワークブリッジの名前に、guest_name は、Xen 仮想マシンの名前に置き換えます。
また、仮想マシンにネットワークインターフェースが 1 つしかない場合には、--network パラメーターを使用して、ローカルで管理されているネットワークに接続することもできます。仮想マシンに複数のネットワークインターフェースがある場合は、/etc/virt-v2v.conf を編集して全インターフェースのネットワークマッピングを指定します。
仮想マシンが Red Hat Enterprise Linux 4 または Red Hat Enterprise Linux 5 で、KVM VirtIO ドライバーをサポートしないカーネルを使用している場合、virt-v2v は変換プロセス中に新規カーネルのインストールを試みます。この動作を回避するには、変換を行う前に VirtIO をサポートしている Red Hat Enterprise Linux 6 の最新バージョンに更新しておいてください。

注記

virt-v2v で KVM からの変換を行う場合、変換元の仮想マシンのイメージがストレージプール内に配置されている必要があります。その時点に、イメージがストレージプール内に存在していない場合には、作成する必要があります。

3.3.3. ローカルの Xen 仮想マシンの変換

ゲスト仮想マシンの XML がローカルで使用可能で、その XML で参照されているストレージがローカルで同じパスを使用してアクセスできる状態であることを確認してください。
XML ファイルから仮想マシンを変換するには、以下のコマンドを実行します。
virt-v2v -i libvirtxml -op pool --bridge bridge_name guest_name.xml
pool の箇所には、イメージを格納するローカルストレージプールを、bridge_name の箇所には、変換された仮想マシンのネットワークの接続先となるローカルネットワークブリッジの名前を指定します。guest_name.xml は、仮想マシンのエクスポートされた XML へのパスに置き換えます。
また、仮想マシンにネットワークインターフェースが 1 つしかない場合には、--network パラメーターを使用して、ローカルで管理されているネットワークに接続することもできます。仮想マシンに複数のネットワークインターフェースがある場合は、/etc/virt-v2v.conf を編集して全インターフェースのネットワークマッピングを指定します。
仮想マシンが Xen 準仮想化カーネル (kernel-xenkernel-xenU などの名前で呼ばれている可能性がある) を使用している場合、virt-v2v は変換プロセス中に新規カーネルのインストールを試みます。Xen カーネルと並行して、名前にハイパーバイザーを参照しない通常のカーネルを変換前にインストールしておくと、この要件を回避することができます。Xen は、新規インストールされるこのカーネルを起動しないので、デフォルトのカーネルにすべきではありません。virt-v2v は変換中にこのカーネルをデフォルトにします。

注記

virt-v2v で Xen からの変換を行う場合、変換元の仮想マシンのイメージがストレージプール内に配置されている必要があります。その時点に、イメージがストレージプール内に存在していない場合には、作成する必要があります。適切なストレージプールを作成するにあたってサポートが必要な場合には、Red Hat サポートにご連絡ください。

注記

現在、KVM または Red Hat Enterprise Virtualization 上で実行する Citrix Xen 仮想マシンのインポートに既知の問題があります。詳細情報は、https://access.redhat.com/solutions/54076 を参照してください。

3.3.4. リモートの Xen 仮想マシンの変換

Xen 仮想マシンは、SSH を介してリモートで変換することが可能です。その仮想マシンを実行しているホストが SSH 経由でアクセス可能であることを確認してください。
仮想マシンを変換するには、以下のコマンドを実行します。
virt-v2v -ic qemu+ssh://root@vmhost.example.com/system -op pool --bridge bridge_name  guest_name
vmhost.example.com の箇所には、仮想マシンを実行しているホストを、pool の箇所には、イメージを格納するローカルストレージプールを指定します。bridge_name は、変換された仮想マシンのネットワークの接続先となるローカルネットワークブリッジの名前に、guest_name は、Xen 仮想マシンの名前に置き換えます。
また、仮想マシンにネットワークインターフェースが 1 つしかない場合には、--network パラメーターを使用して、ローカルで管理されているネットワークに接続することもできます。仮想マシンに複数のネットワークインターフェースがある場合は、/etc/virt-v2v.conf を編集して全インターフェースのネットワークマッピングを指定します。
仮想マシンが Xen 準仮想化カーネル (kernel-xenkernel-xenU などの名前で呼ばれている可能性がある) を使用している場合、virt-v2v は変換プロセス中に新規カーネルのインストールを試みます。Xen カーネルと並行して、名前にハイパーバイザーを参照しない通常のカーネルを変換前にインストールしておくと、この要件を回避することができます。Xen は、新規インストールされるこのカーネルを起動しないので、デフォルトのカーネルにすべきではありません。virt-v2v は変換中にこのカーネルをデフォルトにします。

注記

virt-v2v で Xen からの変換を行う場合、変換元の仮想マシンのイメージがストレージプール内に配置されている必要があります。その時点に、イメージがストレージプール内に存在していない場合には、作成する必要があります。適切なストレージプールを作成するにあたってサポートが必要な場合には、Red Hat サポートにご連絡ください。

3.3.5. VMware ESX / ESX(i) 仮想マシンの変換

重要

VMware ESX / ESX(i) から Windows 仮想マシンを変換する場合には、仮想マシンに VMware Tools がインストールされていないことを確認してください。VMware Tools は、変換プロセスの前に必ずアンインストールしておく必要があります。VMware Tools がインストールされている状態で仮想マシンが変換されると、そのマシンは正しく機能しなくなります。
v2v プロセスを実行する前に、仮想マシンが停止していることを確認します。
仮想マシンを変換するには、以下のコマンドを実行します。
virt-v2v -ic esx://esx.example.com/ -op pool --bridge bridge_name guest_name
esx.example.com の箇所には、VMware ESX / ESX(i) サーバーを、pool の箇所には、イメージを格納するローカルストレージプールを指定します。bridge_name は、変換された仮想マシンのネットワークの接続先となるローカルネットワークブリッジの名前に、guest_name は、仮想マシンの名前に置き換えます。
また、仮想マシンにネットワークインターフェースが 1 つしかない場合には、--network パラメーターを使用して、ローカルで管理されているネットワークに接続することもできます。仮想マシンに複数のネットワークインターフェースがある場合は、/etc/virt-v2v.conf を編集して全インターフェースのネットワークマッピングを指定します。

3.3.5.1. ESX / ESX(i) サーバーに対する認証

ESX / ESX(i) サーバーに接続するには、認証が必要となります。virt-v2v は、ESX / ESX(i) に接続する際のパスワード認証をサポートしています。パスワードは、$HOME/.netrc から読み込まれます。このファイルの形式については、netrc(5) の man ページに記載されています。以下はエントリーの例です。
machine esx.example.com login root password s3cr3t

注記

.netrc ファイルは、パーミッションマスクを 0600 に設定して、virt-v2v が正しく読み取るようにする必要があります。

3.3.5.2. 無効な証明書を使用する ESX / ESX(i) サーバーへの接続

非実稼働環境では、ESX / ESX(i) サーバーに無効な証明書を使用している可能性があります (例: 自己署名証明書)。このような場合には、以下に示した例のように、接続 URI に ?no_verify=1 を追加することにより、証明書の確認を明示的に無効にすることができます。
... -ic esx://esx.example.com/?no_verify=1 ...

3.3.6. Windows を実行する仮想マシンの変換

以下の例には、Windows を実行するローカルの (libvirt で管理される) Xen 仮想マシンを Red Hat Enterprise Virtualization への出力用に変換する手順の実例を示しています。仮想マシンの XML ファイルがローカルで使用可能で、その XML に記載されているストレージが同じパスを使用してアクセスできる状態であることを確認してください。
XML ファイルからゲスト仮想マシンを変換するには、以下のコマンドを実行します。
virt-v2v -i libvirtxml -o rhev -osd storage.example.com:/exportdomain --network rhevm guest_name.xml
guest_name.xml の箇所には、仮想マシンのエクスポートされた XML へのパスを、storage.example.com:/exportdomain の箇所には、エクスポートストレージドメインを指定します。
また、仮想マシンにネットワークインターフェースが 1 つしかない場合には、--network パラメーターを使用して、ローカルで管理されているネットワークに接続することもできます。仮想マシンに複数のネットワークインターフェースがある場合は、/etc/virt-v2v.conf を編集して全インターフェースのネットワークマッピングを指定します。
仮想マシンが Xen 準仮想化カーネル (kernel-xenkernel-xenU などの名前で呼ばれている可能性がある) を使用している場合、virt-v2v は変換プロセス中に新規カーネルのインストールを試みます。Xen カーネルと並行して、名前にハイパーバイザーを参照しない通常のカーネルを変換前にインストールしておくと、この要件を回避することができます。Xen は、新規インストールされるこのカーネルを起動しないので、デフォルトのカーネルにすべきではありません。virt-v2v は変換中にこのカーネルをデフォルトにします。

3.4. 変換された仮想マシンの実行

処理が正常に完了すると、virt-v2v は、元の仮想マシンと同じ名前で、変換された仮想マシン用に新規 libvirt ドメインを作成します。仮想マシンは、通常のように libvirt ツール (例: virt-manager) を使用して起動することができます。

注記

現時点では、virt-v2v は仮想マシンのネットワーク設定を再設定することはできません。変換された仮想マシンが変換元と同じサブネットに接続されていない場合には、その仮想マシンのネットワーク設定を手動で更新する必要がある場合があります。

第4章 Red Hat Enterprise Virtualization で実行するための仮想マシンの変換

virt-v2v は、仮想マシンを Red Hat Enterprise Virtualization で実行するように変換することができます。仮想マシンは、Xen、KVM、および VMware ESX / ESX(i) の環境から変換することが可能です。仮想マシンを Red Hat Enterprise Virtualization で実行するように変換する前には、使用する Red Hat Enterprise Virtualization データセンターにエクスポートストレージドメインをアタッチする必要があります。エクスポートストレージドメインをアタッチするプロセスについては、「エクスポートストレージドメインのアタッチ」 で説明しています。エクスポートストレージドメインについての詳しい説明は、『Red Hat Enterprise Virtualization 管理ガイド』を参照してください。

4.1. 変換されるストレージの許容可能な出力形式

Red Hat Enterprise Virtualization で実行するようにゲスト仮想マシンを変換する場合には、ストレージ形式と割り当てポリシーの組み合わせがすべてサポートされているわけではない点に注意することが重要です。サポートされる組み合わせは、ゲストのインポート先となる Red Hat Enterprise Virtualization データセンターがデータストレージドメインにブロック (FC または iSCSI) を使用するか、ファイル (NFS) を使用するかによって異なります。virt-v2v は、エクスポートストレージドメインに書き込みを行い、その形式は常に NFS である必要がある点に注意してください。

注記

データドメインのタイプは、Red Hat Enterprise Virtualization への仮想マシンのインポートを成功させる重要な要素です。virt-v2v は、データセンターのタイプを検知することができないので、ユーザーが手動でチェックする必要があります。

表4.1 割り当てポリシー: preallocated (事前割り当て済み)

ドメインタイプストレージ形式サポート
NFSrawYes
qcow2No
FC/iSCSIrawYes
qcow2No

表4.2 割り当てポリシー: sparse (スパース)

ドメインタイプストレージ形式サポート
NFSrawYes
qcow2Yes
FC/iSCSIrawNo
qcow2Yes
-of-oa のパラメーターを使用して、それぞれデータ形式と割り当てポリシーを指定しない限り、virt-v2v は変換される仮想マシンのデータ形式と割り当てポリシーを維持します。スパース割り当てを使用する仮想マシンを FC または iSCSI データセンターにインポートするには、ストレージ形式を qcow2 に変換する必要があります。これは、virt-v2v-of qcow2 -oa sparse のパラメーターを渡すことによって指定することができます。raw と qcow2 間の形式の変換は、リソースを集中的に使用する操作で、変換プロセスの所要時間が約 2 倍となる点に注意してください。

重要

virt-v2v は、事前割り当て済みの qcow2 ストレージに書き込みを行うことができますが、Red Hat Enterprise Virtualization では一切サポートされていません。Red Hat Enterprise Virtualization へのインポートは失敗します。

4.2. エクスポートストレージドメインのアタッチ

仮想マシンを Red Hat Enterprise Virtualization で実行するように変換する前には、使用する Red Hat Enterprise Virtualization データセンターにエクスポートストレージドメインをアタッチする必要があります。
データセンターにエクスポートストレージドメインをアタッチすると、データセンター間での仮想マシンのインポート/エクスポートを行うことができるようになります。エクスポートストレージドメインは、仮想マシンおよびテンプレートのバックアップにも使用することができます。

注記

エクスポートドメインは、一度に 1 つのデータセンターにしか接続できません。

手順4.1 エクスポートストレージドメインのアタッチ

  1. Red Hat Enterprise Virtualization 管理ポータルにログインして、データセンタータブをクリックします。
    エクスポートストレージドメインをアタッチするデータセンターを選択します。
  2. 詳細ペインが表示されます。ストレージタブを選択してください。
  3. エクスポートをアタッチをクリックして、イメージを保管するストレージの場所を追加します。
    エクスポートドメインのアタッチ

    図4.1 エクスポートドメインのアタッチ

  4. 利用可能なエクスポートドメインがある場合には、エクスポートドメインのアタッチダイアログボックスが表示されます。一覧から対象のエクスポートドメインを選択します。
  5. OK ボタンをクリックします。詳細ペインのストレージタブに新規エクスポートストレージドメインが Locked のステータスで表示された後に Inactive に切り替わります。
  6. 詳細ペインのストレージタブで新規エクスポートストレージドメインを選択してアクティブ化ボタンをクリックします。
  7. しばらくすると、エクスポートドメインがアクティブ化され、Active のステータスで表示されます。

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 カーネルで変換を行うよりも効率的です。

4.3.2. 仮想マシンの変換

仮想マシンを変換する準備が整ったら、virt-v2v を使用して実際の変換を行います。本セクションでは、仮想マシンの変換手順と virt-v2v のコマンド構文について説明します。
リソースを集中的に使用するプロセスで、仮想マシンのディスクイメージ全体をコピーする必要がある点に注意してください。標準的な環境では、1 台の仮想マシンの変換に約 5 分から 10 分かかります。例4.2「virt-v2v の標準的な変換所要時間」 では、単一の 8GB のディスクを使用する仮想マシンを 3 年前のコンシューマー向けハードウェア上の 1GigE ネットワークで SSH を使用してコピーしています。

例4.2 virt-v2v の標準的な変換所要時間

win2k3r2-pv-32.img: 100% [===========================================]D
0h02m57s
virt-v2v: win2k3r2-pv-32 configured with virtio drivers.
コピーするディスクのサイズは、変換の所要時間を決定する主要な要因です。20 GB 以下の単一ディスクを使用する平均的なハードウェア上の仮想マシンの変換所要時間は、通常 10 分未満です。

4.3.2.1. virt-v2v

virt-v2v は、異種のハイパーバイザーの仮想マシンを Red Hat Enterprise Virtualization で実行するように変換します。仮想マシンを Red Hat Enterprise Virtualization で実行するように変換する一般的なコマンド構文は以下のとおりです。
virt-v2v -i libvirtxml -o rhev -os storage.example.com:/exportdomain --network rhevm guest_name.xml
virt-v2v -o rhev -os storage.example.com:/exportdomain --network rhevm guest_name
virt-v2v -ic esx://esx.example.com/?no_verify=1 -o rhev -os storage.example.com:/exportdomain --network rhevm guest_name
virt-v2v で使用できるパラメーターの詳しい説明は 「virt-v2v のパラメーター」 に記載しています。

重要

現在、virt-v2v は、5 つ以上の IDE ディスクを使用する仮想マシンの Red Hat Enterprise Virtualization への変換はサポートしていません。ディスクが 5 つ以上ある場合には、仮想マシンの変換を試みても失敗します。

4.3.2.2. ローカルの Xen 仮想マシンの変換

仮想マシンの XML がローカルで使用可能で、その XML で参照されているストレージがローカルで同じパスを使用してアクセスできる状態であることを確認してください。
XML ファイルから仮想マシンを変換するには、以下のコマンドを実行します。
virt-v2v -i libvirtxml -o rhev -os storage.example.com:/exportdomain --network rhevm guest_name.xml
storage.example.com:/exportdomain の箇所には、エクスポートストレージドメインを、rhevm の箇所には、変換された仮想マシンのネットワーク接続先となる、ローカルで管理されるネットワークを指定し、guest_name.xml は、仮想マシンのエクスポートされた xml へのパスに置き換えます。
また、仮想マシンにネットワークインターフェースが 1 つしかない場合には、--bridge パラメーターを使用して、ローカルで管理されているネットワークに接続することもできます。仮想マシンに複数のネットワークインターフェースがある場合は、/etc/virt-v2v.conf を編集して全インターフェースのネットワークマッピングを指定します。
実行中の Xen ハイパーバイザーから仮想マシンを変換するには、以下のコマンドを実行します。
virt-v2v -ic xen:/// -o rhev -os storage.example.com:/exportdomain --network rhevm guest_name
storage.example.com:/exportdomain の箇所には、エクスポートストレージドメインを、rhevm の箇所には、変換された仮想マシンのネットワーク接続先となる、ローカルで管理されるネットワークを指定し、guest_name は、Xen 仮想マシンの名前に置き換えます。
また、仮想マシンにネットワークインターフェースが 1 つしかない場合には、--bridge パラメーターを使用して、ローカルで管理されているネットワークに接続することもできます。仮想マシンに複数のネットワークインターフェースがある場合は、/etc/virt-v2v.conf を編集して全インターフェースのネットワークマッピングを指定します。
ゲストが Xen 準仮想化カーネル (kernel-xenkernel-xenU などの名前で呼ばれている可能性がある) を使用している場合、virt-v2v は変換プロセス中に新規カーネルのインストールを試みます。Xen カーネルと並行して、名前にハイパーバイザーを参照しない通常のカーネルを変換前にインストールしておくと、この要件を回避することができます。Xen は、新規インストールされるこのカーネルを起動しないので、デフォルトのカーネルにすべきではありません。virt-v2v は変換中にこのカーネルをデフォルトにします。

4.3.2.3. リモートの Xen 仮想マシンの変換

Xen 仮想マシンは、SSH を使用してリモートで変換することが可能です。その仮想マシンを実行しているホストが SSH 経由でアクセスできることを確認してください。1 台のゲストで複数のディスクを使用している場合でも、各仮想ディスクの転送に別々の SSH セッションが必要です。

重要

リモートの仮想マシンを変換する前には、認証のための SSH キーを設定しておくことをお勧めします。SSH キーが設定されていない場合には、転送されるゲストのディスクごとに、ユーザーが SSH 認証情報を手動で入力する必要があります。転送の完了後、SSH ネゴシエーションがタイムアウトする前にパスワードを入力しなかった場合には、virt-v2v が失敗してしまいます。大容量ディスクの場合には、ディスク転送の所要時間がはっきりとわからないので、この設定は特に重要となります。
仮想マシンを変換するには、以下のコマンドを実行します。
virt-v2v -o rhev -ic xen+ssh://root@vmhost.example.com -os storage.example.com:/exportdomain --network rhevm guest_name
vmhost.example.com の箇所には、仮想マシンを実行するホストを、storage.example.com:/exportdomain の箇所には、エクスポートストレージドメインを、rhevm の箇所には、変換された仮想マシンのネットワーク接続先となる、ローカルで管理されるネットワークを指定し、guest_name は、Xen 仮想マシンの名前に置き換えます。
また、仮想マシンにネットワークインターフェースが 1 つしかない場合には、--bridge パラメーターを使用して、ローカルで管理されているネットワークに接続することもできます。仮想マシンに複数のネットワークインターフェースがある場合は、/etc/virt-v2v.conf を編集して全インターフェースのネットワークマッピングを指定します。
ゲストが Xen 準仮想化カーネル (kernel-xenkernel-xenU などの名前で呼ばれている可能性がある) を使用している場合、virt-v2v は変換プロセス中に新規カーネルのインストールを試みます。Xen カーネルと並行して、名前にハイパーバイザーを参照しない通常のカーネルを変換前にインストールしておくと、この要件を回避することができます。Xen は、新規インストールされるこのカーネルを起動しないので、デフォルトのカーネルにすべきではありません。virt-v2v は変換中にこのカーネルをデフォルトにします。

4.3.2.4. ローカルの KVM 仮想マシンの変換

ローカルの KVM 仮想マシンの変換は、以下の手順で行います。

手順4.6 ローカルの KVM 仮想マシンの変換

  1. 仮想マシンを停止します。

    1. v2v プロセスを実行する前に、仮想マシンが停止していることを確認してください。その仮想マシンが、クラスター化された Red Hat Enterprise Linux HA 仮想マシン環境内にある場合には、以下のコマンドを実行してクラスターノード内の仮想マシンリソースを停止して無効にします。
      clusvcadm -d vm:<guest>
    2. 仮想マシンを停止した後に、virsh define <path-to-guest.xml> を実行して、停止状態の仮想マシンを libvirt の管理下に配置します。このコマンドにより、virt-v2v がその仮想マシンを認識して、変換できる状態になります。
  2. 仮想マシンを変換します。

    仮想マシンを変換するには、以下のコマンドを実行します。
    virt-v2v -o rhev -os storage.example.com:/exportdomain --network rhevm guest_name
    storage.example.com:/exportdomain の箇所には、エクスポートストレージドメインを、rhevm の箇所には、変換された仮想マシンのネットワーク接続先となる、ローカルで管理されるネットワークを指定し、guest_name は、KVM 仮想マシンの名前に置き換えます。
    また、仮想マシンにネットワークインターフェースが 1 つしかない場合には、--bridge パラメーターを使用して、ローカルで管理されているネットワークに接続することもできます。仮想マシンに複数のネットワークインターフェースがある場合は、/etc/virt-v2v.conf を編集して全インターフェースのネットワークマッピングを指定します。

4.3.2.5. リモートの KVM 仮想マシンの変換

KVM 仮想マシンは、SSH を介して、リモートで変換することができます。その仮想マシンを実行しているホストが SSH 経由でアクセス可能で、かつ v2v プロセスを実行する前に仮想マシンが停止していることを確認してください。1 台のゲストで複数のディスクを使用している場合でも、各仮想ディスクの転送に別々の SSH セッションが必要です。

重要

リモートの仮想マシンを変換する前には、認証のための SSH キーを設定しておくことをお勧めします。SSH キーが設定されていない場合には、転送されるゲストのディスクごとに、ユーザーが SSH 認証情報を手動で入力する必要があります。転送の完了後、SSH ネゴシエーションがタイムアウトする前にパスワードを入力しなかった場合には、virt-v2v が失敗してしまいます。大容量ディスクの場合には、ディスク転送の所要時間がはっきりとわからないので、この設定は特に重要となります。
仮想マシンを変換するには、以下のコマンドを実行します。
virt-v2v -ic qemu+ssh://root@kvmhost.example.com/system -o rhev -os storage.example.com:/exportdomain --network rhevm guest_name
kvmhost.example.com の箇所には、仮想マシンを実行するホストを、storage.example.com:/exportdomain の箇所には、エクスポートストレージドメインを、rhevm の箇所には変換された仮想マシンのネットワーク接続先となる、ローカルで管理されるネットワークを指定し、guest_name は、KVM 仮想マシンの名前に置き換えます。
また、仮想マシンにネットワークインターフェースが 1 つしかない場合には、--bridge パラメーターを使用して、ローカルで管理されているネットワークに接続することもできます。仮想マシンに複数のネットワークインターフェースがある場合は、/etc/virt-v2v.conf を編集して全インターフェースのネットワークマッピングを指定します。

4.3.2.6. VMware ESX / ESX(i) 仮想マシンの変換

重要

VMware ESX / ESX(i) から Windows 仮想マシンを変換する場合には、仮想マシンに VMware Tools がインストールされていないことを確認してください。VMware Tools は、変換プロセスの前に必ずアンインストールしておく必要があります。VMware Tools がインストールされている状態で仮想マシンが変換されると、そのマシンは正しく機能しなくなります。
v2v プロセスを実行する前に、仮想マシンが停止していることを確認します。
仮想マシンを変換するには、以下のコマンドを実行します。
virt-v2v -ic esx://esx.example.com/ -o rhev -os storage.example.com:/exportdomain --network rhevm guest_name
storage.example.com:/exportdomain の箇所には、エクスポートストレージドメインを、rhevm の箇所には、変換された仮想マシンのネットワーク接続先となる、ローカルで管理されるネットワークを指定し、guest_name は、仮想マシンの名前に置き換えます。
また、仮想マシンにネットワークインターフェースが 1 つしかない場合には、--bridge パラメーターを使用して、ローカルで管理されているネットワークに接続することもできます。仮想マシンに複数のネットワークインターフェースがある場合は、/etc/virt-v2v.conf を編集して全インターフェースのネットワークマッピングを指定します。
ESX / ESX(i) サーバーに対する認証

ESX / ESX(i) サーバーに接続するには、認証が必要となります。virt-v2v は、ESX / ESX(i) に接続する際のパスワード認証をサポートしています。パスワードは、$HOME/.netrc から読み込まれます。このファイルの形式については、netrc(5) に記載されています。以下はエントリーの例です。

machine esx.example.com login root password s3cr3t

注記

.netrc ファイルは、パーミッションマスクを 0600 に設定して、virt-v2v が正しく読み取るようにする必要があります。

無効な証明書を使用する ESX / ESX(i) サーバーへの接続

非実稼働環境では、ESX / ESX(i) サーバーに無効な証明書を使用している可能性があります (例: 自己署名証明書)。このような場合には、以下に示した例のように、接続 URI に ?no_verify=1 を追加することにより、証明書の確認を明示的に無効にすることができます。

... -ic esx://esx.example.com/?no_verify=1 ...

4.3.3. 変換された仮想マシンのインポートと実行

変換処理が正常に完了すると、virt-v2v はエクスポートする仮想マシンを指定のエクスポートドメインにアップロードします。変換された仮想マシンをインポートして実行するには、以下の手順で行います。

手順4.7 変換された仮想マシンのインポートと実行

  1. Red Hat Enterprise Virtualization 管理ポータルのストレージタブでエクスポートドメインを選択します。エクスポートドメインのステータスは Active である必要があります。
  2. 詳細ペインで仮想マシンのインポートタブを選択すると、インポートできる仮想マシンが一覧表示されます。
  3. 仮想マシンを 1 台または複数選択し、インポートをクリックすると、仮想マシンのインポートウィンドウが開きます。
  4. ドロップダウンメニューで、データセンターのデフォルトのストレージドメインクラスター、およびクラスターのクォータ を選択します。
  5. スナップショットを結合のチェックボックスを選択すると、スナップショットの復元ポイントが削除され、テンプレートベースの仮想マシンにテンプレートが含まれるようになります。OK をクリックして仮想マシンをインポートします。
仮想マシンのインポートについての詳しい情報は、『Red Hat Enterprise Virtualization 管理ガイド』を参照してください。
ネットワークの設定

現時点では、virt-v2v はゲストのネットワーク設定を再設定することはできません。変換された仮想マシンが変換元と同じサブネットに接続されていない場合には、そのゲストのネットワーク設定を手動で更新する必要がある場合があります。

4.3.4. v2v プロセスのスクリプト化

v2v プロセス全体をスクリプト化して、大量の仮想マシンのバッチ処理を自動化することができます。この処理は 2 つのステップに分かれ、別々のホストで実行する必要があります。

手順4.8 v2v プロセスのスクリプト化

  1. virt-v2v を使用して仮想マシンを変換し、エクスポートストレージドメインにコピーします。このステップは、Linux ホストで実行する必要があります。詳しい手順は、「仮想マシンの変換」 に記載しています。
  2. 変換が完了したら、Red Hat Enterprise Virtualization 管理ポータルを使用して、エクスポートストレージドメインから仮想マシンをインポートします。このステップは、Red Hat Enterprise Virtualization Manager サーバーで実行する必要があります。
    Red Hat Enterprise Virtualization 管理ポータルを使用した仮想マシンのインポートについてのさらに詳しい情報は 『 Red Hat Enterprise Virtualization 管理ガイド』 を参照してください。
    The Import Virtual Machine(s) wizard.

    図4.4 Red Hat Enterprise Virtualization 管理ポータルを使用した仮想マシンのインポート

    あるいは、Python SDK またはコマンドラインを使用して、エクスポートストレージドメインから仮想マシンをインポートすることも可能です。
    SDK を使用して仮想マシンをインポートするには、以下のように行います。

    例4.3 SDK を使用した、エクスポートストレージドメインからの仮想マシンのインポート

    api = API(url="http(s)://...:.../api",
              username="...",
              password="...",
              filter=False,
              debug=True)
    
    
    sd = api.storagedomains.get(id="from-sd-id")
    import_candidate = sd.vms.get(id="vm-to-import")
    import_candidate.import_vm(action=params.Action(
    cluster=api.clusters.get(id="to-cluster-id"), 
    storage_domain=api.storagedomains.get(id="to-sd-id")))

    注記

    SDK メソッドを使用する場合には、name= を使用してエンティティーをフェッチし、渡すこともできます。
    コマンドラインを使用して仮想マシンをインポートするには、Red Hat Enterprise Virtualization Manager のシェルに接続して、以下のコマンドを実行します。

    例4.4 コマンドラインを使用した、エクスポートストレージドメインからの仮想マシンのインポート

    action vm "vm-to-import" import_vm --storagedomain-identifier "from-sd-id" --cluster-id "to-cluster-id" --storage_domain-id "to-sd-id"

    注記

    コマンドラインメソッドを使用する場合には、-name を使用してエンティティーをフェッチし、渡すこともできます。

4.3.5. スクリプト化された v2v の一括処理

一括してインポートを行うシナリオでは、スクリプト化された v2v プロセスを単一のホストから実行できるので有利です。Red Hat Enterprise Virtualization Manager に対するリモートのプロシージャコールは、REST API を使用して実行することができます。これにより、単一の Linux ホストで単一のスクリプトを実行して、v2v プロセスの両ステップを実行することができます。図4.5「スクリプト化された v2v の一括処理」 は、このスクリプトによって実行されるステップを図解しています。
スクリプト化された v2v の一括処理

図4.5 スクリプト化された v2v の一括処理

図4.5「スクリプト化された v2v の一括処理」 に示したように、スクリプト化された v2v の一括処理は、以下のようなステップを伴います。
  1. インポート元のハイパーバイザーから仮想マシンのイメージを取得します。
  2. 仮想マシンのイメージをパッケージ化して、エクスポートストレージドメインにコピーします。
  3. Red Hat Enterprise Virtualization Manager に対してリモートプロシージャコールを実行し、仮想マシンをインポートするように指示します。
  4. Manager がエクスポートストレージドメインから仮想マシンをインポートします。
スクリプト化された v2v の一括処理の設定/実行は、以下の手順で行います。

手順4.9 スクリプト化された v2v 一括処理の設定と実行

  1. Red Hat Enterprise Virtualization Manager で REST API が有効化されている状態で、かつ v2v プロセスを実行する Linux ホストからアクセス可能であることを確認します。REST API についての詳しい情報は 『Red Hat Enterprise Virtualization テクニカルガイド』を参照してください。
  2. Linux ホストで、以下の内容を記述した v2v.sh ファイルを作成します。スクリプトを編集して、ご使用の環境に適した値を設定してください。

    例4.5 単一ホストの v2v スクリプト

    #!/bin/sh
    # Declare all VMs to import
    XENDOMAINS=("rhelxen" "rhel5")
    KVMDOMAINS=("rhelkvm")
    VMWAREVMS=("rhel54vmware")
    
    # Iterate through each Xen domain, performing the conversion
    for domain in ${XENDOMAINS[@]}
    do
            virt-v2v -ic xen:///localhost -o rhev -os storage.example.com:/exportdomain --network rhevm $domain
    done
    
    # Iterate through each KVM domain, performing the conversion
    for domain in ${KVMDOMAINS[@]}
    do
            virt-v2v -o rhev -os storage.example.com:/exportdomain --network rhevm $domain
    done
    
    # Iterate through each VMware VM, performing the conversion
    for vm in ${VMWAREVMS[@]}
    do
            virt-v2v -ic esx://esx.example.com/?no_verify=1 -o rhev -os storage.example.com:/exportdomain --network rhevm $vm
    done
    
    
    # Call the import VM procedure remotely on the RHEV Manager
    
    export BASE_URL='https://[rhevm-host]'
    export HTTP_USER='user@internal'
    export HTTP_PASSWORD='password'
    
    curl -o rhevm.cer http://[rhevm-host]/ca.crt
    
    # Get the export storage domains
    
    curl -X GET -H "Accept: application/xml" -u "${HTTP_USER}:${HTTP_PASSWORD}" --cacert rhevm.cer ${BASE_URL}/api/storagedomains?search=nfs_export -o exportdomain
    EXPORT_DOMAIN=`xpath exportdomain '/storage_domains/storage_domain/@id' | sed -e 's/ id=//' | sed -e 's/"//g'`
    
    # Get the datacenter
    
    curl -X GET -H "Accept: application/xml" -u "${HTTP_USER}:${HTTP_PASSWORD}" --cacert rhevm.cer ${BASE_URL}/api/datacenters?search=NFS -o dc
    DC=`xpath dc '/data_centers/data_center/@id' | sed -e 's/ id=//' | sed -e 's/"//g'`
    
    # Get the cluster
    
    curl -X GET -H "Accept: application/xml" -u "${HTTP_USER}:${HTTP_PASSWORD}" --cacert rhevm.cer ${BASE_URL}/api/clusters?search=NFS -o cluster
    CLUSTER_ELEMENT=`xpath cluster '/clusters/cluster/@id' | sed -e 's/ id=//' | sed -e 's/"//g'`
    
    # List contents of export storage domain
    
    curl -X GET -H "Accept: application/xml" -u "${HTTP_USER}:${HTTP_PASSWORD}" --cacert rhevm.cer ${BASE_URL}/api/storagedomains/${EXPORT_DOMAIN}/vms -o vms
    
    # For each vm, export
    VMS=`xpath vms '/vms/vm/actions/link[@rel="import"]/@href' | sed -e 's/ href="//g' | sed -e 's/"/ /g'`
    
    for vms in $VMS
    do 
            curl -v -u "${HTTP_USER}:${HTTP_PASSWORD}" -H "Content-type: application/xml" -d '<action><cluster><name>cluster_name</name></cluster><storage_domain><name>data_domain</name></storage_domain><overwrite>true</overwrite><discard_snapshots>true</discard_snapshots></action>' --cacert rhevm.cer ${BASE_URL}$vms
    done
    
    

    注記

    POST メソッドを使用し、REST API で仮想マシンをエクスポートします。REST API の使用方法に関する詳しい説明は、『Red Hat Enterprise Virtualization テクニカルガイド』を参照してください。
  3. v2v.sh スクリプトを実行します。大量の仮想マシンを変換してインポートするには、数時間かかる場合があります。

第5章 物理マシンから仮想マシンへの変換

本章では、Red Hat の Physical-to-Virtual (P2V) ソリューションである Virt P2V を使用した、物理マシンから仮想マシンへの変換について説明します。
Virt P2V は、virt-v2v パッケージに含まれている virt-p2v-server と、Red Hat カスタマーポータルから rhel-6.x-p2v.iso として提供されている P2V クライアントの両方で構成されます。rhel-6.x-p2v.iso は、カスタマイズされた Red Hat Enterprise Linux 6 イメージをベースとする、ブート可能なディスクイメージです。rhel-6.x-p2v.iso からマシンを起動して、virt-v2v がインストールされている V2V 変換サーバーに接続すると、物理マシンのデータが変換サーバーにアップロードされ、Red Hat Enterprise Virtualization または libvirt で管理される KVM で使用できるように変換されます。
ホストは Red Hat Enterprise Linux 6 を実行している必要がある点に注意してください。他のホスト設定では機能しません。

重要

以下のルールを順守してください。これらのルールに従わなかった場合には、データが損失したり、ディスクが正常に機能しなくなる可能性があります。
  • Physical to Virtual (P2V) 機能には、virt-v2v-0.8.7 以降のバージョンをインストール済みの Red Hat Enterprise Linux 6 仮想化ホストが必要です。virt-v2v のバージョンは、$ rpm -q virt-v2v のコマンドを実行すると確認することができます。
  • Red Hat Enterprise Linux 5 変換サーバーに対して変換を行ったり、バージョン 0.8.7-6.el6 よりも前の virt-v2v パッケージは使用することはできない点に注意してください。
  • 物理マシンから仮想マシンへの変換が可能なオペレーティングシステムは数多くありますが、ソフトウェア RAID を使用した物理マシンの変換では既知の問題があるので注意してください。ソフトウェア RAID md デバイス上にファイルシステムの root がある Red Hat Enterprise Linux 6 マシンは、ゲスト仮想マシンに変換することができますが、ソフトウェア RAID md デバイス上にファイルシステムの root がある Red Hat Enterprise Linux 4 および Red Hat Enterprise Linux 5 の物理マシンは、仮想マシンに変換することはできません。現時点では、この問題の回避策はありません。

5.1. 前提条件

P2V クライアントを使用して物理マシンを変換する場合に P2V クライアントを正常に起動するには、基本的なハードウェア要件を満たしている必要があります。
  • PXE、光学メディア (CD、DVD)、USB のいずれかで起動可能
  • 最小 512 MB の RAM
  • イーサネット接続
  • コンソールアクセス (キーボード、ビデオ、マウス)
  • virt-v2v のサポート対象オペレーティングシステム:
    • Red Hat Enterprise Linux 3.9
    • Red Hat Enterprise Linux 4
    • Red Hat Enterprise Linux 5
    • Red Hat Enterprise Linux 6
    • Windows XP
    • Windows Vista
    • Windows 7
    • Windows Server 2003
    • Windows Server 2008

5.2. 物理マシンの変換準備

P2V を使用する前には、最初に変換サーバーの準備をして、rhel-6.x-p2v.iso 起動メディアをダウンロード/作成しておく必要があります。詳しい手順については、『Red Hat Enterprise Linux インストールガイド』を参照してください。i386 と x86_64 の両アーキテクチャーに対応した ISO イメージは 1 つしかない点に注意してください。

5.2.1. 変換サーバーへの virt-v2v のインストール

変換サーバーとは、virt-v2v パッケージをインストールした、Red Hat Enterprise Linux 6 以降のシステムを実行する任意の物理サーバーです。virt-v2v のインストールは、2章virt-v2v のインストール に記載の手順に従って行ってください。これには、virt-v2v バージョン 0.8.7-6 以降が必要となります。

5.2.2. SSH 経由の root ログインの有効化

virt-v2v がインストールされたら、次に変換サーバーが P2V クライアントの接続を受け入れるように準備する必要があります。P2V クライアントは、SSH を使用して変換サーバーに root として接続するので、変換サーバー上で SSH を介した root ログインを許可しておく必要があります。
SSH 経由の root ログインの有効化

  1. root として、/etc/ssh/sshd_config にある sshd_config ファイルを編集します。
    nano /etc/ssh/sshd_config
  2. ファイル内の Authentication のセクションに PermitRootLogin yes という行を追記します。この行は、すでに存在し、"#" でコメントアウトされている可能性があります。その場合には、"#" を削除してください。
    # Authentication:
    #LoginGraceTime 2m
    PermitRootLogin yes
    #StrictModes yes
    #MaxAuthTries 6
    #MaxSessions 10
  3. 更新した /etc/ssh/sshd_config ファイルを保存します。
  4. 以下のコマンドを実行して SSH サーバーを再起動します。
    service sshd restart
これで、SSH を介して root として変換サーバーに接続できるようになりました。

5.2.3. virt-v2v.conf でのターゲットプロファイルの定義

root として変換サーバーに接続できるようになったところで、次に、作成する仮想マシンをどのように処理するかを事前に設定しておく必要があります。この詳細情報は、変換サーバーの /etc/virt-v2v.conf ファイルでターゲットプロファイルとして指定します。
virt-v2v.conf でのターゲットプロファイルの定義

  1. root として /etc/virt-v2v.conf を編集します。
    nano /etc/virt-v2v.conf
  2. ファイルの末尾までスクロールします。最後の </virt-v2v> の前に、以下の設定を追加します。
    <profile name="myrhev">
    <method>rhev</method>
    <storage format="raw" allocation="preallocated">
    nfs.share.com:/export1
    </storage>
    <network type="default">
    <network type="network" name="rhevm"/>
    </network>
    </profile>
    上記の設定で、
    • Profile Name は任意のわかりやすいターゲットプロファイル名です。
    • Method は、インポート先の Hypervisor のタイプ (rhev または libvirt) です。
    • Storage Format は、出力のストレージフォーマット (raw または qcow2) です。
    • Allocation は、出力の割り当てポリシー (preallocated または sparse) です。
    • Network type は、Red Hat Enterprise Virtualization にインポートされた際にネットワークインターフェースの接続先となるべきネットワークを指定します。第 1 のネットワークタイプのエントリーには、変換前のネットワーク設定の詳細を記載します。第 2 のネットワークタイプエントリーは、変換後の設定にマップします。上記の例では、検出された任意のネットワークカードが rhevm と呼ばれる管理ネットワークにマップされるように設定されています。

    重要

    <storage format> タグに関連付けられた値 (上記の例では "nfs.share.com:/export1") は、<method> タグに関連付けられた値と一致している必要があります。この例では、出力メソッドが "rhev" なので、ストレージに関連付けされる値は、初期化された NFS 共有である必要があります。libvirt メソッドの場合には、ストレージフォーマットの値は、変換サーバーにローカルで存在する初期化されたストレージドメイン (例: "default") である必要があります。
この P2V 変換で仮想マシンに対してどのような処理が行われるかを定義するターゲットプロファイルが作成されました。

5.2.4. 起動可能なメディアの作成

P2V は起動可能メディアを使用して、物理マシンのハードドライブの起動可能メディアを作成し、そのメディアを変換サーバーに送信して、ハイパーバイザーにインポートします。rhel-6.x-p2v.iso ISO をダウンロードするには、Red Hat のサブスクリプションが必要です。起動可能メディアの準備は、『Red Hat Enterprise Linux インストールガイド』に記載の手順に従って行います。i386 と x86_64 の両アーキテクチャーに対応した ISO イメージは 1 つしかない点に注意してください。
rhel-6.x-p2v.iso の最新リリースは、https://rhn.redhat.com/rhn/channels/PackageList.do?filter_string=virt-p2v&cid=10508 で入手できます。ISO ファイルは /usr/share/virt-p2v/ にインストールされます。
適切な起動可能メディアの作成

rhel-6.x-p2v.iso ファイルは、起動可能なディスク、PXE ブートイメージ、起動可能な USB デバイスの 3 通りに使用することができます。

  • 空の CD-ROM または DVD-ROM に ISO を焼き付け、変換する物理マシンのディスクドライブに挿入します。この起動メディアから適切に起動するには、ブートシーケンスで光学ディスクドライブを 1 番目に指定するように BIOS の設定を変更する必要がある場合があります。
  • ISO を使用して起動可能 USB メディアを作成します。この起動メディアから適切に起動するには、ブートシーケンスで USB デバイスを 1 番目に指定するように BIOS の設定を変更する必要がある場合があります。また、BIOS によっては、USB メディアからの起動をサポートしていない場合があります。P2V クライアントのディスクイメージのサイズは約 100 MB なので、USB デバイスは、このディスクイメージを格納するのに十分なサイズでなければなりません。
  • 既存の PXE サーバー用の PXE ブートイメージを作成します。PXE から起動するには、ブートシーケンスで PXE ブートを 1 番目に指定するように BIOS の設定を変更する必要がある場合があります。
起動メディアの作成に関する詳しい説明は 付録A 追加の手順 に記載しています。
これで準備は完了し、物理マシンから仮想マシンへの変換を開始できる状態となりました。

5.3. 物理マシンから仮想マシンへの変換

変換サーバーと選択した起動メディアの準備が整ったところで、次に P2V クライアントを起動して、変換サーバーに接続し、物理マシンの変換を行います。変換プロセス (特に大容量の物理ディスクを変換する場合) には長時間を要する可能性があります。

手順5.1 物理マシンから仮想マシンへの変換

  1. 変換サーバーで P2V クライアントの起動メディアを起動します。

    変換サーバーで、変換準備の際に作成した P2V クライアントの起動メディアを起動します。P2V クライアントは Red Hat Enterprise Linux 6 のライブイメージを基盤に構築されるため、このツールの起動中には Red Hat Enterprise Linux 6 のスプラッシュイメージが表示されます。
  2. 必要であればネットワークの設定をします。

    通常 P2V クライアントは、DHCP を使用してネットワークを自動的に設定します。ネットワークを自動的に設定できない場合には、手動で設定する必要があります。IP AddressGatewayPrefix は必須フィールドです。ご使用のネットワークに適した値を入力して Use these network settings をクリックします。
    P2V クライアントは、物理マシンから仮想マシンへの変換での NIC チーミング設定をサポートしていない点に注意してください。
    Configure Networking.

    図5.1 P2V クライアントのネットワーク設定

    注記

    自動的なネットワーク設定を避け、手動でネットワークを設定するには、物理マシンのネットワークを切断してから起動します。
  3. 変換サーバーへ接続します。

    ネットワークの設定時には、変換サーバーへの接続の詳細情報の入力を要求されます。これには、Hostname (ホスト名または IP アドレス)、Username (root である必要あり)、Password が含まれます。これらの詳細情報を入力して Connect をクリックします。
    Connect to conversion server.

    図5.2 変換サーバーへの接続

  4. 対象の仮想マシンを設定して、変換するハードウェアを選択します。

    変換サーバーに接続した後には、変換される物理マシンにアタッチされる仮想ハードウェアを設定し、変換する物理ハードウェアを選択します。
    Enter the details for the outputted virtual machine.

    図5.3 仮想マシンの設定

    1. Target Properties で以下を設定します。
      • ドロップダウンメニューから Destination Profile を選択します。これは、変換サーバーの /etc/virt-v2v.conf ファイルに記載されているターゲットプロファイルを反映します。
      • Target Properties に、物理マシンから変換される仮想マシンの Name を入力します。
      • Target PropertiesNumber of CPUsMemory(MB) の値は自動的に検出/入力されます。出力される仮想マシンに、この値よりも多くの CPU とメモリーが必要な場合には変更してください。
    2. Fixed Storage で、変換するデバイスを 1 つまたは複数選択してください。固定ストレージデバイスを少なくとも 1 つ選択する必要があります。これには、オペレーティングシステムのインストールを格納しているデバイスが含まれます。
    3. Removable Media で、変換するデバイスを 1 つまたは複数選択します。
    4. Network Interfaces で、変換するネットワークインターフェースを 1 つまたは複数選択します。
    5. オプション: デバッグのメッセージをファイルに表示するには、Enable server-side debugging のチェックボックスを選択します。この設定は、変換処理中にサーバーが LIBGUESTFS_TRACE および LIBGUESTFS_DEBUG の出力を書き込むように指示します。
      Enable server-side debugging チェックボックスは、Red Hat Enterprise Linux 6.5 以降のバージョンアップのみで利用できます。P2V 変換のデバッグに関する詳しい情報は、「P2V 変換のデバッグ」 を参照してください。
    6. Convert をクリックします。
      Conversion started.

      図5.4 変換処理中の画面

変換が完了して、処理が正常に完了したことを示すメッセージが表示されたら、物理マシンをシャットダウンすることができます。
The screen reads "A guest has been successfully created on the target server. Remove the temporary boot device from this machine and press 'Power Off' to continue." A Power Off button appears below the text in this window.

図5.5 変換が正常に完了したことを通知するメッセージ

物理マシンから仮想マシンへの変換が完了しました。このマシンをインポートして、ハイパーバイザーで実行することができます。

5.4. 変換された仮想マシンのインポートおよびインポート先のハイパーバイザーでの実行

物理マシンから仮想マシンへの変換が完了したら、その仮想マシンをハイパーバイザーで実行することができます。
Red Hat Enterprise Linux で virt-manager を使用して、変換された物理マシンを仮想マシンとして実行する方法についての説明は、以下のセクションを参照してください。
Red Hat Enterprise Virtualization Manager を使用して、変換した物理マシンを Red Hat Enterprise Virtualization の仮想マシンとしてインポートし、実行する方法について説明は、以下のセクションを参照してください。

第6章 デバッグとトラブルシューティング

6.1. V2V 変換のデバッグ

V2V を実行する時にデバッグメッセージを有効にしておくと、V2V 変換を試みて問題が発生した際に、その問題をエンジニアやサポートサービスに対して、より簡単に説明することができます。
デバッグメッセージをエクスポートすると V2V プロセスの詳細度が高まり、virt-v2v が実行されると同時にメッセージが出力されます。このようなメッセージは、virt-v2v を実行しているターミナルで表示されます。
単純なリダイレクトを使用して、virt-v2v デバッグメッセージをファイルに出力することができます。変換は通常以下のように実行されます。
virt-v2v -i libvirtxml -os pool --bridge bridge_name guest_name.xml
この方法の代わりに、上記のコマンドを編集して、デバッグメッセージを virt-v2v.log ファイルにエクスポートします。そのためには、上記のコマンドに環境変数 LIBGUESTFS_TRACE=1 LIBGUESTFS_DEBUG=1 のプレフィックスを追加して、... 2>&1 | tee virt-v2v.log をコマンドの末尾に追加すると、出力が virt-v2v.log ファイルにリダイレクトされるようになります。
LIBGUESTFS_TRACE=1 LIBGUESTFS_DEBUG=1 virt-v2v -i libvirtxml -os pool --bridge bridge_name guest_name.xml ... 2>&1 | tee virt-v2v.log

6.2. P2V 変換のデバッグ

virt-p2v 実行時にデバッグのメッセージを有効にしておくと、P2V 変換時に問題が発生した場合に、その問題をエンジニアやサポートサービスに対して、より簡単に説明することができます。
P2V デバッグは、Red Hat Enterprise Linux 6.5 以降で利用できます。
P2V デバッグを有効化するには、Convert ボタンをクリックする前に、virt-p2v クライアントの変換画面で Enable server-side debugging のチェックボックスを選択します。
この設定は、virt-p2v の変換処理中にサーバーが LIBGUESTFS_TRACE および LIBGUESTFS_DEBUG の出力を書き込むように指示します。
virt-p2v の使用方法については、5章物理マシンから仮想マシンへの変換 を参照してください。

6.3. iscsi/mpath/scsi ストレージボリュームに伴う既知の問題

現在、virt-v2v では、以下のいずれかのタイプのプール内にあるストレージボリュームを使用するゲストは変換できません。
  • iscsi
  • mpath
  • scsi
これらのゲストは、変換を試みても失敗してしまいます。この問題には回避策はありません。

第7章 参考情報

本章には、virt-v2v に関する参考情報を記載しています。

7.1. virt-v2v のパラメーター

virt-v2v では、以下のパラメーターを使用することができます。
-i input
変換対象のゲストを取得する入力メソッドを指定します。デフォルトは libvirt です。以下のオプションがサポートされています。
libvirt
ゲストの引数は、libvirt ドメインの名前です。
libvirtxml
ゲストの引数は、libvirt ドメインが記載されている XML ファイルへのパスです。
-ic URI
libvirt 入力メソッドで使用する接続を指定します。指定しなかった場合には、デフォルトで qemu:///system が選択されます。これは、virt-v2v を root として実行した場合のみ機能する点に注意してください。
virt-v2v は現在、ローカルの libvirt 接続、ESX / ESX(i) 接続、および SSH 経由の接続でゲストストレージを自動的に取得することができます。これ以外の接続タイプはサポートされていません。
-o method
出力メソッドを指定します。出力メソッドを指定しなかった場合には、デフォルトで libvirt が選択されます。以下の出力メソッドがサポートされています。
libvirt
libvirt ゲストを作成します。-oc および -os のオプションを確認してください。-os は libvirt 出力メソッド用に指定する必要があります。
rhev
Red Hat Enterprise Virtualization のエクスポートストレージドメイン上にゲストを作成します。このゲストは、後で Manager を使用してインポートすることができます。エクスポートストレージドメインは -os を使用して rhev 出力メソッド用に指定する必要があります。
-oc URI
変換されたゲストの作成に libvirt 接続を使用するように指定します。このパラメーターを省略すると、virt-v2v を root として実行している場合にはデフォルトで qemu:///system が選択されます。virt-v2v は、この libvirt 接続によって記述されるストレージに直接書き込みができる必要があります。このため、現時点ではリモート接続への書き込みは実用的ではありません。
-os storage
変換されたゲスト用の新規ストレージの作成場所を指定します。これは、-o パラメーターによって指定される出力メソッドによって異なります。
libvirt 出力メソッドの場合にはストレージプール名、rhev 出力メソッドの場合には Red Hat Enterprise Virtualization エクスポートストレージドメインへの NFS パスを指定する必要があります。ストレージドメインは Red Hat Enterprise Virtualization Manager で事前に初期化しておく必要がある点に注意してください。ドメインは、<host>:<path> の形式 (例: rhev-storage.example.com:/rhev/export) で指定する必要があります。
NFS エクスポートは、virt-v2v を実行するホストによるマウントと書き込みが可能である必要があります。
-op pool (deprecated)
-os の方が推奨されるようになったため、このパラメーターは非推奨となりましたが、引き続きサポートされています
-osd domain (deprecated)
-os の方が推奨されるようになったため、このパラメーターは非推奨となりましたが、引き続きサポートされています
-of format
変換されたゲストに使用されるオンディスク形式を指定します。現在サポートされているオプションは rawqcow2 です。出力形式は、ソースの形式と同じである必要はありません。virt-v2vraw から qcow2 およびその逆の変換を行うことができます。指定されていない場合には、変換されたゲストはソースのゲストと同じ形式を使用します。
-oa allocation
変換されるゲストが sparse または preallocated のストレージを使用するように指定します。割り当てスキームはソースのスキームと同じである必要はありません。virt-v2v は sparse から preallocated およびその逆の変換を行うことができます。指定しなかった場合には、変換されたゲストは変換元と同じ割り当てスキームを使用します。
-on outputname
ゲストの名前を変更します。このオプションを使用しなかった場合には、出力名は入力名と同じになります。
-f file | --config file
ファイルから virt-v2v 設定を読み込みます。複数の設定ファイルを指定することが可能です。これらのファイルは、指定された順序で検索されます。設定が指定されなかった場合、デフォルトは /etc/virt-v2v.conf/var/lib/virt-v2v/virt-v2v.db の順序となります。

重要

デフォルトの設定情報を上書きする場合には、/var/lib/virt-v2v/virt-v2v.db を指定することを推奨します。このファイルには変換に必要なデフォルトの設定データが含まれているのが理由です。
-n network | --network network
設定ファイルにマッピングが記述されていないゲストブリッジまたはネットワークをすべて、指定のネットワークにマッピングします。
このオプションは、--bridge とは併用できません。
-b bridge | --bridge bridge
設定ファイルにマッピングが記述されていないゲストブリッジまたはネットワークをすべて、指定のブリッジにマッピングします。
このオプションは、--network とは併用できません。
-p profile | --profile profile
設定ファイル内の profile から、出力メソッド、出力ストレージ、ネットワークマッピングにデフォルト値を使用します。
--root=filesystem
マルチブート仮想マシンで、変換される root ファイルシステムを指定します。このオプションのデフォルト値は --root=ask です。このオプションを選択すると、virt-v2v は指定可能な root ファイルシステムを一覧表示して、どのファイルシステムを使用するかをユーザーに尋ねます。

警告

Red Hat Enterprise Linux 6.3 よりも前のバージョンでは、デフォルト値は --root=single でした。この値を使用すると、マルチブート仮想マシンが検出された場合に virt-v2v が失敗する可能性があります。
その他の使用可能なオプション
first
複数のデバイスが検出された場合に、1 番目の root デバイスを選択します。これはヒューリスティックであるため、選択が必ずしも正しいとは限りません。
single
使用可能な root デバイスが一つのみであることを指定します。複数のデバイスが検出された場合には、virt-v2v は失敗します。
<path>
使用する特定の root デバイスを指定します。たとえば、--root=/dev/sda2 は 1 番目のハードドライブ上の 第 2 のパーティションを指定します。指定したデバイスが存在しない場合や、root デバイスとして検出されなかった場合には virt-v2v は失敗します。
--list-profiles
設定ファイルで指定されているターゲットプロファイル名の一覧が表示されます。
--help
簡潔なヘルプが表示されます。
--version
バージョン番号が表示された後にプロンプトに戻ります。

7.2. 設定の変更

virt-v2v は、libvirt を適切に設定する以外にも、仮想マシンに特定の変更を加えて、VirtIO ドライバーの有無を問わずに、KVM ハイパーバイザーで実行できるようにします。このような変更は、ゲストのオペレーティングシステム固有となります。以下に記載する情報は、サポート対象の Red Hat Enterprise Linux バージョンと Windows に適用されます。

7.2.1. Linux 仮想マシンの設定変更

表7.1 virt-v2v による Linux 仮想マシンへの変更

変更説明
カーネル起動できないカーネル (Xen 準仮想化カーネル) がアンインストールされます。VirtIO をサポートするカーネルが残っている場合には、新しいカーネルはインストールされません。残りのカーネルが VirtIO をサポートしておらず、かつ設定ファイルに新規カーネルが指定されている場合には、インストールされ、デフォルトとして設定されます。
X の再設定ゲストに X が設定されている場合、そのディスプレイドライバーが更新されます。使用されるドライバーについては 表7.2「Linux ゲストで設定されるドライバー」 を参照してください。
ブロックデバイス名の変更再設定によりブロック名が変わった場合には、その変更は /etc/fstab に反映されます。
デバイスドライバーの設定設定するドライバーが VirtIO であるか否かに関わらず、virt-v2v は正しいネットワークドライバーとブロックドライバーが modprobe 設定で確実に指定されるようにします。
initrdVirtIO を使用するか否かに関わらず、virt-v2v は、デフォルトのカーネル用の initrd が root デバイスの起動を確実にサポートするようにします。
SELinuxvirt-v2v は、次回のブート時にゲストの再ラベル付けを開始します。これにより、変更はすべてゲストのローカルポリシーに従って正しくラベル付けされるようになります。
virt-v2v は、Linux ゲストの以下のようなタイプのドライバーを設定します。

表7.2 Linux ゲストで設定されるドライバー

準仮想化ドライバーのタイプドライバーモジュール
ディスプレイcirrus
ストレージvirtio_blk
ネットワークvirtio_net
上記に加えて、virtio_pci ドライバーが initrd によってプリロードされます。 
その他のドライバー 
ディスプレイcirrus
ブロック仮想 IDE
ネットワーク仮想 e1000

7.2.2. Windows 仮想マシンの設定変更

警告

Windows 仮想マシンを変更する前には、virt-v2v を実行するホストに libguestfs-winsupport および virtio-win のパッケージがインストール済みであることを確認してください。これらのパッケージは、NTFS および Windows の準仮想化ブロックドライバーとネットワークドライバーに対するサポートを提供します。libguestfs-winsupport パッケージをインストールせずに NTFS を使用する仮想マシンの変換を試みると、変換は失敗してしまいます。また、virtio-win パッケージをインストールせずに Windows を実行する仮想マシンの変換を試みると、変換は失敗して、ファイルが見つからないというエラーメッセージが表示されます。詳しくは、「Windows を実行する仮想マシンの変換準備」 を参照してください。
virt-v2v は、Windows XP、Windows Vista、Windows 7、Windows Server 2003、および Windows Server 2008 を実行する仮想マシンを変換することができます。Windows を実行する仮想マシンの変換プロセスは、Linux を実行する仮想マシンの変換プロセスとは若干異なります。Windows 仮想マシンは以下のように変換されます。
  1. virt-v2v が virtio ブロックドライバーをインストールします。
  2. virt-v2v が CDUpgrader ユーティリティーをインストールします。
  3. virt-v2v が VirtIO ブロックドライバーとネットワークドライバーを %SystemRoot%\Drivers\VirtIO にコピーします。virtio-win パッケージには、Windows 7 および Windows XP 用のネットワークドライバーは同梱されていません。これらのオペレーティングシステムには rtl8139 ネットワークドライバーが使用されます。rtl8139 サポートがゲスト仮想マシンですでに提供されている必要があります。
  4. virt-v2v%SystemRoot%\Drivers\VirtIODevicePath に追加します。これにより、新しいデバイスが検出されると、このディレクトリーでドライバーが自動的に検索されるようになります。
  5. virt-v2v がレジストリーの CriticalDeviceDatabase セクションに VirtIO ブロックドライバーを追加し、次回のブート時に CDUpgrader サービスが起動するように変更を加えます。
この時点で、virt-v2v は変換を完了します。変換された仮想マシンは完全に機能するようになり、libvirt で管理される KVM に出力するための変換が完了します。Red Hat Enterprise Virtualization への出力用に仮想マシンを変換する場合には、Red Hat Enterprise Virtualization Manager が更なる操作を実行してから変換が完了します。
  1. 仮想マシンがインポートされ、Manager で実行されます。詳しい説明は 『Red Hat Enterprise Virtualization 管理ガイド』を参照してください。

    重要

    初回起動段階の実行には、数分時間がかかる場合があり、処理が中断されないようにする必要があります。仮想マシンを起動する操作以外は、管理者の介入なしに自動的に実行されます。この処理が割り込まれないようにするには、仮想マシンが休止状態になるまで、ユーザーがログインしないようにする必要があります。この状態は、Manager の GUI で確認することができます。
  2. 「Windows を実行する仮想マシンの変換準備」 で詳しく説明しているように、ゲストツール ISO がすでに ISO ストレージドメインにアップロード済みの場合には、Manager がゲストツール CD を仮想マシンにアタッチします。
  3. CDUpgrader がゲストツール ISO を検出し、そこからすべての VirtIO ドライバーをインストールします。これには、virtio-win には同梱されていない追加のツールもも含まれます。そのゲストツール ISO 内の VirtIO ドライバーが virtio-win から以前にインストールされたバージョンよりも新しい場合には、再インストールされます。これにより、ツールが最新の状態に維持されます。

付録A 追加の手順

A.1. 起動可能なメディアの作成

P2V クライアントは、PXE ブート、起動可能な USB デバイス、光学メディアから起動することができます。起動オプションの準備をするためのスクリプトは、LiveOS ディレクトリー内の rhel-6.x-p2v.iso ISO に含まれています。

A.1.1. P2V クライアント起動 CD の作成

イメージファイルから CD を作成するための具体的な手順は、オペレーティングシステムやインストールされているディスク焼き付けソフトなどによってコンピューターごとに大きく異なります。以下の手順では、Red Hat Enterprise Linux 6 に同梱されている Brasero を使用した ISO ディスクイメージの作成について説明します。
ご使用のディスク焼き付けソフトが、イメージファイルからのディスク焼き付けに対応していることを確認してください。大半のディスク焼き付けソフトは、この機能に対応していますが、中には例外もあります。
  1. ご使用のコンピューターの CD または DVD バーナーに空の書き込み可能なディスクを挿入します。
  2. アプリケーションメニューを開いて サウンドとビデオのサブメニューを選択し、Brasero ディスク作成ツールをクリックします。
  3. イメージの作成ボタンをクリックします。
  4. ここをクリックしてディスク・イメージを選択のボタンをクリックします。
  5. ファイルをブラウズして rhel-6.x-p2v.iso を書き込むイメージに選択します。
  6. 書き込むをクリックします。
BIOS を変更して、DVD/CD-ROM ドライブからの起動を可能にする必要がある場合があります。

A.1.2. ブート可能な P2V USB メディアの作成

  1. root として rhel-6.x-p2v.iso をマウントします。
    mkdir /mnt/p2vmount
    mount -o loop rhel-6.x-p2v.iso /mnt/p2vmount
  2. USB デバイスをコンピューターに接続します。livecd-iso-to-disk スクリプトが機能するには、USB ファイルシステムは、vfat、ext[234]、btrfs のいずれかの形式でフォーマットされている必要があります。
  3. ターミナルから root として livecd-iso-to-disk スクリプトを実行します。
    bash /mnt/p2vmount/LiveOS/livecd-iso-to-disk /PATH/TO/rhel-6.x-p2v.iso /dev/YOURUSBDEVICE
  4. スクリプトが正常に完了したら、USB デバイスを取り出してください。

A.1.3. PXE ブートイメージの作成

  1. root として rhel-6.x-p2v.iso をマウントします。
    mkdir /mnt/p2vmount
    mount -o loop rhel-6.x-p2v.iso /mnt/p2vmount
  2. ターミナルから root として livecd-iso-to-pxeboot スクリプトを実行します。
    bash /mnt/p2vboot/LiveOS/livecd-iso-to-pxeboot /PATH/TO/rhel-6.x-p2v.iso
    コマンドが正常に完了すると、コマンドを実行したディレクトリー内に tftpboot ディレクトリーが作成されます。
  3. 新規作成された tftpboot ディレクトリーに、より説明的な名前を付けます。
    mv tftpboot/ p2vboot/
  4. p2vboot/ サブディレクトリーを /tftpboot ディレクトリーにコピーします。
    cp -R p2vboot/ /tftpboot/
    DHCP、TFTP、PXE サーバーを設定して /tftpboot/p2vboot/pxeboot.0 にサービスを提供するようにします。

    注記

    initrd イメージには、CD ISO 全体が含まれています。initrd を PXE ブートすると、ダウンロードに長時間を要する場合があります。これは、正常な動作です。

付録B 改訂履歴

改訂履歴
改訂 11-72.1Fri Dec 12 2014Red Hat Localization Services
翻訳ファイルを XML ソースバージョン 11-72 と同期
改訂 11-72Fri Oct 31 2014Dayle Parker
OVA ファイルの変換に関する内容を削除 (BZ#1066257)
改訂 11-71Fri Oct 10 2014Dayle Parker
6.6 GA 向けバージョン
改訂 11-70.1Tue Oct 9 2014Red Hat Localization Services
翻訳ファイルを XML ソースバージョン 11-70 と同期
改訂 11-69Thurs Oct 9 2014Dayle Parker
GSS のフィードバックに従い、Red Hat カスタマーポータル関連の手順を更新 (BZ#1107958)
改訂 11-68Mon Oct 6 2014Dayle Parker
Red Hat カスタマーポータル関連の手順 (virt-v2V のインストール、Linux を実行する仮想マシンの変換準備、物理マシンの変換準備) を更新 (BZ#1107958)
Citrix Xen 変換に関する注意点を追加 (BZ#852650)
改訂 11-67Fri Sept 5 2014Dayle Parker
更新したベータ版を公開
改訂 11-66Fri Aug 29 2014Dayle Parker
「物理マシンから仮想マシンへの変換」手順および P2V 変換のデバッグに関する内容をさらに修正 (BZ#1053858)
改訂 11-65Fri Aug 29 2014Dayle Parker
「物理マシンから仮想マシンへの変換」手順および P2V 変換のデバッグに関する内容を修正 (BZ#1053858)
改訂 11-64Fri Aug 8 2014Dayle Parker
ベータリリース向けのバージョン
改訂 11-62Tue July 29 2014Dayle Parker
ドキュメントスイート一覧を更新
インストールの章で virt-v2v が 64 ビットシステムで使用できることを記載 (BZ#1093566)
デバッグおよび P2V のセクションで、P2V デバッグのチェックボックスは Red Hat Enterprise Linux 6.5 以降でのみ利用できる点を明確化 (BZ#1053858)
改訂 11-61Tue July 15 2014Dayle Parker
virt-p2v では NIC チーミングはサポートされていない旨を追記 (BZ#1045480)
改訂 11-60Mon Nov 18 2013Dayle Parker
6.5 GA リリース向けのバージョン
改訂 11-59Fri Nov 15 2013Dayle Parker
「エクスポートストレージドメインのアタッチ」および「v2v プロセスのスクリプト化」の手順のスクリーンショットを更新
2 章にわたって、Red Hat カスタマーポータルの手順 (「Linux を実行する仮想マシンの変換準備」) を更新
Red Hat Enterprise Virtualization 管理ガイドについての言及を追加
改訂 11-57Thurs Nov 7 2013Dayle Parker
若干の修正とマークアップを実施 (BZ#994812)
改訂 11-56Fri Sept 27 2013Dayle Parker
ベータリリースに向け若干編集
デバッグのチェックボックスが表示された P2V の新しいスクリーンショットを追加
改訂 11-54Thurs Sept 26 2013Dayle Parker
ローカリゼーションで判明した文章表現上の問題を修正
第 3 章の Windows に関する内容を別のセクションでも取り上げるように再編成/編集
改訂 11-53Mon Sept 16 2013Dayle Parker
BZ#972987: QE フィードバックに基づいて、サポート対象のオペレーティングシステムおよびハイパーバイザーの一覧を編集
改訂 11-51Fri Sept 13 2013Dayle Parker
BZ#982844: VMDK 仮想マシンの変換のセクションを修正
サポート対象のオペレーティングシステムおよびハイパーバイザーの一覧を編集 (BZ#972987)
改訂 11-50Mon Sept 9 2013Dayle Parker
P2V のデバッグのセクションを追加 (BZ#986133)
変換の制限に関して追記 (BZ#964092)
改訂 11-49Thurs Sept 5 2013Dayle Parker
VMDK 変換の例を追加 (BZ#982844)
virt-v2v のパラメーター一覧表の input オプションに「ova」を追加
改訂 11-48Fri Aug 16 2013Dayle Parker
第 2 章と第 3 章に変換所要時間を追加 (BZ#975320)
改訂 11-47Fri Aug 9 2013Dayle Parker
第 3 章と第 5 章で重複していた内容を統合してドラフトの章を作成
改訂 11-46Fri Apr 26 2013Dayle Parker
修正したドキュメントスイート一覧を第 1 章に追加し、前書きと第 1 章を再構成
改訂 11-45Mon March 4 2013Dayle Parker
トピックツールからトピックを取り除き、ブック内にテキストを配置
改訂 11-44Tue Feb 19 2013Dayle Parker
6.4 GA リリース向けのバージョン
改訂 11-41Wed Jan 30 2013Dayle Parker
第 3 章および第 4 章のゲストツール ISO に関連する手順を更新 (BZ#881469)
第 3 章の「変換された仮想マシンのインポートと実行」のセクションを更新 (BZ#881469)
改訂 11-39Thurs Jan 24 2013Dayle Parker
「2.1. 仮想マシンの変換」というサブセクションのタイトルを「2.1. 仮想マシンの変換準備」に変更し、セクションを若干再構成
本書全体で文法を若干修正
改訂 11-38Wed Jan 16 2013Dayle Parker
QE レビューに従って修正 (BZ#881469)
改訂 11-36Thurs Dec 13 2012Dayle Parker
ISO のファイル名を修正 (BZ#713997)
改訂 11-35Wed Nov 28 2012Dayle Parker
第 3 章に QE のフィードバックを反映: RHEV の新しいスクリーンショットを追加し、タイプミスを修正
改訂 11-34Tue Nov 27 2012Dayle Parker
「v2v プロセスのスクリプト化」セクションに対する QE のフィードバックを反映 (BZ#754884)
改訂 11-33Thu Nov 22 2012Laura Novich
「単一ホストの v2v スクリプト」セクションのスクリプトを修正 (https://bugzilla.redhat.com/show_bug.cgi?id=83236)
改訂 11-31Wed Nov 21 2012Dayle Parker
「v2v プロセスのスクリプト化」のセクションを編集して再度パブリッシュ (BZ#754884)
改訂 11-30Fri Nov 16 2012Dayle Parker
ゲストツール ISO の段落を明確化 (BZ#754887)
改訂 11-29Mon Nov 12 2012Dayle Parker
「3.3.5 スクリプト化された v2v の一括処理」に REST API に関する説明を追加 (BZ#832361)
改訂 11-28Thurs Nov 8 2012Dayle Parker
タイプミスを修正 (BZ#713997)
改訂 11-27Wed Nov 7 2012Dayle Parker
トピックの細かいタイプミスを編集
改訂 11-26Wed Nov 7 2012Dayle Parker
「3.3.5. スクリプト化された v2v の一括処理」を更新 (BZ#832361)
改訂 11-24Mon Nov 5 2012Dayle Parker
「5.2.4. 起動可能なメディアの作成」および「A.1. 起動可能なメディアの作成」の ISO ファイル名とリンクを更新 (BZ#713997)
改訂 11-23Fri Nov 2 2012Dayle Parker
第 4 章および第 5 章を修正 (BZ#832019)
改訂 11-22Thu Nov 1 2012Laura Novich
トラブルシューティングのセクションを追加 (BZ#841542)
改訂 11-21Thurs Nov 1 2012Dayle Parker
第 6 章および第 7 章を修正 (BZ#754888)
改訂 11-20Thurs Nov 1 2012Dayle Parker
第 2 章に追加情報を記載 (BZ#754886)
第 3 章を修正 (BZ#754887)
改訂 11-19Wed Oct 31 2012Laura Novich
.iso のダウンロードに関する情報を追加
改訂 11-18Wed Oct 31 2012Dayle Parker
第 2 章を修正 (BZ#754886)
改訂 11-17Wed Oct 31 2012Laura Novich
改訂履歴のページと第 1 章を変更 (BZ#754885)
改訂 11-14Mon Oct 29 2012Dayle Parker
仮想化関連の用語を本書全体で統一 (BZ#825894)
改訂 11-13Thu Oct 25 2012Laura Novich
v2v 移行の章の執筆を終了: ESX(i) をサポート対象として追加
改訂 11-11Wed Oct 24 2012Laura Novich
P2V の章と関連する libvirt の章を修正 (https://bugzilla.redhat.com/show_bug.cgi?id=816930)
改訂 11-9Mon Oct 15 2012Laura Novich
BZ754885 のバグを修正: 改訂履歴と前書きを変更
改訂 11-6Monday June 18 2012Laura Novich
GA に向けて準備
改訂 11-5Monday June 04 2012Laura Bailey
ストレージプールの要件に関する記載内容を修正 (BZ#709279)
改訂 11-4Monday May 14 2012Laura Bailey
Virt P2V の要件についての詳しい説明を追加
改訂 11-3Monday March 26 2012Laura Bailey
細かいタイプミスを修正し、表現を明確化 (BZ#713997)
改訂 11-2Monday March 5 2012Dayle Parker
注記のタイトルを本書全体で統一 (BZ#732866)
セクション 5.3 の図にラベルを付け、スクリーンショットの画像を編集 (BZ#732865)
改訂 11-1Friday February 24 2012Laura Bailey
V2V 移行の章を追加 (BZ#709279)
改訂 10-0Monday January 23 2012Laura Bailey
スタイルガイドに従って、単語の使い方を修正 (BZ#733005)
--file パラメーターの用途を更新 (BZ#749766)
channel コマンドの使用方法を修正 (BZ#765869)
改訂 9-0Thursday December 08 2011Laura Bailey
Tim Hildred が執筆し、以前に記載されていた P2V に関連する内容を再度追加
置き換え可能なコンテンツが容易に特定できるように形式を調整
virt-v2v で使用できるパラメーターを更新
Windows 回復コンソールの変換に関する注意事項を追加
改訂 7-0Friday December 02 2011Laura Bailey
Red Hat Enterprise Linux 6.2 の GA リリース
改訂 6-0Friday July 22 2011Tim Hildred
ストレージ形式/割り当てポリシーの許容可能な組み合わせについて詳述したセクションを推進/強調
「警告」を「重要」に変更
改訂 5-0Friday June 17 2011Tim Hildred
以下のバグを修正:
BZ#712320 - SSH を介した複数の HDD 転送に関する警告を追加
「-oa preallocated」パラメーターを指定して qcow2/sparse ゲストを変換した場合には、qcow2/preallocated ゲストを NFS データドメインにインポートできない (BZ#696050)
virt-v2v の必須コンポーネントのインストールについて記載したセクションの情報が十分に詳述されていない (BZ#710161)
改訂 4-0Monday April 11 2011Cheryn Tan
以下のバグを修正:
ゲストにドライバーをインストールするには、ゲストツール ISO のアップロードは不要 (BZ#694773)
RHEV にリモートの KVM 仮想マシンを変換する方法をガイドに追加すべき (BZ#694778)
virt-v2v 変換のコマンド構文「virt-v2v -os pool --network netname vm-name」の更新が必要 (BZ#694775)
改訂 3-0Friday April 8 2011Cheryn Tan
以下のバグを修正:
著作権のタイムスタンプの更新が必要 (BZ#694437)
V2V ガイドの手順では、virt-v2v に関連したソフトウェアを取得できない (BZ#694441)
RHEL6 で portmap が rpcbind に置き換えられたので、portmap サービスについての記載内容を更新すべき (BZ#694442)
改訂 2-0Monday November 29 2010David Jorm
ドラフト版完了 (例 3.3 を除く)
改訂 1-0Monday October 25 2010David Jorm
初版ビルド

法律上の通知

Copyright © 2010-2014 Red Hat, Inc.
This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported License. If you distribute this document, or a modified version of it, you must provide attribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed.
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, 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 Software Collections 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.