PRIMECLUSTERシステムを構築した後に、CFノード名を変更する方法について説明します。
◆操作手順
ここでは、CFノード名をfuji2,fuji3からfuji4,fuji5に変更する場合を例に説明します。
RMSを使用している場合、自動起動を抑止します。
現在のRMSの自動機能の設定を確認し、設定に応じて以下を実施します。本操作はRMSを使用しているすべてのノードで実施します。
# hvsetenv HV_RCSTART
1 ←この値を確認します
"0"が設定されている場合、RMSの自動起動が抑止されているので、手順2.へ進みます。
"1"が設定されている場合、以下を実施し、RMSの自動起動を抑止します。
# hvsetenv HV_RCSTART 0
# hvsetenv HV_RCSTART 0 ←「0」が出力されることを確認します
GFS共用ファイルシステムを使用している場合は、以下の手順でGFSの構成情報をバックアップします。
変更前のノードで、GFS共用ファイルシステムの管理パーティションの情報をバックアップします。
運用中のいずれかのノードで以下のコマンドを実施してください。
# sfcgetconf _backup_file_
上記の例では、sfcgetconf(1M)はカレントディレクトリに _backup_file_ という名称のシェルスクリプトを生成します。
sfcfrmdデーモンの起動方法の設定を確認します。
# sfcsetup -m
wait_bg
出力された値をメモしてください。
この値は、CFノード名変更後にGFSの構成情報をリストアする際に使用します。
GFSの管理パーティションの情報を確認します。
# sfcinfo -a
/dev/sfdsk/gfs01/dsk/volume01:
FSID special size Type mount
1 /dev/sfdsk/gfs01/dsk/volume01(15000000021) 14422 META -----
1 /dev/sfdsk/gfs01/dsk/volume01(15000000021) 5116 LOG -----
1 /dev/sfdsk/gfs01/dsk/volume01(15000000021) 95112 DATA -----
# sfcrscinfo -m -a
/dev/sfdsk/gfs01/dsk/volume01:
FSID MDS/AC STATE S-STATE RID-1 RID-2 RID-N hostname
1 MDS(P) stop - 0 0 0 host2
1 AC stop - 0 0 0 host2
1 MDS(S) stop - 0 0 0 host3
1 AC stop - 0 0 0 host3
出力結果を保存してください
この情報は、CFノード名変更後にGFSの構成情報をリストアした後の確認に使用します。
すべてのノードをシングルユーザモードで起動します。
CFノード名、CIP/Sysnode名を変更します。
すべてのノードで以下の操作を実施してください。
注意
CFノード名の命名規則については“5.1.1 CF、CIPの設定”を参考にしてください。
/etc/cip.cf に記載している CFノード名、CIP/Sysnode名のうち、CFノード名となっている文字列を変更してください。
fuji2 fuji2RMS:netmask:255.255.255.0 fuji3 fuji3RMS:netmask:255.255.255.0
fuji4 fuji4RMS:netmask:255.255.255.0 fuji5 fuji5RMS:netmask:255.255.255.0
/etc/inet/hosts に記載しているCIP/Sysnode名のうち、CFノード名となっている文字列を変更してください。
192.168.0.1 fuji2RMS 192.168.0.2 fuji3RMS
192.168.0.1 fuji4RMS 192.168.0.2 fuji5RMS
/etc/default/clusterに記載しているCFノード名を変更してください。
nodename fuji2 clustername PRIMECLUSTER1 device /dev/hme2 device /dev/hme3
nodename fuji4 clustername PRIMECLUSTER1 device /dev/hme2 device /dev/hme3
クラスタリソース管理機構のファイルを削除してください。
/etc/opt/FJSVcluster/FJSVcldbm/config/shmno ファイルが存在する場合、ファイルを削除してください。
# rm /etc/opt/FJSVcluster/FJSVcldbm/config/shmno
クラスタリソース管理機構のノード名変更します。
注意
本手順はクラスタリソース管理機構を設定していない場合は不要です。
以下のコマンドを実施し、クラスタリソース管理機構のノード名を変更してください。
# /etc/opt/FJSVcluster/bin/clchgnodename
GFSの管理パーティションの情報を削除します。
注意
本手順はGFS共用ファイルシステムを使用していない場合は不要です。
GFS共用ファイルシステムの管理パーティションの情報を削除します。すべてのノードで以下の操作を実施してください。
# rm /var/opt/FJSVgfs/sfcfsrm.conf
シャットダウン機構の/etc/opt/SMAW/SMAWsf/rcsd.cfgファイルを削除します。
すべてのノードで以下の操作を実施してください。
# rm /etc/opt/SMAW/SMAWsf/rcsd.cfg
すべてのノードをマルチユーザモードで起動します。
クラスタ整合性モニタ(CIM)を設定します。
変更前に使用していたCFノード名を削除し、変更後に使用するCFノード名を設定します。
本設定は、クラスタシステムを構成する任意の1ノードで実施してください。
例)変更前に使用していたCFノード名(fuji2, fuji3)/変更後に使用するCFノード名(fuji4, fuji5)の場合
# rcqconfig -d fuji2 fuji3
# rcqconfig -a fuji4 fuji5
CF設定項目の確認
変更した、CFノード名、CIP/Sysnode名が正しいかどうかを確認します。
CFノード名の確認
各ノードでcfconfig -g コマンドを実施し、設定したCFノード名が正しいことを確認してください。
例)変更したCFノード名がfuji4の場合
# cfconfig -g fuji4 PRIMECLUSTER1 /dev/hme2 /dev/hme3
CIP/Sysnode名の確認
相手ノードに設定したすべてのCIP/Sysnode名と通信できることを確認してください。すべてのノードでそれぞれ確認してください。
例)相手ノードに設定したSysnode名が fuji5RMSの場合
# ping fuji5RMS
上記a、bで問題があった場合、/etc/cip.cf、/etc/default/cluster、/etc/inet/hosts に設定したCFノード名、CIP/Sysnode名に誤りがないか確認してください。
誤りがあった場合、以下の手順を実施してください。
シングルユーザモードで起動してください。
上記手順“4. CFノード名、CIP/Sysnode名を変更”を実施し、ノードを再起動してください。
上記手順“10. クラスタ整合性モニタ(CIM)を設定します。”を再度実施してください。
シャットダウン機構を設定します。
CFノード名変更前に使用していた非同期監視の情報を削除します。
●SPARC M10、M12の場合
以下のコマンドを任意の1ノードで実行し、CFノード名変更前に使用していたSNMP非同期監視の情報が表示されることを確認します。
# /etc/opt/FJSVcluster/bin/clsnmpsetup -l
以下のコマンドを任意の1ノードで実行し、CFノード名変更前に使用していたSNMP非同期監視の情報を削除します。
# /etc/opt/FJSVcluster/bin/clsnmpsetup -d fuji2 # /etc/opt/FJSVcluster/bin/clsnmpsetup -d fuji3
以下のコマンドを任意の1ノードで実行し、SNMP非同期監視の情報が表示されないことを確認します。
# /etc/opt/FJSVcluster/bin/clsnmpsetup -l
●SPARC Enterprise M3000、M4000、M5000、M8000、M9000、
SPARC Enterprise T5120、T5220、T5140、T5240、T5440、およびSPARC T3、T4、T5、T7、S7シリーズの場合
以下のコマンドを任意の1ノードで実行し、CFノード名変更前に使用していたコンソール非同期監視の情報が表示されることを確認します。
# /etc/opt/FJSVcluster/bin/clrccusetup -l
以下のコマンドを任意の1ノードで実行し、CFノード名変更前に使用していたコンソール非同期監視の情報を削除します。
# /etc/opt/FJSVcluster/bin/clrccusetup -d fuji2 # /etc/opt/FJSVcluster/bin/clrccusetup -d fuji3
以下のコマンドを任意の1ノードで実行し、コンソール非同期監視の情報が表示されないことを確認します。
# /etc/opt/FJSVcluster/bin/clrccusetup -l
●SPARC Enterprise T1000、T2000の場合
/etc/opt/SMAW/SMAWsf/SA_sunF.cfgファイルを削除します。
# rm /etc/opt/SMAW/SMAWsf/SA_sunF.cfg
“5.1.2 シャットダウン機構の設定”を参照して、再度、シャットダウン機構の設定を行ってください。
GFS共用ファイルシステムを使用している場合は、以下の手順でGFSの構成情報をリストアします。
変更後の任意の1ノードで管理パーティションを再初期化します。
例:/dev/sfdsk/gfs/rdsk/control を管理パーティションとして初期化する場合
# sfcsetup -cf /dev/sfdsk/gfs/rdsk/control
各ノードで構成ノード情報を再登録します。
# sfcsetup -a /dev/sfdsk/gfs/rdsk/control
変更後の任意の1ノードで、手順2.の2.でメモした、sfcfrmdデーモンの起動方法を再設定します。
例:sfcfrmdデーモンの起動方法が wait_bg の場合
# sfcsetup -m wait_bg
注意
sfcfrmdデーモンの起動方法をデフォルト値waitから変更する場合に実施してください。
管理パーティションが再初期化されていることを確認します。
設定した管理パーティションのパス名は、sfcsetup(1M) に -p オプションを指定することで確認できます。
# sfcsetup -p
/dev/sfdsk/gfs/rdsk/control
登録したノード情報は、sfcsetup(1M) をオプションなしで実行することで確認できます。
CIPNAME の値が、手順4.の2.で変更したCIP/Sysnode名であることを確認します。
# sfcsetup
HOSTID CIPNAME MP_PATH
80380000 fuji4RMS yes
80380001 fuji5RMS yes
sfcfrmdデーモンの起動方法は、sfcsetup(1M)に -m オプションを指定することで確認できます。
# sfcsetup -m
wait_bg
すべてのノードで以下のコマンドを実行し、sfcfrmdデーモンを起動します。
# sfcfrmstart
管理パーティション情報をリストアします。
手順2.の1.で生成したシェルスクリプトをいずれかの1ノードで実行します。
# sh _backup_file_
get other node information start ... end
GFSの管理パーティション情報がリストアできたことをsfcinfo(1M)、および、sfcrscinfo(1M)で確認します。
手順2.の3.で確認した情報と同じであることを確認してください。
# sfcinfo -a
/dev/sfdsk/gfs01/dsk/volume01: FSID special size Type mount 1 /dev/sfdsk/gfs01/dsk/volume01(15000000021) 14422 META ----- 1 /dev/sfdsk/gfs01/dsk/volume01(15000000021) 5116 LOG ----- 1 /dev/sfdsk/gfs01/dsk/volume01(15000000021) 95112 DATA -----
# sfcrscinfo -m -a
/dev/sfdsk/gfs01/dsk/volume01:
FSID MDS/AC STATE S-STATE RID-1 RID-2 RID-N hostname
1 MDS(P) stop - 0 0 0 host2
1 AC stop - 0 0 0 host2
1 MDS(S) stop - 0 0 0 host3
1 AC stop - 0 0 0 host3
GFS共用ファイルシステムをすべてのノードでマウントします。
# sfcmntgl <マウントポイント>
以降の手順は、クラスタアプリケーションを設定している場合に実施します。クラスタアプリケーションを作成していない場合は、以降の手順は実施不要です。
RMS Configuration 名を取得します。以下の手順に従いファイルの内容を出力し、-c の後に続く文字列が RMS Configuration 名になります。本操作は、クラスタを構成するいずれか1ノードで実施します。
例
RMS Configuration 名が 'config' の場合
# cat /opt/SMAW/SMAWRrms/etc/CONFIG.rms
hvcm -c config
↑RMS Configuration 名
構成ファイルのバックアップを採取します。この操作はすべてのクラスタノードで実行します。
以下のコマンドを実行します。
cd /opt/SMAW/SMAWRrms/build/wizard.d
cp -rp <RMS Configuration 名> <RMS Configuration 名>.backup
引継ぎネットワークリソースを使用していた場合は、以下をすべてのクラスタノードで実行します。
cp -p /opt/SMAW/SMAWRrms/etc/hvipalias /opt/SMAW/SMAWRrms/etc/hvipalias.backup
例
<RMS Configuration 名>が configの場合
# cd /opt/SMAW/SMAWRrms/build/wizard.d # cp -rp config config.backup # cp -p /opt/SMAW/SMAWRrms/etc/hvipalias /opt/SMAW/SMAWRrms/etc/hvipalias.backup
構成ファイルのSysNode名を修正します。ここでの一連の操作は、手順14.を実施したノードと同じノードで実施します。
構成ファイルが配置されているディレクトリに移動します。
# cd /opt/SMAW/SMAWRrms/build/wizard.d/<RMS Configuration 名>
例
<RMS Configuration 名>が configの場合
# cd /opt/SMAW/SMAWRrms/build/wizard.d/config
変更対象のファイルを以下のコマンドで検索します。
grep -l HvpMachine *
例
# grep -l HvpMachine *
userApp_0.m
userApp_1.m
:
ここで表示された .m ファイルが更新対象です。
表示されたファイルにおいて HvpMachine で始まる行を探し変更します。 vi コマンドでファイルを開きます。
# vi userApp_0.m
HvpApplication=userApp_0 HvpAutoBreak=yes : (省略) : HvpMachine000=fuji2RMS ←●変更対象行 HvpMachine001=fuji3RMS ←●変更対象行 : (以後省略)
イコールの右辺に設定されている SysNode 名を、変更後の SysNode 名に変更します。
SysNode 名は、CFノード名に大文字の RMS を追加した形で設定されています。
CF ノード名を fuji2,fuji3 から fuji4,fuji5 に変更した場合は、以下のように変更します。
HvpMachine000=fuji2RMS HvpMachine001=fuji3RMS
HvpMachine000=fuji4RMS HvpMachine001=fuji5RMS
この変更操作を前の手順16.の2. で取得した .m のファイルすべてに対して実施します。
変更前の SysNode 名が残っていないか確認します。
例
# grep HvpMachine *.m
userApp_0.m:HvpMachine000=fuji4RMS
userApp_0.m:HvpMachine001=fuji5RMS
userApp_1.m:HvpMachine000=fuji4RMS
userApp_1.m:HvpMachine001=fuji5RMS
構成ファイルが配置されているディレクトリ配下の <SysNode名>.s ファイルをmvコマンドで変名します。古い SysNode名を持つファイルを、変更後のSysNode名に変更します。
例
# mv fuji2RMS.s fuji4RMS.s # mv fuji3RMS.s fuji5RMS.s
プロシジャリソース、回線切替装置リソース、パトロール診断のCFノード名を修正します。ここでの一連の操作は、手順16.を実施したノードでのみ実施します。
プロシジャリソース、回線切替装置リソース、パトロール診断を使用していない場合は、本手順は実施不要です。
構成ファイルが配置されているディレクトリに移動します。
# cd /opt/SMAW/SMAWRrms/build/wizard.d/<RMS Configuration 名>
例
<RMS Configuration 名>が configの場合
# cd /opt/SMAW/SMAWRrms/build/wizard.d/config
変更対象のファイルを以下のコマンドで検索します。
grep -l HvpCrmScopeFilter *
例
# grep -l HvpCrmScopeFilter *
Procedure0.m
Procedure1.m
:
ここで表示された .m ファイルが更新対象です。
表示されたファイルにおいて HvpCrmScopeFilterで始まる行を探し変更します。 vi コマンドでファイルを開きます。
# vi Procedure0.m
HvpApplType=RESOURCE
HvpApplication=Procedure0
HvpClassNameFilter=BasicApplication
HvpConsistent=consistent
HvpCrmFlags000=OT1800
HvpCrmResourceId000=33
HvpCrmResourceName000=SDISK
HvpCrmScopeFilter=fuji2:fuji3 ←●変更対象行
HvpPlugin=BasicApplication
HvpPreCheckHeritageIn=''
:
(以後省略)
イコールの右辺に設定されている CFノード名を、変更後のCFノード名に変更します。
CF ノード名を fuji2,fuji3 から fuji4,fuji5 に変更した場合は、以下のように変更します。
HvpCrmScopeFilter=fuji2:fuji3
HvpCrmScopeFilter=fuji4:fuji5
この変更操作を前の手順17.の2.で表示されたすべての.mファイルに対して実施します。
変更前の CFノード名が残っていないか確認します。
grep HvpCrmScopeFilter *.m
例
# grep HvpCrmScopeFilter *.m
Procedure0.m:HvpCrmScopeFilter=fuji4:fuji5 Procedure1.m:HvpCrmScopeFilter=fuji4:fuji5 :
引継ぎネットワークリソースを使用している場合、hvipaliasファイル内の CFノード名を変更します。
本ファイルは /opt/SMAW/SMAWRrms/etc/hvipalias にあります。ファイルがない場合や、ファイル内に CFノード名がない場合は、引継ぎネットワークリソースは使用されていないため、本手順は不要です。
各行の第一フィールドには、CFノード名、第二フィールドには、引継ぎネットワークのホスト名が設定されています。各行の CFノード名を変更後の名前に修正します。この操作はクラスタを構成するすべてのノードで実施します。
例
CFノード名を fuji2 → fuji4、fuji3 → fuji5 と変更した場合。
fuji2 hostname net0 0xffffff00 # sh_rid=34 rid=32 192.168.100.233 fuji3 hostname net0 0xffffff00 # sh_rid=34 rid=33 192.168.100.233
fuji4 hostname net0 0xffffff00 # sh_rid=34 rid=32 192.168.100.233 fuji5 hostname net0 0xffffff00 # sh_rid=34 rid=33 192.168.100.233
変更を反映します。以下のコマンドを手順14.を実施したノードと同じノードで実施します。
hvw -F Configuration-Activate -xj -n <RMS Configuration 名>
例
# hvw -F Configuration-Activate -xj -n config
コマンドの出力結果において、以下の(1)と(2)の内容を確認します。
Testing for RMS to be up somewhere in the cluster ... done. Arranging sub applications topologically ... done. Check for all applications being consistent ... done. Running overall consistency check ... done. Generating pseudo code [one dot per (sub) application]: ..... done. Generating RMS resources [one dot per resource]: ............................................................ done hvbuild using /usr/opt/reliant/build/wizard.d/config/config.us About to distribute the new configuration data to hosts: fuji4RMS,fuji5RMS (1) The new configuration was distributed successfully. About to put the new configuration in effect ... done. The activation has finished successfully. (2) #
(1) では、変更後の SysNode 名が出力されていることを確認します。
(2) では、The activation has finished successfully. と出力されていることを確認します。
出力結果が異なる場合は、以下を確認し、必要な対処を実施してください。
クラスタを構成する一部のノードで RMS が動作中でないかを確認してください。動作中の場合は、RMS を停止してください。
クラスタを構成するすべてのノードがマルチユーザモードで動作していることを確認してください。
すべてのノードで /etc/inet/hosts ファイルのホスト名の変更や CF ノード名の変更が完了しているかを確認してください。
対処後、手順19.の操作を再度実施します。
RMSの自動起動を手順1.で変更した場合は、以下の手順で元に戻します。本操作はRMSを使用しているすべてのノードで実施します。
# hvsetenv HV_RCSTART 1
# hvsetenv HV_RCSTART 1 ← 元に戻した場合の値が出力されることを確認します