Sun Cluster ソフトウェアのインストール (Solaris OS 版)

Procedureアップグレード用にクラスタを準備する (デュアルパーティション)

以下の手順を実行して、クラスタをデュアルパーティションアップグレード用に準備します。この手順では、ノードの 2 つのグループを、それぞれ 1 番目のパーティション、2 番目のパーティションと呼びます。2 番目のパーティションに割り当てるノードは、1 番目のパーティションをアップグレードしている間、クラスタサービスを継続します。1 番目のパーティションのすべてのノードをアップグレードしたら、クラスタサービスを 1 番目のパーティションに切り替えて、2 番目のパーティションをアップグレードします。2 番目のパーティションのすべてのノードをアップグレードしたら、クラスタモードでノードを起動して、再度 1 番目のパーティションからノードをクラスタに参加させます。


注 –

単一ノードのクラスタをアップグレードする場合は、このアップグレード方法を使用しないでください。代わりに、「アップグレード用にクラスタを準備する (標準)」または 「アップグレード用にクラスタを準備する (ライブアップグレード)」を参照します。


Solaris 10 OS では、すべての手順は大域ゾーンからのみ実行してください。

始める前に

次の作業を実行します。

  1. クラスタが正常に機能していることを確認してください。

    1. 任意のノードから次のコマンドを実行して、クラスタの現在の状態を表示します。


      % scstat
      

      詳細は、scstat(1M) のマニュアルページを参照してください。

    2. 同じノード上の /var/adm/messages ログに、解決されていないエラーや警告メッセージがないかどうかを確認します。

    3. ボリューム管理の状態を確認します。

  2. 必要であれば、アップグレード中クラスタサービスが一時中断することをユーザーに通知します。

    サービス中断の時間は、クラスタがサービスを別のノードに切り替えるために通常要する時間にほぼ等しくなります。

  3. 各クラスタのノードのスーパーユーザーになります。

  4. Sun StorEdge Availability Suite ソフトウェアまたは Sun StorageTek Availability Suite ソフトウェアを使用する 2 ノードクラスタの場合、可用性サービス用の構成データが定足数ディスク上にあることを確認します。

    クラスタソフトウェアをアップグレードしたあと、Availability Suite が正しく機能するようにするには、構成データを定足数ディスク上に置く必要があります。

    1. Availability Suite ソフトウェアを実行するノード上でスーパーユーザーになります。

    2. Availability Suite 構成ファイルで使用されるデバイス ID とスライスを見つけます。


      phys-schost# /usr/opt/SUNWscm/sbin/dscfg
      /dev/did/rdsk/dNsS
      

      この出力例では、N がデバイス ID でS がデバイス N のスライスです。

    3. 既存の定足数デバイスを見つけます。


      phys-schost# scstat -q
      -- Quorum Votes by Device --
                           Device Name         Present Possible Status
                           -----------         ------- -------- ------
         Device votes:     /dev/did/rdsk/dQsS  1       1        Online

      この出力例では、dQsS が既存の定足数デバイスです。

    4. 定足数デバイスが Availability Suite 構成データデバイスと同じでない場合は、構成データを定足数デバイス上の使用できるスライスに移します。


      phys-schost# dd if=`/usr/opt/SUNWesm/sbin/dscfg` of=/dev/did/rdsk/dQsS
      

      注 –

      ブロック DID デバイス、/dev/did/dsk/ ではなく、raw DID デバイス、/dev/did/rdsk/ の名前を使用する必要があります。


    5. 構成データを移した場合、新しい場所を使用するように Availability Suite ソフトウェアを構成してください。

      スーパーユーザーとして、Availability Suite ソフトウェアを実行する各ノード上で次のコマンドを実行します。


      phys-schost# /usr/opt/SUNWesm/sbin/dscfg -s /dev/did/rdsk/dQsS
      
  5. Solaris OS をアップグレードする場合に、クラスタで Solaris ボリュームマネージャー ソフトウェアに二重列メディエータを使用するときは、メディエータを構成解除します。

    メディエータの詳細については、「二重列メディエータの構成」を参照してください。

    1. 次のコマンドを実行して、メディエータデータに問題がないことを確認します。


      phys-schost# medstat -s setname
      
      -s setname

      ディスクセット名を指定します。

      Status フィールドの値が不良の場合、関連するメディエータホストを修復します。「不正なメディエータデータを修復する」の手順に従います。

    2. すべてのメディエータを一覧表示します。

      この情報は、「Sun Cluster 3.2 ソフトウェアへのアップグレードを終了する」の手順でメディエータを復元するときのために保存しておいてください。

    3. メディエータを使用するディスクセットについては、ノードが所有権をまだ持っていない場合は、ディスクセットの所有権を取得します。


      phys-schost# scswitch -z -D setname -h node
      
      -z

      ホストするノードを変更します。

      -D devicegroup

      ディスクセットの名前を指定します。

      -h node

      ディスクセットの主となるノードの名前を指定します。

    4. ディスクセットのすべてのメディエータの構成を解除します。


      phys-schost# metaset -s setname -d -m mediator-host-list
      
      -s setname

      ディスクセット名を指定します。

      -d

      ディスクセットから削除します。

      -m mediator-host-list

      削除するノードの名前をディスクセットのメディエータホストとして指定します。

      metaset コマンドのメディエータ固有のオプションの詳細については、mediator(7D) のマニュアルページを参照してください。

    5. メディエータを使用する残りの各ディスクセットで、手順  c から手順  d までを繰り返します。

  6. Sun Cluster HA for Sun Java System Application Server EE (HADB) データサービスを、バージョン 4.4 以降の Sun Java System Application Server EE (HADB) ソフトウェアとともに実行している場合は、HADB リソースを無効にして HADB データベースをシャットダウンする必要があります。

    4.4 以前のバージョンの Sun Java System Application Server EE (HADB) ソフトウェアを実行している場合は、この手順をスキップできます。

    アップグレード中に 1 つのクラスタパーティションがサービスを停止した場合、アクティブなパーティションのノード数が、HADB メンバーシップの要件を満たすのに十分ではなくなります。このため、クラスタをパーティション分割する前に、HADB データベースを停止して、HADB リソースを無効にする必要があります。


    phys-schost# hadbm stop database-name
    phys-schost# scswitch -n -j hadb-resource
    

    詳細は、hadbm(1m) のマニュアルページを参照してください。

  7. 2 ノードクラスタをアップグレードする場合は、手順 16 に進んでください。

    それ以外の場合は、手順 8 に進んで、使用するパーティション分割スキーマを決めます。パーティション分割プロセスは中断しないような、各パーティションに含まれるノードを決めます。次に、すべてのリソースグループのノードリストを、使用するスキーマの各パーティションのノードメンバーと比べます。リソースグループに各パーティションのメンバーが含まれない場合は、ノードリストを変更する必要があります。

  8. DVD-ROM ドライブに Sun Java Availability Suite DVD-ROM を挿入します。

    ボリューム管理デーモン vold(1M) が実行され、CD-ROM または DVD デバイスを管理するように設定されている場合、このデーモンは自動的にメディアを /cdrom/cdrom0/ ディレクトリにマウントします。

  9. Solaris_arch/Product/sun_cluster/Solaris_ver/Tools/ ディレクトリ (archsparc または x86 (Solaris 10 のみ)、ver9 (Solaris 9) または 10 (Solaris 10)) に移動します。


    phys-schost# cd /cdrom/cdrom0/Solaris_arch/Product/sun_cluster/Solaris_ver/Tools
    
  10. scinstall ユーティリティーを対話モードで起動します。


    phys-schost# ./scinstall
    

    注 –

    ノードにすでにインストールされている /usr/cluster/bin/scinstall コマンドは使用しないでください。Sun Java Availability Suite DVD-ROM に含まれる scinstall コマンドを使用してください。


    scinstall のメインメニューが表示されます。

  11. 「デュアルパーティションアップグレードの管理」というオプションに対応する番号を入力し、Return キーを押します。


    *** Main Menu ***
    
        Please select from one of the following (*) options:
    
            1) Create a new cluster or add a cluster node
            2) Configure a cluster to be JumpStarted from this install server
          * 3) Manage a dual-partition upgrade
          * 4) Upgrade this cluster node
          * 5) Print release information for this cluster node
     
          * ?) Help with menu options
          * q) Quit
    
        Option:  3
    

    「デュアルパーティションアップグレードの管理」メニューが表示されます。

  12. 「考えられるパーティション分割スキーマの表示と選択」というオプションに対応する番号を入力し、Return キーを押します。

  13. プロンプトに従って、次の作業を実行します。

    1. 使用中のクラスタで利用可能なパーティション分割スキーマを表示します。

    2. パーティション分割スキーマを選択します。

    3. 最初にアップグレードするパーティションを決めます。


      注 –

      作業を停止し、「デュアルパーティションアップグレードを開始しますか ?」 というプロンプトが表示されても、まだ応答しないでください。ただし、scinstall ユーティリティーは終了しないでください。このプロンプトには、この手順の手順 18 で応答します。


  14. パーティションスキーマで各パーティションにどのノードが属するかを書き留めます。

  15. クラスタの別のノードで、スーパーユーザーになります。

  16. 重要なデータサービスがパーティション間をスイッチオーバーできることを確認します。

    2 ノードクラスタの場合、各ノードはそのパーティションの唯一のノードになります。

    デュアルパーティションアップグレードのためにパーティションのノードがシャットダウンすると、それらのノードでホストされているリソースグループは、他のパーティションにスイッチオーバーします。リソースグループにノードリストの各パーティションのノードが含まれない場合、リソースグループはスイッチオーバーできません。重要なデータサービスをすべて確実にスイッチオーバーさせるために、関連リソースグループのノードリストに各アップグレードパーティションのメンバーが含まれていることを確認してください。

    1. アップグレード全体を通じて、サービスを残す必要のある各リソースグループのノードリストを表示します。


      phys-schost# scrgadm -pv -g resourcegroup | grep "Res Group Nodelist"
      
      -p

      構成情報を表示します。

      -v

      冗長モードで表示します。

      -g resourcegroup

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

    2. リソースグループのノードリストに各パーティションの 1 つ以上のメンバーが含まれない場合は、ノードリストを再定義して、各パーティションのメンバーを潜在的な主ノードとして含めます。


      phys-schost# scrgadm -a -g resourcegroup -h nodelist
      
      -a

      新しい構成を追加します。

      -h

      カンマ区切りのノード名リストを指定します。

  17. 次の手順を決めます。

    • 2 ノードクラスタをアップグレードする場合、手順 8 から手順 13 に戻って、パーティション分割スキーマとアップグレード順序を指定します。

      Do you want to begin the dual-partition upgrade?」というプロンプトが表示されたら、手順 18 に戻ります。

    • 3 ノード以上のクラスタをアップグレードする場合は、対話型の scinstall ユーティリティーを実行しているノードに戻ります。

      手順 18 に進みます。

  18. 対話型の scinstall プロンプト「デュアルパーティションアップグレードを開始しますか ?」で、「Yes」と入力します。

    このコマンドで、リモートのインストール方法を使用できることが確認されます。

  19. プロンプトが表示されたら、Enter キーを押して、デュアルパーティションアップグレードの各準備段階を続行します。

    このコマンドによって、リソースグループが 2 番目のパーティションのノードに切り替えられ、1 番目のパーティションの各ノードがシャットダウンされます。

  20. 1 番目のパーティションのすべてのノードがシャットダウンしたら、そのパーティションの各ノードを非クラスタモードで起動します。

    • SPARC ベースのシステム上で、次のコマンドを実行します。


      ok boot -x
      
    • Solaris 9 OS を実行している x86 ベースのシステム上で、次のいずれかのコマンドを実行します。


      phys-schost# reboot -- -xs
      または
      ...
                            <<< Current Boot Parameters >>>
      Boot path: /pci@0,0/pci-ide@7,1/ata@1/cmdk@0,0:b
      Boot args:
      
      Type  b [file-name] [boot-flags] <ENTER>  to boot with options
      or    i <ENTER>                           to enter boot interpreter
      or    <ENTER>                             to boot with defaults
      
                        <<< timeout in 5 seconds >>>
      Select (b)oot or (i)nterpreter: b -xs
      
    • Solaris 10 OS を実行している x86 ベースのシステム上で、次のコマンドを実行します。

      1. GRUB メニューで矢印キーを使用して該当する Solaris エントリを選択し、e と入力してコマンドを編集します。

        GRUB メニューは、次のように表示されます。


        GNU GRUB version 0.95 (631K lower / 2095488K upper memory)
        +-------------------------------------------------------------------------+
        | Solaris 10 /sol_10_x86                                                  |
        | Solaris failsafe                                                        |
        |                                                                         |
        +-------------------------------------------------------------------------+
        Use the ^ and v keys to select which entry is highlighted.
        Press enter to boot the selected OS, 'e' to edit the
        commands before booting, or 'c' for a command-line.

        GRUB ベースの起動の詳細は、『Solaris のシステム管理 (基本編)』の第 11 章「GRUB ベースのブート (手順)」を参照してください。

      2. ブートパラメータ画面で矢印キーを使用して kernel エントリを選択し、e と入力してエントリを編集します。

        次のような GRUB ブートパラメータ画面が表示されます。


        GNU GRUB version 0.95 (615K lower / 2095552K upper memory)
        +----------------------------------------------------------------------+
        | root (hd0,0,a)                                                       |
        | kernel /platform/i86pc/multiboot                                     |
        | module /platform/i86pc/boot_archive                                  |
        +----------------------------------------------------------------------+
        Use the ^ and v keys to select which entry is highlighted.
        Press 'b' to boot, 'e' to edit the selected command in the
        boot sequence, 'c' for a command-line, 'o' to open a new line
        after ('O' for before) the selected line, 'd' to remove the
        selected line, or escape to go back to the main menu.
      3. コマンドに -x を追加して、システムが非クラスタモードで起動するように指定します。


        [ Minimal BASH-like line editing is supported. For the first word, TAB
        lists possible command completions. Anywhere else TAB lists the possible
        completions of a device/filename. ESC at any time exits. ]
        
        grub edit> kernel /platform/i86pc/multiboot -x
        
      4. Enter キーを押して変更を承諾し、ブートパラメータ画面に戻ります。

        画面には、編集されたコマンドが表示されます。


        GNU GRUB version 0.95 (615K lower / 2095552K upper memory)
        +----------------------------------------------------------------------+
        | root (hd0,0,a)                                                       |
        | kernel /platform/i86pc/multiboot -x                                  |
        | module /platform/i86pc/boot_archive                                  |
        +----------------------------------------------------------------------+
        Use the ^ and v keys to select which entry is highlighted.
        Press 'b' to boot, 'e' to edit the selected command in the
        boot sequence, 'c' for a command-line, 'o' to open a new line
        after ('O' for before) the selected line, 'd' to remove the
        selected line, or escape to go back to the main menu.-
      5. b と入力して、ノードを非クラスタモードで起動します。


        注 –

        カーネルのブートパラメータへのこの変更は、システムの起動後には保持されません。次にノードを再起動する際には、ノードはクラスタモードで起動します。非クラスタモードで起動するには、上記の手順を実行してもう一度カーネルのブートパラメータに -x オプションを追加してください。


  21. 2 番目のパーティションで動作するアプリケーションに Resource Group Manager (RGM) で制御されていないものがある場合は、これらのノードのアップグレードを開始する前にこれらのアプリケーションを停止するスクリプトを作成します。

    デュアルパーティションアップグレードの処理中、2 番目のパーティションのノードが停止する前に、これらのスクリプトが呼び出されて、 Oracle RAC などのアプリケーションを停止します。

    1. RGM で制御されていないアプリケーションを停止するために必要なスクリプトを作成します。

      • RGM で制御されるアプリケーションが停止される前に停止させるアプリケーションと、後に停止させるアプリケーションとには、それぞれ別のスクリプトを作成します。

      • パーティション内の複数のノードで動作しているアプリケーションを停止させるには、それに応じたスクリプトを書きます。

      • スクリプトには、任意の名前とディレクトリパスを使用します。

    2. クラスタ内の各ノードにそれぞれ、作成したスクリプトのコピーがあることを確認します。

    3. 各ノードで、次の Sun Cluster スクリプトを変更して、そのノードに置いたスクリプトを呼び出します。

      • /etc/cluster/ql/cluster_pre_halt_apps - RGM で制御されているアプリケーションが停止する前に実行するスクリプトを呼び出すには、このファイルを使用します。

      • /etc/cluster/ql/cluster_post_halt_app - RGM で制御されているアプリケーションが停止した後に実行するスクリプトを呼び出すには、このファイルを使用します。

      Sun Cluster スクリプトは、パーティションのアップグレード後の処理中に任意の 1 つのノードから発行されます。このため、パーティションの任意のノードのスクリプトがパーティション内のすべてのノードで必要な操作を実行することを確認してください。

次の手順

1 番目のパーティションの各ノードでソフトウェアをアップグレードします。