vCenter Serverのデータベース運用

vCenter Serverのデータベース運用

中規模環境以上でvCenter Serverを長期運用する場合、データの肥大化が問題となるケースがある。
こういった状況で、vCenter Server 4.0からは、vSphere Clientの「管理」→「vCenter Server設定」→「データベース保持ポリシー」により、指定された期間より古いタスク情報およびイベント情報を自動的に削除する機能がついている。

設定後すぐに消えないという指摘もあるが、この処理はSQL Serverエージェントに "Event Task Cleanup <DB名>" という名称のジョブとして定義されており、6時間毎に実行されている。
ジョブが起動されると、データベース保持ポリシーで保持日数が有効になっている場合に、期間の条件に該当するタスクおよびイベントがクリーンナップされる。タスク・イベント情報が大量にある場合には1回で全てを削除せず、ジョブが呼び出されるたびに段階的に削除を行う。
このジョブはストアドプロシージャのdbo.cleanup_events_tasks_procを実行している。お勧めはしないが、このプロシージャを手動で実行しても同様の効果が得られる。パフォーマンスデータのロールアップと同様の仕組みになっているわけだ。
(なお、SQL Expressの場合には、SQLエージェントが使えないはずですので、上記は当てはまらないと思われる。)

ところで、データベース保持ポリシーの設定では、パフォーマンスデータは削除されない。しかしながら、実際にのところ長期運用するとデータベースの大部分はパフォーマンスデータということになってしまう。
パフォーマンスデータを削除するためには、下記KBで公開されている、パージ用のスクリプトを使う必要がある。

Purging old data from the database used by vCenter Server 4.x
http://kb.vmware.com/kb/1025914


Virtual Center 2.5までは、「データベース保持ポリシー」設定が存在しない。そのかわり、Virtual Center 2.x用のパージスクリプトはパフォーマンスデータだけでなくタスク情報やイベント情報も削除してくれる。

Purging old data from the database used by VirtualCenter 2.x
http://kb.vmware.com/kb/1000125

Virtual Center 2.5のスクリプトに慣れている人が、vCenter Server 4.0でタスク情報やイベント情報が削除されなくて困惑していたり、vCenter Server 4.0のデータに対して、Virtual Center 2.x用のスクリプトを使用してしまったりするケースが散見されるので要注意。


その他、vCenter Serverの運用に関しては下記の情報も是非一読を。

Troubleshooting transaction logs on a Microsoft SQL database server
http://kb.vmware.com/kb/1003980

Defragmenting VirtualCenter performance data indexes on a Microsoft SQL database
http://kb.vmware.com/kb/1003990

Version history
Revision #:
1 of 1
Last update:
‎03-06-2011 06:09 AM
Updated by: