7. 強制停止リソースの詳細¶
本章では、強制停止リソースの詳細について説明します。
7.1. 強制停止機能とは?¶
ダウンしたサーバを強制的に停止させる方法は、クラスタを構築した環境の種類 (物理マシン・仮想マシン・クラウド) によって異なります。強制停止機能を使用する場合は、その環境の種類に対応した 強制停止リソース を設定してください。
また、ダウンしたサーバを停止させる処理を記述した任意のスクリプトを実行することもできます。詳細は「7.7. 任意のスクリプトを使用した強制停止を理解する」を参照してください。
強制停止リソースには「強制停止実行」と「定期チェック」という2種類の動作があります。 それぞれの動作内容や実行されるタイミングは以下のとおりです。
強制停止実行
定期チェック
サーバを強制停止する装置や基盤システムと通信を行うことにより、強制停止を実行できる状態であるかどうかをチェックします。チェックの結果に応じて、強制停止リソースのステータスは "正常" (強制停止を実行可能) または "異常" (強制停止を実行不可能) に変化します。
クラスタサービス起動中に、一定時間ごとに実行されます。
7.1.1. 強制停止実行条件¶
以下の場合には強制停止を実行しません。
サーバダウンする前にフェイルオーバグループが正常に停止した場合
[clpdown] コマンド、Cluster WebUI でサーバをシャットダウンし、フェイルオーバ グループが正常に停止した場合
[clpcl] コマンド、Cluster WebUI でクラスタを停止し、フェイルオーバグループが正常に停止した場合
- サーバがダウンし、ダウンしたサーバから他のサーバにフェイルオーバさせるフェイルオーバグループが無い場合。(ダウンしたサーバでフェイルオーバグループが活性していない場合も含みます。)
以下の場合には強制停止を実行します。
サーバがダウンし、ダウンしたサーバから他のサーバにフェイルオーバさせるフェイルオーバグループが有る場合。
7.2. 物理環境における強制停止を理解する¶
7.2.1. BMC 強制停止リソースの設定¶
BMC 強制停止リソースを使用するためには、各クラスタサーバに ipmiutil をインストールする必要があります。
ipmiutil の入手方法とインストール方法については『インストール&設定ガイド』 - 「システム構成を決定する」- 「ハードウェア構成後の設定」 - 「BMC と ipmiutil をセットアップする (物理マシンの強制停止機能を使用する場合は必須)」を参照してください。
BMC 強制停止リソースで使用するコマンド
物理マシンの強制停止には IPMI Management Utilities の [ipmiutil reset] コマンドを使用します。 強制停止リソースの状態定期チェック、強制停止実行後の停止チェックには [ipmiutil health] を使用します。
コマンド実行時の下記のオプション値を設定してください。
コマンドのオプション |
BMC強制停止のプロパティの
サーバ一覧の編集[BMCの入力]設定項目
|
---|---|
-N ip_address |
IP アドレス |
-U username |
ユーザ名 |
-P password |
パスワード |
BMC 強制停止リソースの強制停止では以下のコマンドが実行されます。
強制停止アクション |
強制停止コマンド |
---|---|
BMC パワーオフ |
ipmiutil reset -d -N ip_address -U username -P password |
BMC リセット |
ipmiutil reset -r -N ip_address -U username -P password |
BMC パワーサイクル |
ipmiutil reset -c -N ip_address -U username -P password |
BMC NMI |
ipmiutil reset -n -N ip_address -U username -P password |
上記コマンドに失敗した場合以下のコマンドを実行します。
強制停止アクション |
強制停止コマンド |
---|---|
BMC パワーオフ |
ipmiutil reset -d -N ip_address -U username -P password -J 3 |
BMC リセット |
ipmiutil reset -r -N ip_address -U username -P password -J 3 |
BMC パワーサイクル |
ipmiutil reset -c -N ip_address -U username -P password -J 3 |
BMC NMI |
ipmiutil reset -n -N ip_address -U username -P password -J 3 |
BMC 強制停止リソースの定期チェックおよび強制停止実行後の停止チェックでは以下のコマンドが実行されます。
定期チェックコマンド
停止チェックコマンド
|
---|
ipmiutil health -N ip_address -U username -P password |
上記コマンドに失敗した場合以下のコマンドを実行します。
定期チェックコマンド
停止チェックコマンド
|
---|
ipmiutil health -N ip_address -U username -P password -J 3 |
BMC 強制停止リソースで使用するコマンドを編集するには
強制停止リソースでは、コマンドを実行するスクリプトファイルを編集することで、強制停止で使用する任意のコマンドラインを指定することも可能です。
以下のファイルを編集することができます。
<CLUSTERPROインストールパス>\bin\clpbmcforcestop.bat
BMC 強制停止リソースでは、コマンドをスクリプトで実行する場合に必要な情報を環境変数にセットします。
スクリプト内で下図の環境変数を記述しています。
環境変数 |
環境変数の値 |
意味 |
---|---|---|
CLP_BMC_ACTION
・・・強制停止アクション
|
-d : BMC パワーオフ
-r : BMC リセット
-c : BMC パワーサイクル
-n : BMC NMI
|
BMC強制停止のプロパティで設定した強制停止アクションを示します。 |
CLP_BMC_HOST
・・・BMCのIPアドレス
|
IPアドレス |
BMC強制停止のプロパティで設定したIPアドレスを示します。 |
CLP_BMC_USER
・・・BMCのユーザ名
|
ユーザ名 |
BMC強制停止のプロパティで設定したユーザ名を示します。 |
CLP_BMC_PASSWORD
・・・BMCのパスワード
|
パスワード |
BMC強制停止のプロパティで設定したパスワードを示します。 |
BMC 強制停止リソースの設定の詳細については本ガイドの「2. パラメータの詳細」 - 「クラスタプロパティ」 - 「フェンシングタブ」 - 「強制停止」 - 「BMC 強制停止のプロパティ」を参照してください。
7.2.2. BMC 強制停止リソースの注意事項¶
- 強制停止の影響点について強制停止機能を使用すると OS やサーバの状態によらず強制的にパワーオフ、リセット、パワーサイクル、NMI を行うため以下の機能が影響を受けます。
- ダンプ採取ダンプ採取中であることが認識できないので、ダンプ採取の処理中であってもパワーオフ、リセット、パワーサイクルが発生しダンプ採取が完了しません。
- ハートビートタイムアウト以内の電源オン操作ハートビートタイムアウト時間内に保守などの目的でサーバの電源を再度オンにした場合、ハートビートタイムアウト経過後にパワーオフ、リセット、パワーサイクル、NMIが発生することがあります。
- BMC のネットワーク設定について強制停止リソースを使用する場合は、iLO 共有ネットワークポートを無効に設定してください。BMC のマネージメント用 LAN ポートの IP アドレスと OS が使用する IP アドレスの間で通信ができるように設定してください。サーバに BMC が搭載されていない場合や、BMC のマネージメント用のネットワークが閉塞している状態では、本機能は使用できません。BMC のマネージメント用 LAN ポートに設定した IP アドレスと同じ IP アドレスをBMC強制停止のプロパティの サーバ一覧タブの編集ボタンからBMCの入力に設定してください。BMC のマネージメント用 LAN ポートの IP アドレスなどの設定方法はサーバの マニュアルなどを参照してください。
- OS の [電源オプション] の設定についてBMC によるパワーオフ、パワーサイクルが実施された際、OS の [電源オプション] で指定された動作 (スリープ、休止状態、シャットダウンなど) が実行されることがあります。当該設定は、OS の下記箇所から参照・設定が可能です。[コントロールパネル]の[電源オプション] を開き、[電源ボタンの動作の選択] から [電源ボタンの設定] - [電源ボタンを押したときの動作] を参照。CLUSTERPRO で強制停止機能を使用する場合は、本設定は [何もしない] を指定することを推奨します。
7.3. vCenter 環境における強制停止を理解する¶
7.3.1. vCenter 強制停止リソースの設定¶
vCenter 強制停止リソースでは、vSphere Automation API を使用する方法と、 VMware vSphere Command Line Interface (vCLI) を使用する方法があります。
VMware vSphere 7.0 Update 3 以降の環境では、VMware vSphere Command Line Interface (vCLI) を使用できません。また、VMware vSphere 7.0 Update 2 より前の環境では、vSphere Automation API を使用できません。
vCenter 強制停止リソースのパラメータ設定
パラメータ
|
vCenter 強制停止のプロパティのvCenterタブの設定項目 |
vCenter 強制停止のプロパティの
サーバ一覧の編集[仮想マシン名の入力 ]設定項目
|
---|---|---|
ip_address |
IP アドレス |
- |
username |
ユーザ名 |
- |
password |
パスワード |
- |
virtualmachine |
- |
仮想マシン名 |
datacenter |
- |
データセンター名 |
vCenter 強制停止リソースで使用する API
vCenter 強制停止リソースで vSphere Automation API を使用した場合、以下の API が実行されます。
セッション作成 |
---|
curl -k -X POST -u {username}:{password} https://{ip_address}/api/session |
データセンター情報取得 |
---|
curl -k -X GET https://{ip_address}/api/vcenter/datacenter?names={datacenter} -H "vmware-api-session-id: {api_session_id}" |
仮想マシン情報取得 |
---|
curl -k -X GET https://{ip_address}/api/vcenter/vm?names={virtualmachine}&datacenters={datacenter_id} -H "vmware-api-session-id: {api_session_id}" |
強制停止 |
|
---|---|
パワーオフ |
curl -k -X POST https://{ip_address}/api/vcenter/vm/{vm_id}/power?action=stop -H "vmware-api-session-id: {api_session_id}" |
リセット |
curl -k -X POST https://{ip_address}/api/vcenter/vm/{vm_id}/power?action=reset -H "vmware-api-session-id: {api_session_id}" |
セッション削除 |
---|
curl -k -X DELETE https://{ip_address}/api/session -H "vmware-api-session-id: {api_session_id}" |
vCenter 強制停止リソースで使用する vCLI コマンド
VMware vSphere Command Line Interface (vCLI) を使用する場合は、パッケージをインストールする必要があります。
注釈
Perlパスの設定
システム環境変数の追加
システム環境変数に下記の変数を追加してください。その後、OS再起動を行ってください。変数名:PERL5LIB変数値:vCLIのPerlモジュールパス(例:C:\Program Files (x86)\VMware\VMware vSphere CLI\Perl\lib)
強制停止コマンド |
|
---|---|
パワーオフ |
vmcontrol.pl --server ip_address --username username --password password --vmname virtualmachine --datacenter datacenter --operation poweroff |
リセット |
vmcontrol.pl --server ip_address --username username --password password --vmname virtualmachine --datacenter datacenter --operation reset |
定期チェックコマンド |
---|
vminfo.pl --server ip_address --username username --password password --vmname virtualmachine --datacenter datacenter |
停止チェックコマンド |
---|
vminfo.pl --server ip_address --username username --password password --vmname virtualmachine --datacenter datacenter --powerstatus "poweredOff" |
vCenter 強制停止リソースで使用するコマンドを編集するには
強制停止リソースでは、コマンドを実行するスクリプトファイルを編集することで、強制停止で使用する任意のコマンドラインを指定することも可能です。
vCenter 強制停止リソースの vSphere Automation API を使用した場合、以下のファイルを編集することができます。
<CLUSTERPROインストールパス>\bin\clpvcenterrestapiforcestop.bat
vCenter 強制停止リソースの VMware vSphere Command Line Interface (vCLI) を使用した場合、以下のファイルを編集することができます。
<CLUSTERPROインストールパス>\bin\clpvcentercliforcestop.bat
vCenter 強制停止リソースでは、コマンドをスクリプトで実行する場合に必要な情報を環境変数にセットします。
スクリプト内で下図の環境変数を記述しています。
環境変数 |
環境変数の値 |
意味 |
---|---|---|
CLP_VCLI_PATH
・・・vCLIインストールパス
|
インストールパス |
vCenter強制停止のプロパティで設定したVMware vSphere CLIインストールパスを示します。 |
CLP_VCENTER_ACTION
・・・強制停止アクション
|
poweroff : パワーオフ
reset : リセット
|
vCenter強制停止のプロパティで設定した強制停止アクションを示します。 |
CLP_VCENTER_HOST
・・・vCenterのホスト名
|
ホスト名 |
vCenter強制停止のプロパティで設定したホスト名を示します。 |
CLP_VCENTER_USER
・・・vCenterのユーザ名
|
ユーザ名 |
vCenter強制停止のプロパティで設定したユーザ名を示します。 |
CLP_VCENTER_PASSWORD
・・・vCenterのパスワード
|
パスワード |
vCenter強制停止のプロパティで設定したパスワードを示します。 |
CLP_VMNAME
・・・仮想マシン名
|
仮想マシン名 |
vCenter強制停止のプロパティで設定した仮想マシン名を示します。 |
CLP_DATACENTER_NAME
・・・データセンタ名
|
データセンタ名 |
vCenter強制停止のプロパティで設定したデータセンタ名を示します。 |
CLP_PERL_PATH
・・・Perlパス
|
Perlパス |
vCenter強制停止のプロパティで設定したPerlパスを示します。 |
vCenter 強制停止リソースの設定の詳細については本ガイドの「2. パラメータの詳細」 - 「クラスタプロパティ」 - 「フェンシングタブ」 - 「強制停止」 - 「vCenter 強制停止のプロパティ」を参照してください。
7.3.2. vCenter 強制停止リソースの注意事項¶
- 仮想マシンのゲストOSの強制停止についてパワーオフ動作、リセット動作のみが実行可能です。また、以下の場合に本機能は使用できません。
- vSphere基盤 : VMware vCenter Server との通信が行えない場合
- 強制停止の影響点について強制停止機能を使用すると OS やサーバの状態によらず強制的にパワーオフ、リセットを行うため以下の機能が影響を受けます。
- ダンプ採取ダンプ採取中であることが認識できないので、ダンプ採取の処理中であってもパワーオフ、リセットが発生しダンプ採取が完了しません。
- ハートビートタイムアウト以内の電源オン操作ハートビートタイムアウト時間内に保守などの目的でサーバの電源を再度オンにした場合、ハートビートタイムアウト経過後にパワーオフ、リセットが発生することがあります。
- OS の [電源オプション] の設定についてVMware vSphere による仮想マシンのゲスト OSのパワーオフが実施された際、OS の [電源オプション] で指定された動作 (スリープ、休止状態、シャットダウンなど) が実行されることが あります。当該設定は、OS の下記箇所から参照・設定が可能です。[コントロールパネル]の[電源オプション] を開き、[電源ボタンの動作の選択] から [電源ボタンの設定] - [電源ボタンを押したときの動作] を参照してください。CLUSTERPRO で強制停止機能を使用する場合は、本設定は [何もしない] を指定することを推奨します。
7.4. AWS 環境における強制停止を理解する¶
7.4.1. AWS 強制停止リソースの設定¶
AWS 強制停止リソースを使用するためには、AWS Command Line Interface (AWS CLI)をインストールする必要があります。
AWS CLI の入手方法とインストール方法については『スタートアップガイド』 - 「注意制限事項」- 「CLUSTERPRO インストール前」 - 「AWS 環境における時刻同期」および「AWS環境におけるIAMの設定について」を参照してください。
AWS 強制停止リソースで使用するコマンド
AWS インスタンスの強制停止、強制停止リソースの状態定期チェック、強制停止実行後の停止チェックには、AWS Command Line Interface (AWS CLI)のコマンドを使用します。
コマンド実行時の下記のオプション値を設定してください。
コマンドの
オプション
|
AWS 強制停止のプロパティの
サーバ一覧の編集[インスタンスの入力 ]設定項目
|
---|---|
--instance-ids instance-ids |
インスタンスID |
AWS 強制停止リソースの強制停止では以下のコマンドが実行されます。
強制停止アクション |
強制停止コマンド |
---|---|
stop |
aws ec2 stop-instances --instance-ids instance-ids --force |
reboot |
aws ec2 reboot-instances --instance-ids instance-ids |
AWS 強制停止リソースの定期チェックでは以下のコマンドが実行されます。
強制停止アクション |
定期チェックコマンド |
---|---|
stop |
aws ec2 stop-instances --instance-ids instance-ids --dry-run
aws ec2 describe-instances --instance-ids instance-ids
aws ec2 describe-instance-attribute --instance-ids instance-ids --attribute disableApiStop
|
reboot |
aws ec2 reboot-instances --instance-ids instance-ids --dry-run
aws ec2 describe-instances --instance-ids instance-ids
|
AWS 強制停止実行後の停止チェックでは以下のコマンドが実行されます。
停止チェックコマンド |
---|
aws ec2 describe-instances --instance-ids instance-ids --filters \"Name=instance-state-name,Values=stopped\" |
7.4.2. AWS 強制停止リソースから実行するAWS CLIへコマンドラインオプションを反映させるには¶
『スタートアップガイド』の「注意制限事項」 - 「CLUSTERPRO の構成情報作成時」 - 「AWS CLI コマンドラインオプション」を参照してください。
7.4.3. AWS 強制停止リソースから実行するAWS CLIへ環境変数を反映させるには¶
『スタートアップガイド』の「注意制限事項」 - 「CLUSTERPRO の構成情報作成時」 - 「AWS 関連機能実行時の環境変数」を参照してください。
7.4.4. AWS 強制停止リソースの注意事項¶
- インスタンスの強制停止についてstop 動作、reboot 動作のみが実行可能です。
- 強制停止の影響点について強制停止機能を使用すると OS やサーバの状態によらず強制的に stop、reboot を行うため以下の機能が影響を受けます。
- ダンプ採取ダンプ採取中であることが認識できないので、ダンプ採取の処理中であっても stop、reboot が発生しダンプ採取が完了しません。
- ハートビートタイムアウト以内の電源オン操作ハートビートタイムアウト時間内に保守などの目的でサーバの電源を再度オンにした場合、ハートビートタイムアウト経過後に stop、reboot が発生することがあります。
- OS の [電源オプション] の設定についてAWS CLI による stop、reboot が実施された際、OS の [電源オプション] で指定された動作 (スリープ、休止状態、シャットダウンなど) が実行されることが あります。当該設定は、OS の下記箇所から参照・設定が可能です。[コントロールパネル]の[電源オプション] を開き、[電源ボタンの動作の選択] から [電源ボタンの設定] - [電源ボタンを押したときの動作] を参照。CLUSTERPRO で強制停止機能を使用する場合は、本設定は [何もしない] を指定することを推奨します。
- AWS の [停止保護] の設定について[インスタンスの設定]の[停止保護]を有効化している場合、[強制停止アクション]を [stop] に設定していると強制停止と定期チェックが失敗します。CLUSTERPRO で強制停止機能を使用していて、かつ[強制停止アクション]を [stop] に設定する場合は、本設定は有効化しないでください。
- クラスタ構成についてマルチリージョン環境で構成されたクラスタの場合、強制停止機能は使用できません。
7.5. Azure 環境における強制停止を理解する¶
7.5.1. Azure 強制停止リソースの設定¶
Azure 強制停止リソースを使用するためには、Azure CLI をインストールする必要があります。
Azure 強制停止リソースで使用するコマンド
Azure インスタンスの強制停止、強制停止リソースの状態定期チェック、強制停止実行後の停止チェックには、Azure CLI のコマンドを使用します。
コマンド実行時の下記のオプション値を設定してください。
コマンドのオプション |
Azure 強制停止のプロパティの Azure タブの設定項目 |
Azure 強制停止のプロパティの
サーバ一覧の編集[仮想マシン名の入力]設定項目
|
---|---|---|
--name/-n |
- |
仮想マシン名 |
--username/-u |
ユーザURI |
- |
--tenant/-t |
テナントID |
- |
--password/-p |
サービスプリンシパルのファイルパス |
- |
--resource-group/-g |
リソースグループ名 |
- |
Azure CLI コマンドを使用するために以下のコマンドが実行されます。
Azure CLI へのログイン |
---|
az login --service-principal -u MyUserUri -p MyCertfile.pem --tenant MyTenantId |
Azure 強制停止リソースの強制停止では以下のコマンドが実行されます。
強制停止アクション |
強制停止コマンド |
---|---|
stop and deallocate 1 |
az vm deallocate -g MyResourceGroup -n MyVm --no-wait |
stop only 2 |
az vm stop -g MyResourceGroup -n MyVm --no-wait --skip-shutdown |
reboot |
az vm restart -g MyResourceGroup -n MyVm --no-wait |
- 1
シャットダウンシーケンスを介してインスタンスを停止します。なお、割り当て済みリソース(パブリックIPアドレスなど)も解放するため課金されません。
- 2
シャットダウンシーケンスを介さずにインスタンスを停止します。ただし、割り当て済みリソースを保持するため課金は継続されます。
Azure 強制停止リソースの定期チェックでは以下のコマンドが実行されます。
定期チェックコマンド |
---|
az vm update -g MyResourceGroup -n MyVm --no-wait |
az vm get-instance-view -g MyResourceGroup -n MyVm |
Azure 強制停止実行後の停止チェックでは以下のコマンドが実行されます。
停止チェックコマンド |
---|
az vm get-instance-view -g MyResourceGroup -n MyVm --query instanceView.statuses[1].displayStatus --output tsv |
7.5.2. Azure 強制停止リソースの注意事項¶
- インスタンスの強制停止について停止(stop and deallocate, stop only)または再起動(reboot) 動作が実行可能です。
- 強制停止の影響点について強制停止機能を使用すると OS やサーバの状態によらず強制的に 停止または再起動 を行うため以下の機能が影響を受けます。
- ダンプ採取ダンプ採取中であることが認識できないので、ダンプ採取の処理中であっても 停止または再起動 が発生しダンプ採取が完了しません。
- ハートビートタイムアウト以内の電源オン操作ハートビートタイムアウト時間内に保守などの目的でサーバの電源を再度オンにした場合、ハートビートタイムアウト経過後に 停止または再起動 が発生することがあります。
- OS の [電源オプション] の設定についてAzure CLI による 停止または再起動 が実施された際、OS の [電源オプション] で指定された動作 (スリープ、休止状態、シャットダウンなど) が実行されることが あります。当該設定は、OS の下記箇所から参照・設定が可能です。[コントロールパネル]の[電源オプション] を開き、[電源ボタンの動作の選択] から [電源ボタンの設定] - [電源ボタンを押したときの動作] を参照。CLUSTERPRO で強制停止機能を使用する場合は、本設定は [何もしない] を指定することを推奨します。
- クラスタ構成についてマルチリージョン環境で構成されたクラスタの場合、強制停止機能は使用できません。
7.6. OCI 環境における強制停止を理解する¶
7.6.1. OCI 強制停止リソースの設定¶
OCI 強制停止リソースを使用するためには、Oracle Cloud Infrastructure CLI (OCI CLI)をインストールする必要があります。
OCI CLI の入手方法とインストール方法については『スタートアップガイド』 - 「注意制限事項」- 「CLUSTERPRO インストール前」 - 「OCI 環境における CLI の設定について」を参照してください。
OCI 強制停止リソースで使用するコマンド
OCI インスタンスの強制停止、強制停止リソースの状態定期チェック、強制停止実行後の停止チェックには、Oracle Cloud Infrastructure CLI (OCI CLI)のコマンドを使用します。
コマンド実行時の下記のオプション値を設定してください。
コマンドの
オプション
|
OCI 強制停止のプロパティの
サーバ一覧の編集[インスタンスの入力 ]設定項目
|
---|---|
--instance-ids instance-ids |
インスタンスID |
OCI 強制停止リソースの強制停止では以下のコマンドが実行されます。
強制停止アクション |
強制停止コマンド |
---|---|
stop |
oci compute instance action --action STOP --instance-id instance-ids |
reboot |
oci compute instance action --action RESET --instance-id instance-ids |
OCI 強制停止リソースの定期チェックでは以下のコマンドが実行されます。
定期チェックコマンド |
---|
oci compute instance update --instance-id instance-ids --wait-for-state RUNNING ––max-wait-seconds 1 |
OCI 強制停止実行後の停止チェックでは以下のコマンドが実行されます。
停止チェックコマンド |
---|
oci compute instance get --instance-id instance-ids | grep lifecycle-state | awk -F" '{print $4}' |
7.6.2. OCI 強制停止リソースの注意事項¶
- インスタンスの強制停止についてstop 動作、reboot 動作のみが実行可能です。
- 強制停止の影響点について強制停止機能を使用すると OS やサーバの状態によらず強制的に stop、reboot を行うため以下の機能が影響を受けます。
- ダンプ採取ダンプ採取中であることが認識できないので、ダンプ採取の処理中であっても stop、reboot が発生しダンプ採取が完了しません。
- ハートビートタイムアウト以内の電源オン操作ハートビートタイムアウト時間内に保守などの目的でサーバの電源を再度オンにした場合、ハートビートタイムアウト経過後に stop、reboot が発生することがあります。
- OS の [電源オプション] の設定についてOCI CLI による stop、reboot が実施された際、OS の [電源オプション] で指定された動作 (スリープ、休止状態、シャットダウンなど) が実行されることが あります。当該設定は、OS の下記箇所から参照・設定が可能です。[コントロールパネル]の[電源オプション] を開き、[電源ボタンの動作の選択] から [電源ボタンの設定] - [電源ボタンを押したときの動作] を参照。CLUSTERPRO で強制停止機能を使用する場合は、本設定は [何もしない] を指定することを推奨します。
- クラスタ構成についてマルチリージョン環境で構成されたクラスタの場合、強制停止機能は使用できません。
7.7. 任意のスクリプトを使用した強制停止を理解する¶
7.7.1. カスタム強制停止リソースの設定¶
サーバのダウンを認識したときに 残りのサーバ (正常なサーバ) でユーザが作成した任意のスクリプトを実行する機能です。 スクリプトを記述することで、ダウンしたサーバを強制的に停止させることが可能になります。
記述されたスクリプトは、「強制停止実行」と「定期チェック」の両方の動作で実行されます。 動作に応じて適切な処理が行われるように、後述の環境変数を使った条件分岐処理を記述してください。
任意のスクリプトで使用する環境変数
CLUSTERPROはスクリプトを実行する場合に、定期チェックの実行か強制停止の実行か、どのサーバがダウンしたかなどの情報を環境変数にセットします。
スクリプト内で下図の環境変数を使用することができます。
環境変数 |
環境変数の値 |
意味 |
---|---|---|
CLP_FORCESTOP_MODE
・・・モード
|
0 : 定期チェック時
1 : 強制停止実行時
|
実行されるモードを示します。
モード毎の処理の分岐に使用できます。
|
CLP_SERVER_DOWN
・・・ダウンサーバ名
|
サーバ名 |
ダウンしたサーバ名を示します。
定期チェック時は "" がセットされます。
|
CLP_SERVER_LOCAL
・・・ローカルサーバ名
|
サーバ名 |
スクリプトを実行するサーバ名を示します。 |
任意のスクリプトの戻り値
スクリプトが正常終了する時には戻り値として 0 を返却してください。
カスタム強制停止リソースの設定の詳細については本ガイドの「2. パラメータの詳細」 - 「クラスタプロパティ」 - 「フェンシングタブ」 - 「強制停止」 - 「カスタム強制停止のプロパティ」を参照してください。
7.7.2. カスタム強制停止リソースの注意事項¶
サーバを停止させる処理はお客様にて用意し、強制停止スクリプトに記述してください。
定期チェックとして実行すべき処理が無い場合は、定期チェックとして実行された際に何もせずに終了 (戻り値 0 を返却) するように処理を記述してください。
7.8. 強制停止リソースの設定に関する注意事項¶
1つのクラスタには1つの強制停止リソースのみを設定可能です。
強制停止リソースを設定する場合、ネットワークパーティション解決リソースを併せて設定することを推奨します。
強制停止リソースを設定する場合、クラスタを構成する全てのサーバで強制停止リソースを使用するように設定する必要があります。
強制停止リソース実行中のフェイルオーバグループの両系活性を防止するために、サービス起動遅延時間を以下となるように設定してください。
- DISK ネットワークパーティション解決リソースを設定する場合サービス起動遅延時間 >= 強制停止リソースの強制停止タイムアウト + 強制停止リソースの停止完了待ち時間 + ハートビートタイムアウト + ハートビートインターバル + DISK ネットワークパーティション解決リソースの IO 待ち時間 + 10 秒
- DISK ネットワークパーティション解決リソースを設定しない場合サービス起動遅延時間 >= 強制停止リソースの強制停止タイムアウト + 強制停止リソースの停止完了待ち時間 + ハートビートタイムアウト + ハートビートインターバル
サービス起動遅延時間につきましては 「CLUSTERPRO のサービス起動時間を調整する (必須)」 を参照してください。