V2V ガイド
virt-v2v を使用した仮想マシンのインポート
概要
第1章 V2V について
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. 本ガイドについて
1.2.1. 対象読者
1.2.2. Red Hat Enterprise Virtualization
1.3. 関連資料
- 『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 に特有の REST API、Python、Java ソフトウェア開発キット、およびコマンドラインツールの使用方法について記載しています。さらに、Red Hat Enterprise Virtualization の背後にある基盤となる技術コンセプトについて概説しています。
- 『Red Hat Enterprise Virtualization Manager リリースノート』: 現行リリースに固有の Red Hat Enterprise Virtualization Manager に関する情報が記載されています。
- 『Red Hat Enterprise Virtualization テクニカルノート』: 現行リリースと旧リリース間の変更点を記載しています。
注記
第2章 virt-v2v のインストール
virt-v2v
は Red Hat Enterprise Linux 64 ビットのホストから実行するため、ホスト上に virt-v2v
をインストールしておく必要があります。
手順2.1 virt-v2v のインストール
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 を参照してください。必須コンポーネントをインストールします。
- Windows 仮想マシンを変換する場合には、libguestfs-winsupport と virtio-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 として実行します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow subscription-manager repos --enable rhel-6-server-v2vwin-1-rpms --enable rhel-6-server-supplementary-rpms
# subscription-manager repos --enable rhel-6-server-v2vwin-1-rpms --enable rhel-6-server-supplementary-rpms
virt-v2v パッケージをインストールします。
以下のコマンドを root として実行します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow yum install virt-v2v
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 アクセスが必要です。
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 ページを参照してください。
virt-v2v
をインストールするには、システムが適切なチャンネルをサブスクライブしていることを確認した上で以下のコマンドを実行します。
yum install virt-v2v
# yum install virt-v2v
3.2. 仮想マシンの変換準備
virt-v2v
は、libvirt で管理される KVM を使用する Red Hat Enterprise Linux で実行するように、異種のハイパーバイザーの仮想マシンを変換します。変換される仮想マシン用の libvirt ドメインは自動的に作成されます。

図3.1 仮想マシンの変換
手順3.1 仮想マシンの変換準備
- 移行されるストレージ用にローカルストレージドメインを作成します。
virt-v2v
はインポート中に、ゲスト仮想マシンのストレージをローカルで定義された libvirt ストレージプールにコピーします。このプールは、任意の libvirt ツールを使用して、任意のタイプに定義することができます。新規プールを作成する最も簡単な方法は、virt-manager
を使用する方法です。virt-manager
またはvirsh
のいずれかを使用したストレージドメインの詳しい作成方法については、『Red Hat Enterprise Linux 仮想化管理ガイド』を参照してください。 - ローカルネットワークインターフェースを作成します。ローカルマシーンには、変換された仮想マシンの接続先となる適切なネットワークが必要です。これは、ブリッジインターフェースとなる可能性が高くなります。ブリッジインターフェースは、ホスト上の標準ツールを使用して作成することができます。libvirt バージョン 0.8.3 以降では、
virt-manager
を使用してブリッジの作成および管理を行うことも可能です。libvirt を使用する、ブリッジされたネットワークについての詳しい情報は、『Red Hat Enterprise Linux 仮想化ホスト設定およびゲストインストールガイド』または 『Red Hat Enterprise Linux 仮想化管理ガイド』を参照してください。 virt-v2v.conf
でネットワークマッピングを指定します。このステップはオプションであり、大半のユースケースでは必要ありません。仮想マシンに複数のインターフェースがある場合、/etc/virt-v2v.conf
を編集してすべてのインターフェースのネットワークマッピングを指定する必要があります。-f
パラメーターを使用すると、代替のvirt-v2v.conf
ファイルを指定することができます。仮想マシンに単一のネットワークインターフェースしかない場合は、virt-v2v.conf
を変更するのではなく、--network
または--bridge
のパラメーターを使用してより簡単に指定することができます。virt-v2v.conf
に変換用プロファイルを作成します。この手順はオプションです。プロファイルは変換メソッド、ストレージの場所、出力形式、割り当てポリシーを指定します。プロファイルを定義すると、--profile
を使用して呼び出すことができるので、-o
、-os
、-of
、-oa
のパラメーターを個別に指定せずに済みます。詳しくは virt-v2v.conf(5) を参照してください。
3.2.1. Linux を実行する仮想マシンの変換準備
手順3.2 Linux を実行する仮想マシンの変換準備
- ソフトウェアの取得
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 パッケージが不足している場合に表示されるエラー
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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
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
- ご使用の環境に適した RPM を取得するには、不足しているパッケージごとに以下の手順を繰り返してください。
- Red Hat カスタマーポータル (https://access.redhat.com/) にログインします。
- Red Hat カスタマーポータルで、ダウンロード > 製品のダウンロード > Red Hat Enterprise Linux を選択します。
- 希望の Product Variant、Version を選び、Packages タブを選択します。エラーメッセージに表示されているパッケージ名と全く同じになるように、Filter フィールドに入力します。例3.1「パッケージが不足している場合に表示されるエラー」 の例では、最初のパッケージは kernel-2.6.32-128.el6.x86_64 です。
- パッケージの一覧が表示されます。エラーメッセージに表示されたのと全く同じパッケージ名を選択すると、パッケージの詳細情報が記載された詳細ページが表示されます。または、パッケージの最新版をダウンロードするには、希望のパッケージの横の Download Latest を選択します。
- ダウンロードしたパッケージを
/var/lib/virt-v2v/software
内の適切なディレクトリーに保存します。Red Hat Enterprise Linux 6 の場合、ディレクトリーは/var/lib/virt-v2v/software/rhel/6
です。
3.2.2. ローカル Xen 仮想マシンの変換準備
手順3.3 ローカル Xen 仮想マシンの変換準備
- 仮想マシン用の XML の取得
virt-v2v
は、libvirt ドメインの記述を使用して、仮想マシンの現在の設定 (例: ストレージの場所など) を確認します。変換を開始する前に、以下のコマンドを実行して、仮想マシンを実行しているホストから XML を取得しておきます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow libvirt は実行中の Xen ハイパーバイザーに接続して、そのメタデータを取得する必要があるため、Xen カーネルでブートして、XML を取得する必要があります。変換プロセスは、KVM 用に最適化されているので、Xen カーネルの実行中にドメインデータを取得した後には、KVM カーネルを使用して変換を実行した方が、Xen カーネルで変換を行うよりも効率的です。virsh dumpxml guest_name > guest_name.xml
virsh dumpxml guest_name > guest_name.xml
3.2.3. Windows を実行する仮想マシンの変換準備
重要
virt-v2v
は、Windows 回復コンソールの変換はサポートしていません。仮想マシンに回復コンソールがインストールされている状態で、かつ変換中に VirtIO が有効化されていた場合には、回復コンソールを起動しようとすると Stop エラーが発生します。
virt-v2v
を実行するホストに libguestfs-winsupport パッケージをインストールします。このパッケージは、多くの Windows システムで使用されている NTFS のサポートを提供します。libguestfs-winsupport パッケージは、RHEL V2VWIN (v. 6 for 64-bit x86_64) チャンネルで提供されています。ご使用のシステムがこのチャンネルをサブスクライブしていることを確認した上で以下のコマンドを root として実行してください。Copy to Clipboard Copied! Toggle word wrap Toggle overflow yum install libguestfs-winsupport
yum install libguestfs-winsupport
libguestfs-winsupport パッケージをインストールせずに NTFS を使用する仮想マシンの変換を試みると、変換は失敗し、例3.2「libguestfs-winsupport をインストールせずに Windows 仮想マシンの変換を試みた場合に表示されるエラーメッセージ」 と同じようなエラーメッセージが表示されます。例3.2 libguestfs-winsupport をインストールせずに Windows 仮想マシンの変換を試みた場合に表示されるエラーメッセージ
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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.
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.
virt-v2v
を実行するホストに virtio-win パッケージをインストールします。このパッケージは、Windows ゲスト用の準仮想化ブロックドライバーとネットワークドライバーを提供します。virtio-win パッケージは、RHEL Server Supplementary (v. 6 64-bit x86_64) チャンネルで提供されています。システムがこのチャンネルをサブスクライブしていることを確認した上で、以下のコマンドを root として実行してください。Copy to Clipboard Copied! Toggle word wrap Toggle overflow yum install virtio-win
yum install virtio-win
virtio-win パッケージをインストールぜずに Windows を実行する仮想マシンの変換を試みると、例3.3「virtio-win をインストールせずに Windows 仮想マシンを変換した場合に表示されるエラーメッセージ」 のようなエラーメッセージが表示されます。例3.3 virtio-win をインストールせずに Windows 仮想マシンを変換した場合に表示されるエラーメッセージ
Copy to Clipboard Copied! Toggle word wrap Toggle overflow virt-v2v: Installation failed because the following files referenced in the configuration file are required, but missing: /usr/share/virtio-win/drivers/i386/Win2008
virt-v2v: Installation failed because the following files referenced in the configuration file are required, but missing: /usr/share/virtio-win/drivers/i386/Win2008
注記
3.3. 仮想マシンの変換
virt-v2v
を使用して実際の変換を行います。本セクションでは、仮想マシンの変換手順と virt-v2v
のコマンド構文について説明します。
例3.4 virt-v2v の標準的な変換所要時間
win2k3r2-pv-32.img: 100% [===========================================]D 0h02m57s virt-v2v: win2k3r2-pv-32 configured with virtio drivers.
win2k3r2-pv-32.img: 100% [===========================================]D
0h02m57s
virt-v2v: win2k3r2-pv-32 configured with virtio drivers.
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 -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 仮想マシンの変換
virt-v2v -ic qemu+ssh://root@vmhost.example.com/system -op pool --bridge bridge_name guest_name
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 仮想マシンの名前に置き換えます。
--network
パラメーターを使用して、ローカルで管理されているネットワークに接続することもできます。仮想マシンに複数のネットワークインターフェースがある場合は、/etc/virt-v2v.conf
を編集して全インターフェースのネットワークマッピングを指定します。
注記
virt-v2v
で KVM からの変換を行う場合、変換元の仮想マシンのイメージがストレージプール内に配置されている必要があります。その時点に、イメージがストレージプール内に存在していない場合には、作成する必要があります。
3.3.3. ローカルの Xen 仮想マシンの変換
virt-v2v -i libvirtxml -op pool --bridge bridge_name guest_name.xml
virt-v2v -i libvirtxml -op pool --bridge bridge_name guest_name.xml
pool
の箇所には、イメージを格納するローカルストレージプールを、bridge_name
の箇所には、変換された仮想マシンのネットワークの接続先となるローカルネットワークブリッジの名前を指定します。guest_name.xml
は、仮想マシンのエクスポートされた XML へのパスに置き換えます。
--network
パラメーターを使用して、ローカルで管理されているネットワークに接続することもできます。仮想マシンに複数のネットワークインターフェースがある場合は、/etc/virt-v2v.conf
を編集して全インターフェースのネットワークマッピングを指定します。
kernel-xen
や kernel-xenU
などの名前で呼ばれている可能性がある) を使用している場合、virt-v2v
は変換プロセス中に新規カーネルのインストールを試みます。Xen カーネルと並行して、名前にハイパーバイザーを参照しない通常のカーネルを変換前にインストールしておくと、この要件を回避することができます。Xen は、新規インストールされるこのカーネルを起動しないので、デフォルトのカーネルにすべきではありません。virt-v2v
は変換中にこのカーネルをデフォルトにします。
注記
virt-v2v
で Xen からの変換を行う場合、変換元の仮想マシンのイメージがストレージプール内に配置されている必要があります。その時点に、イメージがストレージプール内に存在していない場合には、作成する必要があります。適切なストレージプールを作成するにあたってサポートが必要な場合には、Red Hat サポートにご連絡ください。
注記
3.3.4. リモートの Xen 仮想マシンの変換
virt-v2v -ic qemu+ssh://root@vmhost.example.com/system -op pool --bridge bridge_name guest_name
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 仮想マシンの名前に置き換えます。
--network
パラメーターを使用して、ローカルで管理されているネットワークに接続することもできます。仮想マシンに複数のネットワークインターフェースがある場合は、/etc/virt-v2v.conf
を編集して全インターフェースのネットワークマッピングを指定します。
kernel-xen
や kernel-xenU
などの名前で呼ばれている可能性がある) を使用している場合、virt-v2v
は変換プロセス中に新規カーネルのインストールを試みます。Xen カーネルと並行して、名前にハイパーバイザーを参照しない通常のカーネルを変換前にインストールしておくと、この要件を回避することができます。Xen は、新規インストールされるこのカーネルを起動しないので、デフォルトのカーネルにすべきではありません。virt-v2v
は変換中にこのカーネルをデフォルトにします。
注記
virt-v2v
で Xen からの変換を行う場合、変換元の仮想マシンのイメージがストレージプール内に配置されている必要があります。その時点に、イメージがストレージプール内に存在していない場合には、作成する必要があります。適切なストレージプールを作成するにあたってサポートが必要な場合には、Red Hat サポートにご連絡ください。
3.3.5. VMware ESX / ESX(i) 仮想マシンの変換
重要
virt-v2v -ic esx://esx.example.com/ -op pool --bridge bridge_name guest_name
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
は、仮想マシンの名前に置き換えます。
--network
パラメーターを使用して、ローカルで管理されているネットワークに接続することもできます。仮想マシンに複数のネットワークインターフェースがある場合は、/etc/virt-v2v.conf
を編集して全インターフェースのネットワークマッピングを指定します。
3.3.5.1. ESX / ESX(i) サーバーに対する認証
virt-v2v
は、ESX / ESX(i) に接続する際のパスワード認証をサポートしています。パスワードは、$HOME/.netrc
から読み込まれます。このファイルの形式については、netrc(5)
の man ページに記載されています。以下はエントリーの例です。
machine esx.example.com login root password s3cr3t
machine esx.example.com login root password s3cr3t
注記
.netrc
ファイルは、パーミッションマスクを 0600 に設定して、virt-v2v
が正しく読み取るようにする必要があります。
3.3.5.2. 無効な証明書を使用する ESX / ESX(i) サーバーへの接続
?no_verify=1
を追加することにより、証明書の確認を明示的に無効にすることができます。
... -ic esx://esx.example.com/?no_verify=1 ...
... -ic esx://esx.example.com/?no_verify=1 ...
3.3.6. Windows を実行する仮想マシンの変換
virt-v2v -i libvirtxml -o rhev -osd storage.example.com:/exportdomain --network rhevm guest_name.xml
virt-v2v -i libvirtxml -o rhev -osd storage.example.com:/exportdomain --network rhevm guest_name.xml
storage.example.com:/exportdomain
の箇所には、エクスポートストレージドメインを指定します。
--network
パラメーターを使用して、ローカルで管理されているネットワークに接続することもできます。仮想マシンに複数のネットワークインターフェースがある場合は、/etc/virt-v2v.conf
を編集して全インターフェースのネットワークマッピングを指定します。
kernel-xen
や kernel-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. 変換されるストレージの許容可能な出力形式
virt-v2v
は、エクスポートストレージドメインに書き込みを行い、その形式は常に NFS である必要がある点に注意してください。
注記
virt-v2v
は、データセンターのタイプを検知することができないので、ユーザーが手動でチェックする必要があります。
ドメインタイプ | ストレージ形式 | サポート |
---|---|---|
NFS | raw | Yes |
qcow2 | No | |
FC/iSCSI | raw | Yes |
qcow2 | No |
ドメインタイプ | ストレージ形式 | サポート |
---|---|---|
NFS | raw | Yes |
qcow2 | Yes | |
FC/iSCSI | raw | No |
qcow2 | Yes |
-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. エクスポートストレージドメインのアタッチ
注記
手順4.1 エクスポートストレージドメインのアタッチ
- Red Hat Enterprise Virtualization 管理ポータルにログインして、データセンタータブをクリックします。エクスポートストレージドメインをアタッチするデータセンターを選択します。
- 詳細ペインが表示されます。ストレージタブを選択してください。
図4.1 エクスポートドメインのアタッチ
- 利用可能なエクスポートドメインがある場合には、エクスポートドメインのアタッチダイアログボックスが表示されます。一覧から対象のエクスポートドメインを選択します。
- ストレージタブに新規エクスポートストレージドメインが Locked のステータスで表示された後に Inactive に切り替わります。ボタンをクリックします。詳細ペインの
- 詳細ペインのストレージタブで新規エクスポートストレージドメインを選択してアクティブ化ボタンをクリックします。
- しばらくすると、エクスポートドメインがアクティブ化され、Active のステータスで表示されます。
4.3. 仮想マシンの変換
virt-v2v
は、異種のハイパーバイザーの仮想マシンを Red Hat Enterprise Virtualization で実行するように変換します。この操作により、仮想マシンのイメージとメタデータは自動的にパッケージされ、Red Hat Enterprise Virtualization エクスポートストレージドメインにアップロードされます。エクスポートストレージドメインについての詳しい情報は、「エクスポートストレージドメインのアタッチ」 を参照してください。virt-v2v
は、変換を行う前に必ずストレージのコピーを作成します。

図4.2 仮想マシンの変換

図4.3 仮想マシンのインポート
4.3.1. 仮想マシンの変換準備
手順4.2 仮想マシンの変換準備
- 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 ストレージ管理ガイド』を参照してください。 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
のパラメーターを使用してより簡単に指定することができます。virt-v2v.conf
に変換用のプロファイルを作成します。このステップはオプションです。プロファイルは、変換メソッド、ストレージの場所、出力フォーマット、割り当てポリシーを指定します。プロファイルが定義されると、--profile
を使用して呼び出すことができるので、-o
、-os
、-of
、-oa
のパラメーターを個別に指定せずに済みます。詳しくは virt-v2v.conf(5) を参照してください。
4.3.1.1. Linux を実行する仮想マシンの変換準備
手順4.3 Linux を実行する仮想マシンの変換準備
- ソフトウェアの取得
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「パッケージが不足している場合に表示されるエラー」 のようなエラーを表示します。 - ご使用の環境に適した RPM を取得するには、不足しているパッケージごとに以下の手順を繰り返してください。
- Red Hat カスタマーポータル (https://access.redhat.com/) にログインします。
- Red Hat カスタマーポータルで、ダウンロード > 製品のダウンロード > Red Hat Enterprise Linux を選択します。
- 希望の Product Variant、Version を選び、Packages タブを選択します。エラーメッセージに表示されているパッケージ名と全く同じになるように、Filter フィールドに入力します。例3.1「パッケージが不足している場合に表示されるエラー」 の例では、最初のパッケージは kernel-2.6.32-128.el6.x86_64 です。
- パッケージの一覧が表示されます。エラーメッセージに表示されたのと全く同じパッケージ名を選択すると、パッケージの詳細情報が記載された詳細ページが表示されます。または、パッケージの最新版をダウンロードするには、希望のパッケージの横の Download Latest を選択します。
- ダウンロードしたパッケージを
/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 エラーが発生します。
重要
手順4.4 Windows を実行する仮想マシンの変換準備
virt-v2v
を実行するホストに libguestfs-winsupport パッケージをインストールします。このパッケージは、多くの Windows システムで使用されている NTFS のサポートを提供します。libguestfs-winsupport パッケージは、RHEL V2VWIN (v. 6 for 64-bit x86_64) チャンネルで提供されています。ご使用のシステムがこのチャンネルをサブスクライブしていることを確認した上で以下のコマンドを root として実行してください。Copy to Clipboard Copied! Toggle word wrap Toggle overflow yum install libguestfs-winsupport
yum install libguestfs-winsupport
libguestfs-winsupport パッケージをインストールせずに NTFS を使用する仮想マシンの変換を試みると、変換は失敗し、例4.1「libguestfs-winsupport をインストールせずに Windows 仮想マシンの変換を試みた場合に表示されるエラーメッセージ」 のようなエラーメッセージが表示されます。例4.1 libguestfs-winsupport をインストールせずに Windows 仮想マシンの変換を試みた場合に表示されるエラーメッセージ
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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.
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.
virt-v2v
を実行するホストに virtio-win パッケージをインストールします。このパッケージは、Windows ゲスト用の準仮想化ブロックドライバーとネットワークのドライバーを提供します。virtio-win パッケージは、RHEL Server Supplementary (v. 6 64-bit x86_64) チャンネルで提供されています。システムがこのチャンネルをサブスクライブしていることを確認した上で、以下のコマンドを root として実行してください。Copy to Clipboard Copied! Toggle word wrap Toggle overflow yum install virtio-win
yum install virtio-win
virtio-win パッケージをインストールぜずに Windows を実行する仮想マシンの変換を試みると、例3.3「virtio-win をインストールせずに Windows 仮想マシンを変換した場合に表示されるエラーメッセージ」 のようなエラーメッセージが表示されます。- ISO ストレージドメインに、ゲストツール ISO をアップロードします。ゲストツール ISO は、変換プロセスを正常に完了するために必要なわけではありませんが、Red Hat Enterprise Virtualization で稼働するすべての Windows 仮想マシンに推奨される点に注意してください。仮想マシンが変換された後に Red Hat Enterprise Virtualization Manager はゲストツール ISO を使用してゲスト仮想マシンに Red Hat の Windows ドライバーをインストールします。詳しくは 「Windows 仮想マシンの設定変更」 を参照してください。以下の手順に従って、ゲストツール ISO を探してアップロードします。
- ゲストツール 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
に格納されます。 - ゲストツール ISO のアップロードISO アップローダーを使用して、ゲストツール ISO を ISO ストレージドメインにアップロードします。ISO ファイルのアップロードおよびゲストエージェント/ドライバーのインストールについての詳しい情報は、『Red Hat Enterprise Virtualization 管理ガイド』を参照してください。
4.3.1.3. ローカル Xen 仮想マシンの変換準備
手順4.5 ローカル Xen 仮想マシンの変換準備
- 仮想マシン用の XML の取得
virt-v2v
は、libvirt ドメインの記述を使用して、仮想マシンの現在の設定 (例: ストレージの場所など) を確認します。変換を開始する前に、以下のコマンドを実行して、仮想マシンを実行しているホストからこの記述を取得しておきます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow libvirt は実行中の Xen ハイパーバイザーに接続して、そのメタデータを取得する必要があるため、Xen カーネルでブートして、XML を取得する必要があります。変換プロセスは、KVM 用に最適化されているので、Xen カーネルの実行中にドメインデータを取得した後には、KVM カーネルを使用して変換を実行した方が、Xen カーネルで変換を行うよりも効率的です。virsh dumpxml guest_name > guest_name.xml
virsh dumpxml guest_name > guest_name.xml
4.3.2. 仮想マシンの変換
virt-v2v
を使用して実際の変換を行います。本セクションでは、仮想マシンの変換手順と virt-v2v
のコマンド構文について説明します。
例4.2 virt-v2v の標準的な変換所要時間
win2k3r2-pv-32.img: 100% [===========================================]D 0h02m57s virt-v2v: win2k3r2-pv-32 configured with virtio drivers.
win2k3r2-pv-32.img: 100% [===========================================]D
0h02m57s
virt-v2v: win2k3r2-pv-32 configured with virtio drivers.
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 -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 仮想マシンの変換
virt-v2v -i libvirtxml -o rhev -os storage.example.com:/exportdomain --network rhevm guest_name.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 へのパスに置き換えます。
--bridge
パラメーターを使用して、ローカルで管理されているネットワークに接続することもできます。仮想マシンに複数のネットワークインターフェースがある場合は、/etc/virt-v2v.conf
を編集して全インターフェースのネットワークマッピングを指定します。
virt-v2v -ic xen:/// -o rhev -os storage.example.com:/exportdomain --network rhevm guest_name
virt-v2v -ic xen:/// -o rhev -os storage.example.com:/exportdomain --network rhevm guest_name
storage.example.com:/exportdomain
の箇所には、エクスポートストレージドメインを、rhevm
の箇所には、変換された仮想マシンのネットワーク接続先となる、ローカルで管理されるネットワークを指定し、guest_name は、Xen 仮想マシンの名前に置き換えます。
--bridge
パラメーターを使用して、ローカルで管理されているネットワークに接続することもできます。仮想マシンに複数のネットワークインターフェースがある場合は、/etc/virt-v2v.conf
を編集して全インターフェースのネットワークマッピングを指定します。
kernel-xen
や kernel-xenU
などの名前で呼ばれている可能性がある) を使用している場合、virt-v2v
は変換プロセス中に新規カーネルのインストールを試みます。Xen カーネルと並行して、名前にハイパーバイザーを参照しない通常のカーネルを変換前にインストールしておくと、この要件を回避することができます。Xen は、新規インストールされるこのカーネルを起動しないので、デフォルトのカーネルにすべきではありません。virt-v2v
は変換中にこのカーネルをデフォルトにします。
4.3.2.3. リモートの Xen 仮想マシンの変換
重要
virt-v2v
が失敗してしまいます。大容量ディスクの場合には、ディスク転送の所要時間がはっきりとわからないので、この設定は特に重要となります。
virt-v2v -o rhev -ic xen+ssh://root@vmhost.example.com -os storage.example.com:/exportdomain --network rhevm guest_name
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 仮想マシンの名前に置き換えます。
--bridge
パラメーターを使用して、ローカルで管理されているネットワークに接続することもできます。仮想マシンに複数のネットワークインターフェースがある場合は、/etc/virt-v2v.conf
を編集して全インターフェースのネットワークマッピングを指定します。
kernel-xen
や kernel-xenU
などの名前で呼ばれている可能性がある) を使用している場合、virt-v2v
は変換プロセス中に新規カーネルのインストールを試みます。Xen カーネルと並行して、名前にハイパーバイザーを参照しない通常のカーネルを変換前にインストールしておくと、この要件を回避することができます。Xen は、新規インストールされるこのカーネルを起動しないので、デフォルトのカーネルにすべきではありません。virt-v2v
は変換中にこのカーネルをデフォルトにします。
4.3.2.4. ローカルの KVM 仮想マシンの変換
手順4.6 ローカルの KVM 仮想マシンの変換
仮想マシンを停止します。
- v2v プロセスを実行する前に、仮想マシンが停止していることを確認してください。その仮想マシンが、クラスター化された Red Hat Enterprise Linux HA 仮想マシン環境内にある場合には、以下のコマンドを実行してクラスターノード内の仮想マシンリソースを停止して無効にします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow clusvcadm -d vm:<guest>
clusvcadm -d vm:<guest>
- 仮想マシンを停止した後に、
virsh define <path-to-guest.xml>
を実行して、停止状態の仮想マシンを libvirt の管理下に配置します。このコマンドにより、virt-v2v
がその仮想マシンを認識して、変換できる状態になります。
仮想マシンを変換します。
仮想マシンを変換するには、以下のコマンドを実行します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow virt-v2v -o rhev -os storage.example.com:/exportdomain --network rhevm guest_name
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 仮想マシンの変換
重要
virt-v2v
が失敗してしまいます。大容量ディスクの場合には、ディスク転送の所要時間がはっきりとわからないので、この設定は特に重要となります。
virt-v2v -ic qemu+ssh://root@kvmhost.example.com/system -o rhev -os storage.example.com:/exportdomain --network rhevm guest_name
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 仮想マシンの名前に置き換えます。
--bridge
パラメーターを使用して、ローカルで管理されているネットワークに接続することもできます。仮想マシンに複数のネットワークインターフェースがある場合は、/etc/virt-v2v.conf
を編集して全インターフェースのネットワークマッピングを指定します。
4.3.2.6. VMware ESX / ESX(i) 仮想マシンの変換
重要
virt-v2v -ic esx://esx.example.com/ -o rhev -os storage.example.com:/exportdomain --network rhevm guest_name
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 は、仮想マシンの名前に置き換えます。
--bridge
パラメーターを使用して、ローカルで管理されているネットワークに接続することもできます。仮想マシンに複数のネットワークインターフェースがある場合は、/etc/virt-v2v.conf
を編集して全インターフェースのネットワークマッピングを指定します。
ESX / ESX(i) サーバーに接続するには、認証が必要となります。virt-v2v
は、ESX / ESX(i) に接続する際のパスワード認証をサポートしています。パスワードは、$HOME/.netrc
から読み込まれます。このファイルの形式については、netrc(5)
に記載されています。以下はエントリーの例です。
machine esx.example.com login root password s3cr3t
machine esx.example.com login root password s3cr3t
注記
.netrc
ファイルは、パーミッションマスクを 0600 に設定して、virt-v2v
が正しく読み取るようにする必要があります。
非実稼働環境では、ESX / ESX(i) サーバーに無効な証明書を使用している可能性があります (例: 自己署名証明書)。このような場合には、以下に示した例のように、接続 URI に ?no_verify=1
を追加することにより、証明書の確認を明示的に無効にすることができます。
... -ic esx://esx.example.com/?no_verify=1 ...
... -ic esx://esx.example.com/?no_verify=1 ...
4.3.3. 変換された仮想マシンのインポートと実行
virt-v2v
はエクスポートする仮想マシンを指定のエクスポートドメインにアップロードします。変換された仮想マシンをインポートして実行するには、以下の手順で行います。
手順4.7 変換された仮想マシンのインポートと実行
- Red Hat Enterprise Virtualization 管理ポータルのストレージタブでエクスポートドメインを選択します。エクスポートドメインのステータスは Active である必要があります。
- 詳細ペインで仮想マシンのインポートタブを選択すると、インポートできる仮想マシンが一覧表示されます。
- 仮想マシンを 1 台または複数選択し、仮想マシンのインポートウィンドウが開きます。をクリックすると、
- ドロップダウンメニューで、データセンターのデフォルトのストレージドメイン、クラスター、およびクラスターのクォータ を選択します。
- スナップショットを結合のチェックボックスを選択すると、スナップショットの復元ポイントが削除され、テンプレートベースの仮想マシンにテンプレートが含まれるようになります。 をクリックして仮想マシンをインポートします。
現時点では、virt-v2v
はゲストのネットワーク設定を再設定することはできません。変換された仮想マシンが変換元と同じサブネットに接続されていない場合には、そのゲストのネットワーク設定を手動で更新する必要がある場合があります。
4.3.4. v2v プロセスのスクリプト化
手順4.8 v2v プロセスのスクリプト化
virt-v2v
を使用して仮想マシンを変換し、エクスポートストレージドメインにコピーします。このステップは、Linux ホストで実行する必要があります。詳しい手順は、「仮想マシンの変換」 に記載しています。- 変換が完了したら、Red Hat Enterprise Virtualization 管理ポータルを使用して、エクスポートストレージドメインから仮想マシンをインポートします。このステップは、Red Hat Enterprise Virtualization Manager サーバーで実行する必要があります。Red Hat Enterprise Virtualization 管理ポータルを使用した仮想マシンのインポートについてのさらに詳しい情報は 『 Red Hat Enterprise Virtualization 管理ガイド』 を参照してください。
図4.4 Red Hat Enterprise Virtualization 管理ポータルを使用した仮想マシンのインポート
あるいは、Python SDK またはコマンドラインを使用して、エクスポートストレージドメインから仮想マシンをインポートすることも可能です。SDK を使用して仮想マシンをインポートするには、以下のように行います。例4.3 SDK を使用した、エクスポートストレージドメインからの仮想マシンのインポート
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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")))
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 コマンドラインを使用した、エクスポートストレージドメインからの仮想マシンのインポート
Copy to Clipboard Copied! Toggle word wrap Toggle overflow action vm "vm-to-import" import_vm --storagedomain-identifier "from-sd-id" --cluster-id "to-cluster-id" --storage_domain-id "to-sd-id"
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 の一括処理

図4.5 スクリプト化された v2v の一括処理
- インポート元のハイパーバイザーから仮想マシンのイメージを取得します。
- 仮想マシンのイメージをパッケージ化して、エクスポートストレージドメインにコピーします。
- Red Hat Enterprise Virtualization Manager に対してリモートプロシージャコールを実行し、仮想マシンをインポートするように指示します。
- Manager がエクスポートストレージドメインから仮想マシンをインポートします。
手順4.9 スクリプト化された v2v 一括処理の設定と実行
- Red Hat Enterprise Virtualization Manager で REST API が有効化されている状態で、かつ v2v プロセスを実行する Linux ホストからアクセス可能であることを確認します。REST API についての詳しい情報は 『Red Hat Enterprise Virtualization テクニカルガイド』を参照してください。
- Linux ホストで、以下の内容を記述した
v2v.sh
ファイルを作成します。スクリプトを編集して、ご使用の環境に適した値を設定してください。例4.5 単一ホストの v2v スクリプト
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Declare all VMs to import Iterate through each Xen domain, performing the conversion Iterate through each KVM domain, performing the conversion Iterate through each VMware VM, performing the conversion Call the import VM procedure remotely on the RHEV Manager Get the export storage domains Get the datacenter Get the cluster List contents of export storage domain For each vm, export
#!/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 テクニカルガイド』を参照してください。 v2v.sh
スクリプトを実行します。大量の仮想マシンを変換してインポートするには、数時間かかる場合があります。
第5章 物理マシンから仮想マシンへの変換
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 で使用できるように変換されます。
重要
- 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. 前提条件
- 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. 物理マシンの変換準備
5.2.1. 変換サーバーへの virt-v2v のインストール
5.2.2. SSH 経由の root ログインの有効化
- root として、
/etc/ssh/sshd_config
にある sshd_config ファイルを編集します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow nano /etc/ssh/sshd_config
nano /etc/ssh/sshd_config
- ファイル内の Authentication のセクションに
PermitRootLogin yes
という行を追記します。この行は、すでに存在し、"#" でコメントアウトされている可能性があります。その場合には、"#" を削除してください。Copy to Clipboard Copied! Toggle word wrap Toggle overflow Authentication:
# Authentication: #LoginGraceTime 2m PermitRootLogin yes #StrictModes yes #MaxAuthTries 6 #MaxSessions 10
- 更新した
/etc/ssh/sshd_config
ファイルを保存します。 - 以下のコマンドを実行して SSH サーバーを再起動します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow service sshd restart
service sshd restart
5.2.3. virt-v2v.conf
でのターゲットプロファイルの定義
/etc/virt-v2v.conf
ファイルでターゲットプロファイルとして指定します。
virt-v2v.conf
でのターゲットプロファイルの定義
- root として
/etc/virt-v2v.conf
を編集します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow nano /etc/virt-v2v.conf
nano /etc/virt-v2v.conf
- ファイルの末尾までスクロールします。最後の
</virt-v2v>
の前に、以下の設定を追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow <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="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") である必要があります。
5.2.4. 起動可能なメディアの作成
/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 の設定を変更する必要がある場合があります。
5.3. 物理マシンから仮想マシンへの変換
手順5.1 物理マシンから仮想マシンへの変換
変換サーバーで P2V クライアントの起動メディアを起動します。
変換サーバーで、変換準備の際に作成した P2V クライアントの起動メディアを起動します。P2V クライアントは Red Hat Enterprise Linux 6 のライブイメージを基盤に構築されるため、このツールの起動中には Red Hat Enterprise Linux 6 のスプラッシュイメージが表示されます。必要であればネットワークの設定をします。
通常 P2V クライアントは、DHCP を使用してネットワークを自動的に設定します。ネットワークを自動的に設定できない場合には、手動で設定する必要があります。IP Address、Gateway、Prefix は必須フィールドです。ご使用のネットワークに適した値を入力して Use these network settings をクリックします。P2V クライアントは、物理マシンから仮想マシンへの変換での NIC チーミング設定をサポートしていない点に注意してください。図5.1 P2V クライアントのネットワーク設定
注記
自動的なネットワーク設定を避け、手動でネットワークを設定するには、物理マシンのネットワークを切断してから起動します。変換サーバーへ接続します。
ネットワークの設定時には、変換サーバーへの接続の詳細情報の入力を要求されます。これには、Hostname (ホスト名または IP アドレス)、Username (root である必要あり)、Password が含まれます。これらの詳細情報を入力して Connect をクリックします。図5.2 変換サーバーへの接続
対象の仮想マシンを設定して、変換するハードウェアを選択します。
変換サーバーに接続した後には、変換される物理マシンにアタッチされる仮想ハードウェアを設定し、変換する物理ハードウェアを選択します。図5.3 仮想マシンの設定
- Target Properties で以下を設定します。
- ドロップダウンメニューから Destination Profile を選択します。これは、変換サーバーの
/etc/virt-v2v.conf
ファイルに記載されているターゲットプロファイルを反映します。 - Target Properties に、物理マシンから変換される仮想マシンの Name を入力します。
- Target Properties の Number of CPUs と Memory(MB) の値は自動的に検出/入力されます。出力される仮想マシンに、この値よりも多くの CPU とメモリーが必要な場合には変更してください。
- Fixed Storage で、変換するデバイスを 1 つまたは複数選択してください。固定ストレージデバイスを少なくとも 1 つ選択する必要があります。これには、オペレーティングシステムのインストールを格納しているデバイスが含まれます。
- Removable Media で、変換するデバイスを 1 つまたは複数選択します。
- Network Interfaces で、変換するネットワークインターフェースを 1 つまたは複数選択します。
- オプション: デバッグのメッセージをファイルに表示するには、Enable server-side debugging のチェックボックスを選択します。この設定は、変換処理中にサーバーが
LIBGUESTFS_TRACE
およびLIBGUESTFS_DEBUG
の出力を書き込むように指示します。Enable server-side debugging チェックボックスは、Red Hat Enterprise Linux 6.5 以降のバージョンアップのみで利用できます。P2V 変換のデバッグに関する詳しい情報は、「P2V 変換のデバッグ」 を参照してください。 - Convert をクリックします。
図5.4 変換処理中の画面

図5.5 変換が正常に完了したことを通知するメッセージ
5.4. 変換された仮想マシンのインポートおよびインポート先のハイパーバイザーでの実行
第6章 デバッグとトラブルシューティング
6.1. V2V 変換のデバッグ
virt-v2v
が実行されると同時にメッセージが出力されます。このようなメッセージは、virt-v2v
を実行しているターミナルで表示されます。
virt-v2v
デバッグメッセージをファイルに出力することができます。変換は通常以下のように実行されます。
virt-v2v -i libvirtxml -os pool --bridge bridge_name guest_name.xml
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
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 変換時に問題が発生した場合に、その問題をエンジニアやサポートサービスに対して、より簡単に説明することができます。
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 です。以下のオプションがサポートされています。
|
-ic URI
|
libvirt 入力メソッドで使用する接続を指定します。指定しなかった場合には、デフォルトで
qemu:///system が選択されます。これは、virt-v2v を root として実行した場合のみ機能する点に注意してください。
virt-v2v は現在、ローカルの libvirt 接続、ESX / ESX(i) 接続、および SSH 経由の接続でゲストストレージを自動的に取得することができます。これ以外の接続タイプはサポートされていません。
|
-o method
|
出力メソッドを指定します。出力メソッドを指定しなかった場合には、デフォルトで libvirt が選択されます。以下の出力メソッドがサポートされています。
|
-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
|
変換されたゲストに使用されるオンディスク形式を指定します。現在サポートされているオプションは
raw と qcow2 です。出力形式は、ソースの形式と同じである必要はありません。virt-v2v は raw から 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 が失敗する可能性があります。
その他の使用可能なオプション
|
--list-profiles
|
設定ファイルで指定されているターゲットプロファイル名の一覧が表示されます。
|
--help
| 簡潔なヘルプが表示されます。 |
--version
| バージョン番号が表示された後にプロンプトに戻ります。 |
7.2. 設定の変更
virt-v2v
は、libvirt を適切に設定する以外にも、仮想マシンに特定の変更を加えて、VirtIO ドライバーの有無を問わずに、KVM ハイパーバイザーで実行できるようにします。このような変更は、ゲストのオペレーティングシステム固有となります。以下に記載する情報は、サポート対象の Red Hat Enterprise Linux バージョンと Windows に適用されます。
7.2.1. Linux 仮想マシンの設定変更
変更 | 説明 |
---|---|
カーネル | 起動できないカーネル (Xen 準仮想化カーネル) がアンインストールされます。VirtIO をサポートするカーネルが残っている場合には、新しいカーネルはインストールされません。残りのカーネルが VirtIO をサポートしておらず、かつ設定ファイルに新規カーネルが指定されている場合には、インストールされ、デフォルトとして設定されます。 |
X の再設定 | ゲストに X が設定されている場合、そのディスプレイドライバーが更新されます。使用されるドライバーについては 表7.2「Linux ゲストで設定されるドライバー」 を参照してください。 |
ブロックデバイス名の変更 | 再設定によりブロック名が変わった場合には、その変更は /etc/fstab に反映されます。 |
デバイスドライバーの設定 | 設定するドライバーが VirtIO であるか否かに関わらず、virt-v2v は正しいネットワークドライバーとブロックドライバーが modprobe 設定で確実に指定されるようにします。 |
initrd | VirtIO を使用するか否かに関わらず、virt-v2v は、デフォルトのカーネル用の initrd が root デバイスの起動を確実にサポートするようにします。 |
SELinux | virt-v2v は、次回のブート時にゲストの再ラベル付けを開始します。これにより、変更はすべてゲストのローカルポリシーに従って正しくラベル付けされるようになります。 |
virt-v2v
は、Linux ゲストの以下のようなタイプのドライバーを設定します。
準仮想化ドライバーのタイプ | ドライバーモジュール |
---|---|
ディスプレイ | cirrus |
ストレージ | virtio_blk |
ネットワーク | virtio_net |
上記に加えて、virtio_pci ドライバーが initrd によってプリロードされます。 |
その他のドライバー | |
---|---|
ディスプレイ | cirrus |
ブロック | 仮想 IDE |
ネットワーク | 仮想 e1000 |
7.2.2. Windows 仮想マシンの設定変更
警告
virt-v2v
を実行するホストに libguestfs-winsupport および virtio-win のパッケージがインストール済みであることを確認してください。これらのパッケージは、NTFS および Windows の準仮想化ブロックドライバーとネットワークドライバーに対するサポートを提供します。libguestfs-winsupport パッケージをインストールせずに NTFS を使用する仮想マシンの変換を試みると、変換は失敗してしまいます。また、virtio-win パッケージをインストールせずに Windows を実行する仮想マシンの変換を試みると、変換は失敗して、ファイルが見つからないというエラーメッセージが表示されます。詳しくは、「Windows を実行する仮想マシンの変換準備」 を参照してください。
- virt-v2v が virtio ブロックドライバーをインストールします。
- virt-v2v が CDUpgrader ユーティリティーをインストールします。
- virt-v2v が VirtIO ブロックドライバーとネットワークドライバーを
%SystemRoot%\Drivers\VirtIO
にコピーします。virtio-win パッケージには、Windows 7 および Windows XP 用のネットワークドライバーは同梱されていません。これらのオペレーティングシステムには rtl8139 ネットワークドライバーが使用されます。rtl8139 サポートがゲスト仮想マシンですでに提供されている必要があります。 - virt-v2v が
%SystemRoot%\Drivers\VirtIO
をDevicePath
に追加します。これにより、新しいデバイスが検出されると、このディレクトリーでドライバーが自動的に検索されるようになります。 - virt-v2v がレジストリーの
CriticalDeviceDatabase
セクションに VirtIO ブロックドライバーを追加し、次回のブート時に CDUpgrader サービスが起動するように変更を加えます。
- 仮想マシンがインポートされ、Manager で実行されます。詳しい説明は 『Red Hat Enterprise Virtualization 管理ガイド』を参照してください。
重要
初回起動段階の実行には、数分時間がかかる場合があり、処理が中断されないようにする必要があります。仮想マシンを起動する操作以外は、管理者の介入なしに自動的に実行されます。この処理が割り込まれないようにするには、仮想マシンが休止状態になるまで、ユーザーがログインしないようにする必要があります。この状態は、Manager の GUI で確認することができます。 - 「Windows を実行する仮想マシンの変換準備」 で詳しく説明しているように、ゲストツール ISO がすでに ISO ストレージドメインにアップロード済みの場合には、Manager がゲストツール CD を仮想マシンにアタッチします。
- CDUpgrader がゲストツール ISO を検出し、そこからすべての VirtIO ドライバーをインストールします。これには、virtio-win には同梱されていない追加のツールもも含まれます。そのゲストツール ISO 内の VirtIO ドライバーが virtio-win から以前にインストールされたバージョンよりも新しい場合には、再インストールされます。これにより、ツールが最新の状態に維持されます。
付録A 追加の手順
A.1. 起動可能なメディアの作成
A.1.1. P2V クライアント起動 CD の作成
- ご使用のコンピューターの CD または DVD バーナーに空の書き込み可能なディスクを挿入します。
- アプリケーションメニューを開いて のサブメニューを選択し、 をクリックします。
- ファイルをブラウズして rhel-6.x-p2v.iso を書き込むイメージに選択します。
A.1.2. ブート可能な P2V USB メディアの作成
- root として rhel-6.x-p2v.iso をマウントします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow mkdir /mnt/p2vmount
mkdir /mnt/p2vmount
Copy to Clipboard Copied! Toggle word wrap Toggle overflow mount -o loop rhel-6.x-p2v.iso /mnt/p2vmount
mount -o loop rhel-6.x-p2v.iso /mnt/p2vmount
- USB デバイスをコンピューターに接続します。livecd-iso-to-disk スクリプトが機能するには、USB ファイルシステムは、vfat、ext[234]、btrfs のいずれかの形式でフォーマットされている必要があります。。
- ターミナルから root として livecd-iso-to-disk スクリプトを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow bash /mnt/p2vmount/LiveOS/livecd-iso-to-disk /PATH/TO/rhel-6.x-p2v.iso /dev/YOURUSBDEVICE
bash /mnt/p2vmount/LiveOS/livecd-iso-to-disk /PATH/TO/rhel-6.x-p2v.iso /dev/YOURUSBDEVICE
- スクリプトが正常に完了したら、USB デバイスを取り出してください。
A.1.3. PXE ブートイメージの作成
- root として rhel-6.x-p2v.iso をマウントします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow mkdir /mnt/p2vmount
mkdir /mnt/p2vmount
Copy to Clipboard Copied! Toggle word wrap Toggle overflow mount -o loop rhel-6.x-p2v.iso /mnt/p2vmount
mount -o loop rhel-6.x-p2v.iso /mnt/p2vmount
- ターミナルから root として livecd-iso-to-pxeboot スクリプトを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow bash /mnt/p2vboot/LiveOS/livecd-iso-to-pxeboot /PATH/TO/rhel-6.x-p2v.iso
bash /mnt/p2vboot/LiveOS/livecd-iso-to-pxeboot /PATH/TO/rhel-6.x-p2v.iso
コマンドが正常に完了すると、コマンドを実行したディレクトリー内に tftpboot ディレクトリーが作成されます。 - 新規作成された tftpboot ディレクトリーに、より説明的な名前を付けます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow mv tftpboot/ p2vboot/
mv tftpboot/ p2vboot/
- p2vboot/ サブディレクトリーを /tftpboot ディレクトリーにコピーします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow DHCP、TFTP、PXE サーバーを設定してcp -R p2vboot/ /tftpboot/
cp -R p2vboot/ /tftpboot/
/tftpboot/p2vboot/pxeboot.0
にサービスを提供するようにします。注記
initrd イメージには、CD ISO 全体が含まれています。initrd を PXE ブートすると、ダウンロードに長時間を要する場合があります。これは、正常な動作です。
付録B 改訂履歴
改訂履歴 | ||||||
---|---|---|---|---|---|---|
改訂 11-72.1 | Fri Dec 12 2014 | |||||
| ||||||
改訂 11-72 | Fri Oct 31 2014 | |||||
| ||||||
改訂 11-71 | Fri Oct 10 2014 | |||||
| ||||||
改訂 11-70.1 | Tue Oct 9 2014 | |||||
| ||||||
改訂 11-69 | Thurs Oct 9 2014 | |||||
| ||||||
改訂 11-68 | Mon Oct 6 2014 | |||||
| ||||||
改訂 11-67 | Fri Sept 5 2014 | |||||
| ||||||
改訂 11-66 | Fri Aug 29 2014 | |||||
| ||||||
改訂 11-65 | Fri Aug 29 2014 | |||||
| ||||||
改訂 11-64 | Fri Aug 8 2014 | |||||
| ||||||
改訂 11-62 | Tue July 29 2014 | |||||
| ||||||
改訂 11-61 | Tue July 15 2014 | |||||
| ||||||
改訂 11-60 | Mon Nov 18 2013 | |||||
| ||||||
改訂 11-59 | Fri Nov 15 2013 | |||||
| ||||||
改訂 11-57 | Thurs Nov 7 2013 | |||||
| ||||||
改訂 11-56 | Fri Sept 27 2013 | |||||
| ||||||
改訂 11-54 | Thurs Sept 26 2013 | |||||
| ||||||
改訂 11-53 | Mon Sept 16 2013 | |||||
| ||||||
改訂 11-51 | Fri Sept 13 2013 | |||||
| ||||||
改訂 11-50 | Mon Sept 9 2013 | |||||
| ||||||
改訂 11-49 | Thurs Sept 5 2013 | |||||
| ||||||
改訂 11-48 | Fri Aug 16 2013 | |||||
| ||||||
改訂 11-47 | Fri Aug 9 2013 | |||||
| ||||||
改訂 11-46 | Fri Apr 26 2013 | |||||
| ||||||
改訂 11-45 | Mon March 4 2013 | |||||
| ||||||
改訂 11-44 | Tue Feb 19 2013 | |||||
| ||||||
改訂 11-41 | Wed Jan 30 2013 | |||||
| ||||||
改訂 11-39 | Thurs Jan 24 2013 | |||||
| ||||||
改訂 11-38 | Wed Jan 16 2013 | |||||
| ||||||
改訂 11-36 | Thurs Dec 13 2012 | |||||
| ||||||
改訂 11-35 | Wed Nov 28 2012 | |||||
| ||||||
改訂 11-34 | Tue Nov 27 2012 | |||||
| ||||||
改訂 11-33 | Thu Nov 22 2012 | |||||
| ||||||
改訂 11-31 | Wed Nov 21 2012 | |||||
| ||||||
改訂 11-30 | Fri Nov 16 2012 | |||||
| ||||||
改訂 11-29 | Mon Nov 12 2012 | |||||
| ||||||
改訂 11-28 | Thurs Nov 8 2012 | |||||
| ||||||
改訂 11-27 | Wed Nov 7 2012 | |||||
| ||||||
改訂 11-26 | Wed Nov 7 2012 | |||||
| ||||||
改訂 11-24 | Mon Nov 5 2012 | |||||
| ||||||
改訂 11-23 | Fri Nov 2 2012 | |||||
| ||||||
改訂 11-22 | Thu Nov 1 2012 | |||||
| ||||||
改訂 11-21 | Thurs Nov 1 2012 | |||||
| ||||||
改訂 11-20 | Thurs Nov 1 2012 | |||||
| ||||||
改訂 11-19 | Wed Oct 31 2012 | |||||
| ||||||
改訂 11-18 | Wed Oct 31 2012 | |||||
| ||||||
改訂 11-17 | Wed Oct 31 2012 | |||||
| ||||||
改訂 11-14 | Mon Oct 29 2012 | |||||
| ||||||
改訂 11-13 | Thu Oct 25 2012 | |||||
| ||||||
改訂 11-11 | Wed Oct 24 2012 | |||||
| ||||||
改訂 11-9 | Mon Oct 15 2012 | |||||
| ||||||
改訂 11-6 | Monday June 18 2012 | |||||
| ||||||
改訂 11-5 | Monday June 04 2012 | |||||
| ||||||
改訂 11-4 | Monday May 14 2012 | |||||
| ||||||
改訂 11-3 | Monday March 26 2012 | |||||
| ||||||
改訂 11-2 | Monday March 5 2012 | |||||
| ||||||
改訂 11-1 | Friday February 24 2012 | |||||
| ||||||
改訂 10-0 | Monday January 23 2012 | |||||
| ||||||
改訂 9-0 | Thursday December 08 2011 | |||||
| ||||||
改訂 7-0 | Friday December 02 2011 | |||||
| ||||||
改訂 6-0 | Friday July 22 2011 | |||||
| ||||||
改訂 5-0 | Friday June 17 2011 | |||||
| ||||||
改訂 4-0 | Monday April 11 2011 | |||||
| ||||||
改訂 3-0 | Friday April 8 2011 | |||||
| ||||||
改訂 2-0 | Monday November 29 2010 | |||||
| ||||||
改訂 1-0 | Monday October 25 2010 | |||||
|