バーチャルホストによるトラブル対処(仮復旧)

2023年を迎えて

ブログの更新も、暫く時間が経ってしまった。2022年は、ICT 分野でも変化の多い年だったように思う。サイバーセキュリティも手段としての位置づけが大きくなり、DX人材不足と言われるように、ICT を活用して社会活動をより豊かにする方向に確実に転換している。実は、昨年末から今年にかけて色々なシステム関連のトラブルに見舞われてしまい、その対処に追われていた。ボランティアで何件かのウェブサーバの管理をしているが、トラブルが発生した際の復旧の難しさを改めて思い知らされた。まだ完全に復旧している訳ではないが、一段落したのでこれまでの経緯を書き留めておきたい。

ある日の出来事

Web サーバの画面

リモートで管理しているある事務局のウェブサーバが、ある日突然リモートアクセスに反応しなくなった。幸いにしてWeb は見れている感じ。以前に電源OFF にされてリモートアクセスに反応しなくなった事案があったが、何か変だと思いつつも週末まで待って様子を見に行った。電源は入っており、何だか見慣れない画面が表示されていた。まぁ、直ぐには良くわからないので取り敢えず悩むこと無くシステムの再立ち上げ・・・と、キーボードからシャットダウンができない。ということで、強制リセットを掛けてみたところ、立ち上げから左の画面が流れ出した(-_-;)・・・。不味い。サーバはHDD 運用なので、SSD のように一気にクラッシュする筈は無いと信じていた。話しが違うではないか!? 信じるところに従い、これまでバックアップもきちんとやっていない。この辺りからことの重大性を認識したのか、汗ばんでくる💦。でも、かろうじてサーバとして動作はしているようなので、大量のメッセージの間隙を縫ってキーを叩いてバックアップファイルをUSB メモリに何とか取得出来た。最悪の事態は免れそうだ・・・。取り敢えず他に打つ手はないのでサーバの電源を断として帰宅。

バーチャルホストの活用

バーチャルホストによる仮復旧

Web サーバのHDD クラッシュという状況は把握して帰宅したものの、今この時点で修復作業に費やせる時間の余裕が無い。これから代替のHDD を調達し、OS のインストールから設定などをするプロセスを実施すると、有に1週間、ハマれば1ヶ月はかかるだろう。その間に当サイトの利用者からのクレーム対応もあるだろう。まずは利用者からのクレームを避けるのを最優先として仮復旧とし、後で本復旧としたい。できればURL も変更せず、運用に与える影響を皆無にしたい。そんな時、バーチャルホストが利用できるのでは・・という考えがよぎった。実際に自宅で運用しているサーバが2台(Web Server 2ともう一台)があるので、それを活用することはできる。Web Server 2 をバーチャルホストに設定して取得したバックアップデータをリストアし、DNS 1 の設定をWeb Server 2 に向ければ動くはずだ。と、大体の作業見積もりを描くことはできた。作業は淡々と実施できる筈だったが、https で運用している関係で証明書もバーチャルホスト用に取得する必要がある。ここは、作業をやってみて気づいた点、見積もりが甘かった。証明書は最初に取得した際に、よく理解もせずに色々やっていたら出来たので、逆にこんな時にハマってしまう。特に上手くいった時には振り返りもせずに、サッサと忘れてしまう。それが後になって大きく影響してくる実体に直面することになる。ハマリはいつものことなのだが、初めてチャレンジすることでもあり、ここから不安とモチベーションが思いっきり下がることとの戦いが始まる。複数の証明書の取得・管理の仕方や運用中のWeb Server 2 への影響を考えると、バーチャルホストの選択が果たして良かったのか、そもそもの問題ではないかとの不安も増してくる。そんな葛藤と戦いつつ、一つ一つ解決して行きながら、翌日には何とか仮復旧まで漕ぎ着けることができた。丸24時間くらいかかったが、作業内容を整理していくと、数時間程度で実施できそうな感じである。最初はこんなもんだ・・・、と自分に言い聞かせる。実際に出来てしまうと何かしらの充実感を味わえることができるのも、この作業の醍醐味でもある。幸いにして、利用者からのクレームも来ておらず、運用への影響も無かったようで安堵しつつ、暫くは仮復旧の状態で運用して本復旧に取り掛かることにする。

システム環境は常に変わる・・・

運用開始してから、丸2年ほど経ってのトラブルだったので、本復旧に向けて作業見積もりをしていたところ、既に運用開始当時と比較してOS のメジャーバージョンも上がり、システムの運用もオンプレミスからコンテナの運用が一般的になってきている。また、サーバのソフトウェアやアプリケーションなどのバージョンも上がっている。という事で、時間が経てば単純な復旧とはいかないことも感じ始めている。作業内容は増える一方である。

本復旧のイメージ

このように本格的な復旧を検討している最中に、メインで使用している自宅PC もクラッシュダウンした。こちらは、SSD を使っているため突然の障害である。特に前触れも無く起動しなくなった・・・。この状況は昔耳にしたことがある。そう、マーフィーの法則、今が最悪の方向に向かっていることを認識すると共に、こんな時だからこそ着実に解決に向けて進めないといけないと鼓舞する。その直後に自宅のもう一台のサーバーもダウンした。こちらは日常のアップデート中の失敗。トラブルが連続生起すると気持ち的には想定内に感じるのか、妙に落ち着く。折角なので、本復旧に向けて事務局設置のサーバのHDD はサーバ用のものを調達し、この際だから無停電装置を導入、OSも新バージョンに移行し、システムはコンテナ運用に変更することとした。そして、バーチャルホストの有効性も確認できたので、サーバの障害にも迅速に対応するため、そして仮復旧システムから本システムに切り戻すことを考慮して最初からバーチャルホストで運用するように構成を変えることにした。こんなことをしているから、作業量が減ることはない。これも、障害を前提にマーフィーの法則に適切に対応する試みだと・・・、自分に言い聞かせて実行することにしたい。これを考えると、ホスティングサービス等でサービスを提供しているプロバイダは凄いと思う。まぁ、規模も投資も違うから、ボランティアとは違いもっと増しな環境だろう。

BCP の重要性

障害対処については、業務継続計画(Business Continuity Plan) の策定が求められているが、全くそのとおりだと思う。ただし、BCP の有効性については常に検証するとともに、時代の変化に沿ったやり方をブラッシュアップしなくてはならない。所謂PDCA サイクルを回していかねばらないが、それでも想定外はある。BCP の適用時期、その応用、想定外への対応について個別な意思決定も必要となる。また、細部まで決め過ぎるとネットワークや機器の構成を変更する度に見直しも必要になり、見直しの時間ばかりに翻弄されるのも現実的ではない。あれこれ考えていくと、結局はバランスということになるだろう。常に、トラブルと共に生活することになるのかもしれない。これも、マーフィーの法則だとすれば、実に現実が反映されている法則だと改めて感じる。

教訓

結局、このブログで何が言いたかったか・・・。得体の知れないトラブルに遭遇して、取り敢えず応急復旧まで辿り着いたが、モヤモヤしていた思考をある程度ではあるが整理し、今後の方向性を見出したというところか。応急復旧では、何ともカッコ悪いが、こんな事もある。教訓は、以下のようになるのではないか。

  • 異変があったら、まず現場を確認
  • 復旧に最低限必要な情報の確保、その後の復旧要領は運用を中心に優先順位を決定して段階的に
  • 復旧に有効な手法を案出し作業プロセスを検討(チャレンジも含む)
  • 実行あるのみ・・・

これは、所謂OODA ループを一人で回していることになる。教訓としては今ひとつな内容。取り敢えず今後への対応を考えると、教訓としては以下のようになるだろう。

  • しっかりとした計画に基づいたバックアップの実施(自動化)
  • 復旧手順の策定と見直し、実践力の向上
  • 運用状態の見える化(HDD, SSD そしてリソースやUPS等の状態監視)による予防的処置の実施
  • 実施内容は、その意味の理解が必要(いずれ、その壁に直面する)であり、記録も必要

まずは、これから本復旧を計画的に実施することが重要。その結果は、後日(本復旧)紹介したい。

その他

色々とまとまりの無い悶々とした時間を過ごしていた時期だが、一部の方々から本ブログに対するコメントを戴いたこともあり、モチベーションも復活してきたので、とりあえず纏めてみた内容になった。コンテナ運用を目指すのであれば、以前に少し触ってみたKubernetes にもチャレンジすべきだろうが、導入にはこちらの課題もある。だが、仮想化の世界は更に広がっている。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です