先日、Hyper-VのゲストOSにCentOS 6をセットアップした。
初めてCentOS 6をセットアップした時に躓いたのはネットワークが正常に認識されないこと。
これはどうやら、デフォルトで追加されるネットワークのハードウェアデバイスが「ネットワーク アダプター」になっていることのようで、一旦削除してから「レガシ ネットワーク アダプター」を追加する必要があるようだ。
その後、別の環境を作る必要がでてきたので、、、
1.最初に作ったVHDファイルをコピー&リネーム
2.新規に仮想マシンを追加
3.HDDには、手順1.でコピーしたVHDファイルを指定
という流れで作った。
この時できた環境も「ネットワーク アダプター」になっているため、同様に「レガシ ネットワーク アダプター」を追加し直してやる必要があった。
そしていざ起動してみたらeth0が認識されずネットワークが有効にならない。
/etc/init.d/network restart
などしてみるが、エラーになる。
system-config-network
で、eth0を再作成しようとしたけどうまく行かない。
ここで試しに、eth1にしてみたらうまく登録でき、
/etc/init.d/network restart
したらeth1で有効になった。
おそらくだが、最初に「ネットワーク アダプター」になっている時に起動してしまったために、うまく利用できないデバイスをeth0と登録してしまい、その残骸が残ってeth0が使えなくなっているのだなーと。
で、調べてみたら、、、
/etc/udev/rules.d/70-persistent-net.rules
に「ネットワーク アダプター」の時のものと思われるMACアドレスとデバイス名eth0との関連付けと思われる記載があり、また「レガシ ネットワーク アダプター」の方のMACアドレスとeth1の関連付けがあった。この内容を修正した後、
/etc/sysconfig/network-scriptsのifcfg-eth1をifcfg-eth0に変更。この時、ifcfg-eth0にはHWADDR=”NN:NN:NN:NN:NN:NN”の記載が無かったが念のため追記して再起動したら、「レガシ ネットワーク アダプター」がeth0として有効になった。すっきり。
以前、NICを2枚持つUbuntuマシン2台をセットアップしたら(俺じゃないけど)、マシンA(NIC:A→eth0、NIC:B→eth1)、マシンB(NIC:A→eth1、NIC:B→eth0)と認識されてしまい、マシンB(NIC:A→eth0、NIC:B→eth1)としたかったのだが、その時は改善できなかった。この時の理由も、↑のようなことだったのかなー、と思う今日この頃である。(実際に確認してみたけど、そうなってるわ。実際に改善できるかはまだ未確認だけど)