フェールオーバークラスターマネージャーから仮想マシンをシャットダウンすると強制停止となってしまう事象について

こんにちは。
日本マイクロソフト株式会社 高谷です。

今回は、フェールオーバー クラスター マネージャーから役割として登録された仮想マシンを選択し、右クリックからシャットダウンを行うと、正常にシャットダウンされずに強制停止となってしまう事象についてご紹介いたします。
※ 本事象は Windows の想定された動作であり、不具合ではございません。

■ 事象の発生条件

.
・ OS: Windows Server 2016
・ Hyper-V ホスト 2 台~ にてフェールオーバー クラスターを構成
・ Hyper-V 仮想マシンはフェールオーバー クラスターの役割として構成されている
・ Hyper-V 仮想マシンにサインインし、ロック状態にする

■ 事象について

.
上記の条件において、フェールオーバー クラスター マネージャー画面の役割一覧から、ロック状態の Hyper-V 仮想マシンを右クリックして「シャットダウン」を選択すると、正常にシャットダウンされることなく「停止」されてしまいます。

Hyper-V ホストからフェールオーバー クラスター マネージャー経由で仮想マシンをシャットダウンする場合、クラスターは仮想マシン内のユーザー “SYSTEM” を偽装して “シャットダウン” というリソースの操作を実行します。
しかしながら、ログオン中/ロック中のユーザーがいれば、クラスターは ”SYSTEM” ではなくそのユーザーを偽装して仮想マシン リソースの操作を実行する動作となります。
通常、SYSTEM 以外のユーザーには Hyper-V ホスト側のフェールオーバー クラスター マネージャーからのリソース操作が許可されておりませんので、ログオン中/ロック中のユーザーがいる場合は、権限不足が発生し、仮想マシン リソースが “失敗” となり、仮想マシンが強制的に停止状態となってしまいます。

■ 影響と回避策

.
本事象により、稼働中のマシンが強制停止されるため、該当の仮想マシンのシステムが破損する可能性がございます。
そのため、回避策といたしましては、下記の 2 つの方法があります。

▼ 回避策 1

------------------------------------------------------------------
ロック状態にせずに (全てのユーザーをサインアウトした状態にする)、フェールオーバー クラスター マネージャー画面の役割一覧から、シャットダウンを行う
------------------------------------------------------------------

上述の通り、ログオン中/ロック中のユーザーがいなければ SYSTEM 権限でシャットダウンが行われ、これは権限のある正常なシャットダウンとなります。
弊社環境にて、全てのユーザーがサインアウトしている状態であれば、フェールオーバー クラスター マネージャー画面の役割一覧からシャットダウンを行った場合であっても、正常にシャットダウンが行えることを確認しています。

▼ 回避策 2

------------------------------------------------------------------
仮想マシン接続画面のウィンドウのシャットダウン ボタンから、シャットダウンを行う
------------------------------------------------------------------

仮想マシンの接続画面ウィンドウからシャットダウンする場合は、フェールオーバー クラスター マネージャーを経由しておりません。
(Hyper-V マネージャーから接続画面を呼び出した場合と同じ動作となり、”リソースの操作” という観点がございません。)
従って、接続画面からシャットダウンを実行すると事象が回避でき、正常にシャットダウンが可能です。

なお、回避策 2 を実施する際にも、ロック状態のユーザーが存在する場合は、下記のような警告が表示されます。状況に応じて、ロック状態をサインアウト状態にしてからシャットダウンをご実施ください。
補足) ここで [強制する] を選択しても、強制停止とはならず、正常なシャットダウンが実行されますので、ご安心ください。

いかがでしたでしょうか。
本ブログが少しでも皆様のお役に立てますと幸いです。