2009年8月28日
RedHat でNIC の固定化
前にudev で固定がうまくできなかったのですが、できたのでメモを載せておきます
/etc/udev/rules.d/50-hwinterfaces.rules
KERNEL=="eth*", SYSFS{address}=="00:AA:BB:CC:DD:01", NAME="eth0"
KERNEL=="eth*", SYSFS{address}=="00:AA:BB:CC:DD:02", NAME="eth1"
KERNEL=="eth*", SYSFS{address}=="00:AA:BB:CC:DD:03", NAME="eth2"
KERNEL=="eth*", SYSFS{address}=="00:AA:BB:CC:DD:04", NAME="eth3"
下記を追加するとうまくいく場合もあり。
KERNEL=="eth*", ID="0000:AA:BB.0", NAME="eth0"
KERNEL=="eth*", ID="0000:AA:BB.1", NAME="eth1"
KERNEL=="eth*", ID="0000:CC:DD.0", NAME="eth2"
KERNEL=="eth*", ID="0000:CC:DD.1", NAME="eth3"
※IDはlspci で出たデバイスの先頭に0000:を追加します。
/etc/modprobe.conf
alias eth0 hoge
alias eth1 hoge
alias eth2 hoge2
alias eth3 hoge2
該当のifcfg-ethxにMACアドレスを書く。
/etc/sysconfig/network-scripts/ifcfg-ethx
HWADDR=00:AA:BB:CC:DD:01
で再起動を行う。dmesg |grep eth0 などとして調べて該当のカードで間違いがないか
確認して終了。
ethtool -i eth0
で調べる方が良いみたい。現在利用しているドライバ、バージョンなどが表示される。
投稿者 hideki : 12:19 | コメント (1) | トラックバック
2008年1月28日
MACアドレスが同じのNICが...
困ったものです。同じ店で4枚だかIntelのNICを買った(だいぶ前)のですが、MACアドレスが同じでした。
つかってなかったカードに同じのがあったみたいで、今回鯖入れ替えのときにつけたら、MACアドレスが、
同じだった。常識的にはMACアドレスは世界で1つという話ですが、中には同じのがあるんだと思うが、
引いたカードが同じMACアドレスだとはね。おかしな動きしてた原因もこれも多少はあるんだろうな。
投稿者 hideki : 17:16 | コメント (0) | トラックバック
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 : 05:14 | コメント (0) | トラックバック
2008年1月25日
ネットワークのドライバでハングする
なんか鯖がハングしたり、LANカードの順番がおかしくなったりします。
kudzu は切っています。
BIOSまわりなのかなーとか調べていますが、よくわかりません。
realtek RTL8111Bというマザボにオンボードされてるやつです。
VineLinux4.2だとr1000で認識します。(ただこれだと問題が結構でました)
http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=4&PNid=13&PFid=5&Level=5&Conn=4&DownTypeID=3&GetDown=false
から
ftp://61.56.86.122/cn/nic/r8168-8.004.00.tar.bz2
かにさんのHPからr8168をダウンロードして、コンパイルして利用しました。
再起動数回して動作確認はしていますが、こちらのほうが問題ないようです。
modprobe.conf で指定しているにもかかわらず、IntelのLANカード、かにさんのLANカードの
誤認識は困りました...