Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

FTサーバ(エフティサーバ)とは | 意味や読み方など丁寧でわかりやすい用語解説

FTサーバ(エフティサーバ)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

読み方

日本語表記

フォールトトレラントサーバ (フォールトトレラントサーバ)

英語表記

FT server (エフティーサーバー)

用語解説

FTサーバとは、システムに障害が発生しても、処理を中断することなく稼働し続けることを目的とした特別なサーバシステムである。FTは「Fault Tolerant(フォールトトレラント)」の略であり、直訳すると「障害耐性」を意味する。通常のサーバは、ハードウェアやソフトウェアに障害が発生すると、一時的に停止したり、最悪の場合はシステム全体がダウンしたりするリスクがある。しかし、FTサーバは、このようなシステム停止を極限まで回避し、サービスを継続的に提供するために設計されている。具体的には、複数のサーバが互いに連携し、同じ処理を同時に実行することで、一方に障害が発生しても、もう一方がその処理を継続できるようになっている。これにより、ユーザーはシステムが停止したことをほとんど認識することなく、サービスを利用し続けることが可能となる。ミッションクリティカルと呼ばれる、わずかな停止も許されないような、金融機関の基幹システム、交通管制システム、医療情報システムなどで、その高い可用性が求められる。

FTサーバの最も特徴的な仕組みは、主要なコンポーネントが「二重化」または「多重化」され、これらが常に同期しながら動作している点にある。一般的なFTサーバは、最低でも2台の物理サーバで構成される。これらのサーバは、CPU、メモリ、I/Oコントローラといった主要なハードウェアコンポーネントが、特殊なインターコネクト(相互接続)を通じて密接に接続されている。そして、オペレーティングシステムやアプリケーションが実行する全ての処理は、この2台のサーバ上で同時に、かつ完全に同じ状態(ステート)で実行される。

例えば、あるデータがメモリに書き込まれる場合、両方のサーバのメモリに同時に書き込まれる。ある計算がCPUで実行される場合、両方のサーバのCPUで同時に同じ計算が実行される。これを「ロックステップ方式」と呼ぶこともある。これにより、ある瞬間に両方のサーバが全く同じ処理状況、同じデータを保持している状態が維持される。

この完全同期状態の利点は、障害発生時に最大限に発揮される。仮に2台のサーバのうち1台でハードウェア障害が発生したとする。例えば、CPUが故障したり、メモリにエラーが発生したりした場合、障害が発生した側のサーバは自動的にシステムから切り離される。しかし、もう一方の正常に稼働しているサーバは、障害発生前の時点から、すでに同じ処理を同じ状態で行っていたため、何の処理中断もなく、そのまま処理を継続できる。アプリケーションから見れば、まるで何も起こらなかったかのようにサービスが継続されるため、再起動やフェイルオーバーのための待機時間は発生しない。これが「無停止」と称される所以である。

FTサーバと混同されやすい概念に「HAクラスタ(High Availability Cluster)」がある。HAクラスタもシステムの可用性を高めるための仕組みだが、FTサーバとは設計思想と実現方法が異なる。HAクラスタは、通常、待機系(スタンバイ)サーバを用意し、現用系(アクティブ)サーバに障害が発生した場合に、待機系サーバへ処理を引き継ぐ(フェイルオーバー)方式である。このフェイルオーバーの際には、現用系サーバで稼働していたアプリケーションの再起動が必要になったり、データの一貫性を確認するための処理が行われたりするため、数秒から数十秒程度のサービス停止(ダウンタイム)が発生する可能性がある。これに対し、FTサーバは、前述の通り両方のサーバが常に同じ処理を実行しているため、障害発生時に「切り替え」の概念がなく、文字通りの無停止を実現する。HAクラスタが「停止時間の最小化」を目指すのに対し、FTサーバは「停止時間ゼロ(極めてゼロに近い)」を目指すと言える。

FTサーバの導入には、専用のハードウェアとソフトウェアが必要となることが一般的である。専用のハードウェアは、冗長化されたコンポーネントと、サーバ間の高速で信頼性の高い通信を可能にするインターコネクトを備えている。ソフトウェア面では、オペレーティングシステムレベルやハイパーバイザー(仮想化ソフトウェア)レベルでフォールトトレランス機能が実装されていることが多い。これにより、仮想マシンやその上で動作するアプリケーションを、物理サーバの障害から保護することが可能になる。

メリットとしては、最も高いレベルの可用性を実現し、計画外のダウンタイムによるビジネスへの影響を最小限に抑えられる点が挙げられる。また、アプリケーションが障害を意識する必要がないため、特別なプログラミングを施すことなく、通常のアプリケーションを無停止で稼働させられる。

一方で、デメリットも存在する。最も顕著なのは、その「コスト」である。専用のハードウェアやソフトウェアが必要となるため、一般的なサーバシステムと比較して導入費用が高額になる傾向がある。また、2台のサーバが常に同じ処理を同期しながら実行するため、リソースの利用効率がHAクラスタなどと比較して低い場合があり、パフォーマンスにも若干のオーバーヘッドが生じることがある。さらに、構成が複雑になるため、導入や運用にも専門的な知識が求められる。

現代では、クラウドコンピューティングの普及に伴い、仮想化技術を活用したFTサーバの提供も進んでいる。例えば、特定のクラウドサービスでは、仮想マシンを常に同期させておき、基盤となる物理サーバに障害が発生しても、仮想マシンの稼働を継続する機能が提供されている。これにより、物理的なFTサーバを自社で構築・運用するよりも、手軽にフォールトトレラントなシステムを構築する選択肢も増えてきている。しかし、その根本的な「無停止」を実現する思想は、ITシステムにおいて最高レベルの信頼性を求める場面で、今なお重要な技術として位置づけられている。

関連コンテンツ

関連IT用語