You are currently viewing Conohaちゃん壊れる

Conohaちゃん壊れる

先日ConoHaちゃんでディスク障害があったようです。

自分はVer3.0を利用しており、収容先ホストが変更となった対象にも含まれていたので、おそらく障害の影響を受けてしまったようです。

何が起こったか

症状として、Dcokerコンテナが起動できなくなり、Dockerデーモンの再起動を試してみたらDockerデーモンも起動できなくなった、という症状が起きました。

復旧のため、VPSを再起動したら今度はVPSも起動できなくなった、という流れです。初めての出来事だったため、かなり焦りました

復旧方法

VPSに関してはConoHaのWebコンソールからログインを行い、復旧しました

サーバー一覧のコンソールをクリックすればWebコンソール画面にアクセスできます。
余談ですが、ConoHaのコントロールパネルがバレンタイン仕様になっていて、とても可愛いです!

ここからはスクショを撮っておらず記憶ベースになりますが、以下の作業で復旧させました

rootユーザーでログイン

VPSの起動に失敗していると、「rootユーザーでログインすると、メンテナンスモードになります」のような画面が表示されているので、rootユーザーでログインします

システムログ確認

以下のコマンドでシステムログを確認します

journalctl -xb

今回のケースでは、以下のようなエラーが発生していました

/dev/vda2 ファイルの整合性が壊れている(UNEXPECTED INCONSISTENCY: RUN fsck MANUALLYのような表記)

ファイルシステムの復旧

ログに出力されていた通り、fsckを利用してファイルシステムのチェックと復旧を行います

fsck -y /dev/vda2

-yオプションはエラーを自動で復旧するオプションです。これがないとエラーを修正する際、毎回聞かれます
自分の場合、修正数が多かったため-yオプションを付けてすべて復旧としました

fsckコマンドが終了したら、VPSを再起動して正常に起動するか確認します

Dockerファイルシステムの復旧(は、できなかった・・・)

VPSはfsckで復旧しましたが、Dockerは起動できないままでした。
エラーを確認するとDockerが管理しているファイルシステムが破損している可能性があり、もっとも簡単な復旧方法は/va/lin/dockerディレクトリの作り直しでした(要するに、Dockerコンテナに関連するすべての設定やファイルを失う)

自分の場合、対象がWebサーバーだったので残しておきたいデータが無く、簡単に復旧する可能性がある方法としてDockerファイルを削除する方法で対処しました。
行ったことは以下のコマンドを実行しただけです

mv /var/log/docker /var/log/docker.broken
mkdir /var/log/docker

ディレクトリを作り直した後、Dockerデーモンの起動、各種Dockerコンテナが正しく起動するようになりました
ただし、Dockerのネットワーク設定や、ボリューム設定も消えてしまっているため、これらの設定は戻す必要があります

以上です

今夏はVPSのハードウェア故障というなかなかにレアな障害に遭遇しました。
幸い、Webサーバーだったため失っても良いデータしか保存されていなかったのが幸いです。

後は環境はdocker-composeで管理していたため、環境復旧もかなり簡単に行うことができました。
今回は色々と運が良かったと思います。

ただ、これがDB環境だったら話が変わってきますね。
DBデータはmysqldumpでバックアップは取っていますが、正しく復元できるかなど、訓練を行っておいたほうが良さそうです。
オブジェクトストレージについては・・・ 流石に壊れないと思っています・・・

コメントを残す