次の変更は Sun Cluster 3.0 5/02 リリースから導入され、以降のすべての Sun Cluster 3.0 ソフトウェアの更新に適用されます。Sun Cluster HA for Oracle はフェイルオーバーデータサービスとして登録および構成します。このためには、データサービスを登録して、Oracle のサーバーとリスナー用にリソースグループとリソースを構成する必要があります。リソースグループとリソースの詳細については、『Sun Cluster 3.0 12/01 データサービスのインストールと構成』の「Sun Cluster データサービスの計画」および『Sun Cluster 3.0 12/01 の概念』を参照してください。
次の変更は Sun Cluster 3.0 5/02 リリースから導入され、以降のすべての Sun Cluster 3.0 ソフトウェアの更新に適用されます。この手順では、scrgadm コマンドを使用して、Sun Cluster HA for Oracle を登録および構成する方法について説明します。
この手順には、HAStoragePlus リソースタイプを作成する方法も含まれます。このリソースタイプは、HAStoragePlus とデータサービス間でアクションの同期をとって、高可用性ローカルファイルシステムを使用できるようにします。Sun Cluster HA for Oracle ではディスクに負荷がかかるため、HAStoragePlus リソースタイプを構成する必要があります。
詳細な説明については、SUNW.HAStoragePlus(5) のマニュアルページと 「リソースグループとディスクデバイスグループの関係」を参照してください。
その他のオプションでもデータサービスは登録および構成できます。このようなオプションの詳細については、『Sun Cluster 3.0 12/01 データサービスのインストールと構成』を参照してください。
この手順を実行するには、次の情報を確認しておく必要があります。
データサービスをマスターするクラスタノードの名前。
クライアントがデータサービスにアクセスするために使用するネットワークリソース。通常、この IP アドレスはクラスタをインストールするときに設定します。ネットワークリソースの詳細については、『Sun Cluster 3.0 12/01 の概念』を参照してください。
構成しようと計画しているリソース用の Oracle アプリケーションのバイナリへのパス。
この手順は、すべてのクラスタメンバー上で実行します。
クラスタメンバー上でスーパーユーザーになります。
scrgadm コマンドを実行して、データサービスのリソースタイプを登録します。
Sun Cluster HA for Oracle の場合、次のように、2 つのリソースタイプ SUNW.oracle_server および SUNW.oracle_listener を登録します。
# scrgadm -a -t SUNW.oracle_server # scrgadm -a -t SUNW.oracle_listener |
データサービスのリソースタイプを追加します。
当該データサービス用にあらかじめ定義されているリソースタイプを指定します。
ネットワークとアプリケーションのリソースを格納するためのフェイルオーバーリソースグループを作成します。
次のように -h オプションを使用すると、データサービスを実行できるノードのセットを選択できます。
# scrgadm -a -g resource-group [-h nodelist] |
リソースグループの名前を指定します。どのような名前でもかまいませんが、クラスタ内のリソースグループごとに一意である必要があります。
潜在マスターを識別するための物理ノード名または ID をコンマで区切って指定します (省略可能)。フェイルオーバー中、ノードはこのリスト内の順番に従ってプライマリとして判別されます。
ノードリストの順番を指定するには、-h オプションを使用します。クラスタ内にあるすべてのノードが潜在マスターである場合、-h オプションを使用する必要はありません。
使用するすべてのネットワークリソースがネームサービスデータベースに追加されていることを確認します。
この確認は、Sun Cluster のインストール時に行う必要があります。
ネームサービスの検索における問題を回避するために、すべてのネットワークリソースがサーバーとクライアントの /etc/hosts ファイルに存在することを確認します。
ネットワークリソースをフェイルオーバーリソースグループに追加します。
# scrgadm -a -L -g resource-group -l logical-hostname [-n netiflist] |
ネットワークリソースを指定します。ネットワークリソースは、クライアントが Sun Cluster HA for Oracle にアクセスするために使用する論理ホスト名または共有アドレス (IP アドレス) です。
各ノード上の NAFO グループを識別するための、コンマで区切ったリストを指定します (省略可能)。リソースグループの nodelist 内にあるすべてのノードは netiflist に存在する必要があります。このオプションを指定しない場合、scrgadm(1M) は、hostname リストが nodelist 内の各ノードを識別するネットアダプタをサブネット上で発見しようと試みます。例としては、-n nafo0@nodename, nafo0@nodename2 のように指定します。
HAStoragePlus リソースタイプをクラスタに登録します。
# scrgadm -a -t SUNW.HAStoragePlus |
タイプ HAStoragePlus のリソース oracle-hastp-rs を作成します。
# scrgadm -a -j oracle-hastp-rs -g oracle-rg -t SUNW.HAStoragePlus ¥ [データベースが raw デバイスの場合、広域デバイスへのパスを指定する。] -x GlobalDevicePaths=ora-set1,/dev/global/dsk/dl ¥ [データベースが Cluster File Service 上にある場合、広域ファイルシステムのマウントポイントを指定する。] -x FilesystemMountPoints=/global/ora-inst,/global/ora-data/logs ¥ [データベースが高可用性ローカルファイルシステム上にある場合、ローカルファイルシステムのマウントポイントを 指定する。] -x FilesystemMountPoints=/local/ora-data ¥ [AffinityOn を TRUE に設定する。] -x AffinityOn=TRUE |
フェイルオーバーを行うためには、AffinityOn が TRUE に設定され、ローカルファイルシステムが広域ディスクグループ上に存在する必要があります。
scrgadm コマンドを実行して、次の作業を完了し、リソースグループ oracle-rg をクラスタノード上でオンラインにします。
リソースグループを管理状態にします。
リソースグループをオンラインにします。
このノードは、デバイスグループ ora-set1 および raw デバイス /dev/global/dsk/d1 のプライマリになります。ファイルシステムに関連するデバイスグループ (/global/ora-inst や /global/ora-data/logs など) もこのノード上でプライマリになります。
# scrgadm -Z -g oracle-rg |
Oracle アプリケーションリソースをフェイルオーバーリソースグループに作成します。
# scrgadm -a -j resource -g resource-group ¥ -t SUNW.oracle_server ¥ -x Connect_string=user/passwd ¥ -x ORACLE_SID=instance ¥ -x ORACLE_HOME=Oracle-home ¥ -x Alert_log_file=path-to-log ¥ -y resource_dependencies=storageplus-resource # scrgadm -a -j resource -g resource-group ¥ -t SUNW.oracle_listener ¥ -x LISTENER_NAME=listener ¥ -x ORACLE_HOME=Oracle-home ¥ -y resource_dependencies=storageplus-resource |
追加するリソースの名前を指定します。
リソースを格納するリソースグループの名前を指定します。
追加するリソースのタイプを指定します。
サーバーメッセージログ用のパスを $ORACLE_HOME の下に指定します。
障害モニターがデータベースに接続するために使用するユーザー名とパスワードを指定します。これらの設定は、『Sun Cluster 3.0 12/01 データサービスのインストールと構成』の「Oracle データベースのアクセス権の設定」で設定したアクセス権と一致する必要があります。Solaris の承認を使用する場合、ユーザー名とパスワードの代わりにスラッシュ (/) を入力します。
Oracle システム識別子を設定します。
Oracle リスナーインスタンスの名前を設定します。この名前は、listener.ora 内の対応するエントリに一致する必要があります。
Oracle ホームディレクトリへのパスを設定します。
Oracle サーバーリソース内で障害が発生して再起動が発生した場合、リソースグループ全体が再起動します。リソースグループ内の他のリソース (Apache や DNS など) は自分自身に障害がなくても再起動します。他のリソースが Oracle サーバーリソースと一緒に再起動するのを避けるためには、他のリソースを別のリソースグループに格納します。
Oracle データサービスに属する拡張プロパティを設定して、そのデフォルト値を変更できます。拡張プロパティのリストについては、『Sun Cluster 3.0 12/01 データサービスのインストールと構成』の「Sun Cluster HA for Oracle 拡張プロパティの構成」を参照してください。
次の例では、Sun Cluster HA for Oracle を 2 ノードクラスタに登録する方法を示します。
Cluster Information Node names: phys-schost-1, phys-schost-2 Logical Hostname: schost-1 Resource group: resource-group-1 (フェイルオーバーリソースグループ) Oracle Resources: oracle-server-1, oracle-listener-1 Oracle Instances: ora-lsnr (リスナー), ora-srvr (サーバー) (すべてのリソースを格納するためのフェイルオーバーリソースグループを追加する。) # scrgadm -a -g resource-group-1 (論理ホスト名リソースをリソースグループに追加する。.) # scrgadm -a -L -g resource-group-1 -l schost-1 (Oracle リソースタイプを登録する。) # scrgadm -a -t SUNW.oracle_server # scrgadm -a -t SUNW.oracle_listener (Oracle アプリケーションリソースをリソースグループに追加する。) # scrgadm -a -j oracle-server-1 -g resource-group-1 ¥ -t SUNW.oracle_server -x ORACLE_HOME=/global/oracle ¥ -x Alert_log_file=/global/oracle/message-log ¥ -x ORACLE_SID=ora-srvr -x Connect_string=scott/tiger # scrgadm -a -j oracle-listener-1 -g resource-group-1 ¥ -t SUNW.oracle_listener -x ORACLE_HOME=/global/oracle ¥ -x LISTENER_NAME=ora-lsnr (リソースグループをオンラインにする。) # scswitch -Z -g resource-group-1 |