ノーロール・パッチ処理を実行すると,ローリング・アップグレードを実行しなくてもクラスタにパッチをインストールできます。この章では,次の内容を扱います。
4-2-1 概要 |
 |
ローリング・アップグレードを使用すると,クラスタの高い可用性を維持したまま,クラスタ内のソフトウェアをアップグレードできます。この高い可用性を維持するには,タグ付きファイルを作成したり,それを使用するクラスタ・メンバをリブートしたりするために,ある程度のセットアップ作業が必要です。このために,かなりの時間を取られます。
しかし,ミッション・クリティカルな環境があるために,パッチを迅速に適用でき,クラスタのダウンタイムが最小限になり,必要なリブートの回数が少ないパッチ手法を使用する必要がある場合は,ノーロール・パッチ処理を使用することをお勧めします。この処理では,1 回の操作でクラスタにパッチを適用します。この操作は,クラスタ全体をわずか 1~2 回リブートするだけで完了します。2 回のリブートが必要なのは,バージョン・スイッチを使用するパッチをインストールする場合だけです (4-2-3 項 「バージョン・スイッチの投入」を参照)。
ノーロール・パッチ処理は,dupatch を手直ししたものです。つまり,パッチをインストールまたは削除する場合,ローリング・アップグレードの手順では clu_upgrade ユーティリティと dupatch ユーティリティを使用しますが,ノーロール・パッチ処理では常に dupatch ユーティリティを使用します。ノーロール処理では,ローリング・アップグレードの手順に比べて実行する操作の数がかなり少なくなります。
ノーロール・パッチによるインストールの実行中は,手順の段階によってクラスタの状態が変わり,自動的にリブートされるので,クラスタ内で他の重要な操作を実行しないでください。
また,ノーロール・パッチの手順では,クラスタ単位のイベントを送信するために Tru64 UNIX Event Management System (EVM) が採用されています。このため,パッチを適用するときはシステムをマルチユーザ・モードにする必要があります。シングルユーザ・モードのままノーロールの手順を実行しようとしている場合は,続行する前にクラスタをマルチユーザ・モードに変更してください。
4-2-2 ノーロールの手順を実行するときの手順 |
 |
次の手順は,ノーロールの手順を使ってクラスタにパッチを適用する方法を示したものです。
マルチユーザ・モードで動作するシステムで,次のように dupatch コマンドを入力します。
# dupatch
Tru64 UNIX Patch Utility (Rev. 48-00)
==========================
This dupatch session is logged in /var/adm/patch/log/session.log
Main Menu:
---------
1) Patch Kit Installation
2) Patch Kit Deletion
3) Patch Kit Documentation
4) Patch Tracking
5) Patch Baseline Analysis/Adjustment
h) Help on Command Line Interface
q) Quit
Enter your choice: |
メイン・メニューから patch installation オプションまたは patch deletion オプションを選択します(3-3-2 項 「マルチユーザ・モードからのパッチのインストール」を参照)。
ローリング・パッチを実行する準備ができていないクラスタでコマンドを実行したことが検出され,ローリングなしでパッチ操作を実行するかどうかを選択するためのプロンプトが表示されます。次のようなメッセージが表示されます。
Checking Cluster State...done
This system is part of a cluster which has not been prepared to do a
rolling patch installation or deletion. Do you wish to perform this
patch operation cluster-wide without using the rolling-patch mechanism?
Please answer y or n ? [y/n]: |
"y" を選択すると,dupatch の処理が続行され,インストールまたは削除するパッチを分析して選択することができます。その後,Event Management System イベントによってクラスタ全体が init レベル 2 に移行します。
dupatch をコマンド行から使用し,-proceed オプションを指定しなかった場合は,リターン・キーを押して,クラスタをレベル 3 からレベル 2 に移行する必要があります。-proceed オプションを指定した場合は,レベルの移行が自動的に行われます。
dupatch によるパッチの分析が完了すると,dupatch を実行したメンバでパッチに対する操作が実行されます。パッチがインストールまたは削除されると,パッチに対する操作を並行して実行することを他のクラスタ・メンバに指示する 2 つ目のイベントが dupatch によって発行されます。
dupatch ユーティリティは,他のすべてのクラスタ・メンバで操作が完了するのを,予測したタイムアウト時間だけ待機します。タイムアウト時間は,dupatch を実行したメンバでパッチに対する操作を実行するのにかかった時間を基に決定されます。
他のすべてのクラスタ・メンバでパッチに対する操作が完了すると,dupatch コマンドを実行したメンバに対する手順が完了します。
クラスタ・メンバにタイムアウトやエラーが発生すると,dupatch は問題を報告し,処理を中断して,問題を解決するために問題のあるメンバを確認するように指示するメッセージを表示します。dupatch の処理が再開すると,クラスタ内の他のメンバに対するパッチ処理が完了します。
dupatch コマンドの実行時に停止しているクラスタ・メンバが存在する場合は,/sbin/it ジョブがそのメンバに送信され,リブート時にクラスタのパッチ・スクリプトが実行されます(詳細は,it(8) リファレンス・ページを参照)。
現時点ではすべてのパッチについてリブートが必要なため,すべてのメンバから報告を受信した後,クラスタ全体がリブートします。
4-2-3 バージョン・スイッチの投入 |
 |
システムに適用したパッチにバージョン・スイッチを使用する必要がある場合は,dupatch セッションの最後で次のようなメッセージが表示されます。
*********************************************************************
Patch OSFPAT00074200510 has been
identified as needing a version switch. Once the following reboot is
complete, please enter the "/var/adm/patch/noroll/noroll_versw"
command from any cluster member.
*********************************************************************
|
このメッセージにあるように,任意のクラスタ・メンバで /var/adm/patch/noroll/noroll_versw コマンドを入力する必要があります。この操作は,リブート完了後に手動で実行しなければなりません。noroll_versw コマンドを実行するときは,あらかじめすべてのクラスタ・メンバを稼働させておく必要があります。停止しているメンバがあると,noroll_versw コマンドの実行に失敗し,バージョン・スイッチが行われません。
noroll_versw コマンドを実行した後は,システムの完全性を確保するためにシステムをリブートします。
4-2-4 パッチの削除 |
 |
ノーロール・プロセスを使用して包括パッチ・キットを削除することはできません。なぜなら,包括パッチ・キットの削除では,versw_enable_delete (3-8-2-1 項 「新しいスタイルのパッチ・キットに対する必須スクリプトの実行」) スクリプトを実行する必要があり,このスクリプトはパッチ・キットを削除するためにクラスタの各メンバをリブートすることを要求するからです。ノーロール・プロセスでは,パッチの削除後にシステムが自動的にリブートされるので,要求されているように,各メンバをリブートできません。