SunPlex システムはハードウェアと Sun Cluster ソフトウェアが統合されたソリューションであり、高度な可用性とスケーラビリティを備えたサービスを提供するために使用されます。 この章では、Sun Cluster 機能の概要を説明します。
この章の内容は次のとおりです。
クラスタとは、単一のシステムとして連係して動作する 2 つ以上のシステムまたはノードのことで、アプリケーションやシステムリソース、データをユーザーに提供する連続的な可用性を備えたシステムです。 クラスタの各ノードは、それぞれが十分に機能するスタンドアロンシステムです。 しかし、クラスタ環境では、すべてのノードがインターコネクトによって接続され、単一のエンティティとして動作しますので、可用性と性能が向上します。
HA を備えたクラスタは、通常、単一のサーバーシステムなら停止するような障害が発生しても、データやアプリケーションに対してほとんど連続的なアクセスを提供するように稼動し続けることができます。 ハードウェアやソフトウェア、ネットワークに単一障害が発生しても、それによってクラスタが停止することはありません。 これに対して、フォルトトレラントのハードウェアシステムは、データとアプリケーションに対する一定したアクセスを可能にしますが、特殊なハードウェアが必要なため、コストが高くなります。 フォルトトレラントシステムには通常、ソフトウェア障害に対する備えはありません。
個々の Sun Cluster システムは密接に関わり合ったノードの集合であり、すべてのネットワークサービスやアプリケーションが一元的に管理されます。 Sun Cluster システムは、次のハードウェアとソフトウェアの組み合わせを通して HA を実現します。
冗長化されたディスクシステム。 ストレージを提供するこれらのディスクシステムは一般にミラー化されるため、ディスクやサブシステムに障害が発生しても、操作が中断されることはありません。 さらに、ディスクシステムへの接続は冗長化されているため、サーバーやコントローラ、ケーブルに障害が発生しても、データにアクセスできなくなることはありません。 ディスクに直結されていないノードからリソースへのアクセスは、ノード間を結ぶ高速インターコネクトを通して行われます。 さらに、クラスタのすべてのノードがパブリックネットワークに接続されているため、複数のネットワークに散在するクライアントからクラスタにアクセスできます。
電源装置や冷却システムなど、冗長化されたホットスワップ可能コンポーネント。これらのコンポーネントは冗長化されているため、ハードウェアに障害が発生しても、システムは操作を続けることができ、可用性が向上します。 ハードウェアコンポーネントがホットスワップ可能であれば、そのコンポーネントを動作中のシステムから取り外したり、システムに追加することができます。そのためにシステムを停止する必要はありません。
Sun Cluster ソフトウェアフレームワーク。このフレームワークはノードの障害を素早く検知し、それと同一環境で動作する別のノードにアプリケーションやサービスを移行します。 すべてのアプリケーションが同時に使用不能になることはありません。 停止したノードと関係のないアプリケーションは、この復旧処理の間も全面的に使用可能です。 さらに、障害が発生したノードのアプリケーションは、復旧されると同時に使用可能になります。 復旧したアプリケーションは、ほかのすべてのアプリケーションが完全に復旧するまで待つ必要はありません。
システムで単一ソフトウェアまたはハードウェアの障害が発生してもあるアプリケーションが稼働し続けられる場合、そのアプリケーションには高い可用性があります。 ただし、アプリケーション自体のバグやデータは破損に起因する障害の場合は除きます。 HA のアプリケーションには次が適用されます。
リソースを使用するアプリケーションから、復旧は透過的に行われます。
リソースのアクセスは、ノードに障害が発生しても完全に保持されます。
アプリケーションのホストノードが別のノードに移行されたことをアプリケーションが検知することはありません。
単一ノードの障害は、このノードに接続されているファイルやデバイス、ディスクボリュームを使用する障害を受けないほかのノード上のプログラムへ、完全に透過的に行なわれます。
フェイルオーバーサービスやスケーラブルサービス、パラレルアプリケーションを使用すると、アプリケーションの高い可用性が実現し、クラスタで動作するアプリケーションの性能が向上します。
フェイルオーバーサービスでは、冗長性を通して HA を提供します。 障害が発生した場合、ユーザーが介入することなく、アプリケーションの設定に従って、稼動しているアプリケーションを同じノードで再起動するか、クラスタの別のノードに移動することができます。
スケーラブルサービスでは、性能を高めるために、クラスタの複数のノードでアプリケーションを同時に実行します。 スケーラブルな構成では、クラスタ内の各ノードが、データを提供して、クライアント要求を処理することができます。
PDB (パラレルデータベース) を使用すれば、データベースサーバーの複数のインスタンスを使って次のことができます。
クラスタに参加する。
同じデータベースに対する別々のクエリーを同時に処理する。
大規模なクエリーの場合、クエリーを並列に処理する。
フェイルオーバーサービスやスケーラブルサービス、パラレルアプリケーションについては、データサービスの型を参照してください。
クライアントは、パブリックネットワークを介してクラスタにデータ要求を行います。 各クラスタノードは、1 つまたは複数のパブリックネットワークアダプタを介して少なくとも 1 つのパブリックネットワークに接続されています。
IPMP では、サーバーの複数のネットワークポートを同じサブネットに接続できます。 IPMP ソフトウェアはネットワークアダプタ障害からの復旧をサポートします。そのために、まず、ネットワークアダプタの障害や修復を検知し、 次に、アダプタと代替アダプタとの間でネットワークアドレスを同時に切り替えます。 複数のネットワークアダプタが機能している場合、IPMP は、送信パケットをアダプタ間に分配することによってデータスループットの向上を図ります。
多重ホストストレージではディスクが複数のノードに接続されるため、ディスクの高い可用性が実現します。 この場合、データには複数のパスを通してアクセスできるため、1 つのパスに障害が発生しても、別のノードがその代わりをします。
多重ホストディスクの使用によって、次のクラスタ処理が可能になります。
1 つのノードに障害が発生しても動作を続ける。
アプリケーションデータやアプリケーションバイナリ、構成ファイルを一元化する。
ノードの障害からユーザーを保護する。 クライアント要求があるノードを介してデータにアクセスしていて失敗した場合、これらの要求は、同じディスクへの直接接続を持つ別のノードを使用するようにスイッチオーバーされます。
ディスクを「マスター」する稼動系を通して広域にアクセスするか、ローカルパスを通して直接かつ並列にアクセスする。
ボリュームマネージャを使用すると、大量のディスクやそこに格納されているデータを管理することができます。 ボリュームマネージャは、次のような機能を使ってストレージの容量やデータの可用性を高めます。
ディスクドライブのストライピングやコンカチネーション
ディスクのミラー化
ディスクドライブのホットスペア
ディスク障害への対応とディスクの交換
Sun Cluster システムは、次のボリュームマネージャをサポートします。
Solaris Volume Manager
VERITAS Volume Manager
Sun StorEdge Traffic Manager ソフトウェアは、Solaris Operating System 8 からそのコア入出力フレームワークに完全に組み込まれています。 Sun StorEdge Traffic Manager ソフトウェアを使用すると、Solaris オペレーティング環境の単一インスタンス内で複数の入出力コントローラインタフェースを通してアクセスされるデバイスの表現や管理が効果的になります。 Sun StorEdge Traffic Manager アーキテクチャーには、次の機能が備わっています。
入出力コントローラの障害による入出力の中断を防止する。
入出力コントローラの障害時に代替のコントローラに自動的に切り替える。
複数の入出力チャネルに負荷をロードバランスさせることによって、入出力の性能を高める。
Sun Cluster システムでは、ハードウェア (RAID) Redundant Array of Independent Disks やホストベースのソフトウェア RAID が使用できます。 ハードウェア RAID では、ストレージアレイまたはストレージシステムのハードウェアの冗長性を使って、個々のハードウェア障害がデータの可用性に影響がないようにします。 別々のストレージアレイ間でデータがミラー化されている場合には、ホストベースの RAID を使って、個別のハードウェア障害 (ある1つのストレージアレイが完全にオフライン) がデータの可用性に影響がないようにします。 ハードウェア RAID とホストベースのソフトウェア RAID を同時に使用することもできますが、ある程度の高いデータ可用性を維持するために、1 つの RAID ソリューションだけを使用することもできます。
クラスタシステム本来の特性の 1 つにリソースの共有があります。そのため、クラスタには、ファイルを一貫性のある方法で共有できるファイルシステムが欠かせません。 Sun Cluster ファイルシステムでは、遠隔またはローカルの UNIX 標準 API を使って、ユーザーやアプリケーションからクラスタのどのノードにあるファイルにでもアクセスできます。 アプリケーションが、あるノードから別のノードに移動されても、そのアプリケーションは変更なしで同じファイルにアクセスできます。 さらに、既存のアプリケーションでクラスタファイルシステムを使用する場合、アプリケーションを変更する必要はありません。
Sun Cluster システムでは、多重ホストディスクやマルチパス、グローバルファイルシステムを使って、ユーザーとデータ間のパスの高い可用性を維持します。 Sun Cluster システムは、次のコンポーネントの障害を監視します。
アプリケーション – ほとんどの Sun Cluster データサービスは、データサービスの健全性を周期的に検証するフォルトモニターを備えています。 フォルトモニターは、アプリケーションデーモン (1 つまたは複数) が正常に動作し、クライアントにサービスを提供しているかどうかを検証します。 さらに、フォルトモニターは、検証機能から返される情報に基づいて、デーモンの再起動やフェイルオーバーの指示など、事前に定義されたアクションを開始できます。
ディスクパス – Sun Cluster ソフトウェアは、ディスクパス監視機能 (DPM) をサポートします。 DPM は二次ディスクパスの障害を報告することによって、フェイルオーバーやスイッチオーバーの信頼性を全体的に向上します。
インターネットプロトコル (IP) マルチパス – Sun Cluster システムで動作する Solaris IP ネットワークマルチパス (IPMP) ソフトウェアは、パブリックネットワークアダプタを監視する基本的なメカニズムです。 さらに、障害が検知されると、IPMPソフトウェアは、IP アドレスをあるアダプタから別のアダプタにフェイルオーバーします。
Sun Cluster システムのインストールや構成、管理は、SunPlex Manager GUI から行うこともできますし、コマンド行インタフェース (CLI) を使って行うこともできます。
さらに、Sun Cluster システムには、Sun Management Center ソフトウェアの中で動作するモジュールが含まれています。これは、クラスタの一部の作業を行う時の GUI になります。
SunPlex Manager は、Sun Cluster システムの管理に使用するブラウザベースのツールです。 管理者は、SunPlex Manager ソフトウェアを通して、システムの管理や監視、ソフトウェアのインストール、システムの構成を行うことができます。
SunPlex Manager ソフトウェアには、次の機能があります。
組み込まれたセキュリティや認証のメカニズム
Secure Sockets Layer (SSL) のサポート
役割によるアクセス制御 (RBAC)
PAM
NAFO (Network Adapter Fail Over) および IPMP グループ管理機能
クォーラムデバイスやトランスポート、共有ストレージデバイス、リソースグループの管理
プライベートインターコネクトの高度なエラーチェックや自動検知
Sun Cluster コマンド行インタフェースは、Sun Cluster システムのインストールや管理を行ったり、Sun Cluster ソフトウェアのボリュームマネージャ部分を管理する一連のユーティリティです。
Sun Cluster CLI では、次の SunPlex 管理タスクを行うことができます。
Sun Cluster 構成の確認
Sun Cluster ソフトウェアのインストールと構成
Sun Cluster 構成の更新
リソースタイプの登録、リソースグループの作成、リソースグループ内のリソースの起動を管理する
リソースグループとディスクデバイスグループのノードのマスターや状態を変更する
役割によるアクセス制御 (RBAC) に基づくアクセス制御
クラスタ全体の停止
Sun Cluster システムには、Sun Management Center ソフトウェアの中で動作するモジュールが含まれています。 Sun Management Center ソフトウェアは、管理や監視の操作を行う際のクラスタの基盤となるものです。システム管理者は、GUI や CLI を通して次の作業を行うことができます。
遠隔システムの構成
性能の監視
ハードウェアやソフトウェア障害の検知と分離
Sun Management Center ソフトウェアは、Sun Cluster サーバー内での動的再構成 (DR) を管理するインタフェースとしても使用されます。 動的再構成には、ドメインの作成や、ボードの動的な接続、動的な切り離しがあります。
従来の UNIX システムでは、root ユーザー (スーパーユーザー) はすべての権限を持ちます。つまり、任意のファイルに対する読み取り権と書き込み権、すべてのプログラムの実行権、および任意のプロセスに終了シグナルを送信する権限があります。 Solaris の役割によるアクセス制御 (RBAC) は、スーパーユーザーモデルの権限をすべて与えるか、またはまったく与えないかの機能を置き換えます。 RBAC では、基本的に最小限の特権以外は許可しません。つまり、そのユーザーに必要な特権だけを許可します。
RBAC を使用すれば、スーパーユーザーの権限を分割し、それらの権限を特別なユーザーアカウントや役割としてパッケージ化し、それによって、権限を特定の個人に割り当てることができます。 このような分割やパッケージ化によって、さまざまなセキュリティポリシーの作成が可能になります。 たとえば、セキュリティやネットワーキング、ファイアウォール、バックアップ、システム操作など、さまざまな分野で特定目的の管理者用アカウントを設定できます。