以前Plesk絡みの話を投稿した事が有ったが、その時と同クライアントで別サーバーの話。
対象は緩やかに終息に向かってしばらく休眠していたようなサービス用のウェブサイトを公開していたVPSサーバーだったのだが、ついにサービスとともにサイトも閉鎖に向けて動くとなった時、
『あれ?サイトが表示されない・・・Pleskのログイン画面も表示されないぞ!』
という状態に。
たまたま、数日前に見た時にはしっかり表示されていて、その後何かがあったわけじゃないので、何も心当たりがない・・・
Pleskのログイン画面が表示されるページは、ファビコンこそPleskの物が表示されるが、
ERROR: PleskDBException: Unable to connect to database: mysql_connect(): No such file or directory /var/lib/mysql/mysql.sock (Error code: 2002). Please check that database server is started and accessible. (Abstract.php:69)
という表示がされるだけ。
データベースに接続できないとの内容。
心当たりがないので、ゾッとする。
再起動でも復旧しない、更には・・・
サーバーを再起動してみたが状況が変わらないので、とりあえずVPSのサポートへ連絡してみると、データベースが起動しているかどうかを確認して止まっていればコマンドで起動してみてほしいとの案内。
ただ、それに続くコマンドで起動しない場合の説明は、設定の定義などを確認したり・・・とあまり考えたくない状況に進んでいた。
なんとか、コマンドで起動してくれる事を祈りながら、コンソールでサーバーへアクセスしてみると・・・ん?コンソールが途中で止まる。
コンソールを再接続してみると・・・起動メッセージ中のステータスが一部『FAILED』となる、DB絡みの物が停止している感じが読み取れるので、やっぱりDBは止まっているなぁ・・・で、やっぱり途中でコンソールが停止。
VPSで単純に試せる事と言えば、サーバーの再起動ぐらいなので、再度サーバーを再起動してコンソールでアクセス。
すると、心なしかFAILEDが増えているようにも思う。
という事で、もう一回サポートへ連絡してみる。
すると、どうもディスク容量が逼迫しているとの連絡。
特に触っていないサーバーなのでディスクが一杯になるような事は想像しにくかったのだが、他に手がかりもないので、調べてみる事に、で、ここから先はVPSのサポート外なので自力である。
OS環境自体こちらで構築したものでは無いし、なんとなく不安な感覚と、普段クラウドは物理的な管理が必要なくて便利と思っているが、こういった時は物理的に触れる方がなんとなく対応しやすいように感じてしまって、自分勝手だなぁと溜息を吐きつつ、緊急モード(←どのサービスでも呼称が同じかどうかわからないので、なんとなく通じそうな名前にしています)で、サーバーにアクセス。
とは言え、最近追加したシステムやファイルが有るわけでも無いので、削除しても良いファイルと言われても・・・一時ファイルとかログファイルぐらいか?
まず、ここちょっと記憶が曖昧なのだが、/var/tmp内の数Mbyteのファイルを削除してみた。
で、コンソールでサクセスし直してみると、明らかにFAILEDが減ったがDB系のステータスは相変わらずFAILEDのまま。
でも、割とスムーズにLoginまでたどり着いた。
チャンスとばかりに
# service mysql start
が、失敗。
何か情報はないかとGoogle先生に泣きつく笑
何はなくともログは確認すべき
すると、・・・ログを読めと笑
シドニーで働くプログラマーのBlog(今はIT会社の経営者)
Timeout error occurred trying to start MySQL Daemonのエラー
そう、なんだかサポートの方でなんとかなると思っていたのでログを見るという事をしていなかった。
上記の方だと、mysqlslow.logが膨大になっていたので、これを処理して見事に起動したと・・・良いなぁ笑
で、確認してみたが、mysqlslow.logというファイルは見当たらない、という事は私のは違うのか・・・と、また溜息を吐きつつログを見てみると
[ERROR] /usr/libexec/mysqld: Error writing file ‘/var/run/mysqld/mysqld.pid’ (Errcode: 28)
[ERROR] Can’t start server: can’t create PID file: No space left on device
というエラーが確認できた。
再びGoogle先生に頼ってみると次のようなページがヒット
英語のページだが、今は翻訳環境も整っているし、システム系などの文章だとなんとなく読めてしまう笑
このページで、アドバイスされていたのは
type “df -h” to see how much space is left on /var/ mount point, could be that there’s no space left in /var/?
『/var/に空き容量が有るか確認してみてください』というもの。
助かる〜
そもそも、このサーバーの容量とかどうだったっけ?と思いながら、でも特定の何かという事ではなくて、/var/以下ならlogも対象だなと思い、log以下を眺めていると、やたらと容量の大きなファイルが目についた。
message-日付
というファイル。
調べてみると、システムに関する一般的なメッセージが格納されるファイルとの事。
あぁ確かに触ってない分、この辺は無視してたのが有るかもなぁ・・・ただ、そんな大きいもの?
数GB、二桁になっているものもある。
必要無いファイルだとは思いながら、それでも手動で削除するのはちょっと不安である。
ただまぁ最終的には閉鎖かつ現状動いていない事も確認されているので、最悪なんとかなるかな?と思いつつ、後にいつからこのメッセージが出てたか分かるように始めの日付は避け、最終どういう内容のものが出ているかも確認できるかもしれないので最新も避け、ど真ん中の日付の物を選んで削除してみた。
で、再度MySQLを起動してみると、見事に起動した。
当然Pleskも表示できてログインもできるし、ウェブサイトも表示されるように復旧した。
ウェブサーバーとして運用する階層より上流は、ウェブサーバーとだけ使用する場合、日々の何らかに意味があるのかなぁと思いながらの対応だったが、蓋を開ければ結局ただ単純なチェックをしていなかったが為にディスクが逼迫していたという事のようだ。
もう数週間で閉鎖するサイトで、特に誰からも感謝はされないだろうけど、良い勉強になったので良しとする。
まぁ終わってみれば・・・ちょっと楽しかったな。

コメント