Windows Server 2012で作成したクラスタをSCVMMで管理していますが、ある日気がついたら各ホストの利用可能なメモリが0KBや8GBという実際とは異なる値になってしまっていました。
これにともなって、仮想サーバーを起動しようとしても、リソースが足りないと怒られたり…でも裏では実は起動できていたりと不安定な挙動をするようになってしまいました。
回避策を探したところ以下2つがヒットしました。
- [System Center Virtual Machine Manager: Hosts having 0kb free memory | Mike's System Center Blog](http://scug.be/mike/2009/08/29/system-center-virtual-machine-manager-hosts-having-0kb-free-memory/)
これはレジストリ上でパフォーマンスカウンタが無効化されているという例。今回は該当しませんでした。
- [VMM doesn't show hosts performance](http://kristiannese.blogspot.no/2012/12/vmm-doesnt-show-hosts-performance.html)
こちらあパフォーマンスカウンタが壊れており、再構築すると直るという例。今回はこの方法でとりあえず回復できました。
上記のように以下の2コマンドを実行します。
lodctr /R
WinMgmt /resyncperf その後、ホストを再起動します。
これでメモリが見えるようになりました。
今回は対処療法を行っただけで根本原因の追求と対策は行えていません。あまり頻繁に再現するようであればより深く追う必要がありそうです。何か情報をお持ちの方がいれば教えてもらえると嬉しいです。