TOP
>
比較データ
> SGLXの共有ストレージ接続構成とストレージパスのフェイルオーバー
徹底比較!!クラスタソフトウェア
第6回:Serviceguard for Linuxで実現するHAクラスタ
著者:
日本ヒューレット・パッカード 古賀 政純
2005/12/19
前のページ
1
2
3
4
次のページ
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で送受信するかは、クラスタ構成ファイルと呼ばれるテキストファイルに記述します。
図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アドレスもそのサービスの数だけ複数持つことが可能です。
図3:SGLXにおけるApache、MySQL、Sambaの仮想IPアドレス(障害発生前の状態)
(画像をクリックすると別ウィンドウに拡大図を表示します)
サービスを提供していたクラスタノードに障害が発生しても、他のノードがそのサービスに関連づけられた仮想IPアドレスを引き継ぎ、クライアントは障害前と同じIPアドレスでサービスを受けることが可能となります。
この仮想IPアドレスの機能によって、クライアントがクラスタのどのノードでサービスが稼動しているかを意識することなくサービスが稼動しているクラスタノードへアクセスすることができます。
図4:仮想IPにより、障害前と同じIPアドレスで各種サービスが利用可能
(画像をクリックすると別ウィンドウに拡大図を表示します)
SGLXにおいて仮想IPを実現するには、パッケージ制御スクリプトと呼ばれるファイルに仮想IPアドレスを記述します。仮想IPアドレスはステーショナリIPアドレスと同様に、/etc/hostsファイルやDNSサーバに登録することができます。
前のページ
1
2
3
4
次のページ
著者プロフィール
日本ヒューレット・パッカード株式会社
古賀 政純
2000年よりUNIXベースのHAクラスタシステム及び、科学技術計算システムのプリセールスに従事。並列計算プログラミング講習会などを実施。その後、大手製造業及び官公庁系の大規模Linuxクラスタの導入、システムインテグレーションを経験。現在は、大規模エンタープライズ環境向けのLinuxブレードサーバ及びHP Serviceguard for Linux(HAクラスタソフトウェア)のプリセールスサポート、システム検証を担当している。毎日、Linuxサーバと寝食を共に(?)しています。
INDEX
第6回:Serviceguard for Linuxで実現するHAクラスタ
Serviceguard for Linuxの特徴
SGLXの共有ストレージ接続構成とストレージパスのフェイルオーバー
ネットワーク障害時におけるクラスタロック
パッケージ制御スクリプト