サーバ機器故障によるデータ消失リスク

先日、筆者が管理しているサーバ機器が故障し、一部のデータが消失するという事故が起こった。今回はその際の教訓を含めて、データ消失リスクについて考えてみる。

夏場に弱いサーバ機器

従来からサーバ機器は熱に弱いと言われてきた。昨今は省エネ技術が進んでサーバ機器から発する熱は減少傾向にあるが、それでもサーバ内部の熱をファンによる風流で外に逃がすことが必須である。サーバ機器は経験的に夏場に故障することが多い。これはサーバを設置する環境が十分に温度調整されていない場合に、外気温の上昇と共にサーバ周辺の温度も上がり、熱が溜まることによって相乗的にサーバ内部が高温になってしまう為である。

サーバ機器の稼働可能な温度は35度のように定められているが、その温度を超えたからと言ってすぐに故障したり停止するというわけではない。しかし、高温下で稼働することによって部品の劣化が早まり、特に長年使っているサーバ機器が夏場にとどめを刺されるという事例が多くなる。このため、例えば前年度の夏場に問題なく動いていたサーバ機器が今年の夏を乗りきれるかどうかは定かではない。

さらに、サーバ機器を通常の執務室内で稼動させている場合は、今夏は特に注意が必要である。節電のために居室内の空調設定温度を上げてしまうと、人間は軽装化することで対応できるが、サーバ機器は熱がこもることにより思わぬ高温になって、故障のリスクが高まってしまう。

サーバ機器故障でなくなったもの

サーバ機器が故障した場合に、データの復旧とサービス再開までの時間はトレードオフの関係にある。唯一無二のデータはどんなに時間をかけてでも復旧するべきだが、そのためにサービスを止め続けるというのは、ビジネス上の機会損失にもつながる。

今回故障したサーバ機器では、大部分のデータは外付けのRAIDディスクに2重に保管していたため、そこは問題なく復元できた。しかし、故障したサーバ本体の内蔵HDDについては、結局復旧するのを断念した。サーバ本体のRAIDコントローラを使ってRAID構成をしていたが、そのRAIDコントローラと互換性のある代替品を用意しないと復元できない。代替品を待っていてはサービス再開が遅れると判断して、内蔵HDD内のファイルはゼロからつくり直すことになった。

消失したデータの主なものは、仮想化サーバのディスクイメージなどであった。残念ながら、仮想化サーバ自体のバックアップが取れていなかった。復旧にあたっては、他の環境で稼動している類似の仮想化サーバのイメージをコピーして、そこから環境を再構築することとした。OSの再インストールなどから始めるよりも格段に素早く仮想化サーバの復旧ができたため、改めてサーバの仮想化はトラブル時の復旧作業の迅速化に役立つことが確認できた。

実は本コラムのコンテンツも、復旧を断念したHDDに入っていた。本来であれば外付けのRAIDディスクに保管しておくべきだったが、CMS(コンテンツマネジメントシステム)のバックエンドであるデータベースのファイルが、デフォルト設定のままで OS とともに失われてしまった。CMSから出力される HTML ファイルなどは残っていたため、そこからデータを復元できたが、復旧するまでに人手と時間が費やされた。

データ消失リスクの低減策

今回の事故において、筆者が教訓と考えているのは次の2点である。

1点目は、データのバックアップについて、定期的に再考すべきという点である。このサーバの運用を開始した時点では、業務に使っているデータについてきちんとバックアップが取れていれば、問題なく復旧できると考えていた。しかし、時間の経過と共にサーバで取り扱うデータが変化し、特にデータベースファイルを取り扱っていることを見過ごしてしまった。さらに、ハードウェアの部品についても、製造から時間が経つと入手が難しくなるということも、データのバックアップ方法を再考すべき要因であった。

2点目は、サーバで提供するサービスをシンプルにすることにより、サービス再開時間が短く出来るということである。1台のサーバに数多くのサービスを載せていると、平常時に管理する対象は少なくできるが、トラブル時には、復旧が難しいサービスに足を引っ張られて、全体のサービス再開が遅くなってしまう。サーバの仮想化技術が進歩したために、単機能のサーバを数多く立ち上げることが可能であるため、できるだけ機能を絞ったサーバ群を用いたほうが、サービスの復旧が迅速に行える。また、仮想化サーバのイメージディスクをバックアップすることにより、故障したサーバをすぐに別マシンで再開することも可能である。

ITシステムのライフサイクルを考えると、時間の経過と共にデータ消失リスクは高まるが、それを低減する方法は、技術面、運用面ともに様々な選択肢がある。必要なのは、ITシステムのリスクの変化を定期的に把握し、運用面での対策を柔軟に変更していくという意識である。