別マシンに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はセットアップ時にNICのMACアドレスを記憶し,/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再起動すればネットワークに繋がる.