本稿では6回に分け、「高可用性システム」について、その意義や導入の留意点、関連製品の選定・構成について、また、仮想化環境やクラウド環境での考え方を検討していきます。第1回は、システムが停止する原因や、停止しないシステムを必要とする背景から高可用性システムの意義を考えます。また、稼働率や復旧時間の考え方や、可用性を高める手段としてのHAクラスタリングおよびレプリケーションの役割を紹介します。
>>【動画で学べる】高可用性ソリューション「LifeKeeper/DataKeeper」について
停止しないシステムが必要な背景
2016年3月、全日本空輸(ANA)の国内線予約・販売・搭乗手続きシステムに不具合が発生し、羽田空港をはじめ全国の空港で搭乗手続きができなくなりました。これにより、7万人以上の利用客が影響を受けたといわれています。このシステム障害の原因は、国内線システムのデータベースサーバーをつなぐイーサネットスイッチの故障でした。
また、2016年1月のマイナンバーカードの交付開始から、「カード管理システム」の中継サーバーに不具合があり、断続的にシステム障害が発生し、マイナンバーカードの発行が大幅に遅延。マイナンバーカードを発行する地方公共団体情報システム機構が、中継サーバーを納品した5社に約2億円の損害賠償を求めることが報道されています。
システムに障害が発生する原因は、経年劣化や衝撃などによるハードウェア障害、設計ミスやプログラミングミス、テスト漏れなどによるソフトウェア障害、オペレーションミスやうっかりなどの人的要因、コンピュータウイルスやランサムウェアなどのサイバー攻撃、地震や台風、水害などの自然災害などさまざまです。
冒頭でも紹介したとおり、システムに障害が発生すると、ビジネスそのものが停止してしまい、社会的信用の失墜や損害賠償の請求につながります。そこで、システム障害によるリスクを低減する仕組みとして、バックアップや冗長化などのシステム障害対策を検討しておくことが重要になります。
稼働率や復旧時間の考え方
サーバーに故障や障害などのシステム障害が発生した場合、一般的な作業としては、新しいサーバーを調達し、OSやミドルウェア、アプリケーションなどのインストールや設定を行い、バックアップデータをリストアして、稼働確認を行う必要があります。この場合の障害復旧時間には、数時間~1日程度が必要になります。機器の調達が必要な場合には、数日かかるかもしれません。その間、業務に支障が出ることになります。
サーバーを冗長構成にしておけば、1台のサーバーに障害が発生した場合でも、もう1台のサーバーに処理を引き継ぐことで、システムを停止することなく業務を継続することができます。この場合の障害復旧時間は数分程度であり、エンドユーザーはシステムが切り替わったことに気が付かないことがほとんどです。ただし、システムの可用性を高くすればするほどコストがかかります。
それでは、どの程度の稼働率を目指せばよいのでしょうか。一般的な稼働率の定義としては、以下のように1年間のダウンタイムによって99%~100%で定義されています。
Availabilityレベル | Availabilityクラス | 年間ダウンタイム |
100% | 連続処理 | 0分 |
99.999% | フォールトトレラント | 5分 |
99.99% | フォールトレジリエント | 53分 |
99.9% | ハイアベイラビリティ | 8.8時間 |
99-99.5% | 一般の商用 | 44~87時間 |
一般的なHAクラスタリングソフトウェアは、フォールトレジリエントレベル(99.99 %)の可用性のシステムを構築できるように設計されています。
可用性を高める手段「HAクラスタリング」
システム障害対策を検討する場合、目標復旧時間「RTO(Recovery Time Objective)」と目標復旧時点「RPO(Recovery Point Objective)」のバランスが重要になります。RTOとRPOを短くすればするほど、システム障害の影響を小さくできますが、その分コストがかかってしまいます。そこでポイントになるのが、RTOに関係する「HAクラスタリング」と、RPOに関係する「レプリケーション」の2つのソリューションです。
HAクラスタリングは、サーバーを本番系と待機系に二重化し、本番系に障害が発生した場合には、迅速に待機系に業務を引き継ぐ仕組みです。このとき、待機系が本番系と同じデータを使えることが必要になるため、共有ディスクを使う構成が長年に渡って採用されてきました。HAクラスタリングにより、サーバーの切り替えを自動化することで、システム障害からの復旧時間を短縮することができます。
レプリケーションは、複数台のサーバー間でリアルタイムにデータをコピーしたり、同期したりする仕組みです。サーバーを遠隔地に置けば、広域災害に向けたディザスタリカバリ対策にも利用できます。もともとはデータ保護の施策ですが、HAクラスターソフトとの組み合わせで、共有ディスクに代わって待機系が本番系のデータを引き継ぐ仕組みとして使用することも可能です。
今回は、高可用性システムとクラスタリングについて紹介しました。次回は、「高可用性システムを導入する際の留意点」について紹介します。