別マシンにVMware仮想イメージを移した時のネットワーク設定

遊休リソースの有効活用,と言うことで,さほど負荷のないサーバにVmwareを入れ,使えるサーバを増やした.

その際,同機種マシンに仮想OSを何度もインストールするのは面倒なので,一台でセットアップし,VMwareの仮想イメージをコピーして横着しようとしたところ,ネットワークの設定で躓いたので解決法のメモを.

via.http://blog.trirhino.com/komatsu/1166025507

環境

  • VMware Server 1.0.3 (English Version)
  • HostOS : Windows2003Server
  • GuestOS : Ubuntu 7.04 Server
  • Network : Bridge

HostOS起動と同時にGuestOSも起動するように設定した.特記していない部分はVMwareServerのデフォルト設定のまま.

仮想OSイメージは"D:\Virtual Machines"に配置した.*1

仮想OSイメージのコピー

"D:\Virtual Machine\Ubuntu"をネットワーク経由で,他のサーバにもコピーする.

仮想OSの起動

Open Existing Virtual Machineから,コピーしたvmxを選択し,起動する.uuidを再生成していいか? と聞かれるのでOKを選択(しないと起動しない?).

ネットワークの設定

下記ファイルを編集.WINSを使っていなければ同じホスト名でも特に問題はないと思うが,変えておかないと気持ち悪い.

  • /etc/hosts
  • /etc/hostname
  • /etc/network/interfaces

Bridge接続にして,固定IPを割り振り,通常のサーバと同様に使うため,interfacesではstatic設定をしている.

動かない

eth0が起動しない.No Such Deviceとか言われてしまう.当初,vmxファイルの編集か? と悩み,何度か再起動もしたのだが,動かなかった.

原因はUbuntuの方にあった.

Ubuntuはセットアップ時にNICMACアドレスを記憶し,/etc/iftabに記述しているため,そこを書き換える必要がある.

MACアドレスの調査

Ubuntu.vmxファイルのethernet0.generatedAddressにある値を用いる.このMACアドレスはuuidを用いて生成しているらしく,基本的には重複しないとのこと.*2

/etc/iftabの編集

eth0 mac 00:0c:29:xx:xx:xx arp 1

をethernet0.generatedAddressの値に書き換え,仮想OS再起動すればネットワークに繋がる.

*1:"D:\Virtual Machines\Ubuntu\Ubuntu.vmx"が存在する

*2:重複したり自動生成がうまくいかなかった場合は手動で書き換え,static設定にする必要がある