VMのネットワークが繋がらなくなった場合の復旧方法

Converter Standalone Clientを使って VMware ServerからVMware ESXiへVM(Ubuntu)を変換(コピー)したら、VMがネットワークが使えなりました。

初めはネットワークカードのエラーかと思って調査していましたが、よくよく考えたらVMware ESXi自体はネットワークを使えているので何も問題はありません。

それに気が付いたので仮想環境の変更によるハードウェア周りの違いを調べてみました。
でもわかりません。
VMware ESXiへ別のVMをインストールすると問題なくネットワークを使えます。

似た問題をインターネットで探して、探し方の糸口を見つけました。
以下のコマンドでの調査です。

  • lsmod
  • lspci
  • lshw -C network
  • dmesg | grep '\(eth\|net\)'
  • grep '\(eth\|net\)' /var/log/messages
  • less /etc/udev/rules.d/70-persistent-net.rules
  • ifconfig -a

"ifconfig -a"でやっと気付きました。
"ifconfig"だけだと"eth*"が表示されなかったのでモジュール回りのエラーなのかと思っていましたが、"eth0"が"eth1"として扱われていました。"dmesg"の表示もそうなっていました。

udev: renamed network interface eth0 to eth1

こちらのページを見て解決しました。感謝。
VMWareのUbuntuは複製するとNetwork設定変更が必要

ようするに、Linuxの中で使っているMAC ADDRESSがVMware ESXiから見た物と違っているので新しいネットワークアダプターだと認識されてしまい、正しいeth0が作成されなかったためにネットワークが繋がらなくなったようです。

解決方法としては、
以下のファイルの中の、

/etc/udev/rules.d/70-persistent-net.rules

利用しているeth*に対して正しいMAC ADDRESSを指定し、他は削除します。
私の場合は
VMware ESXiの管理画面から
VMを右クリック→「設定の編集」をクリック→「ハードウェア」のタブをクリック→「ネットワーク」をクリック→「MACアドレス」を確認
したものを
VM
"/etc/udev/rules.d/70-persistent-net.rules"
の"eth0"のある行の"ATTR{address}"へ対して設定しました。

設定をしたらVMを再起動すると無事にネットワークが使えるようになりました。