Sun Cluster 3.1 データサービスのインストールと構成

Sun Cluster HA for Oracle の登録と構成

次の手順を使用して、Sun Cluster HA for Oracle をフェイルオーバーデータサービスとして構成します。この手順では、Sun Cluster の初期インストール時にデータサービスパッケージがインストール 済みであることを前提とします。Sun Cluster の初期インストール時に Sun Cluster HA for Oracle パッケージをインストールしていない場合は、Sun Cluster HA for Oracle パッケージのインストール に進み、データサービスパッケージをインストールしてください。それ以外の場合は、この手順を使用して Sun Cluster HA for Oracle を構成します。

この手順を実行するには、次の情報を確認しておく必要があります。

  1. クラスタメンバー上でスーパーユーザーになります。

  2. 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
    
    -a

    データサービスのリソースタイプを追加します。

    -t SUNW.oracle_type

    当該データサービス用にあらかじめ定義されているリソースタイプを指定します。

  3. ネットワークとアプリケーションのリソースを格納するためのフェイルオーバーリソースグループを作成します。

    次のように -h オプションを使用すると、データサービスを実行できるノードのセットを選択できます。


    # scrgadm -a -g resource-group [-h nodelist]
    -g resource-group

    リソースグループの名前を指定します。どのような名前でもかまいませんが、クラスタ内のリソースグループごとに一意である必要があります。

    -h nodelist

    潜在的マスターを識別する物理ノード名または ID をコンマで区切って指定します (任意)。フェイルオーバー時、ノードはこのリスト内の順番に従って主ノードが決定されます。


    注 –

    -h オプションを使用してノードリストの順序を指定します。クラスタ内のすべてのノードが潜在的マスターの場合、-h オプションを使用する必要はありません。


  4. 使用するすべてのネットワークリソースがネームサービスデータベースに追加されていることを確認します。

    Sun Cluster のインストール時に、この確認を行います。


    注 –

    ネームサービスの検索における問題を回避するために、すべてのネットワークリソースがサーバーとクライアントの /etc/inet/hosts ファイルに存在することを確認します。


  5. ネットワークリソースをフェイルオーバーリソースグループに追加します。


    # scrgadm -a -L -g resource-group -l logical-hostname [-n netiflist] 
    -l logical-hostname

    ネットワークリソースを指定します。ネットワークリソースは、クライアントが Sun Cluster HA for Oracle のアクセスに使用する論理ホスト名または共有アドレス (IP アドレス) です。

    -n netiflist

    各ノード上の IP Networking Multipathing グループをコンマで区切って指定します (省略可能)。netiflist 内の各要素の書式は、 netif@node でなければなりません。netif は、sc_ipmp0 などの IP Networking Multipathing グループ名として指定できます。ノードは、sc_ipmp0@1sc_ipmp@phys-schost-1 などのノード名またはノード ID で識別できます。


    注 –

    現在 Sun Cluster では、netif にアダプタ名を使用できません。


  6. SUNW.HAStoragePlus リソースタイプをクラスタに登録します。


    # scrgadm -a -t SUNW.HAStoragePlus

  7. タイプ SUNW.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 \
     
    [データベースがクラスタファイルサービス上にある場合は、広域ファイルシステムとローカルファイルシステムのマウントポイントを指定する ]
    -x FilesystemMountPoints=/global/ora-inst,/global/ora-data/logs,/
    local/ora-data \
     
    [AffinityOn を true に設定する]
    -x AffinityOn=TRUE
    


    注 –

    フェイルオーバーを行うためには、AffinityOn が TRUE に設定され、ローカルファイルシステムが広域ディスクグループ上に存在する必要があります。


  8. scswitch コマンドを実行して、次の作業を完了し、リソースグループ oracle-rg をクラスタノード上でオンラインにします。


    注意 – 注意 –

    切り替えは、リソースグループレベルのときに行うよう注意してください。デバイスグループレベルで切り替えを行うと、リソースグループを混乱させ、フェイルオーバーが発生します。


    • リソースグループを MANAGED 状態にします。

    • リソースグループをオンラインにします。

    このノードは、デバイスグループ ora-set1 および raw デバイス /dev/global/dsk/d1 のプライマリになります。ファイルシステムに関連するデバイスグループ (/global/ora-inst/global/ora-data/logs など) もこのノード上でプライマリになります。


    # scswitch -Z -g oracle-rg
    
  9. Oracle アプリケーションリソースをフェイルオーバーリソースグループに作成します。

    • 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>
      
    • Oracle リスナーリソースの場合 :


      # 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>
      
    -j resource

    追加するリソースの名前を指定します。

    -g resource-group

    リソースを格納するリソースグループの名前を指定します。

    -t SUNW.oracle_server/listener

    追加するリソースのタイプを指定します。

    -x Alert_log_file=path-to-log

    サーバーメッセージログ用のパスを $ORACLE_HOME の下に指定します。

    -x Connect_string=user/passwd

    障害モニターがデータベースに接続するために使用するユーザー名とパスワードを指定します。ここでの設定は、Oracle データベースのアクセス権の設定で設定したアクセス権を満たす必要があります。Solaris の承認を使用する場合、ユーザー名とパスワードの代わりにスラッシュ (/) を入力します。

    -x ORACLE_SID=instance

    Oracle システム識別子を設定します。

    -x LISTENER_NAME=listener

    Oracle リスナーインスタンスの名前を設定します。この名前は、listener.ora 内の対応するエントリに一致する必要があります。

    -x ORACLE_HOME=Oracle-home

    Oracle ホームディレクトリへのパスを設定します。


    注 –

    Oracle サーバーリソース内で障害が発生して再起動が発生した場合、リソースグループ全体が再起動します。リソースグループ内の他のリソース (Apache や DNS など) は自分自身に障害がなくても再起動します。他のリソースが Oracle サーバーリソースと一緒に再起動するのを避けるためには、他のリソースを別のリソースグループに格納します。

    Oracle データサービスに属する拡張プロパティを設定して、そのデフォルト値を上書きできます。どのような拡張プロパティがあるかについては、Sun Cluster HA for Oracle 拡張プロパティ を参照してください。


  10. scswitch コマンドを実行して、次の作業を完了します。

    • リソースと障害の監視を有効にします。


    # scswitch -Z -g resource-group
    
    -Z

    リソースとモニターを有効にし、リソースグループを MANAGED 状態にして、リソースグループをオンラインにします。

    -g resource-group

    リソースグループの名前を指定します。

例 – Sun Cluster HA for Oracle の登録

次の例では、Sun Cluster HA for Oracle を 2 ノードクラスタに登録する方法を示します。


クラスタ情報
ノード名: phys-schost-1, phys-schost-2
論理ホスト名: schost-1
リソースグループ: resource-group-1 (フェイルオーバーリソースグループ)
リソース: oracle-server-1, oracle-listener-1
Oracle インスタンス: ora-lsnr (リスナー), ora-srvr (サーバー)
 
(Oracle リソースタイプを登録する)
# scrgadm -a -t SUNW.oracle_server
# scrgadm -a -t SUNW.oracle_listener
 
(すべてのリソースを含むようにフェイルオーバーリソースグループを追加する)
# scrgadm -a -g resource-group-1 -h phys-schost-1,phys-schost-2
 
(論理ホスト名リソースをリソースグループに追加する)
# scrgadm -a -L -g resource-group-1 -l schost-1 
 
(リソースグループに 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