最近はこの「ひじきねっと」も外部ホスティングにしてしまったので、自宅サーバは単なるファイルサーバ、メディアサーバと化しているのですが、24・365で運用させると電気代とか騒音とかが気になりますので、最近はやりのatomチップの載った省電力・静音サーバを作りました。
ベースはIntel D945GCLFで株式会社ディラックの静音ケースに組み込まれたNoah Station AT160を調達しました。
HDDは既にUbuntu Server 8.04が入っている元々のサーバから載せ替えましたが、ネットワーク周りで2点程トラブルがあったので対処方法をメモ程度にエントリします。
普通にHDDを違う筐体に入れ替えてもLinuxはデバイスを正しく認識してくれるのですが、NICの割り当てに関しては先に認識した情報を忘れることなく新たなNICは新しい識別名で割り当てます。
本当なら前の筐体のNIC情報は忘れてくれてeth0に割り当ててほしいのですが、こちらは明示的に古い情報を削除する必要があります。
具体的には「/etc/udev/rules.d/70-persistent-net.rules」にSUBSYSTEMで始まるエントリが複数登録されていると思いますが、「NAME="eth0"」に割り当てられている古い情報を削除して再起動すれば大丈夫だと思います。
一番確実なのはこのファイルの5行目以降を全て削除してから再起動すれば新たにeth0からNICを順番に割り当ててくれます。
私が現在使っているUbuntuのkernel versionは2.6.24-19ですが、Realtek用のドライバ「r8169.ko」で、Intel D945GCLFに載っているRTL8101Eがうまく動きませんでした。
噂によると少し前のカーネルでは起動すらせずに、r8169.koを読み込んだとたんにハングアップしていたみたいですが、私の場合は100Mbpsのスイッチングハブに繋げているのにも関わらず、ethtool eth0で確認すると1Gbpsでネゴシエーションしようとして、大量のパケットロスが発生していました。
/var/log/messagesには「NETDEV WATCHDOG: eth0: transmit timed out」といった出力もありました。
こちらについてはr8101.koをインストールして、r8169.koを無効にして対応できました。
具体的な手順はまた追記します。ヒントとしては「r8101 ubuntu」でググると多国語ですが情報が見つかります。
ご健闘を祈ります。


