グローバルゾーンへのPRIMECLUSTERのパッチの適用手順は“第12章 PRIMECLUSTERシステムの保守”に従います。ただし、OSのパッチ等で、グローバルゾーンにパッチを適用した場合、ノングローバルゾーンにも適用されるパッチがあります。その場合、ノングローバルゾーンのイメージをクラスタノード間で共有する構成とした場合と、共用しない構成とした場合で手順が異なります。それぞれ以下の手順でパッチを適用してください。
ノングローバルゾーンイメージをクラスタノード間で共有する構成、またはシングルノードクラスタ運用のパッチ適用手順
各手順はすべてのグローバルゾーンで実施してください。いずれかのグローバルゾーンでのみ行う場合は、手順に明記しています。
RMSを停止します。
いずれかのグローバルゾーンで以下のコマンドを実行します。
# /opt/SMAW/bin/hvshut -a
RMSが停止したことを確認します。
# /opt/SMAW/bin/hvdisp -a
hvdisp: RMS is not running #
RMSの自動起動を無効にするため、“/opt/SMAW/SMAWRrms/bin/hvenv.local”ファイルを編集します。
“/opt/SMAW/SMAWRrms/bin/hvenv.local”ファイルが存在しない場合、ファイルを作成(ファイルのアクセス権を644で作成)し、[変更後]の行を追記します。
[変更前]
export HV_RCSTART=1
[変更後]
export HV_RCSTART=0
ファイル編集後、「HV_RCSTART」の値が「0」になっていることを確認します。
# cat /opt/SMAW/SMAWRrms/bin/hvenv.local export HV_RCSTART=0
シングルユーザモードでシステムを起動しなおします。
# shutdown -g0 -i0 -y
各グローバルゾーンのコンソールに接続します。コンソールでok プロンプトが表示されたら、以下を実行します。
ok boot -s
シングルユーザモードでログインし、ファイルシステムをマウントします。
# mountall -l
# zfs mount -a
すべてのノングローバルゾーンがデタッチされていることを確認します。
“zoneadm list -vc”コマンドの出力結果でノングローバルゾーンのSTATUSが「configured」となっていれば、ノングローバルゾーンはデタッチされています。
例
ノングローバルゾーン名:zone-a、ゾーンパス:/zone-a-systemの場合
# zoneadm list -vc
ID NAME STATUS PATH BRAND IP 0 global running / native shared - zone-a configured /zone-a-system native shared
パッチを適用します。
例
Solaris 10のOSのパッチの場合
# patchadd <パッチ番号>
注意
すべてのグローバルゾーンに適用するパッチは同じレベルにしてください。
ローリングアップデートによるパッチ適用はサポートしていません。
複数のパッチを適用する場合、ここですべてのパッチを適用してください。
マルチユーザモードで再起動します。
# shutdown -i6 -g0 -y
RMSが停止していることを確認します。
# /opt/SMAW/bin/hvdisp -a
hvdisp: RMS is not running
いずれかのグローバルゾーンでノングローバルゾーンがインストールされているGDSボリュームを起動します。シングルノードクラスタの場合、手順11に進みます。
# sdxvolume -N -c class0001 -v volume0001
手順9を実施したグローバルゾーンでノングローバルゾーンに対応するGDSボリュームをマウントします。
各ノングローバルゾーンのマウントポイントは/etc/vfstab.pclで確認可能です。
例
ゾーンパス:/zone-a-systemの場合
# cat /etc/vfstab.pcl …省略… #RMS#/dev/sfdsk/class0001/dsk/volume0001 /dev/sfdsk/class0001/rdsk/volume0001 /zone-a-system ufs - no -
この例の場合、以下のようにマウントします。
# mount -F ufs /dev/sfdsk/class0001/dsk/volume0001 /zone-a-system
手順9を実施したグローバルゾーンでノングローバルゾーン(例:ノングローバルゾーン名がzone-aの場合)をアタッチすることによりパッチが適用されます。
# zoneadm -z zone-a attach -u
注意
適用情報は画面で表示されるため、エラーがないことを確認してください。
適用ログはノングローバルゾーンの“/var/sadm/system/logs/update_log”で確認できます。
手順9を実施したグローバルゾーンでノングローバルゾーンがアタッチされていることを確認します。
ノングローバルゾーンのSTATUSが「installed」であることで判断できます。
例
ノングローバルゾーン名:zone-a、ゾーンパス:/zone-a-systemの場合
# zoneadm list -vc ID NAME STATUS PATH BRAND IP 0 global running / native shared - zone-a installed /zone-a-system native shared
ノングローバルゾーンにパッチが適用されたことを確認したい場合、以下の手順13~18を実施してください。確認不要の場合、手順19に進んでください。
手順9を実施したグローバルゾーンでノングローバルゾーンを起動します。
# /usr/lib/brand/solaris8/s8_p2v zone-a (Solaris 8 コンテナの場合のみ)
# /usr/lib/brand/solaris9/s9_p2v zone-a (Solaris 9 コンテナの場合のみ)
# zoneadm -z zone-a boot
以下のコマンドによりノングローバルゾーンが起動していることが確認できます。
# zoneadm list -vc ID NAME STATUS PATH BRAND IP 0 global running / native shared 1 zone-a running /zone-a-system native shared
手順9を実施したグローバルゾーンでノングローバルゾーンにログインします。
# zlogin zone-a
ノングローバルゾーンでパッチ適用されることを確認します。
例
Solaris 10のOSのパッチの場合
[zone-a]# showrev -p | grep <パッチ番号>
ノングローバルゾーンからログアウトします。
[zone-a]# exit
手順9を実施したグローバルゾーンでノングローバルゾーンを停止します。
# zlogin zone-a shutdown -i0 -g0 -y
手順9を実施したグローバルゾーンでノングローバルゾーンをデタッチします。
# zoneadm -z zone-a detach
zone-aがデタッチされていることを確認してください。
zone-aのSTATUSが「configured」であることで判断できます。
#zoneadm list -vc
ID NAME STATUS PATH BRAND IP 0 global running / native shared - zone-a configured /zone-a-system native shared
手順2.でRMSの自動起動を変更した場合は、RMSの自動起動を有効とするため、“/opt/SMAW/SMAWRrms/bin/hvenv.local”ファイルを編集します。
[変更前]
export HV_RCSTART=0
[変更後]
export HV_RCSTART=1
ファイル編集後、「HV_RCSTART」の値が「1」になっていることを確認します。
# cat /opt/SMAW/SMAWRrms/bin/hvenv.local
export HV_RCSTART=1
システムを再起動します。
# shutdown -i6 -g0 -y
起動後、全グローバルゾーンでRMSが起動していることを確認してください。
例
# /opt/SMAW/bin/hvdisp -a Local System: GZARMS Configuration: /opt/SMAW/SMAWRrms/build/config.us Resource Type HostName State StateDetails ----------------------------------------------------------------------------- GZBRMS SysNode Online GZARMS SysNode Online userApp_0 userApp Online Machine001_userApp_0 andOp GZBRMS Machine000_userApp_0 andOp GZARMS Online ManageProgram000_Cmdline0 gRes Online MountPoint001_Fsystem0 gRes Online AllDiskClassesOk_Gds0 andOp Online class0001_Gds0 gRes Online #
ノングローバルゾーンイメージをクラスタノード間で共有しない構成のパッチ適用手順
通常の手順どおりにグローバルゾーンにパッチを当ててください。ローリングアップデートによるパッチ適用を行う場合、以下の例を参考にしてください。各手順はすべてグローバルゾーンで実施してください。
例)運用系グローバルゾーンGZA、待機系グローバルゾーンGZBに、ローリングアップデートによるパッチ適用を行う場合。
クラスタアプリケーションが動作している場合は、全てのクラスタアプリケーションを待機系に切替えてください。
GZA上で以下のコマンドを実行し、待機系GZBにクラスタアプリケーションを切替えます。
# hvswitch userApp_0 GZBRMS
“userApp_0”はグローバルゾーン上のクラスタアプリケーション名、“GZBRMS”はSysNode名です。
GZAでユーザアプリケーションがOfflineになっていることを確認します。
# /opt/SMAW/bin/hvdisp -a Local System: GZBRMS Configuration: /opt/SMAW/SMAWRrms/build/config.us Resource Type HostName State StateDetails ----------------------------------------------------------------------------- GZARMS SysNode Online GZBRMS SysNode Online userApp_0 userApp Standby userApp_0 userApp GZARMS Online Machine001_userApp_0 andOp GZBRMS Offline Machine000_userApp_0 andOp GZARMS ManageProgram000_Cmdline0 gRes Standby #
シングルユーザモードでGZAを起動しなおします。
# shutdown -g0 -i0 -y
GZAのコンソールに接続します。コンソールでok プロンプトが表示されたら、以下を実行します。
ok boot -s
GZAを シングルユーザモードでログインし、ファイルシステムをマウントします。
# mountall -l
# zfs mount -a
コールドスタンバイの場合、ノングローバルゾーンをアタッチしてください。
# zoneadm -z zone-a attach
GZAでノングローバルゾーンがアタッチされていることを確認してください。
“zoneadm list -vc”コマンドの出力結果でノングローバルゾーンのSTATUSが「installed」となっていれば、ノングローバルゾーンはアタッチされています。
例
ノングローバルゾーン名:zone-a、ゾーンパス:/zone-a-systemの場合
# zoneadm list -vc
ID NAME STATUS PATH BRAND IP 0 global running / native shared - zone-a installed /zone-a-system native excl
GZAでパッチを適用します。
例
Solaris 10のOSのパッチの場合
# patchadd <パッチ番号>
注意
すべてのグローバルゾーンに適用するパッチは同じレベルにしてください。
複数のパッチを適用する場合、ここですべてのパッチを適用してください。
コールドスタンバイの場合、ノングローバルゾーンをデタッチしてください。
# zoneadm -z zone-a detach
マルチユーザモードでGZAを再起動します。
# shutdown -i6 -g0 -y
起動後、全グローバルゾーンでRMSが起動していることを確認してください。また、GZAでuserAppがStandby、GZBでuserAppがOnlineになっていることを確認してください。
例
GZAの場合
# /opt/SMAW/bin/hvdisp -a
Local System: GZARMS Configuration: /opt/SMAW/SMAWRrms/build/config.us Resource Type HostName State StateDetails ----------------------------------------------------------------------------- GZBRMS SysNode Online GZARMS SysNode Online userApp_0 userApp Standby userApp_0 userApp GZBRMS Online Machine001_userApp_0 andOp GZARMS Offline Machine000_userApp_0 andOp GZBRMS ManageProgram000_Cmdline0 gRes #
例
GZBの場合
# /opt/SMAW/bin/hvdisp -a
Local System: GZBRMS Configuration: /opt/SMAW/SMAWRrms/build/config.us Resource Type HostName State StateDetails ----------------------------------------------------------------------------- GZARMS SysNode Online GZBRMS SysNode Online userApp_0 userApp Online Machine001_userApp_0 andOp GZARMS Machine000_userApp_0 andOp GZBRMS Online ManageProgram000_Cmdline0 gRes Online #
GZBにもパッチを適用します。手順 1)から 8)までを繰り返してください。ただし、手順中のGZAはGZBに、GZBはGZAに置き換えてください。