【Management】PRO(ピー・アール・オー) ってご存知ですか?

仮想マシンを操作するサンプルスクリプトが無いかなぁと思っていたところ、面白いサンプルがあったのでご紹介します。

これは、SCVMM 2008 と OpsMgr 2007 の連携機能である PRO(Performance and Resource Optimization)によって生成されるスクリプトです。

スクリプトはこちら

スクリプトの中では、get-vmmserver や get-vmhost、Get-VMHostRating、Move-VM など、仮想マシンを管理するのに有用なコマンドレットが使われていますので、大いに参考になるかとおもいます。

ときに、PROって...ご存じですか?直訳すれば「パフォーマンスとリソースの最適化」です。ちょっとだけ概要をご紹介しておきます。

まずは前提知識として...
もうおなじみだと思いますが、仮想マシンを集中管理するのが System Center Virtual Machine Manager 2008 ですね。そして、物理、仮想問わず、ネットワーク上のサーバーやクライアントの監視を行うのが System Center Operations Manager 2007 です。

さて、あるホストに複数の仮想マシンが稼働している状態を考えてください。ホストの全体のCPU使用率が上昇し、この状態が続くと業務に影響が出てしまうかもしれないっ!

そんなときに、あなたならどうしますか?

  1. 負荷が高いということは資源がよくつかわれているということなので逆に安心する
  2. せっかくの機会なのでベンチマークテストを行う
  3. Windows 神社で祈ってみる
  4. 止めても問題のない仮想マシンを停止する。様子を見て、また起動する。
  5. VMM2008を使用して仮想マシンを別のホストに移動する

心情的には 2.だったりもしますが、そうも言ってられません。現実的には、4. か 5. ですよね。

で、この作業を手で行ってもよいのですが、いつもあなたがその場にいるとは限りません。

じゃ、どうするか?といえば、「自動化」しておけばよいわけです。

幸いにも、SCVMMはPowerShellスクリプトから操作することができますし、OpsMgrはCPUの負荷状況を監視することができます。この2つが組み合わされば、なんか自動化できそうな気がしてきませんか?してきます。

手作りで上記のような自動化の仕組みを作りこむことも可能ですが、VMM2008 + OpsMgr2007(SP1)を組み合わせると、標準機能でコレが実現できてしまいます。コレ=PRO ということです。

PROを使用すると、OpsMgr側で検出したアラートを SCVMM が受け取り、その状況に適したスクリプトが生成され、実行されます。これによって、適切なホストに仮想マシンが移動されたり、仮想マシン自身のリソースの再設定が行われたりします。

結果だけ聞くと至極単純な話なのですが、いざこれを手作りしようとすると結構面倒だったりもしますね。GUIだって作らなければならないし。

実は、PROに関するお話を、12月11日 @IT仮想化ソリューションセミナーで行います。時間が50分ということで、スクリプトの詳細な解説まではとてもできませんので、そのあたりはBLOGで補足していきたいと思います。