Sun Cluster 構成はハードウェアと Sun Cluster ソフトウェアが統合されたソリューションであり、高度な可用性とスケーラビリティーを備えたサービスを提供するために使用されます。 この章では、Sun Cluster 機能の概要を説明します。
この章で説明する内容は次のとおりです。
クラスタとは、緩やかに結合された処理ノードの集合のことで、データベース、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 』を参照してください。
Sun Cluster システムでは、多重ホストディスク、マルチパス、およびクラスタファイルシステムを使って、ユーザーとデータ間のパスの高い可用性を維持します。Sun Cluster システムは、次のコンポーネントの障害を監視します。
アプリケーション – ほとんどの Sun Cluster データサービスは、データサービスの健全性を周期的に検証するフォルトモニターを備えています。フォルトモニターは、アプリケーションデーモンが動作しているかどうかや、クライアントにサービスが提供されているかどうかを検証します。さらに、フォルトモニターは、検証機能から返される情報に基づいて、デーモンの再起動やフェイルオーバーの指示など、事前に定義されたアクションを開始できます。
ディスクパス – Sun Cluster ソフトウェアは、ディスクパス監視機能 (DPM) をサポートします。DPM は二次ディスクパスの障害を報告することによって、フェイルオーバーやスイッチオーバーの信頼性を全体的に向上します。
インターネットプロトコル (IP) マルチパス – Sun Cluster システムで動作する Solaris IP ネットワークマルチパス (IPMP) ソフトウェアは、パブリックネットワークアダプタを監視する基本的なメカニズムです。さらに、障害が検知されると、IPMPソフトウェアは、IP アドレスをあるアダプタから別のアダプタにフェイルオーバーします。
定足数デバイス – Sun Cluster ソフトウェアは、定足数デバイス監視機能をサポートしています。定足数デバイス上で定足数が動作しているかどうかが周期的にテストされます。Sun Cluster ソフトウェアは、障害を検出すると、障害を報告して、正常に動作していない定足数デバイスをマーク付けします。以前は障害を起こしていた定足数デバイスが正常な処理に戻っているのを発見すると、自動的にその定足数デバイスをサービスに復帰させます。定足数デバイスをサービスに復帰させるときには、デバイスに正しい定足数予約情報が配置されます。Sun Cluster システムは、保守モードでない構成済みの定足数デバイスを、種類にかかわらず、自動的に監視します。
Sun Cluster システムのインストールや構成、管理は、Sun Cluster Manager GUI またはコマンド行インタフェース (Command-Line Interface、CLI) を使って行うことができます。
さらに、Sun Cluster システムには、Sun Management Center ソフトウェアの中で動作するモジュールが含まれています。これは、クラスタの一部の作業を行う時の GUI になります。
Sun Cluster Manager は、Sun Cluster システムの管理に使用するブラウザベースのツールです。管理者は、Sun Cluster Manager ソフトウェアを通して、システムの管理や監視、ソフトウェアのインストール、システムの構成を行うことができます。
Sun Cluster Manager ソフトウェアには、次の機能があります。
組み込まれたセキュリティーや認証のメカニズム
Secure Sockets Layer (SSL) のサポート
役割によるアクセス制御 (Role-Based Access Control、RBAC)
Pluggable Authentication Module (PAM)
NAFO および IPMP グループ管理機能
定足数デバイスやトランスポート、共有ストレージデバイス、リソースグループの管理
プライベートインターコネクトの高度なエラーチェックや自動検知
Sun Cluster コマンド行インタフェース (Command-Line Interface、CLI) は、Sun Cluster システムのインストールや管理を行なったり、Sun Cluster ソフトウェアのボリュームマネージャー部分を管理する一連のユーティリティーです。
Sun Cluster CLI では次の Sun Cluster の管理作業を実行できます。
Sun Cluster 構成の確認
Sun Cluster ソフトウェアのインストールと構成
Sun Cluster 構成の更新
リソースタイプの登録、リソースグループの作成、リソースグループ内のリソースの起動を管理する
リソースグループとデバイスグループのノードのマスターや状態を変更する
役割によるアクセス制御 (Role-Based Access Control、RBAC) に基づくアクセス制御
クラスタ全体の停止
Sun Cluster システムには、Sun Management Center ソフトウェアの中で動作するモジュールが含まれています。Sun Management Center ソフトウェアは、管理や監視の操作を行う際のクラスタの基盤となるものです。システム管理者は、GUI や CLI を通して次の作業を行うことができます。
遠隔システムの構成
性能の監視
ハードウェアやソフトウェア障害の検知と分離
Sun Management Center ソフトウェアは、Sun Cluster サーバー内での動的再構成を管理するインタフェースとしても使用されます。動的再構成には、ドメインの作成や、ボードの動的な接続、動的な切り離しがあります。
従来の UNIX システムでは、root ユーザー (スーパーユーザー) はすべての権限を持ちます。つまり、任意のファイルに対する読み取り権と書き込み権、すべてのプログラムの実行権、および任意のプロセスに終了シグナルを送信する権限があります。Solaris の役割によるアクセス制御 (Role-Based Access Control、RBAC) は、権限をすべて与えるかまったく与えないかの二者択一的なスーパーユーザーモデルに代わるものです。RBAC では、基本的に最小限の特権以外は許可しません。つまり、そのユーザーに必要な特権だけを許可します。
RBAC を使用すれば、スーパーユーザーの権限を分割し、それらの権限を特別なユーザーアカウントや役割としてパッケージ化し、それによって、権限を特定の個人に割り当てることができます。このような分割やパッケージ化によって、さまざまなセキュリティーポリシーの作成が可能になります。たとえば、セキュリティーやネットワーキング、ファイアウォール、バックアップ、システム操作など、さまざまな分野で特定目的の管理者用アカウントを設定できます。