クラスタとは、緩やかに結合された処理ノードの集合のことで、データベース、Web サービス、ファイルサービスなどのネットワークサービスやアプリケーションを、クライアントからは 1 つのシステムに見える形で提供します。
クラスタ環境では、すべてのノードがインターコネクトによって接続され、単一のエンティティーとして動作するので、可用性と性能が向上します。
HA を備えたクラスタは、通常、単一のサーバーシステムなら停止するような障害が発生しても、データやアプリケーションに対してほとんど連続的なアクセスを提供するように稼動し続けることができます。ハードウェア、ソフトウェア、またはネットワークの単一の故障によりクラスタに障害が発生することはありません。これに対して、フォルトトレラントのハードウェアシステムは、データとアプリケーションに対する一定したアクセスを可能にしますが、特殊なハードウェアが必要なため、コストが高くなります。フォルトトレラントシステムには通常、ソフトウェア障害に対する備えはありません。
個々の Sun Cluster システムは密接に関わり合ったノードの集合であり、すべてのネットワークサービスやアプリケーションが一元的に管理されます。Sun Cluster システムは、次のハードウェアとソフトウェアの組み合わせを通して HA を実現します。
冗長化されたディスクシステム。ストレージを提供するこれらのディスクシステムは一般にミラー化されるため、ディスクやサブシステムに障害が発生しても、操作が中断されることはありません。さらに、ディスクシステムへの接続は冗長化されているため、サーバーやコントローラ、ケーブルに障害が発生しても、データにアクセスできなくなることはありません。リソースへのアクセスは、Solaris ホスト間を結ぶ高速インターコネクトを通して行われます。さらに、クラスタのすべてのホストがパブリックネットワークに接続されているため、複数のネットワークに散在するクライアントからクラスタにアクセスできます。
電源装置や冷却システムなど、冗長化されたホットスワップ可能コンポーネント。これらのコンポーネントは冗長化されているため、ハードウェアに障害が発生しても、システムは操作を続けることができ、可用性が向上します。ハードウェアコンポーネントがホットスワップ可能であれば、そのコンポーネントを動作中のシステムから取り外したり、システムに追加することができます。そのためにシステムを停止する必要はありません。
Sun Cluster ソフトウェアフレームワーク。このフレームワークはノードの障害を素早く検知し、それと同一環境で動作する別のノードにアプリケーションやサービスを移行します。すべてのアプリケーションが同時に使用不能になることはありません。停止したノードと関係のないアプリケーションは、この復旧処理の間も全面的に使用可能です。さらに、障害が発生したノードのアプリケーションは、復旧されると同時に使用可能になります。復旧したアプリケーションは、ほかのすべてのアプリケーションが完全に復旧するまで待つ必要はありません。
システムで単一ソフトウェアまたはハードウェアの障害が発生してもあるアプリケーションが稼働し続けられる場合、そのアプリケーションには高い可用性があります。ただし、アプリケーション自体のバグやデータ破損に起因する障害の場合は除きます。HA のアプリケーションには次が適用されます。
リソースを使用するアプリケーションから、復旧は透過的に行われます。
リソースのアクセスは、ノードに障害が発生しても完全に保持されます。
アプリケーションのホストノードが別のノードに移行されたことをアプリケーションが検知することはありません。
単一ノードの障害は、このノードに接続されているファイルやデバイス、ディスクボリュームを使用する、その他の障害を受けないノード上のプログラムに対し、完全に透過的です。
フェイルオーバーサービスやスケーラブルサービス、パラレルアプリケーションを使用すると、アプリケーションの高い可用性が実現し、クラスタで動作するアプリケーションの性能が向上します。
フェイルオーバーサービスでは、冗長性を通して HA を提供します。障害が発生した場合、ユーザーが介入することなく、アプリケーションの設定に従って、稼動しているアプリケーションを同じノードで再起動するか、クラスタの別のノードに移動することができます。
スケーラブルサービスでは、性能を高めるために、クラスタの複数のノードでアプリケーションを同時に実行します。スケーラブルな構成では、クラスタ内の各ノードが、データを提供して、クライアント要求を処理することができます。
PDB (パラレルデータベース) を使用すれば、データベースサーバーの複数のインスタンスを使って次のことができます。
クラスタに参加する。
同じデータベースに対する別々のクエリーを同時に処理する。
大規模なクエリーの場合、クエリーを並列に処理する。
フェイルオーバーサービスとスケーラブルサービス、およびパラレルアプリケーションの詳細については、「データサービスのタイプ」を参照してください。
クライアントは、パブリックネットワークを介してクラスタにデータ要求を行います。各 Solaris ホストは、1 つまたは複数のパブリックネットワークアダプタを介して少なくとも 1 つのパブリックネットワークに接続されています。
IP ネットワークマルチパス では、サーバーの複数のネットワークポートを同じサブネットに接続できます。IP ネットワークマルチパス ソフトウェアはネットワークアダプタ障害からの復旧をサポートします。そのために、まず、ネットワークアダプタの障害や修復を検知し、次に、アダプタと代替アダプタとの間でネットワークアドレスを同時に切り替えます。複数のネットワークアダプタが機能している場合、IP ネットワークマルチパス は、送信パケットをアダプタ間に分配することによってデータスループットの向上を図ります。
多重ホストストレージではディスクが複数の Solaris ホストに接続されるため、ディスクの高い可用性が実現されます。この場合、データに複数のパスを通してアクセスできるため、1 つのパスに障害が発生しても、別のホストがその代わりをします。
多重ホストディスクの使用によって、次のクラスタ処理が可能になります。
単一ホストに障害が発生しても処理を継続する。
アプリケーションデータやアプリケーションバイナリ、構成ファイルを一元化する。
ホストの障害からユーザーを保護する。クライアント要求があるホストを介してデータにアクセスしているときにそのホストに障害が発生した場合、これらの要求は、同じディスクに対する直接接続を持つ別のホストを使用するようにスイッチオーバーされます。
ディスクを「マスター」する主ホストを通したグローバルなアクセス、またはローカルパスを通した直接かつ並列のアクセスを提供する。
ボリュームマネージャーを使用すると、大量のディスクやそこに格納されているデータを管理することができます。ボリュームマネージャーは、次のような機能を使ってストレージの容量やデータの可用性を高めます。
ディスクドライブのストライピングやコンカチネーション
ディスクのミラー化
ディスクドライブのホットスペア
ディスク障害への対応とディスクの交換
Sun Cluster システムは、次のボリュームマネージャーをサポートします。
Solaris Volume Manager
Solaris Volume Manager for Sun Cluster (Oban)
Veritas Volume Manager
Solaris I/O マルチパス (MPxIO) (以前の名称は Sun StorEdge Traffic Manager) は、Solaris オペレーティングシステム I/O フレームワークに完全に統合されています。Solaris I/O マルチパスを使用すると、Solaris オペレーティングシステムの単一インスタンス内にある複数の I/O コントローラインタフェースを通してアクセス可能なデバイスを、表示および管理することができます。
Solaris I/O マルチパスアーキテクチャーは、次の機能を提供します。
入出力コントローラの障害による入出力の中断を防止する。
入出力コントローラの障害時に代替のコントローラに自動的に切り替える。
複数の入出力チャネルに負荷をロードバランスさせることによって、入出力の性能を高める。
Sun Cluster システムでは、ハードウェア独立ディスク冗長アレイ (Redundant Array of Independent Disks、RAID) やホストベースのソフトウェア RAID が使用できます。ハードウェア RAID では、ストレージアレイまたはストレージシステムのハードウェアの冗長性を使って、個々のハードウェア障害がデータの可用性に影響がないようにします。別々のストレージアレイ間でデータがミラー化されている場合には、ホストベースの RAID を使って、個別のハードウェア障害 (ある1つのストレージアレイが完全にオフライン) がデータの可用性に影響がないようにします。ハードウェア RAID とホストベースのソフトウェア RAID を同時に使用することもできますが、ある程度の高いデータ可用性を維持するために、1 つの RAID ソリューションだけを使用することもできます。
クラスタシステム本来の特性の 1 つにリソースの共有があります。そのため、クラスタには、ファイルを一貫性のある方法で共有できるファイルシステムが欠かせません。Sun Cluster のファイルシステムでは、クラスタファイルシステムにより、ユーザーやアプリケーションはリモートまたはローカルの標準 UNIX API を使用して、任意のノードの任意のファイルにアクセスできます。Sun Cluster システムは、次のクラスタファイルシステムをサポートします。
Solaris ZFSTM
UNIX ファイルシステム (UFS)
Sun StorEdge QFS ファイルシステム、および Sun QFS 共有ファイルシステム
Sun Cluster プロキシファイルシステム (PxFS)
VERITAS ファイルシステム (VxFS)
アプリケーションが、あるノードから別のノードに移動されても、そのアプリケーションは変更なしで同じファイルにアクセスできます。さらに、既存のアプリケーションでクラスタファイルシステムを使用する場合、アプリケーションを変更する必要はありません。
標準の Sun Cluster システムは、高可用性と信頼性を 1 箇所から集中的に実現します。地震、洪水、停電などの予測不可能な災害の発生後でもアプリケーションを使用可能なまま維持する必要がある場合は、クラスタを構内クラスタとして構成できます。
構内クラスタでは、数キロメートル離れた別の建物に Solaris ホストや共有ストレージなどのクラスタコンポーネントを配置できます。Solaris ホストと共有ストレージを分離し、それらを企業構内の別の場所や、数キロメートルの範囲にある別の施設内に配置することが可能です。1 箇所に災害が発生しても、残存するホストが障害の発生したホストのサービスを引き継ぐことができます。これにより、ユーザーは引き続きアプリケーションとデータを使用できます。構内クラスタの構成についての詳細は、『Sun Cluster 3.1 - 3.2 Hardware Administration Manual for Solaris OS 』を参照してください。