Quitada ブログ HAX

Hatena Blog でも Quitada ブログ

VMware Fusion 上で作成した仮想マシンを VMware ESX 上に移行

ちょっとした検証とかで、手元の PC とは違う OS 環境が必要だったり、複数のマシンが必要だったりするときは、Mac OS X 使いであれば VMware Fusion を導入して仮想マシンを作成するのが便利ですよね。Parallels Desktop でもよいけど

VMware Fusion 5

VMware Fusion 5

まあ、普段はこれでよいですが、CPU コア数がふんだんに必要だったり、メモリとかもっと必要だったりすると、VMware 製品であれば専用サーバマシンの VMware ESX 上に仮想マシンを展開したくなります。

この場合、VMware Fusion で構築した仮想マシンをそのまま ESX に移行できたら便利ですよね。

そのためには、Mac OS X 用の VMware OVF Tool というコマンドラインツールを使って、VMware Fusion仮想マシンを OVF 形式でエクスポートして、ESX にインポートしてやる必要があります。

Mac OS X 用の VMware OVF Tool はこちらからダウンロード可能です(Web ページの真ん中あたりにある Product Download をクリック。なお、ここから先は VMware サイトのアカウントによるログオンが要求されます。無償で作られるので、事前に登録しておくとよいでしょう)。

VMware Fusion インストール時に、VMware OVF Tool をオプションでインストール可能なようですが、当方の怪社 Mac OS X 環境ははじめから VMware Fusion 3 がインストールされていて、OVF Tool はインストールされてなかったもので、上述のサイトから別途ダウンロードしてインストールしました。

コマンドラインツールなんで、以下のような感じでコマンドを実行すると、既存の仮想マシン(vmx ファイルを指定)が OVF 形式でエクスポートされます。

ovftool /path/to/vm_dir/[既存の仮想マシン].vmx /path/to/export_dir/[エクスポート先のファイル名].ovf

実例は以下の感じ。

ovftool /Users/quitada/Documents/Virtual Machines.localized/CentOS5-x64.vmwarevm/CentOS5-x64.vmx /path/to/ovf/CentOS5-x64.ovf

特に、オプションとかは必要なかったです。拡張子(あるいはファイルの内容?)とか URL でもって判断しているようで、OVF へのエクスポート、逆に OVF 形式からのインポートも可能なようです。

ドキュメントを見る限り、コマンドライン一発で、VMware Fusion仮想マシンの vmx ファイルと、ESXの URL を指定してやれば(ネットワーク的にお互いにアクセス可能であれば)、直接 VMware Fusion から ESX への仮想マシン移行が可能そうですが、実際の移行作業においてはそこまで考えが至らなかったので、OVF 形式のファイルにおとしてから、vSphere Client 経由で ESX にインポートしました。

さて、VMware OVF Tool を使って、OVF 形式でファイルエクスポートすると、以下のようなファイルが作られるようです。

CentOS5-x64.mf
CentOS5-x64.ovf
CentOS5-x64-disk1.vmdk

拡張子 ovf のファイルは、xml ベースの設定ファイルですね。さほどサイズは大きくないです。拡張子 mf はマニフェストファイルで、ファイル一式とハッシュ値が含まれてます。vmdk ファイルが VMware仮想マシンファイル形式でこれが仮想マシン実体なので、サイズが大きくなります。

で、ここでの個人的な問題は、ovf をインポートするため、vSphere Client が今のところ Mac OS X 版がないところでした。VMware Fusion 上の Windows 7仮想マシンから、ovf をはじめとするファイル一式をアクセスできるところにもっていって(簡単なのは、Mac OS X のファインダーから、Windows 7 のフォルダへドラッグアンドドロップ)、Windows 版の vSphere Client からインポートしました。

vSphere Client から ESXi (今回は、ESXi 4.0)に接続して、メニューから [ファイル]→[OVF テンプレートのデプロイ] とたどっていきます。

すると、以下のようなウィンドウがでてくるので、ラジオボタン「ファイルからデプロイ」が選択された状態で、ovf ファイルへのパスを指定します。

なお、ovf ファイルと、mf ファイル、vmdk ファイルは同じフォルダにおいておきます。あとは、[次へ] ボタンを押下して、確認とかすればインポートされます。

なお、Webブラウザベースの vSphere クライアントである、vSphere Web Access ですが、少なくとも今回使用した vSphere 4.0 では ovf をインポートする機能はないっぽいです。