ここでは、PRIMECLUSTERのクラスタ初期設定について説明します。
“PRIMECLUSTER 導入運用手引書”の“5.1.1 CF、CIPの設定”を参照し、CF、CIPの設定を行ってください。
注意
クラウド環境ではCF over IPを使用する必要があります。また、RMSなどではクラスタ内のノード間通信のためにCIPを使用するため、CIPを設定する必要があります。CF over IP (IPインタコネクト)とCIPは異なる機能です。詳細は、“Cluster Foundation導入運用手引書”の“1.1.1 CIPとCF over IP”を参照してください。
ここでは、AWS環境のシャットダウン機構の設定方法について説明します。
AWS環境で使用可能なシャットダウンエージェントは以下のとおりです。
AWS CLI(SA_vmawsAsyncReset)
AWS Command Line Interface を使用したノード(インスタンス)のシャットダウン機能を提供します。
シングルノードクラスタの場合は、設定不要です。
ログファイルの格納場所は以下です。
/var/opt/SMAWsf/log/SA_vmawsAsyncReset.log
I/Oフェンシング(SA_icmp)
I/Oフェンシング機能を使用したノード(インスタンス)のシャットダウン機能を提供します。
シングルノードクラスタの場合は、設定不要です。
ログファイルの格納場所は以下です。
/var/opt/SMAWsf/log/SA_icmp.log
生存優先度については、“PRIMECLUSTER 導入運用手引書”の“5.1.2.1 生存優先度”を参照してください。
非同期型強制停止方式でのシャットダウン機構の設定手順について説明します。
以下の手順で実施してください。
注意
シャットダウンエージェント設定後は、正しいノードが強制停止できることを確認するため、クラスタノード強制停止テストを実施してください。クラスタノード強制停止テストの詳細については、“PRIMECLUSTER 導入運用手引書”の“1.4 テスト”を参照してください。
SA_vmawsAsyncReset.cfg、rcsd.cfgファイルの内容はすべてのノードで同一にしてください。同一でない場合誤動作します。
シャットダウンデーモンの設定
クラスタシステムを構成するすべてのノードで、/etc/opt/SMAW/SMAWsf/rcsd.cfgを以下のような内容で作成します。
CFNameX,weight=weight,admIP=myadmIP:agent=SA_vmawsAsyncReset,timeout=timeout CFNameX,weight=weight,admIP=myadmIP:agent=SA_vmawsAsyncReset,timeout=timeout
CFNameX :クラスタホストのCFノード名を指定します。 weight :SFのノードの重みを指定します。 myadmIP :クラスタホストのシャットダウン機構で使用する管理LANのIPアドレスを指定します。 指定可能なアドレス形式は、IPv4アドレスです。 ホスト名を指定する場合は、/etc/hostsに記載されていることを確認してください。 SA_vmawsAsyncReset :AWS CLIシャットダウンエージェントです。 timeout :AWS CLIシャットダウンエージェントのタイムアウト時間(秒)を指定します。 15秒を指定します。
例)設定例を以下に示します。
クラスタホストのCFノード名がnode1/node2、2ノードの重みが1、node1の管理LANのIPアドレスが192.168.250.1、node2の管理LANのIPアドレスが192.168.250.2の場合
# cat /etc/opt/SMAW/SMAWsf/rcsd.cfg
node1,weight=1,admIP=192.168.250.1:agent=SA_vmawsAsyncReset,timeout=15
node2,weight=1,admIP=192.168.250.2:agent=SA_vmawsAsyncReset,timeout=15
/etc/opt/SMAW/SMAWsf/rcsd.cfgを作成後、オーナー、グループ、アクセス権を以下のように設定します。
# chown root:root /etc/opt/SMAW/SMAWsf/rcsd.cfg # chmod 600 /etc/opt/SMAW/SMAWsf/rcsd.cfg
参考
/etc/opt/SMAW/SMAWsf/rcsd.cfgファイルを作成する場合、/etc/opt/SMAW/SMAWsf/rcsd.cfg.templateファイルをひな形として使用することができます。
シャットダウンエージェントの設定
クラスタシステムを構成するすべてのノードで、/etc/opt/SMAW/SMAWsf/SA_vmawsAsyncReset.cfgを以下のような内容で作成します。
参考
SA_vmawsAsyncReset.cfgファイルのひな形は以下の場所にあります。
/etc/opt/SMAW/SMAWsf/SA_vmawsAsyncReset.cfg.template
項目の間は半角スペースで区切ってください。
CFNameX InstanceID [ProfileName] CFNameX InstanceID [ProfileName]
CFNameX :クラスタホストのCFノード名を指定します。 InstanceID :クラスタホストが動作しているAWSのインスタンスIDを指定します。 ProfileName :“21.3 事前設定”で設定したAWS Command Line Interfaceで使用する認証情報のプロファイル名を指定します。 省略時は、デフォルトプロファイルで動作します。
例)設定例を以下に示します。
クラスタホストのCFノード名がnode1/node2、AWSのインスタンスIDがi-abcdef0123456789a / i-abcdef0123456789b、プロファイル名がuserprofile1の場合
# cat /etc/opt/SMAW/SMAWsf/SA_vmawsAsyncReset.cfg node1 i-abcdef0123456789a userprofile1 node2 i-abcdef0123456789b userprofile1
/etc/opt/SMAW/SMAWsf/SA_vmawsAsyncReset.cfgを作成後、オーナー、グループ、アクセス権を以下のように設定します。
# chown root:root /etc/opt/SMAW/SMAWsf/SA_vmawsAsyncReset.cfg # chmod 600 /etc/opt/SMAW/SMAWsf/SA_vmawsAsyncReset.cfg
注意
/etc/opt/SMAW/SMAWsf/SA_vmawsAsyncReset.cfgファイルの設定内容が正しいか確認してください。設定内容に誤りがあった場合、シャットダウン機構が正常に動作できなくなります。
/etc/opt/SMAW/SMAWsf/SA_vmawsAsyncReset.cfgファイルのクラスタホストのCFノード名(CFNameX)に対応した、AWSのインスタンスID(InstanceID)、プロファイル名(ProfileName)が設定されているか確認してください。設定に誤りがあった場合、誤ったノードが強制停止されることがあります。
シャットダウン機構の起動
クラスタシステムを構成するすべてのノードで、シャットダウン機構が起動済みか確認してください。
# sdtool -s
シャットダウン機構が起動済みのノードでは、以下を実行してシャットダウン機構を再起動してください。
# sdtool -e # sdtool -b
シャットダウン機構が起動していないノードでは、以下を実行してシャットダウン機構を起動してください。
# sdtool -b
参考
シャットダウン機構が起動済みかは、sdtool -s コマンドで確認できます。“The RCSD is not running”と表示された場合、シャットダウン機構が起動していません。
シャットダウン機構の状態確認
クラスタシステムを構成するすべてのノードで、以下のコマンドを実行し、シャットダウン機構の状態を確認してください。
# sdtool -s
注意
“The RCSD is not running”と表示された場合、シャットダウンデーモンの設定、またはシャットダウンエージェントの設定に誤りがあります。手順1.~3.を再実施してください。
参考
sdtool -s コマンドの表示結果について
Init StateがUnknown、Init-ingと表示された場合、1分ほど待ってから、再度確認してください。
ノード強制停止状態にUnknownと表示された場合は、SFがノードの停止をまだ行っていないことを示しています。初期化状態にUnknownと表示された場合は、SAの初期化、経路のテストをまだ行っていないことを示しています。テスト状態および初期化状態には、実際の状態が確認されるまで一時的にUnknown が表示されます。
テスト状態にTestFailed と表示された場合は、クラスタホスト欄に表示されたノードを停止できるかどうかをエージェントがテストしている間に問題が発生したことを示しています。このような場合には、そのエージェントが使用しているソフトウェア、ハードウェア、ネットワーク資源に何らかの問題が生じていることが考えられます。
ここでは、SA_icmpシャットダウンエージェントをシャットダウン機構に設定する方法について説明します。
Amazon FSx for NetApp ONTAPを使用し、GDSの共用ディスク構成を構築する場合は、本シャットダウン機構を使用してください。
本シャットダウン機構は、インタコネクトを使用し、ノードの生存確認を行います。
本シャットダウン機構を使用する場合、以下に示す環境設定を事前に実施してください。
GDSのI/Oフェンシング機能の設定を行います。
/etc/opt/FJSVsdx/sdx.cfファイルに以下の行を追加します。
SDX_VM_IO_FENCE=on
対象ノード:PRIMECLUSTERをインストールするすべてのノード
I/Oフェンシング機能で使用するhostidの設定を行います。
以下の手順に従い、/etc/hostidファイルの設定が必要かを確認し、必要があれば設定を行います。
PRIMECLUSTERをインストールするすべてのノードで、hostidコマンドを実行し、出力結果を確認します。
出力結果が 00000000 以外、かつ、すべてのノードで出力結果が異なる場合、/etc/hostidファイルへの設定は不要です。
# hostid a8c00101
出力結果が 00000000 または異なるノードで出力結果が同じ場合は、以降の設定手順に従い、ホスト識別子(hostid の出力結果)を設定します。ホスト識別子には、ノードごとに異なる値、かつ 00000000 以外の値を設定してください。
/etc/hostid ファイルを作成します。
# touch /etc/hostid
次のpython スクリプトファイルを作成します。
[作成するスクリプトファイルの内容]
#!/usr/bin/python from struct import pack filename = "/etc/hostid" hostid = pack("I",int("0x<hhhhhhhh>",16)) open(filename, "wb").write(hostid)
(<hhhhhhhh>: 指定したいホスト識別子を16進数8桁の数字で記述)
作成したスクリプトファイルに実行権を付与し、実行します。
# chmod +x <作成したスクリプトファイル名> # ./<作成したスクリプトファイル名>
hostid コマンドで、指定したホスト識別子が取得されることを確認します。
# hostid hhhhhhhh
(hhhhhhhh: スクリプトファイル内で指定したホスト識別子)
注意
生存確認に使用するインタコネクト用ネットワークには、icmpを許可するセキュリティルールを設定してください。
SA_icmp.cfg、rcsd.cfgファイルの内容はすべてのノードで同一にしてください。同一でない場合誤動作します。
I/Oフェンシング機能のためのDM-MPの設定を行います。
/etc/multipath.conf ファイルの defaults セクションに "reservation_key" 属性を設定します。
"reservation_key" 属性には、/etc/hostid ファイルの設定にて確認した hostid コマンドの出力結果を設定してください。
hostid コマンドの出力結果が "123abc" である場合、以下のように設定してください。
defaults { reservation_key 0x123abc }
対象ノード:PRIMECLUSTERをインストールするすべてのノード
シャットダウンエージェントの設定
シャットダウンエージェントを設定してください。
クラスタを構成するすべてのノードで/etc/opt/SMAW/SMAWsf/SA_icmp.cfgを以下のような内容で作成します。
TIME_OUT=value
cfname:ip-address-of-node:NIC-name1,NIC-name2
value :ノードの生存を確認する時間(秒) を指定します。5(秒) を指定してください。 cfname :CFノード名を指定します。 ip-address-of-node :cfnameのノードの生存確認に使用するネットワークのIPアドレスを指定します。 - クラスタインタコネクト(CIPのIPアドレス) 指定可能なアドレス形式は、IPv4アドレスです。 クラスタシステムを構成する全ノードについて記載してください。 クラスタインタコネクトを使用する構成では、以下のように動作します。 クラスタインタコネクトで通信できない場合、運用ノードが稼働していたとしても、即時に 業務を自動切替えします。 なお、この設定では、I/Oフェンシング機能により共用ディスクへのI/Oは抑止しますが、 ネットワークのIPアドレスが一時的に重複する可能性があります。 旧運用系が停止するまで(約25秒) はIPアドレスの重複により、クライアントからのアクセス が旧運用系に接続される可能性があります。 NIC-nameX :ip-address-of-node に対して、ノードの生存確認に使用するノードのネットワークインタフ ェースを指定します。CIPのネットワークインタフェースではありません。
例)設定例を以下に示します。
クラスタインタコネクト(eth3)を設定した場合
TIME_OUT=5 node1:192.168.1.1:eth3 node2:192.168.1.2:eth3
注意
I/Oフェンシング機能で指定する監視対象の経路は、インタコネクトのみを指定してください。
シャットダウンデーモンの設定
クラスタを構成するすべてのゲストのノードで/etc/opt/SMAW/SMAWsf/rcsd.cfgを以下のような内容で作成します。
CFNameX,weight=weight,admIP=myadmIP:agent=SA_icmp,timeout=timeout
CFNameX,weight=weight,admIP=myadmIP:agent=SA_icmp,timeout=timeout
CFNameX :クラスタホストのCFノード名を指定します。 weight :SFのノードの重みを指定します。 I/Oフェンシング機能使用時は無効のため、1を設定してください。 myadmIP :CFNameXの管理LANのIPアドレスを指定します。 指定可能なアドレス形式は、IPv4アドレスです。 ホスト名を指定する場合は、/etc/hostsに記載されていることを確認してください。 timeout :シャットダウンエージェントのタイムアウト時間(秒)を指定します。20(秒)を設定してください。
注意
rcsd.cfgファイルの内容はすべてのノードで同一にしてください。同一でない場合誤作動します。
例)2ノード構成、SA_icmp.cfgに記載したTIME_OUTの値が10、クラスタインタコネクトで生存確認する場合の設定例を以下に記載します。
node1,weight=1,admIP=192.168.100.1:agent=SA_icmp,timeout=20 node2,weight=1,admIP=192.168.100.2:agent=SA_icmp,timeout=20
シャットダウン機構の起動
シャットダウン機構が起動済みか確認してください。
# sdtool -s
シャットダウン機構が起動済みの場合、以下を実行してシャットダウン機構を再起動してください。
# sdtool -r
シャットダウン機構が起動していない場合、以下を実行してシャットダウン機構を起動してください。
# sdtool -b
シャットダウン機構の状態確認
シャットダウン機構の状態がInitWorked またはTestWorkedとなっているか確認してください。TestFailed またはInitFailed が表示された場合は、シャットダウンデーモンの設定に誤りがないか確認してください。
# sdtool -s
“PRIMECLUSTER 導入運用手引書”の“5.1.3 クラスタリソース管理機構の初期設定”を参照し、クラスタリソース管理機構が管理するリソースデータベースの設定をしてください。本設定の中で、GDSのサーバ間ミラーリングで使用するiSCSIデバイスの設定とリソースデータベースへの登録を行います。