LinuxでもHAクラスタ
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が生きている限りクラスタは稼動し続けます。ハートビートの パケットをどのネットワークインタフェースで送受信するかは、クラスタ構成ファイルとよばれるテキストファイルに記述します。
SGLXにおけるNICの通信に関するフェールオーバー機能は、Linux上で動作するbondingドライバが担当します。最近のエンタープライ ズ用途のLinuxディストリビューションの多くはOS標準でbondingドライバを持っています。bondingドライバを持たない比較的古いディス トリビューションでは、HP製のbondingドライバをインストールしていましたが、現在はOSが標準で持つbondingドライバを利用してSGLX の冗長LAN構成を組むことが可能となっています。
次回は
クラスタリングの必要性については省いて、Linuxでのクラスタリングについて説明を進めてきました。今回の説明でも、RHELで行うクラスタがいかに便利かがわかるかと思います。続く次回はクラスタノードについて説明します。