Japan
サイト内の現在位置を表示しています。
HAクラスター入門 ~第3回 複数のサーバーでクラスタリング?~
CLUSTERPRO オフィシャルブログ ~クラブロ~はじめに
さて、前回の続きです。サーバー内のコンポーネントは様々な冗長化技術でSPOF(Single Point Of Failure、単一障害点) となるのを回避できますが、OSそのものはそうはいきません。つまり冗長化に関して一台のサーバーではどうやら限界がありそうです。そこで今回は複数のサーバーを使った冗長化について説明したいと思います。
複数のサーバーを使って冗長化することをクラスタリングと呼びます。システムを障害から守るための構成としてよく用いられるのが、負荷分散クラスターとHAクラスターと呼ばれる構成です。
負荷分散クラスター
負荷分散クラスターはWebサーバーでよく利用され、構成としては以下のようなものになります。
Webサーバーにアクセスする際、クライアントはWebサーバーに直接アクセスするのではなく、負荷分散装置(ロードバランサー)に対してアクセスします。複数のクライアントからのアクセスは負荷分散装置によって各サーバーに振り分けられ処理されます。クライアントからのアクセスを複数のサーバーで分担、処理することで、負荷を分散させることができます。
こうすることで一台のサーバーでは実現できない数のアクセスを処理することができるようになり、仮にサーバーが一台故障してしまっても他のサーバーが正常に稼動していればクライアントからのアクセスに対応することができるようになるわけです。
HAクラスター
HAとは『High Availablility(高可用性)』の略です。『Availability(可用性)』とはシステムが継続的に稼動できる能力のことを言いますが、HAクラスターによりその能力を高めることができます。
HAクラスターはDBサーバーでよく利用され、構成としては以下のようなものになります。
HAクラスターでは、全てのサーバーでアプリケーション(今回の例ではDBアプリケーション)が同時に稼動することはありません。一台のサーバーでアプリケーションが稼動していれば、他のサーバーではアプリケーションは停止状態となっています。ここが負荷分散クラスターとの一番大きな違いです。
負荷分散クラスターでは負荷分散装置から割り振られるアクセスを各サーバーで対応するため、アプリケーションは全てのサーバーで稼動しているのが前提です。
一方、HAクラスターではアプリケーションが稼動しているサーバー(アクティブサーバー)とそうでないサーバー(スタンバイサーバー)は明確に区別されます。もしアプリケーションが稼動しているサーバーで障害が発生しても、アプリケーションの稼動を他のサーバーが引き継ぐことで可用性を高めることができます。
さて、『アプリケーションの稼動を他のサーバーが引き継ぐ』とは具体的にどのようなイメージなのでしょうか。それは次回までのお楽しみということで今回はここまで。
おまけ
『負荷分散クラスターと HAクラスター、結局どっちを使えばいいの?』と疑問がわいてくると思いますが、システムの可用性を高めたい場合、つまりサーバーに障害があってもシステムを止めたくないような場合、使用するアプリケーションの仕様やシステムの目的によってクラスター構成を選択する必要があります。
まずは負荷分散クラスターの構成を検討します。もし使用するアプリケーションが負荷分散クラスターに対応していなければ『HAクラスター』の構成を検討しますが、この辺はアプリケーションの仕様に大きく依存するため、最終的にはアプリケーションベンダーに確認をする必要があります。
次の記事はこちら:HAクラスター入門 ~第4回 フェールオーバーによる業務の引き継ぎとは?~
お問い合わせ