dftyguhijoohugyf_TP_V1

情報システムにおけるサーバーの役割はとても重要です。その理由は、サーバーの提供するサービス(プログラム)が障害などの原因により停止すると、最悪の場合システム全体が停止して使えなくなってしまうからです。

システムによっては、サーバーが復旧するまでの間システムが使えないことによる損失が大変大きい場合があります。

そのため、サーバーの障害対策が必要になってきます。

こうした背景により、サーバーを多重化して障害に強いシステムを作るための技術が開発されています。

ここでは、「サーバーの多重化により障害に強いサーバーを作る技術」と「仮想化技術を用いてサーバーの多重化を実現する方法」についてお話します。ここで述べる内容を理解することにより、障害に強く信頼性の高いサーバーを低コストで構築できるようになります。

HA(High Availability)サーバーとは

HA(High Availability)サーバーとは、サーバー多重化技術の一つです。「クラスタリング」と呼ばれることもあります。常に複数のサーバー機器を動作させておき、その中の1台を本番系、残りを待機系にします。

通常は、本番系サーバーが他のサーバー群を代表してサーバーとしての機能を受け持ちます。本番系が、障害などの理由で動作しなくなったとき、待機系サーバーが本番系の異常を検知します。そして、待機系の中の1台が本番系になり代わってサーバーの機能を引き継ぎます。

本番系と待機系のサーバーは、定周期で通信を行いお互いに生きているかどうか(動作不全になっていないか)監視しています。また、本番系と待機系の切り替わりにおいてそれまでの保存データを完全に引き継ぐ必要があります。そのため、データは本番系と待機系の両方に接続された共有ディスク装置の中に保存されます。

また、本番系と待機系の切り替わりには、システムの立ち上げ(スタートアップ)や引き継ぎのための時間として、数十秒~数分がかかります。

HAサーバーは、「おつむの多重化」の考え方で多重化が行われています。ここでの「おつむ」とは、CPU(コンピューターにおいて計算処理を行うもの)を指しています。そのため、共有ディスク装置内のデータはHAサーバーでの多重化が行われないことに注意しなければなりません。

FT(Fault Tolerant)サーバーとは

FT(Fault Tolerant)サーバーとは、HAサーバーと同様にサーバー多重化技術の一つです。複数のサーバーを完全に同期させながら稼働し、通常はその中の1台を本番サーバーとして動作させます。

FTサーバーは、複数のサーバーで完全同期されていることが特徴です。例えばCPUは、複数のサーバーで常に同じ命令を同時に実行しています。そのため、FTサーバーは、「クローン(複製)による多重化」の考え方で多重化が行われているといえます。

本番系サーバーが故障したとき、それまで同期された待機系サーバーの1台が瞬時に本番系になり代わります。それ以後、本番系になり変わった1台がサーバーとして動作します。

本番系と待機系は、全く同一の部品で構成されます。そのため、FTサーバーの外観はまるで同一構成の複数台のサーバーが並んでいるように見えます。

仮想化技術を用いたHAサーバーとFTサーバー

これまで述べてきたHAサーバーやFTサーバーは、障害に強いサーバーを作るために有効な技術です。しかし、HAサーバーの場合、高価な共有ディスク装置が必要です。また、FTサーバーの場合、高価な完全同期のハードウェア構成が必要になります。いずれも、サーバーを単体で作るのに比べてかなり高価なシステムになってしまいます。

その一方で、共有ディスク装置や完全同期のハードウェア構成を使わずにHAサーバーやFTサーバーを作る方法もあります。それは、仮想化技術を用いたソフトウェア製品を利用する方法です。この目的で使えるソフトウェア製品としては、ヴイエムウェア社の「VMware HA」「VMware FT」などが挙げられます。

仮想化技術を使ってHAサーバーやFTサーバーを作るメリットは、導入に必要なコストが安くなることです。仮想化技術を用いると、高価な共有ディスク装置や完全同期のハードウェア構成は安価な仮想化ソフトウェアで実現されるため、導入のためのコストを安く抑えられます。

一方、仮想化技術を使った場合のデメリットは仮想化ソフトウェアの動作に伴い、システムのパフォーマンスが低下することです。

このように、情報システムのサーバーには高い信頼性が求められることから、サーバー故障などの障害に強くする必要があります。そのためにはサーバーの多重化が有効です。

サーバーの多重化は、仮想化技術を用いることにより低コストで実現可能です。しかし、仮想化技術の利用に伴うデメリットもあるので、それを考慮した上で導入を検討していきましょう。