Sun Cluster のシステム管理 (Solaris OS 版)

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

表 8–1 Task Map: クラスタへのパッチの適用

タスク 

参照箇所 

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

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

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

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

 

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

Sun Cluster パッチを削除 

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

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

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

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

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

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

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


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


     # scswitch -S -h node[,...]
    
    -S

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

    -h node[,...]

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

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


    # shutdown -g0 [-y]
     [-i0]
  6. ノードを非クラスタのシングルユーザーモードで起動します。

    • SPARC:


      ok boot -sx
      
    • x86:


                            <<< Current Boot Parameters >>>
      Boot path: /pci@0,0/pci8086,2545@3/pci8086,1460@1d/pci8086,341a@7,1/
      sd@0,0:a
      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 -sx
      
  7. パッチを適用します。


    # patchadd -M patch-dir patch-id
    
    patch-dir

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

    patch-id

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


    注 –

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


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


    # showrev -p | grep patch-id
    
  9. ノードを再起動してクラスタに結合します。


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

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

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

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


    # scswitch -z -D  device-group[,...]
    -h node[,...]
    # scswitch -z -g  resource-group[,...]
    -h nod[,...]e
    
    -z

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

    -h node[,...]

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

    -D

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

    -g

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

  13. scversions コマンドを使用し、パッチソフトウェアをコミットする必要があるかどうかを確認してください。


    # /usr/cluster/bin/scversions 
    

    結果として、次に示すメッセージのどちらか一方が表示されます。


    Upgrade commit is needed.
    
    Upgrade commit is NOT needed. All versions match.
  14. コミットが必要な場合は、パッチソフトウェアをコミットします。


    #/usr/cluster/bin/scversions -c
    

    -c オプションを指定すると、クラスタはパッチが適用された新しいソフトウェアをコミットし、これを実行します。


    注 –

    scversions(1m) を実行すると、状況に応じて 1 つ以上の CMM 再構成が発生します。



例 8–1 再起動パッチの適用 (ノード)

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


# scrgadm -pv
...
リソースグループ 名前: schost-sa-1
...
# scstat
...
デバイスグループ 名前:											dg-schost-1
...
# scswitch -S -h phys-schost-2
# shutdown -g0 -y -i0
...

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


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

...
# reboot
...
# scswitch -z -D dg-schost-1 -h phys-schost-1
# scswitch -z -g schost-sa-1 -h phys-schost-1
# scversions
Upgrade commit is needed.
# scversions -c

参照

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

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

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

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

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

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


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

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

    -g grace-period

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

    message

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

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

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

    • SPARC:


      ok boot -sx
      
    • x86:


                            <<< Current Boot Parameters >>>
      Boot path: /pci@0,0/pci8086,2545@3/pci8086,1460@1d/pci8086,341a@7,1/
      sd@0,0:a
      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 -sx
      
  5. ソフトウェアパッチまたはファームウェアパッチを適用します。

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


    # patchadd -M patch-dir patch-id
    
    patch-dir

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

    patch-id

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


    注 –

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


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


    # showrev -p | grep patch-id
    
  7. パッチをすべてのノードに適用したなら、ノードを再起動してクラスタに結合します。

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


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


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

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


# scshutdown -g0 -y
...

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


...
# patchadd -M /var/tmp/patches 234567-05
(Apply patch to other cluster nodes)
...
# showrev -p | grep 234567-05
# reboot

参照

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

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

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

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

  2. ひとつのノードにパッチを適用します。


    # patchadd -M patch-dir patch-id
    
    patch-dir

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

    patch-id

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

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


    # showrev -p | grep patch-id
    
  4. パッチが機能しており、ノードとクラスタが正常に動作していることを確認します。

  5. 残りのクラスタノードで、手順 2 から 手順 4 を繰り返します。


例 8–3 非再起動 Sun Cluster パッチの適用


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

参照

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

ProcedureSun Cluster パッチを削除する

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

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

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


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


     # scswitch -S -h node[,...]
    
    -S

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

    -h node[,...]

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

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


    # shutdown -g0 -y -i0 message
    
    -g0

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

    -y

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

    -i0

    init 状態 0 を指定します。これによって、ノードは SPARC ベースシステムでは OpenBoot PROM ok プロンプトの状態となり、x86 ベースシステムでは Boot Subsystems の状態となります。

    message

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

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

    • SPARC:


      ok boot -sx
      
    • x86:


                            <<< Current Boot Parameters >>>
      Boot path: /pci@0,0/pci8086,2545@3/pci8086,1460@1d/pci8086,341a@7,1/
      sd@0,0:a
      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 -sx
      
  6. パッチを削除します。


    # patchrm patch-id
    
    patch-id

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

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


    # showrev -p | grep patch-id
    
  8. ノードを再起動します。


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

  10. 残りのクラスタノードで、手順 1 から 手順 9 を繰り返します。

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

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


    # scswitch -z -D device-group[,...]  -h node
    # scswitch -z -g resource-group[,...] -h node
    
    -z

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

    -h node[,...]

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

    -D

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

    -g

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


例 8–4 Sun Cluster パッチの削除

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


# scrgadm -pv
...
リソースグループ 名前: schost-sa-1
...
# scstat
...
デバイスグループ 名前:     dg-schost-1
...
# scswitch -S -h phys-schost-2
# shutdown -g0 -y -i0 "Rebooting down node for maintenance"
...

ノードを非クラスタモードで起動します。


...
# patchrm 234567-05
...
# showrev -p | grep 234567-05
...
# reboot
...
# scswitch -z -D dg-schost-1 -h phys-schost-1
# scswitch -z -g schost-sa-1 -h phys-schost-1