Practice of Programming

プログラム とか Linuxとかの話題

NICのデバイス名(eth0とか)が変わったら?

Dellの vostro 1000 ノートPCをサーバに使っているのですが、最近、熱暴走でシャットダウンてことになっちゃってました。熱暴走になかなか気づけなかったのですが、これは、サーバのモニタリングをサボっていたせいですね...orz

ちなみに、温度は、下記を調べるとわかります。

% cat /proc/acpi/thermal_zone/THRM/temperature 
temperature:             57 C

これは、修理後の値。修理前は平均80度越えていて、95度あたりで、死んでました。


で、修理が終わって起動すると、eth0 が認識されてない。
ハードウェアのテストをしてもらうと、特に問題はない。


んー。Linuxの設定の問題だなぁーと。

※ブックマークコメントより、ifconfig -aしたら、下記の作業(device見つける作業)は不要のようです。manを見ると、-a は、ダウンしているデバイスも表示するというオプションのようだ。サンクス!

vostro 1000 の、NICのドライバはb44。
http://kmuto.jp/debian/hcl/DELL/Vostro+1000+laptop

% lsmod | grep b44

は、出てくる。

% rmmod b44
% modprobe b44

して、dmesg を確認すると、なんか、"eth2" の文字が。
あらら。/var/log/messages にも

udev: renamed network interface eth0 to eth2

こんなのが。


というわけで、udevの設定ファイルは、 /etc/udev の下にある。
こちらを、grep eth0 で検索すると、/etc/udev/rules.d/70-persistent-net.rules がひっかかる。
このファイル内で、eth0 と指定されていた行をコメントにして、
eth2 と指定されていた行を eth2 -> eth0 へ変更。
これで、rmmod b44/modprobe b44 で、めでたくeth0に戻った。
マザーボードを変えて、MACアドレスが変わったのが原因っぽいですね。


めでたし、めでたし。


# ちなみに、熱暴走の原因は、埃だったらしい ... orz