OVFファイルのインポートおよびエクスポート:ホスト間でVMを移動する

私の現在の仕事では、vCenterクラスターでさまざまなタスクを実行するためにPowerCLIの使用についてよく質問されます。この投稿では、VMwareでOVFファイルをインポートする方法を共有します。

OVF File

これは最近の同僚からの支援要求についての話です。同僚は、新しいvCenterクラスターにカスタムモニタリングアプライアンステンプレートをエクスポートする必要がありました。同僚は時間的制約があり、テンプレートへの必要なアクセス権を持っていませんでした。

まだPowerCLIモジュールをダウンロードしていない場合は、Install-Module -Name PowerCLIを使用してダウンロードしてください。

vCenterへの接続

PowerShellやPowerCLIを使用する機会を逃すことはありませんので、すぐに手助けするために取り組みました。同僚から必要な情報を収集し、クラスターに接続しました:

PS6> Connect-VIServer -Server vcenter.mydomain.local -Credential (Get-Credential)

これはすぐに完了します。接続したら、どの動詞を使用するかを知る必要があります。これはGet-Command -Module PowerCLIコマンドレットを使用して行うことができます。

注目すべき2つのコマンドレットがあります:

  • Export-VApp
  • Import-VApp

これらのコマンドレットは、まさに必要なもののように見えます。ただし、これは私自身とおそらくあなたにとっても学びの経験ですので、それぞれの適切な使用方法についてもう少し学びます。

VMをOVFファイルにエクスポートする

Export-VAppコマンドレットは、指定したパスを指定しない場合、現在のディレクトリに電源オフのVMをデフォルトでOVF形式でエクスポートします。

I already have a path in mind so I’m going to be using the C:\Exported-OVF directory but yours may vary. Knowing this, you can then run Export-VApp against the VM template specifying the destination folder.

PS6> Export-VApp -VM 'My_VM_Template' -Destination 'C:\Exported-OVF\'

ただし、実行中のVMをOVF形式でエクスポートすることはできません。心配しないでください、これは簡単に修正できます。コードをさらに修正し、まずShutdown-VMGuestコマンドレットを使用してVMをシャットダウンしてください。

PS6> Shutdown-VMGuest -VM 'My_VM_Template'

テンプレートアプライアンスがオフラインになったら、先ほど試みたExport-VAppコマンドレットを再開してください。このプロセスには数分かかりますが、非常に大きなアプライアンスではありませんでした。

完了すると、別のvCenter環境に展開できるアプライアンスが準備されているはずです。それか、そうではありませんか?

OVFファイルのインポート

これで、ローカルのファイルシステムにファイルがあるはずです。インポートするためには、データストアとVMホストをクエリして、両方のオブジェクトをImport-Vappコマンドレットに渡す必要があります。

PS6> $myDatastore = Get-Datastore -Name "MyDatastore1"
PS6> $vmHost = Get-VMHost -Name "MyHost"
PS6> $vmHost | Import-vApp -Source 'C:\Exported-OVF\My_VM_Template\My_VM_Template.ovf' -Datastore $myDatastore -Force

しかし、これは動作しません。私の場合、これは別のvCenterクラスタに接続していることに気づかなかったため失敗しました。

以前にエクスポートしたVMアプライアンスをインポートし始めた時に何かが起こりました。赤いエラーメッセージが多数表示されました。

I read the error message, and sure enough, the host is not a part of a vCenter cluster and therefore does not have proper licensing to complete the import using PowerCLI. This is a limitation that VMware enforces.

心配しないでください、まだホストのWebインターフェースに接続し、HTML5インターフェースを使用して手動でインポートすることができます。ウィザードが各ステップを案内してくれます。インポートするアプライアンスに名前を付け、OVFファイル、データストア、展開タイプ(太いプロビジョニングまたは薄いプロビジョニング)を選択し、構成を確認します。その後、完了を選択してインポートを開始します。

前回のインポート試行はvCenterクラスターではうまく動作しますが、この状況では単純には動作しませんでした。予想よりも少し時間がかかりましたが、簡単でした。プロセスについてはこちらで詳しく読むことができます

最終的には、インポートは成功し、同僚は締め切りを守りました。

要約

この演習までは、すべてのPowerCLIのコマンドレットがすべての状況で利用可能ではないことに気づいていませんでした。しかし、私たち二人は新しいスキルを学び、予期しない困難に直面しながらも、課題を達成しました。

私たちはしばしばITプロジェクトを急いで「素早い」解決策を探し求めます。スピードに気をつけましょう、もう1分か2分時間をかけて質問をし、一歩引いて問題を理解しようとしましょう。新しいことを学ぶかもしれません。

Source:
https://adamtheautomator.com/ovf-file/