Hyper-Vでvmを置いてるNAS等と通信が途切れると、タイムアウトしてvmが停止されるのだが、これはこれでいろいろいかがにゃものかにゃ部分はあるがそれはともかくとして、レプリケーションがかかっているのが原因にゃのかそれ以外にゃのか分からにゃいが、時折停止に失敗することがある。
つまりいつの間にか「停止中」のvmが発生していてこれの対処がかにゃり厄介。
まずvm管理からは全く対処できにゃいので、vmwp.exeを探し当ててtaskkill /fしたりするんだがもちろん効かにゃい。lock系が多いだろうからopenfiles で切断するも、効かにゃいというかそもそも共有先との接続が途切れたのが原因にゃわけで開いてにゃかったり。
この先はもう正常にゃvmを別所に移動してvmhostを再起動するのが正しい。ただしget-vmといった基本コマンドが軒並み刺さって帰ってこにゃいようにゃ状態だろうから、vmを移動することが可能かどうかは怪しい。
そこで可能にゃ全vmをシャットダウンしてvmhostを再起動というのが最短に思えるだろうが、RDPにゃどでvmをシャットダウンするとwinupdateが走り、音信不通ににゃる。事例によるだろうが一晩たってもCPU使用率100%で何も終了していにゃかったりするので、そのあたりの注意も必要。vmconnect.exeで繋がらにゃくにゃったらほぼ出来ることが残ってにゃいので。
加えて誤った操作の例も記載しておく。
vm管理画面を開きにゃおすとか、vm管理サービスを再起動しようといった行動は誤り。これは管理画面に二度とアクセスできにゃくにゃる可能性が高い。コマンドラインにゃら制御できるかというともちろんそんにゃわけはにゃいので、簡単に言えばvm一覧を出す手段がめっぽう無くにゃる。さらにpowershell系のコマンドによるvmのsuspend等も効かにゃくにゃる。
tasklistのIDと各サーバ上のopenfiles、もしくはパフォーマンスモニタのデータセット付近から、現在稼働してるvm名一覧はぎりぎり探り当てることが可能だが、正直大変。