ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
Main Menu

2014年7月13日(日曜日)

PS3サーバー急逝のお知らせ

カテゴリー: - webadm @ 17時50分17秒

先月の6月13日未明にPS3サーバーがお亡くなりになりました。

数えてみれば、最初のPS3が発売されLinuxが公式にサポートされたのを機会に購入し2007年からそれまでの玄箱から運用を切り替えて7年になろうとした時でした。

途中何度か一時的なサーバーダウンはあったもののそれを除けばほぼ無停止で7年間もがんばってくれたことになります。

最後の様子は、いつものように帰宅してblogを開いて記事を書こうとログインしたところ、ログインされていない症状(これはmysqlのsession databaseが壊れた時に典型的に発生する軽微な障害)だったので
いつもの通り、リモートでmysql databaseに接続して修復しようとしたらmysqlに接続できないという。

sshでログインしてみるとログインはできて、内部も動いている感じ。

しかしいつもと違っていたのはfile systemがread onlyでmountされた状態になっている点。良く考えれば、この時に異変に気づけばよかったのかもしれませんが、結果は変わらなかったと思います。

軽い気持ちでいつものようにサーバーを再起動したところ、いつになっても立ち上がってくれません。

筐体に手を触れるとちんちんに熱くなっています。それなのに冷却ファンが回っていない。

電源オフオンを何度か試みても、HDDアクセスランプが何度か点滅しただけで音沙汰なし。

どうやらハードウェアが部分的に逝ったくさい。

最後までPowerPCとメモリとLANはけなげに動いていた感じ。

おそらく冷却ファンから起動時に異音がして回転してなさそうなので、冷却ファン故障→筐体内温度上昇→SATAコントローラ故障→file system access error→read only remount

ということになっていたのかも。

いずれにせよこの段階で手遅れで、壊れたものはもう元に戻ってはくれませんでした。

まだまだがんばってくれると思っていただけに想定外の出来事。

復旧するのも棺桶に入ってしまったPS3のHDD内のlinuxパーティションをバックアップするのが先決。

実はPS3のHDDは個体毎にユニークな暗号鍵によってシステム部分は暗号化されており、そのままPCに接続してもパーティションテーブルからして暗号化されているので普通の手段でlinuxパーティションを特定することができません。

幸いにしてパーティションテーブルが破壊されたHDDからパーティションを見つけ出して救出してくれるtestdiskというフリーのツールがあることがわかり、それを使って失われたPS3のパーティションを吸い出すことに成功しました。

次はPS3サーバーの代替機を用意しなければならないのですが、玄箱HG, 初代玄人箱, 最も最初のwebサーバーに使用したPCをそれぞれ試したのですが、以前に玄箱で運用していたHDDが経年変化でアクセス不能になっており、apacheやらmysqlやphp2などのバイナリが失われていました。ビルドし直すことも試したのですが、mysqlとかのソースコードが当時のバージョンが入手できないことが判明。確かpowerpc用のバイナリをそのまま使っていた記憶も。

というわけで体調が悪い中、連日代替機の再構築作業をしていたのですが、玄箱のkernelが2.4系と古すぎて様々な問題があり、それに動作周波数も200MHz台なので良好な性能を期待するのも無理でした。

そこで最終的に使っていないThinkpad(window 2000)に最新のdebianをインストールしてその上にサーバー環境を再構築することに。

結果的に言えば、それが早道でした。

古いThinkpadに最新のdebian 7.5を導入する際に地雷に填まりました

今ではLANは内蔵しているのが当たり前ですが、この当時はLAN内蔵は一部高級機種だけで、普通はPCMCIAスロットにLANカードを挿して使うのが一般的でした。

しかしdebian 7.5のnetinst CDだとこのPCMCIA LANカードが認識されない。というかPCMCIA自身インストール時に手を抜いているとしか思えない症状。

いろいろネットで検索して、/etc/pcmciaディレクトリを作り、そこに/etc/pcmciautilsの内容をコピーして、configファイルに使用しているPCMCIA LANカードを認識するためのエントリを書くことで認識され、インストールを完了することができました。おそらく/etc/pcmciautilsは/etc/pcmciaの誤りでインストーラーイメージ作成者のミスでしょう。もう今時そんなnote pcにlinuxをインストールする人など居ないので問題にならないのでしょう。それを直しても問題が解決するわけでもないので放置ということかもしれません。

とりあえす新しいサーバー機環境をそこに構築することに。

apcheサーバーはPS3サーバーで使用していたのと同じバージョンで、PHPも同じバージョン。モジュールを作るやり方を忘れていましたが、モジュールをapache内に組み込む方法で解消。

phpのビルドの際にbashでconfigureスクリプトを起動しないとうまくいかないというのもネットで検索して対策がわかり難を逃れました。

PS3のデータベースは一部は壊れていましたが修復可能な軽微なものでした。

あと必要なcgiとかをビルドし直して、なんとか体裁は整ったので再公開ということになりました。

一時はPS3を新規購入してカスタムファームウェアを導入して再度linuxをインストールするという方法も考えたのですが、安い買い物ではないし、リスクも伴うので止めました。

それに初代と比べて最新のPS3の動作周波数は下がってますから。

というわけで無事復旧となりました。

PS3サーバーは完全に逝ったわけではなく、中のPowerPCとかメモリとかは正常ぽいものの、手足が不自由(表示も出ない)な状態でいずれ開腹手術してみるかも。

PS3サーバー長い間お疲れさまでした。ゆっくり休んで下さい。


コメント

このコメントのRSS

TrackBack URL : http://www.rainbowseeker.jp/xoops/modules/wordpress/wp-trackback.php/1891

この投稿には、まだコメントが付いていません

コメントの投稿

改行や段落は自動です
URLとメールアドレスは自動的にリンクされますので、<a>タグは不要です。
以下のHTMLタグが使用可能です。
<a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <br> <code> <em> <i> <strike> <strong>


ご注意 : セッティングにより、コメント投稿から実際に閲覧できるようになるまで暫く時間が掛かる場合があります。 再投稿の必要はありませんので、表示されるまでお待ち下さい。

13 queries. 0.493 sec.
Powered by WordPress Module based on WordPress ME & WordPress

サイト内検索