y-matsui::weblog

電子楽器、音楽、コンピュータ、プログラミング、雑感。面倒くさいオヤジの独り言

恐怖!仮想サーバCentOSがアップデートで破壊

仮想サーバで稼働しているCentOSが、アップデートのタイミングで死んだ。
正確には、X WindowGNOMEの環境が壊れ、グラフィカルログインできなくなってしまった。
SSHやWWW、MySQLなどのサーバサービスは壊れなかったのが不幸中の幸い)
原因は
yumでアップデートを掛けている最中に、ディスク領域を自動拡張しようとしたが、ホストOS上のディスク領域が不足していて、インストール途中で一時停止状態になったこと。(要するに、自動拡張しようとしたが書き出し先が無くて、メモリ上にスワップしたものの、戻れなくなってディスク破壊というパターンのようだ。)
再起動後、ディスク整合チェックで引っかかり、fsckで死ぬほどノード情報が修正された。(ゴミ箱行き→死亡)
fsckが終わった後のブートでは、dbusデーモンやavahiデーモン、HALデーモンが動作しないために、X Window上のすべてのアプリケーションが動作不良となった。
グラフィカルログインが出来ないので、VNC接続でもGUIを表示できない、なんとrpm等のコマンドも使えないではないか。これは微妙に焦った。
「他の機能も人知れず無効になっているのではないか」
この疑心暗鬼が、精神衛生上、一番良くない。

サーバ機能やデータをそのまま生かしたままで、なんとか復旧したい。
ガッツの2日間。次の手順で生き返った。

■復旧手順
yum remove dbus
yum install dbus
yum groupinstall "X Window System" "GNOME Desktop Environment"
yum remove vncserver
yum install vncserver
yum update

■教訓
・自動拡張のディスクを使っている場合は、ホストOSのディスク空き領域をこまめにチェックする。
・こういったトラブルでも、仮想サーバであればイメージだけコピーして別の環境上で思う存分試すことができ、助かる(助かった)。
・仮想サーバイメージをコピーし、同じネットワーク上で稼働させる場合は、MACアドレスを変更すること。
(同じのままになっていると、稼働している本番サーバに影響が行く。MACアドレスを利用する機器との通信がおかしくなる。たとえばファイアウォール、インテリジェントハブ)
・Ctrl+Alt+F1でX Windowを再起動できることを知る


■参考
■[fedora]Greeterのクラッシュ