読者です 読者をやめる 読者になる 読者になる

鯖構築運用雑記

管理してる鯖関連とか技術とかの雑記をメモしておく。

【naccent.tk鯖】突然の鯖落ち。復旧までのメモ

自体に気づいたのは、今朝。昨日行っていた、Minecraft鯖で指定したリソースパックがうまく動作しないというバグを修正するために、SSHで接続しようとコマンドを入力した時に発覚しました。
マイクラはおろか、SSHもWebページもつながらない。本格的な鯖落ちを悟りました。
さて、復旧までに何をしたのか。メモしておきます。



さて、鯖落ちと思っていたサーバー。朝の段階で確認できた状態は、

  • 各種サービスに接続できない。同じネットワーク(ローカルネットワーク)からでも接続できない。外部からも無理みたい
  • サーバーの画面をテレビ画面(左上1行ずつぐらい見えない)で確認した所、謎のスクリプトが走っているのが確認できたものの、文字化けがひどくて、何が走っているのかは何もわからない。
  • Twitterボットの送信がうまく行っていることから、サーバーサービス関係はうまく動いていることは確認できる。

これだけでした。
とりあえず、何もわからないし何もしようが無いので、電源を落として完全に鯖落ちの状況にしました。

(午前中は終わり。)

『午後。本格的な作業開始。』

テレビのモニターでは、きちんと文字列が表示されないので、いつもデスクトップで使用しているモニターを鯖のそばに設置して、本格的な作業を行いました。
実際に行ったことを順番に書くと、

  1. シングルモードでもログインの試行
  2. 通常起動をした後、ttyの変更が出来るかどうか。動作確認
  3. (動作確認後)ネットワークのStatic化
  4. 言語環境の変更をして、文字化けの原因を探る

おおまかに分けてこの4つの動作を行いました。

1.シングルモードでの起動

結果的には不要でしたが、きちんとOSが生きていることを確認しました。参考サイト↓
 
 CentOS 7でOS管理者パスワードを忘れた時に変更する方法 - Qiita

シングルモードでは、各種サービスの起動はできません(当たり前)
しかし、搭載しているCentOS7自体は生きていましたので、とりあえず一安心。

2.通常起動→tty

これが結構効きました。
GRUB2をいじらず、とにかく通常通りに起動させます。起動後、文字化けを起こした謎のスクリプトに見もくれず、 Ctrl+Alt+F4 以降、とにかくFキーを順に押しまくりました。ttyの変更です。

すると、普通にログインを受け付けてる環境があるじゃないですか。root権限でログインをすると、普通に入れました。

はい。入れたところまではいいんです。ここから、原因究明へ動き出しました。
各種サービス(今回はWebサーバー)の起動確認をした所、activeの表示がされていました。

そこで

# ifconfig 
を実行した所...


はい。究明はできたのです。

結局原因は、
DHCPによるIPアドレスの再割当て
でした。今まで使っていたIPとは違うIPが割り当てられていることがわかったのです。
これは気づきませんでした。まさか、勝手に再割当てされるとは思っていませんでしたから:(;゙゚'ω゚'):

3.staticへの変更

原因が分かったところで、早速修正です。
これまでは、ネットワークはDHCPで設定していましたが、これをstaticに修正します。
修正は↓こちらを参考にやりました。

CentOS7でIPを固定する - Qiita

まあ、修正はすぐ終わり、各種サービスがこれまでどおり使えるようになりました。めでたしめでたし。

4.文字化けの原因を追求

実は、まだ作業を終わらせるわけにはいかなかったのです。
あの起動時に出てくる謎の文字列(文字化け付き)は何なのかを調べようと思いました。

まずは、文字化けの原因となっている、日本語を一旦辞めさせて、en_USへと変更させました。↓こちらを参考にしました。

CentOS 7 : システムの文字コードを設定する : Server World
一応、en_USのところまでは、マップを見ました。確認した後、localectlを実行し、鯖を再起動しました。

再起動後、通常起動をした所、文字化けは解消されました。そこには...

Initial Server Setup ...
なる文字列が。これを検索すると、↓

Initial Server Setup with CentOS 7 | DigitalOcean

斜め読みすると、簡単なステップでアカウントのセキュリティが云々かんぬん。
 ”つまりは、指示通りにアカウントを作ればいいんですね。わかります。”

と、言うわけで、アカウントをとりあえず作り、ひと通り動作を終えると、
無事に消えました!!!

このようにして、今回の騒動は幕をおろしたのです。

※おまけ
TV用に解像度を下げておこうと思って奮闘したものの、ブートの段階で、最大の大きさまで解像度が自動的に変更されるというありがた迷惑が発生。諦めました。

以上です。