全日空のシステム障害に学ぶサーバ保護の大切さ動き出す災害対策

5月27日、全日空(ANA)は大規模なシステム障害を引き起こした。システムの切り替えに起因するとされるが、ここから改めて分かることは、DRの基本、すなわちサーバ保護の重要性である。

» 2007年05月31日 07時00分 公開
[渡邉利和,ITmedia]

 5月27日、全日本空輸の搭乗手続き/手荷物管理で大規模なシステムトラブルが生じ、ほとんどの便が欠航となるという極めて大きな事故が生じた。自然災害によるものではないが、事業継続計画(BCP)という観点からは、ディザスタリカバリ(DR)の範ちゅうに含まれるとみることもできるだろう。

 一部報道では、フェイルオーバークラスタの動作不良が疑われていた。システムの障害時に、不具合を生じたサーバから別のサーバに処理を移すことで処理を継続できるようになっていたのだが、何らかの原因でこの処理がうまくいかず、未処理のトランザクションがサーバ内に滞留したことが処理性能低下の原因ではないかという説である。現時点で真偽は不明だが、DRの導入を考えるユーザーにとっては、学ぶべき点が多くあるトラブルだ。

データの保護だけでは業務は継続できない

 DRを考える場合にも、基本となるのはデータの保護だ。ユーザーのデータは、別途入手し直す手段はなく、バックアップを取っておかなければ永久に失われたままとなってしまう重要資産であることから、これは当然の配慮である。しかし、データさえ保全できていればよし、ということでは、従来のバックアップの発想と何ら違いはなく、ここにDRなどと新しい言葉を持ち出す必要はない。DRが単なるバックアップとは異なるのは、結局のところデータだけが保全されていても業務は継続できないと考える点だ。

 ある意味、これはごく当たり前の発想で、データを読み書きするにはアプリケーションが必要であるし、アプリケーションを実行するにはサーバ環境が必要となる。もちろん、サーバやアプリケーションは唯一無二の存在ではなく、改めてそろえることもできるのだが、そろえるのには時間が必要だ。機材がそろうまでの時間は業務が停止したままになってしまう。この時間をどう評価するかで、DRとしての対応が決まってくる。

 サーバ復旧に要する時間を決定するのは、機材調達の納期だけではない。新品のPCを購入して使える状態に環境整備するのに、個人ユーザーでも多大な時間を費やした経験のある人が多いだろう。そこから類推しても、業務アプリケーションを実行するサーバのソフトウェア環境を整えるのが簡単でないことは容易に理解できるはずだ。標準の状態からOSのセキュリティパッチなどを適切に適用し、業務アプリケーションをインストールし、各種のパラメータ設定などを行うのは手間の掛かる作業だし、適切なドキュメントが作成されていない場合は、そもそもどのような環境だったのかが分からず、うまく復元できないこともあり得る。

 大規模なDR環境では、いざ障害が起こってから復旧作業に着手する余裕はないという判断から、あらかじめサーバ環境まで丸ごと予備を用意しておくといった対応を行う。これには当然多額のコストが掛かるが、予備サイトでは多少性能が低下してもやむなしとする判断ができるのであれば、例えば本番環境ではクラスタ構成になっているサーバの予備を1台だけにしておくとか、性能はやや低いが価格も安価な機種を予備としておくなど、コストを抑える工夫の余地はある。

サーバ保全に仮想化を応用

 パフォーマンスの懸念もあり、また本番システムの環境変更の必要もあるため、実際の利用例はまだほとんどないようだが、サーバ環境の保全のために仮想化技術を応用することが技術的に可能になってきている。

 サーバの仮想化は、現在ではサーバコンソリデーション(サーバ統合)などを目的に、大型サーバを仮想的に複数サーバに分割して利用する形が一般的だ。しかし、仮想サーバは物理サーバのハードウェア構成に影響されないというメリットがあることから、サーバの環境保全の目的に利用することも可能だ。

画像 サーバ仮想化機能をDRに利用した例(出典:VMware“Using VMware ESX Server System and VMware Virtual Infrastructure for Backup, Restoration, and Disaster Recovery”)

 仮想化サーバの環境全体は、物理サーバからはファイルとしてアクセスすることができる。サーバのイメージファイルというわけだ。このファイルを保全するのは、通常のバックアップの仕組みが利用できる。このイメージファイルを遠隔拠点に保存しておき、適当なハードウェア上で実行すれば、ゼロから環境を作り直すのとは比較にならないほどの短時間でサーバの環境復元が可能になる。おそらく、数日を数時間に短縮するくらいの効果が期待できるだろう。

 サーバのシステムイメージをそのままバックアップするソリューションは既にあるが、ハードウェアの構成が変わるとデバイスドライバなどを変更する必要がある。基本的には同じハードウェア上に復元することが目的だ。しかし、仮想化を利用する場合はハードウェア構成の詳細は仮想化ソフトウェアによって隠ぺいされてしまうため、ハードウェア構成を気にする必要がなくなる。

 すべてのサーバを仮想化して利用していれば、状況に応じて任意のハードウェアで任意のサーバを実行できることになり、環境の柔軟性は大幅に高まることになる。低コストなDRの手法として、検討してみる価値はあるのではないだろうか。

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ