ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
![]() |
Oracle Solaris Cluster システム管理 Oracle Solaris Cluster 3.3 3/13 (日本語) |
1. Oracle Solaris Cluster の管理の概要
2. Oracle Solaris Cluster と RBAC
5. グローバルデバイス、ディスクパス監視、およびクラスタファイルシステムの管理
7. クラスタインターコネクトとパブリックネットワークの管理
11. Oracle Solaris Cluster ソフトウェアおよびファームウェアのパッチ適用
Oracle Solaris Cluster パッチ適用の概要
Oracle Solaris Cluster パッチのヒント
Oracle Solaris Cluster ソフトウェアのパッチ適用
リブートしない Oracle Solaris Cluster パッチを適用する方法
フェイルオーバーゾーンを使用するノードにシングルユーザーモードでパッチを適用する方法
表 11-1 タスクマップ: クラスタのパッチ適用
|
パッチプロセス中にクラスタ自体を動作可能に保つため、クラスタ内では 1 回につき 1 つのノードにパッチを適用します。この手順では、最初にクラスタ内のノードを停止し、boot -sx または shutdown -g -y -i0 コマンドを使用してシングルユーザーモードでノードをブートしてから、パッチを適用します。
phys-schost# プロンプトは、グローバルクラスタのプロンプトを表します。この手順は、グローバルクラスタ上で実行します。
この手順では、長形式の Oracle Solaris Cluster コマンドを使用して説明します。多くのコマンドには短縮形もあります。コマンド名の形式の長短を除き、コマンドは同一です。
# clresourcegroup status -Z all -n node[,...]
パッチが適用されるノード上にあるグローバルクラスタノードまたはゾーンクラスタノードの名前。
# cldevicegroup status -n node
パッチが適用されるグローバルクラスタノードの名前。
注 - デバイスグループはゾーンクラスタに関連付けられていません。
# clnode evacuate -n node
すべてのデバイスグループとリソースグループ (すべてのグローバルクラスタ非投票ノードを含む) を待避させます。
リソースグループとデバイスグループの切り替え元のノードを指定します。
# shutdown -g0 [-y] [-i0]
SPARC ベースのシステム上で、次のコマンドを実行します。
ok boot -sx
x86 ベースのシステム上で、次のコマンドを実行します。
phys-schost# shutdown -g -y -i0 Press any key to continue
次のような 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 ベースのブートの詳細については、『Oracle Solaris の管理: 基本管理』の「GRUB を使用して x86 システムをブートする (タスクマップ)」を参照してください。
次のような 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.
[ 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 -sx
画面には編集されたコマンドが表示されます。
GNU GRUB version 0.95 (615K lower / 2095552K upper memory) +----------------------------------------------------------------------+ | root (hd0,0,a) | | kernel /platform/i86pc/multiboot -sx | | 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.-
注 - カーネルブートパラメータコマンドへのこの変更は、システムをブートすると無効になります。次にノードをリブートする際には、ノードはクラスタモードでブートします。そうでなく非クラスタモードでブートするには、これらの手順を再度実行して、カーネルブートパラメータコマンドに -sx オプションを追加します。
# patchadd -M patch-dir patch-id
パッチのディレクトリの場所を指定します。
特定のパッチのパッチ番号を指定します。
注 - 必ずパッチディレクトリにある指示に従ってください。それらがこの章の手順に優先します。
# showrev -p | grep patch-id
# reboot
すべてのノードをリブートしたあと、最後にリブートしたノードにはオンラインのリソースグループとデバイスグループがありません。
# cldevicegroup switch -n node + | devicegroup ... # clresourcegroup switch -n node[:zone][,...] + | resource-group ...
リソースグループとデバイスグループの切り替え先ノードの名前。
リソースグループをマスターできるグローバルクラスタの非投票ノード (node) の名前。リソースグループを作成したときに非投票ノードを指定した場合にのみ、ゾーンを指定します。
# clresourcegroup switch -Z zoneclustername -n zcnode[,...] + | resource-group ...
リソースグループの切り替え先ゾーンクラスタの名前。
リソースグループをマスターできるゾーンクラスタの名前。
注 - デバイスグループはゾーンクラスタに関連付けられていません。
# /usr/cluster/bin/scversions
次のいずれかの結果が表示されます。
Upgrade commit is needed. Upgrade commit is NOT needed. All versions match.
# scversions -c
注 - scversions を実行すると、状況に応じて 1 つ以上の CMM 再構成が発生します。
例 11-1 リブートするパッチの適用 (ノード)
次に、リブートする Oracle Solaris Cluster パッチをノードに適用する例を示します。
# clresourcegroup status -n rg1 ...Resource Group Resource -------------- -------- rg1 rs-2 rg1 rs-3 ... # cldevicegroup status -n nodedg-schost-1 ... Device Group Name: dg-schost-1 ... # clnode evacuate phys-schost-2 # shutdown -g0 -y -i0 ...
非クラスタのシングルユーザーモードでノードをブートします。
SPARC: 次のように入力します。
ok boot -sx
x86: 非クラスタのシングルユーザーモードでノードをブートします。後続の手順でブート手順を参照してください。
# patchadd -M /var/tmp/patches 234567-05 ... # showrev -p | grep 234567-05 ... # reboot ... # cldevicegroup switch -n phys-schost-1 dg-schost-1 # clresourcegroup switch -n phys-schost-1 schost-sa-1 # scversions Upgrade commit is needed. # scversions -c
参照
パッチの適用を取り消す必要がある場合は、「Oracle Solaris Cluster パッチの変更」を参照してください。
この手順では、最初にクラスタを停止し、boot -sx または shutdown -g -y -i0 コマンドを使用してシングルユーザーモードで各ノードをブートしてから、パッチを適用します。
# cluster shutdown -y -g grace-period “message”
確認のプロンプトに、回答 yes を指定します。
シャットダウンする前に待機する時間を秒単位で指定します。デフォルトの猶予期間は 60 秒です。
ブロードキャストする警告メッセージを指定します。message に複数の単語が含まれる場合は引用符を使用します。
各ノードのコンソールで、次のコマンドを実行します。
SPARC ベースのシステム上で、次のコマンドを実行します。
ok boot -sx
x86 ベースのシステム上で、次のコマンドを実行します。
phys-schost# shutdown -g -y -i0 Press any key to continue
次のような 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 ベースのブートの詳細については、『Oracle Solaris の管理: 基本管理』の「GRUB を使用して x86 システムをブートする (タスクマップ)」を参照してください。
次のような 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.
[ 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 -sx
画面には編集されたコマンドが表示されます。
GNU GRUB version 0.95 (615K lower / 2095552K upper memory) +----------------------------------------------------------------------+ | root (hd0,0,a) | | kernel /platform/i86pc/multiboot -sx | | 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.-
注 - カーネルブートパラメータコマンドへのこの変更は、システムをブートすると無効になります。次にノードをリブートする際には、ノードはクラスタモードでブートします。そうでなく非クラスタモードでブートするには、これらの手順を再度実行して、カーネルブートパラメータコマンドに -sx オプションを追加します。
1 回につき 1 つのノードで、次のコマンドを実行します。
# patchadd -M patch-dir patch-id
パッチのディレクトリの場所を指定します。
特定のパッチのパッチ番号を指定します。
注 - 必ずパッチディレクトリにある指示に従ってください。それらがこの章の手順に優先します。
# showrev -p | grep patch-id
各ノードで次のコマンドを実行します。
# reboot
# /usr/cluster/bin/scversions
次のいずれかの結果が表示されます。
Upgrade commit is needed. Upgrade commit is NOT needed. All versions match.
# scversions -c
注 - scversions を実行すると、状況に応じて 1 つ以上の CMM 再構成が発生します。
例 11-2 リブートするパッチの適用 (クラスタ)
次に、リブートする Oracle Solaris Cluster パッチをクラスタに適用する例を示します。
# cluster shutdown -g0 -y ...
非クラスタのシングルユーザーモードでクラスタをブートします。
SPARC: 次のように入力します。
ok boot -sx
x86:各ノードを非クラスタのシングルユーザーモードでブートします。後続の手順で手順を参照してください。
... # patchadd -M /var/tmp/patches 234567-05 (Apply patch to other cluster nodes) ... # showrev -p | grep 234567-05 # reboot # scversions Upgrade commit is needed. # scversions -c
参照
パッチの適用を取り消す必要がある場合は、「Oracle Solaris Cluster パッチの変更」を参照してください。
クラスタ内で 1 回につき 1 つのノードにパッチを適用します。リブートしないパッチを適用する場合、パッチを受け取るノードを最初に停止する必要はありません。
# patchadd -M patch-dir patch-id
パッチのディレクトリの場所を指定します。
特定のパッチのパッチ番号を指定します。
# showrev -p | grep patch-id
# /usr/cluster/bin/scversions
次のいずれかの結果が表示されます。
Upgrade commit is needed. Upgrade commit is NOT needed. All versions match.
# scversions -c
注 - scversions を実行すると、状況に応じて 1 つ以上の CMM 再構成が発生します。
例 11-3 リブートしない Oracle Solaris Cluster パッチの適用
# patchadd -M /tmp/patches 234567-05 ... # showrev -p | grep 234567-05 # scversions Upgrade commit is needed. # scversions -c
参照
パッチの適用を取り消す必要がある場合は、「Oracle Solaris Cluster パッチの変更」を参照してください。
フェイルオーバーゾーンの使用時にシングルユーザーモードでパッチを適用するには、このタスクを実行します。このパッチ方法が必要とされるのは、Oracle Solaris Cluster ソフトウェアを使用するフェイルオーバー構成で Solaris コンテナ用に Oracle Solaris Cluster データサービスを使用している場合です。
# clquorum show
# clquorum add new-didname
# clquorum remove old-didname
次のコマンドは、PGRE (Persistent Group Reservation Emulation) 鍵を検索します。ディスク上に鍵が存在しない場合は、errno=22 メッセージが表示されます。
# /usr/cluster/lib/sc/pgre -c pgre_inkeys -d /dev/did/rdsk/dids2
鍵が見つかったら、PGRE 鍵をスクラブします。
# /usr/cluster/lib/sc/pgre -c pgre_scrub -d /dev/did/rdsk/dids2
![]() | 注意 - アクティブな定足数デバイス鍵をディスクからスクラブすると、次の再構成時にクラスタでパニックが発生し、「操作可能な定足数を失いました」というメッセージが表示されます。 |
# clresourcegroup evacuate -n node1
# clresourcegroup offline resourcegroupname
# clresource disable resourcename
# clresourcegroup unmanage resourcegroupname
# cldevicegroup offline cldevicegroupname
# cldevicegroup disable devicegroupname
# reboot -- -x
注 - ゾーンパス用の zpool があるフェイルオーバーゾーンにパッチを適用する場合は、次のコマンドを使用します。
# reboot -- -xs
# svcs -x
注 - ゾーンパス用の zpool があるフェイルオーバーゾーンにパッチを適用する場合は、この手順をスキップします。
# cluster status
ディスクセット内のすべてのディスクに対して、次のコマンドを実行します: /usr/cluster/lib/sc/scsi -c disfailfast -d /dev/did/rdsk/d#s2
キーが一覧表示される場合は、次のコマンドを実行してキーを解放します: /usr/cluster/lib/sc/scsi -c release -d /dev/did/rdsk/d#s2
予約キーの解放が終了したら、手順 12 をスキップして手順 13 に進みます。
# /usr/cluster/lib/sc/scsi -c inkeys -d /dev/did/rdsk/didnames2
# /usr/cluster/lib/sc/scsi -c scrub -d /dev/did/rdsk/didnames2
# metaset -s disksetname -C take -f
注 - ゾーンパス用の zpool があるフェイルオーバーゾーンにパッチを適用する場合は、次のコマンドを使用します。
# zpool import -R / pool_name
# mount device mountpoint
# init s
# zoneadm -z zonename halt
# zoneadm -z zonename boot -s
# reboot
# svcs -a
最初のノードの準備ができました。
# clresourcegroup evacuate -n node2
# zoneadm -z zonename detach
# init s
# zoneadm -z zonename halt
# zoneadm -z zonename boot -s
# zoneadm -z zonename attach -F
# reboot
# /usr/cluster/bin/scversions
次のいずれかの結果が表示されます。
Upgrade commit is needed. Upgrade commit is NOT needed. All versions match.
# scversions -c
注 - scversions を実行すると、状況に応じて 1 つ以上の CMM 再構成が発生します。
クラスタに適用した Oracle Solaris Cluster パッチを削除するには、最初に新しい Oracle Solaris Cluster パッチを削除してから、以前のパッチまたはアップデートリリースを再適用します。新しい Oracle Solaris Cluster パッチを削除する場合は次の手順を参照してください。以前の Oracle Solaris Cluster パッチを再適用する場合は、次のいずれかの手順を参照してください。
注 - Oracle Solaris Cluster パッチを適用する前に、パッチの README ファイルを確認します。
# patchrm patchid
# patchrm patchid
# reboot