古いLinux PC ServerをKVMで救う

依頼が来ました。
「8年ぐらい前に導入したシステムが動かなくなっちゃってなんとかしてくれ」

聞けば中身はWindowsクライアント+Linuxサーバーのシステムで、状況だけ聞くに、サーバー強制終了が多発して、要fsck(ディスクチェック)状態なんだがLinuxワカリマセーン状態なので本当にどうしようもないとのこと。
すでにハードウェアもソフトウェアもサポートが切れており、どんな方法でもいいので継続して使いたいとのことでした。

さて、現場に行ってみると、Linuxサーバーは自作PCで組まれたTurboLinuxのものでした。HDDはARAID99-1000L!懐かしい!
まず、起動してみると十数秒で強制終了。どうもチップセットの冷却がうまくいってないことによるようです。ファンが回ってない。壊れてる。
マザーボードごと取り替えることも検討しましたが、古いマザーボードなので同型も手に入りません。また中古でしか手に入らないのでその後の安定性に不安があり、この線は諦め。

DSC_0787

とりあえずはヒートシンクとファンを組み合わせて無理矢理冷やしてみます。起動してしばらく安定したような動作。
ARAID99のエラーも出ていましたので、もう在庫も種類も少ないIDE-HDDを調達してきてリビルドをかけます。
すごく時間がかかるようなので、一晩寝ます。

ARAIDでコピーされたHDDはそのまま使えるっぽいので、元のディスクは外してミラーリングされたディスクだけで起動します。
fsckしろと言われるので素直にします。動くようになりました。ということでもう1台のHDDを用意してARAIDでリビルドをかけます。翌日のリビルド完了を見て対応完了。

…で終われば良かったんですが、やはり急場しのぎのヒートシンクじゃダメでした。強制終了までの時間がだんだん短くなってきたそうで。
仕方ないのでRAIDのHDDからDDでイメージを吸い出して、別のPCにセットアップしたCentOS6上にKVMによるVMを作り、そちらで稼働させることにしました。
これが、NICのブリッジだとか元がIDE-HDDだったのでちょっと設定に苦労しますが、なんとか完了して動きます。
そんなわけでそちらを設置して対応完了。

…で終われば良かったんですが、こんどはサーバーソフトウェアが30分ぐらいすると使えなくなるとの報。
さすがに仕様も何もわからんソフトウェア相手にやれることはないだろう…と思いつつも各種ログを漁りまくる。
Windows側のクライアントからは、最初は使えるのですが、30分ぐらいすると「認証に失敗しました」と出てくる。しかも特にサーバーにアクセスログがない状態。

現場でパケット監視しながら悩むこと数時間、ログの時刻がおかしいことに気づきます。
午後14時なのに午前5時とか出てくる…9時間のズレということは時計か!

ホストPCはM/B上UTCで、OS上はJST、バーチャルPCもUTCで動いていて、クライアントOSはJST。んで1時間ごとにntpdateが走っているという状況でした。確かに30分ぐらいしたらntpdateが走って時間が狂うわな。
ホストOSがJSTなのでバーチャルPCもJST、クライアントもJSTとすることで時刻ズレは解消、認証に使っていたであろう時刻情報も狂わなくなりまして、無事に動作するようになりました。

保守用の資料もなにもない状態でしたが、まぁ、なんとかなるもんだ…


なお、今回のような「当時の担当者がいなくなった」「仕様書とか不明なんだけど」という依頼はたまに来ます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください