3月
05
2010
0

VMware Fusionの仮想マシンをVMware Infrastructureに移動する方法

ひさしぶりに書くネタがこんなバッドノウハウかと思うと鬱になりそうです

事の発端は,ただのインストール
30分もあれば終わるはずでした

いつもどおりVMware Infrastructureにログインして,Debian testingのNighty BuildのISOイメージをマウント
あとは待つだけ・・・

ところが???インストーラはちゃんと起動するのに,cdromドライブのドライバがないと怒られて進めない
数ヶ月前のNighty Buildでは問題なかったのに・・・

いろいろやってみたもののよく分からないので,なんとなく思いついた

  1. VMware Fusionで仮想マシンを作ってエクスポート
  2. VMware Infrastructureでインポート

という流れでやることに

1のFusionで仮想マシンを作るのは書くことがないので省略します

Fusionの仮想マシンをInfrastructureで使うには,仮想マシンの形式を変換してやる必要があります

変換にはOVF Toolを使います
OVF ToolはWindows 32bit版,Linux 32bit版/64bit版しかないので,今回はFusion内のWindowsでやることにしました

OVF Toolは C:\Program Files\VMware\VMware OVF Tool にインストールされます

ここからは同じエラーに悩む人のために?試行錯誤の記録を残しておきますが,お急ぎの人は最後の結論だけお読み下さい

Infrastructureのメニューを見るとOVF形式でのインポートに対応しているようなので,OVFに変換してみます

仮想マシンにISOイメージなどを接続したままだと

> C:\Program Files\VMware\VMware OVF Tool\ovftool.exe VMXファイル OVFファイルの保存名
Error:
 - Connected device 'cdrom1'.

と怒られます

> C:\Program Files\VMware\VMware OVF Tool\ovftool.exe VMXファイル OVFファイルの保存名
Opening VMX source: VMXファイル
OVF version:   1.0
Name:          testing
Download Size:     Unknown
Deployment Sizes:
  Flat disks:      8.00 GB
  Sparse disks:   Unknown
Networks:
  Name:        nat
  Description: The nat network
Virtual Hardware:
  Family:       vmx-07
  Disk Types:   SCSI-lsilogic
Completed successfully

のように表示されれば成功です

OVFが出来たので,Infrastructureにインポートします
ところが,「OVF記述子の解析中にエラーが発生しました。 Unable to parse XML element ‘Envelope’.」
というエラーで進めません
どうやらOVFのバージョンが違うようです

VMware Communitiesのこちらの書き込みによると,Infrastructureの場合はVI形式に変換して,直接デプロイしてやる必要があるようです
新バージョンのvSphere 4ならOVF1.0やOVA形式にも対応しているようです

直接デプロイするということは,Infrastructureに直接つなげるWindowsマシンが必要ですが,使えそうなWindowsがFusionにしかいませんでした

ところがこのWindowsはホストオンリーなネットワークに繋がっていて,ホストのMacとしか通信できないようにしていました
なので一時的にブリッジに変更してやろうとしたのですが・・・つながらない

普段NATかホストオンリーしか使わないので気づいてなかったのですが,どうも vmnet-bridge が動いてないっぽい

調べてみると「/Library/Application\ Support/VMware\ Fusion/boot.sh」というスクリプトを編集するとか「–restart」で再起動するとか書いてるサイトがたくさんありましたが,どうもFusion 2の話の模様

vmnet-bridge というバイナリがあるので,これでブリッジをつくれるのだと思うのですが,1時間ほど粘ったものの使い方がわからずあきらめました(本質じゃないしね)

仕方ないので別の実機のWindowsマシンを急遽用意しました

OVF Toolを入れて,VMX形式の仮想マシンを変換します
データストアやネットワークインタフェースが複数ある場合はオプションで指定してやる必要があります

> C:\Program Files\VMware\VMware OVF Tool\ovftool.exe VMXファイル -ds=データストア -nw=ネットワークインタフェース vmxファイル vi://ユーザ名@ESXサーバの名前orアドレス
Opening VMX source: VMXファイル
Please enter login information for target vi://ESXサーバの名前orアドレス/
Username: ユーザ名
Password: パスワード
Opening VI target: vi://ユーザ名@ESXサーバの名前orアドレス
Warning:
 - The operating system has been mapped to 'Other Linux (32-bit)' from '' (id: 95).
Error:
 - Line 25: Unsupported hardware family 'vmx-07'.

今度はハードウェアファミリ「vmx-07」はサポートしてないと怒られます
たしかに,OVFへの変換結果をみると「Virtual Hardware」の「Family」が「vmx-07」になっています

なので無理矢理「vmx-04」に書き換えてやります
エディタでVMXファイルを開いて,「virtualhw.version」というエントリの値を「4」に書き換えます

これでうまくいくハズです

> C:\Program Files\VMware\VMware OVF Tool\ovftool.exe VMXファイル -ds=データストア -nw=ネットワークインタフェース vmxファイル vi://ユーザ名@ESXサーバの名前orアドレス
Opening VMX source: VMXファイル
Please enter login information for target vi://ESXサーバの名前orアドレス/
Username: ユーザ名
Password: パスワード
Opening VI target: vi://ユーザ名@ESXサーバの名前orアドレス
Target: vi://ESXサーバの名前orアドレス/
Disk Transfer Completed
Completed successfully

成功するとInfrastructureのインベントリに仮想マシンが追加されています

以上関係ないところで苦労しましたが,結論としては

  1. vmxファイルを編集
    virtualhw.version = "7"
    →virtualhw.version = "4"
    
  2. vmxをviに変換
    > C:\Program Files\VMware\VMware OVF Tool\ovftool.exe -ds=データストア -nw=ネットワークインタフェース vmxファイル vi://ユーザ名@ESXサーバの名前orアドレス
    

でOKです

Fusion3のブリッジについてはまた後日

あ〜つかれた

#リファレンスには載ってませんでしたが,OVF形式からもVI形式に変換&デプロイできました

Written by h2 in: 未分類 | タグ: ,

TheBuckmaker WordPress Themes Webhosting, MP3, AAC & Co