« ネットワークのドライバでハングする | メイン | MACアドレスが同じのNICが... »
2008年1月26日
NIC の設定にMACアドレスを入れないと入れ替わってしまう。
ハングしたり、IRQを共有しているNIC(LANカード)が反転したりして困ってたのですが、
一応再起動しても入れ替わることはなくなりました。
ifcfg-eth*にHWADDR=MACアドレスを書いて固定できました。
そのほかのやり方。(ただうまくいかない場合もあるみたい)
udevでやるのが正しいのかどうかよくわかりません。
/etc/udev/rules.d/60-net.rules (Vineの場合)
ACTION=="add", SUBSYSTEM=="net", IMPORT{program}="/lib/udev/rename_device"
SUBSYSTEM=="net", RUN+="/etc/sysconfig/network-scripts/net.hotplug"
ACTION=="add", SUBSYSTEM=="net",DRIVER=="?*","eth*", ATTRS{address}=="MACアドレス", NAME="eth0"
SUBSYSTEM=="net",DRIVER=="?*","eth*", ATTRS{address}=="MACアドレス", NAME="eth1"
SUBSYSTEM=="net",DRIVER=="?*","eth*", ATTRS{address}=="MACアドレス", NAME="eth2"
/etc/modprobe.conf
alias eth0 e100
alias eth1 e100
alias eth2 r8168
alias bond0 bonding
options bond0 miimon=100 mode=1
cat /proc/net/bonding/bond0
ifconfig で見ると正常に動いているように見えます。
再起動数回しましたがやっと固定できたようです。
昔の modules.conf とかの書き方じゃうまくいかないみたいですね。
参考にしたページ
http://www.reactivated.net/writing_udev_rules.html
http://www.gentoo.gr.jp/transdocs/udevrules/udevrules.html
日本HP 異なる複数のNICドライバで bondingドライバを利用する例
KERNEL=="eth*", SYSFS{address}=="MACアドレス", NAME="eth0"
と書いてみてテストしたのですが、どうもエラーを吐いたり、デバイスが固定できなかった。
udevのマニュアルにはこう書いてあるが、どっかとバッティングしてるようです。
CentOS5.2 で同じような状態になりました。SUN x2100, HP DL360G5 でeth0,eth1,eth2 が
入れ替わる現象がでました。
ifcfg-eth* と modprobe.conf で設定して、kudzu の停止でリブートしても入れ替わらなくなりました。
(何回か再起動して入れ替わらなくなった。しかし /var/log/messagesにエラーが載ってる...)
ドライバの読み込み順で、NICカードが認識しているようです。
DL360G5 を 6台のインストール直後確認したら、5台が順番が入れ替わっていた。
後付→内蔵の順番で読み込む x5
内蔵→後付の順番で読み込む x1
同じハードウェアでも読み込み順序が違うってのも気持ち悪いです(´д`)
投稿者 hideki : 2008年1月26日 05:14
トラックバック
このエントリーのトラックバックURL:
http://zephel.com/hideki/cgi-bin/mt/mt-tb.fcgi/417