徹底比較!!クラスタソフトウェア 6

SGLXの共有ストレージ接続構成とストレージパスのフェイルオーバー

SGLXの共有ストレージ接続構成とストレージパスのフェイルオーバー

   SGLXの共有ストレージは、ホストバスアダプタ/スイッチ/ストレージコントローラ/ストレージパスのすべてを冗長構成にしています。

   クラスタノードのPCIスロットにホストバスアダプタを2枚接続し、各ホストバスアダプタはそれぞれ冗長構成されたFibre Channelスイッチに接続します。スイッチと共有ストレージ間も冗長されたパスを持っており、Fibre Channelスイッチの1つに障害が発生しても共有ストレージへのパスは確保されます。

   さらに共有ストレージに搭載されたコントローラも冗長構成になっており、コントローラに障害が発生した場合でも共有ストレージへのパスを確保するようになっています。

   以上のことから、ホストバスアダプタ/スイッチ/共有ストレージコントローラの冗長構成によってノードとストレージ間における単一障害点を排除して います。SGLXでは、冗長構成されたホストバスアダプタのドライバに、OSに添付されている標準のドライバではなくHP製のQlogic failoverドライバを使用します。

SGLXで推奨されるネットワーク構成とNICのフェイルオーバー

   クラスタノードはお互いのノードの生死監視専用のハートビートLANとネットワークサービスが利用するLAN(一般にはサービスLANやユーザLAN、データLANと呼びます)を構成します。

   SGLXにおけるサービスLAN用のNICには、bonding構成を強く推奨します。サービスLANをbonding構成にしないクラスタは可用 性が低下するためです。さらにSGLXではハートビートLANの冗長構成として、サービスLANとハートビートLANを兼用しハートビートパケットはハー トビート専用LANとサービスLANの2つに流れます。

   ハートビートLANとサービスLANは別セグメントに構築することが推奨されており、別セグメントのLAN上にハートビートパケットを流すことによって、ハートビートLAN自体の冗長構成を実現します。

   これにより、ハートビートLANの1つに障害が発生したとしてもクラスタノード間のハートビートは保たれ、クラスタノードの生死監視は継続します。 SGLXではハートビート専用LANに障害が発生しても別セグメントでハートビートLANが生きている限りクラスタは稼動し続けます。ハートビートのパ ケットをどのNICで送受信するかは、クラスタ構成ファイルと呼ばれるテキストファイルに記述します。


Serviceguard for LinuxにおけるNICのフェイルオーバー
図2:Serviceguard for LinuxにおけるNICのフェイルオーバー
(画像をクリックすると別ウィンドウに拡大図を表示します)

   SGLXにおけるNICの通信に関するフェイルオーバー機能はbondingドライバが担当します。最近のエンタープライズ用途のLinuxディス トリビューションの多くは標準でbondingドライバを持っています。bondingドライバを持たない比較的古いディストリビューションではHP製の bondingドライバをインストールすることも可能ですが、現在はOSが標準で持つbondingドライバを利用してSGLXの冗長LAN構成を組むこ とが可能です。

SGLXにおける仮想IPアドレス

   SGLXで構成されたHAクラスタシステムは、複数のクラスタノードから構成されているため、ノードごとにそれぞれ固有のIPアドレスを持っています。これをステーショナリIPアドレスと呼びます。

   クラスタサービスが起動しているいないにかかわらず、メンテナンスなどの理由により、クラスタノードに直接ログインしなければならない場合は、ステーショナリIPアドレスを使ってアクセスします。

   またSGLXには仮想IPアドレスと呼ばれる機能があります。仮想IPアドレスにより、クライアント側からみるとクラスタシステムがあたかも単一サーバからサービスが提供されているかのように見えます。

   仮想IPアドレスは、ホストに対して割り当てられるのではなくSGLXが提供するサービスに対して割り当てられます。SGLXでは複数の異なるサー ビスを同時にクライアントに提供することができますので、仮想IPアドレスもそのサービスの数だけ複数持つことが可能です。


SGLXにおけるApache、MySQL、Sambaの仮想IPアドレス(障害発生前の状態)
図3:SGLXにおけるApache、MySQL、Sambaの仮想IPアドレス(障害発生前の状態)
(画像をクリックすると別ウィンドウに拡大図を表示します)

   サービスを提供していたクラスタノードに障害が発生しても、他のノードがそのサービスに関連づけられた仮想IPアドレスを引き継ぎ、クライアントは障害前と同じIPアドレスでサービスを受けることが可能となります。

   この仮想IPアドレスの機能によって、クライアントがクラスタのどのノードでサービスが稼動しているかを意識することなくサービスが稼動しているクラスタノードへアクセスすることができます。


仮想IPにより、障害前と同じIPアドレスで各種サービスが利用可能
図4:仮想IPにより、障害前と同じIPアドレスで各種サービスが利用可能
(画像をクリックすると別ウィンドウに拡大図を表示します)

   SGLXにおいて仮想IPを実現するには、パッケージ制御スクリプトと呼ばれるファイルに仮想IPアドレスを記述します。仮想IPアドレスはステーショナリIPアドレスと同様に、/etc/hostsファイルやDNSサーバに登録することができます。

この記事をシェアしてください

人気記事トップ10

人気記事ランキングをもっと見る