先日入った 1U サーバだが、 どうも IDE の調子がよろしくない。 UltraDMA で CRC エラーが出て、 PIO に戻ってしまうトラブルが出ています。 大体こんな感じ。
ad0s1a: UDMA ICRC error writing fsbn 7882655 of 3941296-3941551 (ad0s1 bn 7882655; cn 490 tn 171 sn 32) retrying ad0s1a: UDMA ICRC error writing fsbn 7882655 of 3941296-3941551 (ad0s1 bn 7882655; cn 490 tn 171 sn 32) retrying ad0s1a: UDMA ICRC error writing fsbn 7882655 of 3941296-3941551 (ad0s1 bn 7882655; cn 490 tn 171 sn 32) retrying ad0s1a: UDMA ICRC error writing fsbn 7882655 of 3941296-3941551 (ad0s1 bn 7882655; cn 490 tn 171 sn 32) falling back to PIO mode
もちろん、大多数のアクセスは UltraDMA で成功しているので、 割り込み回数や性能への影響自体はさほどのものでもないのですが、 これほど CRC エラーが出るのでは信頼性に非常に問題が残ります。
Web で、このエラーメッセージを入れて検索すると、 IDE ケーブルが問題なのではないか、という回答があったので、 交換してみることにしました。
とりあえず、UltraDMA66/100 対応のスマートケーブルに交換してみました。 が、出ます。
では、UltraDMA 33 まで対応のスマートケーブルに交換してみました。 しかし、まだ CRC エラーが出ます。
ケーブルの問題ではないとすると、 あとは FreeBSD の問題であるか、RAID カードの問題である可能性があります。 今日は既に RAID を切り分けする時間はないし、 このマシンのチップセットは ServerWorks 3.0LE だけど、 うちの近所で 4 ヶ月ほど、超ヘビーロードの上で、 FreeBSD で安定して動いている ServerWorks 3.0LE サーバがあるんだけどなぁ… (しかも UP と SMP の両方ある)、 と、思ったところで、重要な事実に気がつきました。
うちの近所で安定している ServerWorks 3.0LE のマシンは、 IDE ではなく、SCSI しか使っていなかった…。
ということで、 やっぱり FreeBSD の ata ドライバの ServerWorks 対応コードが原因である可能性も、 未だ残っているわけですね。 ちなみに入れたバージョンは FreeBSD 4.4-RC1 (20010815) です。
とりあえず、諸事情で問題解決は先送り…。