サーバ復旧、続き。
サーバAyakoについては、オンボードのMarvell Yukon 88E8053に対応したLinux版ドライバsk98linが導入できなかったため一時的に手持ちのIntel EtherExpress PRO/100を装備していたのだが、気が変わって、ダウンローダSanaeに装備していた玄人志向GbE-PCIを移植してみた。が、いまいちパフォーマンスが出なかったため、再度、sk98linの導入を試してみることにした。
前回の作業ではドライバのビルドが通らず、また、インストーラで生成できるカーネルへのパッチを当てた状態でのカーネルビルドも通らなかったので使用を断念したのだが、今回、クリーンな状態のカーネルソースを用意し、最新ベータ版ドライバをインストールしてみた。GCCバージョンが不一致という警告が出たものの、バージョン違いを無視させることが可能で、無視させてみたらあっさりとドライバインストールに成功してしまった。ドライバはモジュール形式で生成されているようであったので、/etc/modprobe.confに alias eth0 sk98lin の記述を追加し、起動時からeth0が使用できるようにした。これで問題なく動作。あれだけはまっていたのが嘘のようだ。パフォーマンスも十分である。
参考までに、今回の環境でワットチェッカーを使ってAyakoの消費電力を計測してみた。以前の環境(P4C800-E Deluxe + CT-479)では、起動時ピーク220W・アイドル時130Wという状態だったが、現在では起動時のピーク170W・アイドル時100W以下という状況。HDDが1台減って、グラフィックカードを取り外したことも影響しているとは思われるが、確実に消費電力は減っている。一応、苦労した甲斐はあったようだ。
サーバ復旧
たまたま今月の給料に珍しく「報奨金」なるものが追加されていた。でかい金額ではなかったけれど、前から狙っていたAOpenのPentiumMマザーボード i915GMm-HFSを余裕を持って購入できる金額ではあったので、急遽、購入計画発動。この時点では、長いトンネルが待ちかまえているとは気づいていなかったのであった・・・。
うちの近所では、i915GMm-HFSが三宮の上新電機にそこそこ前から置いてあって、在庫が切れた様子がない(全然売れてない?)ようだったので、入手自体は可能だと予想していたが、やっぱりまだ在庫していたので、念のためキープしてもらっておいた。それまでサブマシンで使っていたD865PERL+PC3200メモリ512MB2枚を近くのじゃんぱらで売却し、i915GMm-HFSとAinex製SerialATA変換アダプタCVT-03を購入。メモリについては、TWOTOPにてHynix製のPC4300 DDR2 SDRAM 512MBを2枚購入。
帰宅後、早速サーバAyakoのマザーボード換装を実行。今まで使っていたP4C800-E Deluxe+CT-479を取り外し、PentiumM 750をi915GMm-HFSへ移植。専用ヒートシンクはバックプレートへネジ止めするタイプでマザーボード装着前に装着する必要があったので、装着後、マザーボードをケースへ装着。あとは、各種ケーブル類の配線と、CVT-03と手持ちのSerillel2経由で4台のHDDをICH6R側とSiliconImage Sil3132側のSerialATAコネクタへ2台ずつ接続。Ayakoには合計7台のHDDを装備していたので、残りは今まで通りUltra133TX2へParallelATA接続することにした。
ハード面での作業が一通り完了したので、BIOSセットアップにて初期設定の変更を行っていったが、ここで初めて問題に遭遇。数分操作していると、唐突にPCがハングアップするのだ。しばらくは動作しているけれどいきなりハングアップという状態なので、経験上、熱暴走を疑ってヒートシンクの装着状況を確認してみたが、特に問題はない様子。各種ドライブの接続を外した最小構成でも状況は変わらなかったので、次に、メモリを疑い、memtest86にてチェックを実行。普通なら全く問題がないか、あるいはエラーを検出してテストが続行されていくのだが、15分程度で画面がぐちゃぐちゃになって暴走するというなかなかまずい状況になっていた。2枚購入したメモリについて1枚ずつチェックしてみたが、どちらも同じ結果になっていた。i915GMm-HFSにはDDR用のソケットもあるので、手持ちのPC3200なメモリで同様にmemtest86を実行してみたら、ハングすることもエラー検出されることもなく普通にテストが通った。また、メインマシンYuiで使っていたMicronチップ搭載DDR2メモリで同様にチェックしてみたところ、ハングすることなく、もちろんエラーも発生しない。これで、購入したメモリに問題があるのではと考えて、購入元のTWOTOPに持ち込んで調査してもらった。エラーは出なかったものの、差額を支払ってSAMSUNG製のDDR2メモリへ交換してもらうことができたので、帰宅後、再度チェックを実行。こいつについては、ハングすることもエラー検出されることもなくチェックが通った。状況的に、嫌な言葉であるがメモリとマザーの相性というやつらしい。
トラブルは更に続く。
メモリの問題が解決したので、先週にセットアップしたFedoraCore4の環境を起動させようとしたのだが、うまく起動できずハングアップしてしまっていた。ちょうど、圧縮されているカーネルイメージを展開した後あたりでハングアップしている気配。OSが起動できないのでソフトウェア的な解決ができず、HDD接続構成をいろいろと変えて試してみたところ、どうやら、Ultra133TX2へHDDを接続したままだたと起動に失敗するという状況が分かってきた。Ultra133TX2を手持ちのACARD6280チップ搭載なUIDE-133と換装してみたものの、状況は変わらず。BIOS更新で直るかと期待してBIOSアップデート用のFDを作成し、起動させようとしたが、これさえも起動できない。また、環境再構築しようとしてFedoraCore4のインストールDVDを起動させようとしたのだが、これも起動できない。かなり、嫌な状況であった。
ここでふと気づいたのが、HDDをATAカードに接続した状態だと起動失敗するという点である。ATAカードにHDDが接続されているとATAカードのBIOSがシステムに組み込まれるが、HDDが接続されていないとBIOSはシステムに組み込まれない。つまり、ATAカードのBIOSがシステムに組み込まれたら起動に失敗するという非常に嫌な状況に陥ってしまったわけである。BIOSが組み込まれること自体が起動失敗の原因とまでは断定できないが、起動失敗に繋がる要因の一つであることは確かであろう。
で、最後の賭けとして、他のIDEチップを搭載したATAカードを購入し、実験してみることにした。手持ちのATAカードは上記したUtra133TX2とUIDE-133のみであったので、比較的メジャーであると思われるITE製あるいはSiliconImage製のチップを搭載したATAカードを購入してみることにし、三宮上新電機にてSYBAブランドのSD-SIL680IDEを確保。帰宅後、祈りながら起動確認、見事、起動成功!これでだめなら、諦めて元の構成に戻すしかないと考えていたので、正直、助かった。
これでようやくFedoraCore4環境を再構築できるようになったのだが、まだ、問題は残っていた。i915GMm-HFSに搭載されているオンボードチップのうち、いくつかは世代が新しすぎてLinux上でサポートされていないものがあったのだ、SerialATAチップ Sil3132は未サポートの上ドライバも発見できず、仕様を断念。GigabitEtherチップであるMarvell Yukon 88E8053についてはLinux版ドライバが公開されているものの、FedoraCore4の環境ではビルドできず、これまた仕様を断念。サーバでネットワークが使えないと致命的なので、仕方なく、繋ぎで手持ちのIntel PRO/100+ NICを搭載して運用することにした。このNICは100BASE-TXなのでサーバとしてのスループットは落ちるが、しばらくの間、我慢。
以上のような状況があったので、土曜日から月曜夜までサーバが全く見えていない状況になってしまっていた。もしうちのサイトを巡回ルートに加えて下さっている方がおられたなら、申し訳ない。
ちなみに、さすがに正式にSpeedStepをサポートしているマザーボードだけあって、負荷がかかっているときとかかっていないときでCPUのクロックが変動していることも確認できている。PentiumM 750なのでクロック周波数は 1.86GHzなのだが、負荷がかかっていない状況だと 800MHzまでクロックが落ちる。負荷をかけてみると1.33GHzあたりまでクロックが上がるが、1.86GHzにはならない。何か、調整が必要な箇所があるのかもしれない。
- Newer: 2005年7月