Sun Cluster Geographic Edition ソフトウェアは、地理的に分散した複数のクラスタを使用することにより、アプリケーションが突然使用不能になることを防ぎます。これらのクラスタには、クラスタ間で複製されたデータを管理する Sun Cluster Geographic Edition インフラストラクチャーの同一のコピーが置かれます。Sun Cluster Geographic Edition ソフトウェアは、Sun Cluster ソフトウェアを階層的に拡張したものです。
この章で説明する内容は次のとおりです。
管理作業を開始する前に、『Sun Cluster Geographic Edition Installation Guide 』 and the 『Sun Cluster Geographic Edition の概要』に目を通し、計画関連の情報を把握してください。このマニュアルでは、Sun Cluster Geographic Edition 構成の管理と保守のための基本的な作業を紹介します。
Sun Cluster、データサービス、ハードウェア管理関連の一般的な作業については、Sun Cluster のマニュアルを参照してください。
管理者は、Sun Cluster Geographic Edition ソフトウェアを稼働させているクラスタに対し、どのノードやクラスタにも障害を与えることなく、あらゆる管理作業を実施できます。Sun Cluster Geographic Edition ソフトウェアのインストール、構成、起動、使用、停止、およびアンインストールは、稼動中のクラスタで実行できます。
データ複製ソフトウェアのインストールや、Sun Cluster 管理作業の実行などの準備作業では、ノードまたはクラスタをオフラインにするように求められることがあります。管理上の制限事項については、適切な製品マニュアルを参照してください。
Sun Cluster Geographic Edition ソフトウェアが稼働しているクラスタ上の管理作業は、グラフィカルユーザーインタフェース (GUI) またはコマンド行インタフェース (CLI) を使用して行えます。
このマニュアルでは、CLI を使用して管理作業を行う方法について説明します。
Sun Cluster ソフトウェアは、Sun Cluster Manager という GUI ツールをサポートします。このツールを使用して、クラスタ上でさまざまな管理作業を実施できます。Sun Cluster Manager の具体的な使用方法については、Sun Cluster のオンラインヘルプを参照してください。
Sun Cluster Manager – Geographic Edition GUI を使用して Sun Cluster Geographic Edition を管理する場合は、パートナーシップにある両方のクラスタのすべてのノードでルートパスワードが同じであることを確認してください。
GUI を使用して Sun Cluster Geographic Edition ソフトウェアを管理できるようにするには、あらかじめ geoadm start コマンドを使用してソフトウェアインフラストラクチャーを有効にしておく必要があります。geoadm start コマンドと geoadm stop コマンドの実行は、シェルを使用して行います。Sun Cluster Geographic Edition インフラストラクチャーの有効化と無効化については、第 3 章「Sun Cluster Geographic Edition インフラストラクチャーの管理」を参照してください。
パートナーシップに参加していないカスタムハートビートは、GUI では作成できません。パートナーシップへの参加操作でカスタムハートビートを指定する場合は、CLI を使用して geops join-partnership コマンドを実行します。
GUI を起動するには、Java および JavaScript に対応したブラウザから次の URL に移動し、Sun Administration Console にルートとしてログインします。
RBAC は GUI 内ではサポートされていません。
https://clustername:6789 |
表 1–1 に、Sun Cluster Geographic Edition ソフトウェアの管理に使用するコマンドを示します。各コマンドの詳細は、『『Sun Cluster Geographic Edition Reference Manual 』』を参照してください。
表 1–1 Sun Cluster Geographic Edition の CLI
コマンド |
説明 |
---|---|
geoadm |
ローカルクラスタ上で Sun Cluster Geographic Edition ソフトウェアを有効または無効にし、ローカルクラスタの実行時状態を表示します |
geohb |
Sun Cluster Geographic Edition ソフトウェアと一緒に提供されるハートビートメカニズムの構成と管理に使用します |
geops |
クラスタ間のパートナーシップの作成と管理に使用します |
geopg |
保護グループの構成と管理に使用します |
この節では、災害復旧状況と、管理者が実施できる作業の例を示します。
X 社には、地理的に離れたクラスタが 2 つあります。1 つはパリの cluster-paris、もう 1 つはニューヨークの cluster-newyork です。これらのクラスタは、パートナークラスタとして構成されています。パリのクラスタは主クラスタ、ニューヨークのクラスタは二次クラスタとして構成されています。
暴風雨の影響による停電のため、cluster-paris クラスタが一時的に停止しました。管理者は次のイベントを予測できます。
cluster-paris と cluster-newyork の間でハートビート通信が停止しました。パートナーシップの作成中に、ハートビート通知を行うように構成したため、管理者に電子メールでハートビート喪失通知が送信されます。
パートナーシップやハートビート通知の構成方法については、「パートナーシップの作成と変更」を参照してください。
管理者は、電子メール通知を受け取り、社内の処置規定に従って検証を行いました。この結果、二次クラスタによるテイクオーバーが必要な状況が発生したため、切り離しが行われたことがわかりました。テイクオーバーに時間がかかる可能性があるため、保護対象のアプリケーションの要件に従い、X 社は主クラスタを2時間以内に修復できないかぎりテイクオーバーを許可しません。
システムでの切断の確認については、次のいずれかのデータ複製ガイドを参照してください。
少なくとももう 1 日、cluster-paris クラスタをふたたびオンラインにすることができないため、管理者はニューヨークのクラスタのノードで geopg takeover コマンドを実行します。このコマンドは、ニューヨークの二次クラスタ cluster-newyork 上で保護グループを起動します。
システムでのテイクオーバーの実行については、次のいずれかのデータ複製ガイドを参照してください。
テイクオーバーが行われると、二次クラスタ cluster-newyork が新たに主クラスタになります。障害を起こしたパリのクラスタは、まだ主クラスタとなるように構成されています。したがって、cluster-paris クラスタを再起動すると、主クラスタがダウンしてパートナークラスタとの接続が失われたことが、クラスタによって検出されます。その後、cluster-paris クラスタはエラー状態になります。この状態の解消には、管理アクションが必要です。また、クラスタ上のデータの復旧と再同期が必要になる場合もあります。
テイクオーバー後のデータの復旧については、次のいずれかのデータ複製ガイドを参照してください。
この節では、Sun Cluster Geographic Edition ソフトウェアによって管理されるアプリケーションを作成する際に必要なガイドラインを説明します。
Sun Cluster Geographic Edition ソフトウェアによって管理されるアプリケーションを作成する前に、アプリケーションが高可用性またはスケーラビリティーを備えるための次の要件を満たしているかどうかを判断してください。
アプリケーションが一部の要件を満たしていない場合は、アプリケーションの可用性とスケーラビリティーを高めるようにアプリケーションのソースコードを変更して対応することがあります。
Sun Cluster Geographic Edition 環境では、ネットワーク対応 (クライアントサーバーモデル) とネットワーク非対応 (クライアントレス) のアプリケーションはどちらも、高可用性またはスケーラビリティーを備えることが可能です。ただし、タイムシェアリング環境では、アプリケーションは サーバー上で動作し、telnet または rlogin 経由でアクセスされるため、Sun Cluster Geographic Edition は可用性を強化することはできません。
アプリケーションはクラッシュに対する耐障害性 (クラッシュトレラント) を備えていなければなりません。つまり、ノードが予期せぬ停止状態になった後、アプリケーションは再起動時に必要なディスクデータを復元できなければなりません。さらに、クラッシュ後の復元時間にも制限が課せられます。ディスクを復元し、アプリケーションを再起動できる能力は、データの整合性に関わる問題であるため、クラッシュトレラントであることは、アプリケーションが高可用性を備えるための前提条件となります。データサービスは接続を復元できる必要はありません。
アプリケーションは、自身が動作するノードの物理ホスト名に依存してはなりません。
アプリケーションは、複数の IP アドレスが「起動」状態になるよう構成されている環境で正しく動作する必要があります。たとえば、ノードが複数のパブリックネットワーク上に存在する多重ホームホスト環境や、単一のハードウェアインタフェース上に複数の論理インタフェースが「起動」状態になるよう構成されているノードが存在する環境があります。
アプリケーションのバイナリとライブラリは、ローカルの各ノードまたはクラスタファイルシステムに格納できます。クラスタファイルシステム上に格納する利点は、1 箇所にインストールするだけで済む点です。難点は、Sun Cluster ソフトウェアに対して順次アップグレードを使用する際、アプリケーションがリソースグループマネージャー (RGM) の制御下で実行されている間バイナリが使用中になることです。
初回の照会がタイムアウトした場合、クライアントは自動的に照会を再試行できる必要があります。アプリケーションとプロトコルがすでに単一サーバーのクラッシュと再起動に対応できている場合、関連するリソースグループのフェイルオーバーまたはスイッチオーバーにも対応します。
アプリケーションは、クラスタファイルシステム内で UNIX® ドメインソケットまたは名前付きパイプを使用してはなりません。
スケーラブルサービスを実現するためには、前に示した高可用性の要件をすべて満たした上で、次に示す追加要件も満たしている必要があります。
アプリケーションは、複数のインスタンスを実行でき、すべてのインスタンスがクラスタファイルシステム内の同じアプリケーションデータを処理できる必要があります。
アプリケーションは、複数のノードからの同時アクセスに対してデータの整合性を保証する必要があります。
アプリケーションは、クラスタファイルシステムのように、グローバルに使用可能な機構を備えたロック機能を実装している必要があります。
スケーラブルサービスの場合、アプリケーションの特性により負荷均衡ポリシーが決定されます。たとえば、負荷均衡ポリシー Lb_weighted は、任意のインスタンスがクライアントの要求に応答できるポリシーですが、クライアント接続にサーバー上のメモリー内キャッシュを使用するアプリケーションには適用されません。この場合、特定のクライアントのトラフィックをアプリケーションの 1 つのインスタンスに制限する負荷均衡ポリシーを指定する必要があります。負荷均衡ポリシー Lb_sticky と Lb_sticky_wild は、クライアントからのすべての要求を同じアプリケーションインスタンスに繰り返して送信します。この場合、そのアプリケーションはメモリー内キャッシュを使用できます。異なるクライアントから複数のクライアント要求が送信された場合、RGM はサービスの複数のインスタンスに要求を分配します。
スケーラブルデータサービス用の負荷均衡ポリシーの設定については、『Sun Cluster データサービス開発ガイド (Solaris OS 版)』の第 2 章「データサービスの開発」を参照してください。
アプリケーションはデータ複製に関する次の要件を満たす必要があります。
複製される情報はホスト固有またはクラスタ固有であってはいけません。
アプリケーションがリモートサイトにフェイルオーバーするときに、アプリケーションが別のIPアドレスのホスト上で動作する可能性があります。クライアントノードがリモートサイトを見つけることができるように、Sun Cluster Geographic Edition のアクションスクリプトを使用して DNS/NIS マッピングを更新してください。
アプリケーションでデータ喪失が許されない場合は、同期複製を使用してください。