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で送受信するかは、クラスタ構成ファイルと呼ばれるテキストファイルに記述します。

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サーバに登録することができます。


前のページ  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の共有ストレージ接続構成とストレージパスのフェイルオーバー
  ネットワーク障害時におけるクラスタロック
  パッケージ制御スクリプト