マザーボードの内蔵NICがFrameエラーを頻発するようになってしまいました。
# ifconfig eth0
eth0 Link encap:Ethernet HWaddr XX:XX:XX:XX:XX:XX
inet addr:192.168.1.14 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:11498860 errors:0 dropped:0 overruns:0 frame:301072
TX packets:17333187 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:5400520073 (5.4 GB) TX bytes:15570606594 (15.5 GB)
Interrupt:19
上記のframe:301072 のあたり。
そこで、内蔵NICはあきらめて外付けNICを導入することにしました。
今回はIntelの3000円程度のGigabit EXPI9301CTを導入してみました。
環境
マザーボード: ASUS P5B-V
NIC: Intel Gigabit CT Desktop Adapter EXPI9301CT
OS: Ubuntu 10.04
まずは、NICを取り付けます。これはとくに問題なく行えました。
続いて本体を起動しBIOSで内蔵NICをDisabledに設定します。
BIOSを抜けてリスタートしてUbuntuが起動させます。
起動後にifconfigで確認すると、eth0はなくてeth1が見えていました。
そこで、/etc/udev/rules.d/70-persistent-net.rules を以下のように編集します。
# PCI device 0x11ab:0x4320 (skge)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="XX:XX:XX:XX:XX:XX", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
# PCI device 0x8086:0x10d3 (e1000e)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="YY:YY:YY:YY:YY:YY", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
なお、YY:YY:YY:YY:YY:YYは新しいNICのMACアドレスです。
これで再起動して完了です。
追加したNICがeth0として動作するようになりました。
参考までにnuttcpでスループットを測定してみました。
対向はMac Mini(xen+ubuntu)ですが、MTU1500の状態で 約940Mbps でました。
このマシンはVMware server用マシンですが、十分な性能です。
もちろんフレームエラーもありません。