Sun Cluster 3.0 12/01 のシステム管理

クラスタへのパッチの適用

表 7-1 作業リスト :クラスタへのパッチの適用

作業 

参照箇所 

ノードを停止せずに、非再起動 Sun Cluster パッチを一度に 1 つのノードだけに適用する。 

「非再起動 Sun Cluster パッチを適用する」

クラスタメンバーを非クラスタモードにした後で、再起動 Sun Cluster パッチを適用する。 

「再起動パッチを適用する (ノード)」

 

「再起動パッチを適用する (クラスタおよびファームウェア)」

Sun Cluster パッチを削除する。 

- 必要に応じて、パッチを取り消すことができます。 

「Sun Cluster パッチを削除する」

再起動パッチを適用する (ノード)

パッチを一度にクラスタの 1 つのノードだけに適用し、パッチ処理中でもクラスタ自体は動作したままにします。この手順では、まず、ノードを停止し、パッチを適用する前に boot-sx コマンドを使用してこのノードをシングルユーザーモードで起動する必要があります。

  1. パッチを適用する前に、Sun Cluster 製品の Web ページで、インストール前後の特別な注意事項があるかどうかを確認してください。

  2. パッチを適用するノード上でスーパーユーザーになります。

  3. パッチを適用するノードのリソースグループおよびデバイスグループの一覧を表示します。


    # scrgadm -pv
    # scstat
    

  4. すべてのリソースグループ、リソース、デバイスグループを、パッチを適用するノードから他のクラスタメンバーに切り替えます。


    # scswitch -S -h nodelist
    

    -S

    指定したノードからすべてのデバイスサービスとリソースグループを退避します。

    -h nodelist

    リソースグループおよびデバイスグループの切り替え先のノードを指定します。

  5. ノードを停止します。


    # shutdown -g0 [-y] [-i0]

  6. ノードを非クラスタのシングルユーザーモードで起動します。


    ok boot -sx
    

  7. パッチを適用します。


    # patchadd -M patch-dir patch-id
    

    patch-dir

    パッチのディレクトリの場所を指定します。

    patch-id

    特定のパッチのパッチ番号を指定します。


    注 -

    パッチディレクトリに、この章の手順よりも新しい注意事項がないかどうかを必ず確認してください。


  8. ノードを再起動してクラスタに結合します。


    # reboot
    

  9. パッチが正常にインストールされていることを確認します。


    # showrev -p | grep patch-id
    

  10. パッチが機能しており、ノードとクラスタが正常に動作してことを確認します。

  11. 残りのすべてのクラスタノードに対して、手順 2 から 手順 12 までを繰り返します。

  12. 必要に応じて、リソースグループ、リソース、およびデバイスグループを切り替えます。

    すべてのノードを再起動した後、最後に再起動したノードのリソースグループとデバイスグループはオンラインになりません。


    # scswitch -z -h nodelist -D device-group
    # scswitch -z -h nodelist -g resource-group
    

    -z

    リソースグループまたはデバイスグループのマスターにおける変更を指定します。

    -h nodelist

    リソースグループとデバイスグループを切り替えるノードを指定します。

    -D

    指定したデバイスグループを -h オプションで指定したノードに切り替えます。

    -g

    指定したリソースグループを -h オプションで指定したノードに切り替えます。-h を指定しない場合、リソースグループはオフラインになります。

例 - 再起動パッチの適用 (ノード)

次に、ノードに Sun Cluster 再起動パッチを適用する例を示します。


# scrgadm -pv
...
RG Name: schost-sa-1
...
# scstat
...
Device Group Name:																dg-schost-1
...
# scswitch -S -h phys-schost-2
# shutdown -g0 -y -i0
...
ok boot -sx
...
# patchadd -M /tmp/patches 234567-05
...
# reboot
...
# showrev -p | grep 234567-05
# scswitch -z -h phys-schost-1 -D dg-schost-1
# scswitch -z -h phys-schost-1 -g schost-sa-1

次の作業

パッチを取り消す必要がある場合は、「Sun Cluster パッチを削除する」を参照してください。

再起動パッチを適用する (クラスタおよびファームウェア)

この手順では、パッチを適用する前にまずクラスタを停止して、 boot -sx コマンドを使用して各ノードをシングルユーザーモードで起動する必要があります。

  1. パッチを適用する前に、Sun Cluster 製品の Web ページで、インストール前後の特別な注意事項があるかどうかを確認してください。

  2. クラスタ内の任意のノード上でスーパーユーザーになります。

  3. クラスタを停止します。


    # scshutdown -y -g grace-period "message"
    

    -y

    確認プロンプトで yes と答えます。

    -g grace-period

    停止までの待機時間を秒単位で指定します。デフォルトの猶予期間は 60 秒です。

    message

    送信する警告メッセージを指定します。message が複数の単語の場合は、引用符で囲みます。

  4. 各ノードを非クラスタのシングルユーザーモードで起動します。

    各ノードのコンソールで、次のコマンドを実行します。


    ok boot -sx
    

  5. ソフトウェアパッチまたはファームウェアパッチを適用します。

    一度に 1 つのノードずつ、次のコマンドを実行します。


    # patchadd -M patch-dir patch-id
    

    patch-dir

    パッチのディレクトリの場所を指定します。

    patch-id

    特定のパッチのパッチ番号を指定します。


    注 -

    パッチディレクトリに、この章の手順よりも新しい注意事項がないかどうかを必ず確認してください。


  6. パッチが各ノードに正常にインストールされていることを確認します。


    # showrev -p | grep patch-id
    

  7. パッチをすべてのノードに適用したら、ノードを再起動してクラスタに結合します。

    各ノードで次のコマンドを実行します。


    # reboot
    

  8. パッチが機能しており、ノードとクラスタが正常に動作していることを確認します。

例 - 再起動パッチの適用 (クラスタ)

次に、クラスタに Sun Cluster 再起動パッチを適用する例を示します。


# scshutdown -g 0 -y
...
ok boot -sx
...
# patchadd -M /tmp/patches 234567-05
(他のクラスタノードへパッチを適用する)
...
# showrev -p | grep 234567-05
# reboot

次の作業

パッチを取り消す必要がある場合は、「Sun Cluster パッチを削除する」を参照してください。

非再起動 Sun Cluster パッチを適用する

パッチを一度にクラスタの 1 つのノードだけに適用します。非再起動パッチを適用するときは、パッチを適用するノードを停止する必要はありません。

  1. パッチを適用する前に、Sun Cluster 製品の Web ページで、インストール前後の特別な注意事項があるかどうかを確認してください。

  2. データサービスのパッチを適用する前には、影響を受けるデータサービスをパッチを適用するノードからバックアップノードにスイッチオーバーします。


    # scswitch -z -g resource-group -h node
    
  3. ノードにパッチを適用します。

    手順 2 でデータサービスを切り替えている場合、パッチのインストールはデータサービスを切り替えた元のノード上で実行します。


    # patchadd -M patch-dir patch-id
    

    patch-dir

    パッチのディレクトリの場所を指定します。

    patch-id

    特定のパッチのパッチ番号を指定します。

  4. パッチが正常にインストールされていることを確認します。


    # showrev -p | grep patch-id
    

  5. パッチが機能しており、ノードとクラスタが正常に動作してことを確認します。

    手順 2 でデータサービスをバックアップノードに切り替えている場合、この時点でデータサービスを元の主ノードに戻すことができます。

  6. 残りのクラスタノードに対して、手順 3 から 手順 5 までを繰り返します。

例 - 非再起動 Sun Cluster パッチの適用


# patchadd -M /tmp/patches 234567-05
...
# showrev -p | grep 234567-05

次の作業

パッチを取り消す必要がある場合は、「Sun Cluster パッチを削除する」を参照してください。

Sun Cluster パッチを削除する

必要に応じて、Sun Cluster パッチを取り消す (削除する) ことができます。

  1. パッチを削除するノード上でスーパーユーザーになります。

  2. パッチを削除するノードのリソースグループおよびデバイスグループの一覧を表示します。


    # scrgadm -pv
    # scstat
    

  3. すべてのリソースグループ、リソース、デバイスグループを、パッチを削除するノードから他のクラスタメンバーに切り替えます。


    # scswitch -S -h nodelist
    

    -S

    指定したノードからすべてのデバイスサービスとリソースグループを退避します。

    -h nodelist

    リソースグループおよびデバイスグループの切り替え先のノードを指定します。

  4. ノードを停止します。


    # shutdown -g0 -y -i0 "message"
    

    -g0

    停止までの待機時間を秒単位で指定します。デフォルトの猶予期間は 60 秒です。

    -y

    確認プロンプトで yes と答えます。

    -i0

    init 状態 0 を指定します。これによって、ノードは OBP プロンプトの状態になります。

    message

    送信する警告メッセージを指定します。message が複数の単語の場合は、引用符で囲みます。

  5. ノードを非クラスタのシングルユーザーモードで起動します。


    ok boot -sx
    

  6. パッチを削除します。


    # patchrm patch-id
    

    patch-id

    特定のパッチのパッチ番号を指定します。

  7. ノードを再起動します。


    # reboot
    

  8. パッチが正常に削除されていることを確認します。


    # showrev -p | grep patch-id
    

  9. ノードおよびクラスタが正常に動作することを確認します。

  10. 残りのクラスタノードに対して、手順 3 から 手順 5 までを繰り返します。

  11. 必要に応じて、リソースグループ、リソース、デバイスグループを切り替えます (省略可能)。

    すべてのノードを再起動した後、最後に再起動したノードのリソースグループとデバイスグループはオンラインになりません。


    # scswitch -z -h nodelist -D device-group
    # scswitch -z -h nodelist -g resource-group
    

    -z

    リソースグループまたはデバイスグループのマスターにおける変更を指定します。

    -h nodelist

    リソースグループとデバイスグループを切り替えるノードを指定します。

    -D

    指定したデバイスグループを -h オプションで指定したノードに切り替えます。

    -g

    指定したリソースグループを -h オプションで指定したノードに切り替えます。-h を指定しない場合、リソースグループはオフラインになります。

例 - Sun Cluster パッチの削除

次に、Sun Cluster パッチを削除する例を示します。


# scrgadm -pv
...
RG Name: schost-sa-1
...
# scstat
...
Device Group Name:																	dg-schost-1
...
# scswitch -S -h phys-schost-2
# shutdown -g0 -y -i0 "Rebooting down node for maintenance"
...
ok boot -x
...
# patchrm 234567-05
...
# reboot
...
# pkgchk -v 234567-05
...
# scswitch -z -h phys-schost-1 -D dg-schost-1
# scswitch -z -h phys-schost-1 -g schost-sa-1