このページはVMware vSAN クラスタのシャットダウン・起動において利用不可のデータが発生するリスク (VMware KB60424) に対する
PowerChute Network Shutdownの対処方法の説明です。
vSANクラスタのシャットダウンと起動を安全に実行するために、以下の手順に沿ってPowerChuteおよび関連システムの設定を行ってください。
<参考> VMware社 kbase
vSAN -- メンテナンス -- 複数ホストの再起動 / クラスタ全シャットダウン -- 利用不可のデータが発生するリスク (60424)
【対象の製品バージョンとシステム環境】
PowerChute Network Shutdown for Virtualization v4.3
PowerChute Network Shutdown for Virtualization v4.4
VMware vSphere 6.0以降
* PowerChute Network Shutdown v5.0以降では本コンテンツの対処は不要です
【対処方法】
vSphere 6.7 Update3以降の環境では組み込みツールを使用してこの問題 (VMware KB60424) を回避できます。
PowerChute Network Shutdown v4.4ではSSHアクションによってこの組み込みツールの実行を自動化できますが、
v4.3ではSSHアクションの機能がないため、ホストへの電源投入までの待機時間の設定により対応をしてください。
PowerChute Network Shutdown v4.4以降かつvSphere 6.7 Update3以降 (vSphere 7以降含む) の場合には
対応方法: 1 を参照、それ以外の場合には 対応方法: 2 を参照してください。
組み込むツールの詳細は下記VMware社 kbaseを参照してください。
Using a built-in tool to perform simultaneous reboot of all hosts in the vSAN cluster (70650)
■ 対応方法: 1
【対象の製品バージョンとシステム環境】
PowerChute Network Shutdown v4.4かつ
vSphere 6.7 Update3以降 (vSphere 7以降含む) の場合
【対応方法】
SSHアクションのサンプルコマンドファイルを使用してPowerChute Network ShutdownのSSHアクションの設定をしてください。
以下のサンプルコマンドファイルは本ページに添付しています。
<サンプルコマンドファイルの説明>
<PowerChute Network Shutdown v4.4のSSHアクションの設定>
PowerChute Network ShutdownのSSH Settings (SSH設定) から設定します。
SSHアクションは設定した順番に実行されるため、手順1から4の順に設定してください。
(設定後に順番を変更することは出来ません。)
手順1
“ssh_disable_clustermember_updates.txt” を実行するSSHアクションを作成します
クラスタ内の各ホストで実行する必要があります
今回の設定例ではホストを3つと想定しているためアクション名を下記としています
host1_disable_updates
host2_disable_updates
host3_disable_updates
Path to SSH command file (SSHコマンドファイルのパス) は任意に保存した
“ssh_disable_clustermember_updates.txt” のパスを指定します
Execute SSH Action (SSHアクションの実行) は Before Host Shutdown (ホストのシャットダウン前) に設定します
手順2
“reboot_helper_prepare.txt” を実行するSSHアクションを作成します
これは、1つのホストでのみ実行する必要があります
今回の設定例ではアクション名を下記としています
reboot_prepare
Path to SSH command file (SSHコマンドファイルのパス) は任意に保存した
“reboot_helper_prepare.txt” のパスを指定します
Execute SSH Action (SSHアクションの実行) は Before Host Shutdown (ホストのシャットダウン前) に設定します
手順3
“reboot_helper_recover.txt” を実行するSSHアクションを作成します
これは、1つのホストでのみ実行する必要があります
今回の設定例ではアクション名を下記としています
reboot_recover
Path to SSH command file (SSHコマンドファイルのパス) は任意に保存した
“reboot_helper_prepare.txt” のパスを指定します
Execute SSH Action (SSHアクションの実行) は On Startup (起動時) に設定します
手順4
“ssh_enable_clustermember_updates.txt” を実行するSSHアクションを作成します
クラスタ内の各ホストで実行する必要があります
今回の設定例ではホストを3つと想定しているためアクション名を下記としています
host1_enable_updates
host2_enable_updates
host3_enable_updates
Path to SSH command file (SSHコマンドファイルのパス) は任意に保存した
“ssh_enable_clustermember_updates.txt” のパスを指定します
Execute SSH Action (SSHアクションの実行) は On Startup (起動時) に設定します
<SSHアクションのプロンプトの設定>
最後にPowerChute Network Shutdownの設定ファイル (pcnsconfig.ini) を更新します。
PowerChute Network Shutdownのデフォルトインストールフォルダーは以下の通りです。
Windows : " C:\Program Files\APC\PowerChute\group1 "
Linux系OS : " /opt/APC/PowerChute/group1 "
group1フォルダの中に設定ファイル (pcnsconfig.ini) が格納されています。
手順1から4までのSSH アクションの設定が全て完了した後に設定ファイル (pcnsconfig.ini) にて
各SSHアクションへ「ssh_prompt_regex = \]\s」の記述を追加してください。
設定例
[SSHActionX]
ssh_action_name = reboot_recover
ssh_target = 10.179.xxx.xxx
ssh_command_path = /opt/APC/PowerChute/user_files/reboot_helper_recover.txt
ssh_action_enabled = true
action_delay = 0
action_duration = 120
ssh_port = 22
ssh_action_sequence = startup
ssh_prompt_regex = \]\s
[SSHActionX] のセクションの最後のXは各SSHアクションの通し番号が入ります。
手順1から4で設定した全てのSSHアクションに対して上記記述の追加を行ってください。
■ 対応方法: 2
【対象の製品バージョンとシステム環境】
PowerChute Network Shutdown v4.3の場合 または
vSphere 6.7 Update3より前のバージョンをご利用の場合
【対応方法】
サーバーの起動時間に差を設けてください。
【公開日】2022年7月7日
PowerChute Network Shutdownの対処方法の説明です。
vSANクラスタのシャットダウンと起動を安全に実行するために、以下の手順に沿ってPowerChuteおよび関連システムの設定を行ってください。
<参考> VMware社 kbase
vSAN -- メンテナンス -- 複数ホストの再起動 / クラスタ全シャットダウン -- 利用不可のデータが発生するリスク (60424)
【対象の製品バージョンとシステム環境】
PowerChute Network Shutdown for Virtualization v4.3
PowerChute Network Shutdown for Virtualization v4.4
VMware vSphere 6.0以降
* PowerChute Network Shutdown v5.0以降では本コンテンツの対処は不要です
【対処方法】
vSphere 6.7 Update3以降の環境では組み込みツールを使用してこの問題 (VMware KB60424) を回避できます。
PowerChute Network Shutdown v4.4ではSSHアクションによってこの組み込みツールの実行を自動化できますが、
v4.3ではSSHアクションの機能がないため、ホストへの電源投入までの待機時間の設定により対応をしてください。
PowerChute Network Shutdown v4.4以降かつvSphere 6.7 Update3以降 (vSphere 7以降含む) の場合には
対応方法: 1 を参照、それ以外の場合には 対応方法: 2 を参照してください。
組み込むツールの詳細は下記VMware社 kbaseを参照してください。
Using a built-in tool to perform simultaneous reboot of all hosts in the vSAN cluster (70650)
PowerChute Network Shutdown v4.4以降 | PowerChute Network Shutdown v4.3 | |
vSphere 6.7 Update3以降 (vSphere 7以降含む) | 対応方法: 1 | 対応方法: 2 |
vSphere 6.7 Update3より前 | 対応方法: 2 | 対応方法: 2 |
■ 対応方法: 1
【対象の製品バージョンとシステム環境】
PowerChute Network Shutdown v4.4かつ
vSphere 6.7 Update3以降 (vSphere 7以降含む) の場合
【対応方法】
SSHアクションのサンプルコマンドファイルを使用してPowerChute Network ShutdownのSSHアクションの設定をしてください。
以下のサンプルコマンドファイルは本ページに添付しています。
<サンプルコマンドファイルの説明>
ホストをメンテナンスモードにしてシャットダウンする前と起動時に、次のコマンドを実行する必要があります。
1. ssh_disable_clustermember_updates.txt
このコマンドファイルは以下コマンドを実行します
esxcfg-advcfg -s 1 /VSAN/IgnoreClusterMemberListUpdates
ホストシャットダウン前にクラスタ内の各ホストで実行する必要があります
クラスタ内のホストの数のSSHアクションのコマンドファイルを作成してください
2. reboot_helper_prepare.txt
このコマンドファイルは以下コマンドを実行します
python /usr/lib/vmware/vsan/bin/reboot_helper.py recover
ホストシャットダウン時にクラスタ内の1つのホストで実行する必要があります
1つのホストへSSHアクションのコマンドファイルを作成してください
3. reboot_helper_recover.txt
このコマンドファイルは以下コマンドを実行します
python /usr/lib/vmware/vsan/bin/reboot_helper.py recover
ホスト起動時にクラスタ内の1つのホストで実行する必要があります
1つのホストへSSHアクションのコマンドファイルを作成してください
4. ssh_enable_clustermember_updates.txt
このコマンドファイルは以下コマンドを実行します
esxcfg-advcfg -s 0 /VSAN/IgnoreClusterMemberListUpdates
ホスト起動時にクラスタ内の各ホストで実行する必要があります
クラスタ内のホストの数のSSHアクションのコマンドファイルを作成してください
注: 各ノード間に 2 秒以上の時間のずれがある場合にはこのコマンドが正しく実行されないため、
NTPサーバーを使用してすべてのホストの時刻を同期するように構成する必要があります。
コマンドの詳細はVMware社 kbase (VMware KB70650) に従っています。
詳細はVMware社へお問い合わせください。
1. ssh_disable_clustermember_updates.txt
このコマンドファイルは以下コマンドを実行します
esxcfg-advcfg -s 1 /VSAN/IgnoreClusterMemberListUpdates
ホストシャットダウン前にクラスタ内の各ホストで実行する必要があります
クラスタ内のホストの数のSSHアクションのコマンドファイルを作成してください
2. reboot_helper_prepare.txt
このコマンドファイルは以下コマンドを実行します
python /usr/lib/vmware/vsan/bin/reboot_helper.py recover
ホストシャットダウン時にクラスタ内の1つのホストで実行する必要があります
1つのホストへSSHアクションのコマンドファイルを作成してください
3. reboot_helper_recover.txt
このコマンドファイルは以下コマンドを実行します
python /usr/lib/vmware/vsan/bin/reboot_helper.py recover
ホスト起動時にクラスタ内の1つのホストで実行する必要があります
1つのホストへSSHアクションのコマンドファイルを作成してください
4. ssh_enable_clustermember_updates.txt
このコマンドファイルは以下コマンドを実行します
esxcfg-advcfg -s 0 /VSAN/IgnoreClusterMemberListUpdates
ホスト起動時にクラスタ内の各ホストで実行する必要があります
クラスタ内のホストの数のSSHアクションのコマンドファイルを作成してください
注: 各ノード間に 2 秒以上の時間のずれがある場合にはこのコマンドが正しく実行されないため、
NTPサーバーを使用してすべてのホストの時刻を同期するように構成する必要があります。
コマンドの詳細はVMware社 kbase (VMware KB70650) に従っています。
詳細はVMware社へお問い合わせください。
<PowerChute Network Shutdown v4.4のSSHアクションの設定>
PowerChute Network ShutdownのSSH Settings (SSH設定) から設定します。
SSHアクションは設定した順番に実行されるため、手順1から4の順に設定してください。
(設定後に順番を変更することは出来ません。)
手順1
“ssh_disable_clustermember_updates.txt” を実行するSSHアクションを作成します
クラスタ内の各ホストで実行する必要があります
今回の設定例ではホストを3つと想定しているためアクション名を下記としています
host1_disable_updates
host2_disable_updates
host3_disable_updates
Path to SSH command file (SSHコマンドファイルのパス) は任意に保存した
“ssh_disable_clustermember_updates.txt” のパスを指定します
Execute SSH Action (SSHアクションの実行) は Before Host Shutdown (ホストのシャットダウン前) に設定します
手順2
“reboot_helper_prepare.txt” を実行するSSHアクションを作成します
これは、1つのホストでのみ実行する必要があります
今回の設定例ではアクション名を下記としています
reboot_prepare
Path to SSH command file (SSHコマンドファイルのパス) は任意に保存した
“reboot_helper_prepare.txt” のパスを指定します
Execute SSH Action (SSHアクションの実行) は Before Host Shutdown (ホストのシャットダウン前) に設定します
手順3
“reboot_helper_recover.txt” を実行するSSHアクションを作成します
これは、1つのホストでのみ実行する必要があります
今回の設定例ではアクション名を下記としています
reboot_recover
Path to SSH command file (SSHコマンドファイルのパス) は任意に保存した
“reboot_helper_prepare.txt” のパスを指定します
Execute SSH Action (SSHアクションの実行) は On Startup (起動時) に設定します
手順4
“ssh_enable_clustermember_updates.txt” を実行するSSHアクションを作成します
クラスタ内の各ホストで実行する必要があります
今回の設定例ではホストを3つと想定しているためアクション名を下記としています
host1_enable_updates
host2_enable_updates
host3_enable_updates
Path to SSH command file (SSHコマンドファイルのパス) は任意に保存した
“ssh_enable_clustermember_updates.txt” のパスを指定します
Execute SSH Action (SSHアクションの実行) は On Startup (起動時) に設定します
<SSHアクションのプロンプトの設定>
最後にPowerChute Network Shutdownの設定ファイル (pcnsconfig.ini) を更新します。
PowerChute Network Shutdownのデフォルトインストールフォルダーは以下の通りです。
Windows : " C:\Program Files\APC\PowerChute\group1 "
Linux系OS : " /opt/APC/PowerChute/group1 "
group1フォルダの中に設定ファイル (pcnsconfig.ini) が格納されています。
手順1から4までのSSH アクションの設定が全て完了した後に設定ファイル (pcnsconfig.ini) にて
各SSHアクションへ「ssh_prompt_regex = \]\s」の記述を追加してください。
設定例
[SSHActionX]
ssh_action_name = reboot_recover
ssh_target = 10.179.xxx.xxx
ssh_command_path = /opt/APC/PowerChute/user_files/reboot_helper_recover.txt
ssh_action_enabled = true
action_delay = 0
action_duration = 120
ssh_port = 22
ssh_action_sequence = startup
ssh_prompt_regex = \]\s
[SSHActionX] のセクションの最後のXは各SSHアクションの通し番号が入ります。
手順1から4で設定した全てのSSHアクションに対して上記記述の追加を行ってください。
■ 対応方法: 2
【対象の製品バージョンとシステム環境】
PowerChute Network Shutdown v4.3の場合 または
vSphere 6.7 Update3より前のバージョンをご利用の場合
【対応方法】
サーバーの起動時間に差を設けてください。
UPSとPowerChuteにより電源保護されたホストに対してすべてのホストを同時に起動させないよう
物理サーバーの電源の接続先を別けてください。
そのうえでUPSのコンセントグループ間の電源投入までの待機時間の設定、
もしくはSwitched PDUの「On Delay」設定 (シュナイダーエレクトリック製の場合) で時間差の調整を行ってください。
物理サーバーの電源の接続先を別けてください。
そのうえでUPSのコンセントグループ間の電源投入までの待機時間の設定、
もしくはSwitched PDUの「On Delay」設定 (シュナイダーエレクトリック製の場合) で時間差の調整を行ってください。
<UPSのコンセントグループ間の電源投入までの待機時間の設定>
Network Management CardのWeb UIから待機時間20秒を設定をします。
「設定」 > 「コンセントグループ」 を選択し「コンセントグループ設定」で
グループ1の「電源投入までの待機時間 (秒)」を 20 に設定します。
*メインアウトレットグループのあるUPSでは、グループ1に待機時間を設定してください。
Network Management CardのWeb UIから待機時間20秒を設定をします。
「設定」 > 「コンセントグループ」 を選択し「コンセントグループ設定」で
グループ1の「電源投入までの待機時間 (秒)」を 20 に設定します。
*メインアウトレットグループのあるUPSでは、グループ1に待機時間を設定してください。
【公開日】2022年7月7日