4.3.4. v2v プロセスのスクリプト化
v2v プロセス全体をスクリプト化して、大量の仮想マシンのバッチ処理を自動化することができます。この処理は 2 つのステップに分かれ、別々のホストで実行する必要があります。
手順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 を使用した、エクスポートストレージドメインからの仮想マシンのインポート
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
を使用してエンティティーをフェッチし、渡すこともできます。