某VPSでKernel panicが出てパニックになったお話

  • このエントリーをはてなブックマークに追加

VPSサービスは安い割にいろいろとできてコスパがよいのですが、サーバー会社のメンテナンスなどで再起動が発生したりします。

通常は事前にアナウンスがされますが、ネットワーク機器などの障害などで緊急メンテナンスによる再起動が発生し、ごくまれにですが再起動がうまくいかないことがあります。

これがマネージドプランなどであればサーバー会社に問い合わせれば対応してくれますが、VPSは基本的に管理者権限をいただいているので自分たちで対応しなければいけません。

特にKernel panicなどが出た場合は本当に冷や汗しか出ないので、忘備録がわりにまとめておきます

 

緊急再起動でKernel panic発生!


サーバーが起動せずにSSHで接続ができないので、コンソールから確認すると、Kernel panicの文字が

なんど再起動しても結局出るので、(ダメ元で)サポートセンターに問い合わせつつ、復旧手段を考えてみました

この時点で恐れているのは
  • ストレージが壊れてデータが全壊している
  • 現時点でデータは無事だがOS再インストールを行うしかない=データが消える
なんとかデータが生きているかどうか確認したいので、レスキューモードで起動を行う。

さくらのVPSの場合、レスキューモードを行うにはサーバー選択した後に「各種設定」ー「OSインストール」で「ISOイメージ」からあらかじめアップしたOSのISOイメージを選択して行う。

しかしさくらのVPSの場合は「データが初期化されます」みたいな感じのアラートが出るので、サポートセンターで「レスキューモードを使うときは出ないですよね」と確認しつつ作業を行う。
(実際、WindowsでいうところのF8などを押しながら起動してコマンドプロンプトを呼び出すようなものなのでフォーマットをしない限りデータは消えない)

 

ストレージが見つからない?


レスキューモード進めるうちに上記のような画面が表示された。
よく見ると、パーティションが見つからないとのこと。

つまりOSが入っているドライブが見つからないですという状態
レスキューモードでストレージをマウントしようとしても見つからずにエラーが出ている状態。

ここでようやく障害の原因が特定。
再起動のタイミングで何らかの理由でストレージがおかしくなり、マウントが外れたことでOSが起動しなくなった感じ。

最悪データが消えたのではという不安に駆られながらとりあえずディスクをチェックしなきゃということで

これでディスクの検査と復旧を行い、大量のエラーを吐き出しながらなんとか起動することができました。

データも消えておらず、データベースが起動しなくなっていたのでそこを修正することで問題なく復旧しました。

 

復旧したあとに気づいたこと

おそらく今回の場合はレアパターンとなりますが、これはWindowsに例えると使用している最中に電源が落ちた状態で再起動した場合にHDDが見つからなくて起動しなくなったパターンそのものでした。

原因調査などで1日くらいかかりましたが、なんとか復旧できてよかったなというのと定期的なバックアップをする必要があることを痛感した次第です。

もしKernel panicで同じような状況になった人がいれば、データ削除や初期化をせずにチェックディスクをしてほしいと思います。

 

 

執筆者:松本[ エンジニア ]

関連記事

Webサイト制作

Webアクセシビリティの基本を学ぼう!

近年Webサイト制作時に求められる『Webアクセシビリティ』。 正直なんだかよくわからない、ややこしそうだなあと思う方も多いと思います。 自分も勉強中ではありますが、今回は対応しやすそうな内容をなるべくわかりやすくまとめてみました。 一緒にWebアクセシビリティについて学んでいきましょう。 目次1 そもそもWebアクセシビリティってなに?2 基本的な対応内容2.1 色のコントラストをはっきりさせよう2.2 文字サイズを変更できるようにしよう2.3 できるだけテキストベースを心 […]

プログラミング

【PHP】ソーシャルログインに対応したお話(LINEログイン編) ②

前回はLINE Developersでチャネル登録までを行いました。 今回は実際にPHPでログインを実装していきます。 目次1 初期設定を定数にする2 LINE ログインのURLを作成する3 コールバック時の処理4 最後に 初期設定を定数にする 最初にdefineでチャネル登録した情報やAPIのURLを定義します。 メールアドレスを取得したい場合はLINE_SCOPEに「email」を追記してください。 LINE ログインのURLを作成する LINEログインに利用するログイン […]

Webサービス

【PHP】ソーシャルログインに対応したお話(LINEログイン編) ①

今回はLINEログインです。 LINEログインは他のソーシャルログインと違って、電話番号必須なので、ユーザーがアカウントを無限に発行するということがなく、しかもOSに関係なくアカウントを使用できるので、特にB2Cサービスを考える場合には是非導入を進めたいと思います。 逆に法人サービスで使う場合、法人担当者が個人のLINEアカウントを使用することはないと思うので、あくまで個人向けサービスがよいかなと思います。 LINEログインについての概要はこちらに詳しく書いています。 htt […]

株式会社8bit (エイトビット)

東京都目黒区でWebサイト制作、Webシステム開発などを行っております。
コーポレートサイトやWebサービスの企画・提案を得意としており、自社での経験を元にアイデアをカタチにするお手伝いをさせていただいております。

Web制作に関するご相談はお気軽にどうぞ

弊社に制作をご依頼いただく際の費用感をご確認いただける、
見積りシミュレーションをご用意いたしました。