SCVMMのジョブ(1)

TechEd 2010のセッションがいよいよ来週に迫り、絶対にセッションの中では細かく
解説することができないだろうなあ、という項目を当ブログに書いています。
今回のテーマは「ジョブ」についてです。

SCVMMでは、実行内容を「ジョブ」として記録し、
どのような処理をしたのか、どのような実行結果になったか、などを確認することができます。

このジョブはSCVMMとともにインストールする(もしくは事前にインストールする)
データベースサーバーの中に格納され、90日間保存されます。
しかし、90日経過すると自動的に消えてしまうため、ログとして永続的に残しておきたい場合には、
どこかに待避させておく処理、つまりアーカイブ処理が必要になってきます。

そこで、どのようなジョブのアーカイブ方法があるのか、私の思いつく限りまとめてみました。

1.ジョブが格納されているデータベースに対し、バックアップを実行する
SCVMMをインストールすると、VirtualManagerDBという名前のデータベースが
作成されるので、VirtualManagerDBデータベースに対してバックアップを実行します。
SQL Serverにデータベースを格納している場合はSQL Management Studioを使ってバックアップを
実行することができますが、SCVMMとともにデータベースサーバーをインストールした場合、
GUIでバックアップを実行することができません。その場合、マイクロソフト ダウンロードセンターから
入手可能なSQL Management Studio Expressを使うとよいでしょう。

ちなみに、SCVMMには、管理者コンソールの[管理]-[全般]から、バックアップを実行する方法が
用意されています。そして、この方法でバックアップを実行した場合、復元にはscvmmrecover.exeという
ツールを使う必要があります。
■VMMデータベースのバックアップと復元
http://technet.microsoft.com/ja-jp/library/cc956045.aspx

ところが、SCVMMのメディアにはこのツールがない!(私だけでしょうか?)
というわけで、SCVMM管理者コンソールからバックアップする方法ではなく、データベースを
直接バックアップする方法をここでは紹介しました。

2.Get-Jobコマンドレットを使ってジョブを全件出力する
ジョブの内容を出力するSCVMMのコマンドレットにGet-Jobというのがあり、
Get-Jobコマンドレットの出力結果をテキストファイルなどに格納すれば、
結果的にアーカイブしたのと同じ効果になります。
(ただし、単なるテキストファイルなので、「ログ」としての効果しかありませんが…)
Get-Jobコマンドレットを使って全件出力するスクリプトが
TechNetライブラリに掲載されているので、参考にしていただければと思います。

3.そもそも90日で消えないようにする
90日という設定は変更可能だそうです。 (試していないので、実現可能かわかりませんが..)
設定方法を掲載しているブログがありますので、参考にしていただければと思います。
■Hyper-V note from the field – SCVMM Service may take up lots of memory
http://technet.microsoft.com/ja-jp/library/ee460934.aspx

今回、3つの方法を紹介しましたが、このうち2番目の方法について次回紹介します。