web-dev-qa-db-ja.com

vCenter SQLExpressデータベースのメンテナンス

SQLExpressデータベースを含むすべてのデフォルトを選択してvCenter5.1の単純なインストールを実行した後、手動の介入なしで継続的な操作を保証するにはどうすればよいですか?

現在、データベースが展開のために膨大な割合で膨張するという問題が発生しています。

各リモートブランチには、3つの物理サーバーがあります

  • ブランチ-ESXi1
  • ブランチ-ESXi2
  • ブランチバックアップ(物理ウィンドウボックス)

アクティブなVMの数の合計は8であり、そのうちの6つが他のESXiサーバーに1日3回複製され、Dell QuestvRangerソフトウェアもブランチバックアップサーバー上にあります。また、vRangerソフトウェアを使用して、6つのVMで夜間の完全バックアップが作成されます。

これはほとんどの場合問題なく機能しますが、vCenterのタスクログとイベントログではかなりおしゃべりです。 3か月以内にインストールされたvpx_event + vpx_event_argテーブルのサイズで9GBを見たことがありますが、これは2つのホストにとってはおかしいです。 http://kb.vmware.com/kb/1025914 が示唆しているように、vSphereクライアントにアクセスしました。

  • [管理]> [vCenterServer設定]> [データベース保持ポリシー]をクリックします

値をセットアップに適した値に変更しました。しかし、これは実際には何もしていないようです。これは、Express Editionを使用していて、SQLエージェントを実行してジョブをスケジュールできないためだと思われます。

私が見つけた情報のほとんどはvCenter5.0以下に関連しているようで、多くの手順では5.1が異なると書かれていますが、多くのページが参照している.sqlクリーンアップスクリプトの2つは、そうではないためです。 5.1に存在します。

SQL Expressデータベースが古いデータでいっぱいにならないようにするには、vCenter 5.1用に何をセットアップする必要がありますか?


データベースが破損しているということは、2つのホストを管理するためにvCenterを再インストールするだけなので、単純なリカバリモデルから変更する理由はありません。とにかくそのマシンにログインするのは私たちのシステム管理者だけなので、これは問題ではありません。問題は、DBが大きくなりすぎると、VMバックアップとレプリケーションが失敗することです。ただし、これらの大きなトランザクションのトランザクションログの最大値を無制限に設定しました。

私は、ソリューションにWindowsタスクスケジューラを介したSQLスクリプトの実行が含まれることを想定していました。しかし、どれから、どこから取得し、どのくらいの頻度で、どのような順序で実行しますか?


3
BeowulfNode42

完全な開示:vCenterを実行していません。ただし、SQLExpressで他のソフトウェアパッケージを実行しました。

SQL Expressのメンテナンスジョブは、次のように、batchとsqlcmdを使用してスケジュールされたタスクとして実行できます。

sqlcmd -E -SServer\instance -Q "EXECUTE [VIM_VCDB].[dbo].[cleanup_events_tasks_proc]"

私が見つけた別の記事( http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1020904 )は、次のように呼び出すことができるスクリプトの使用を提案しました。

sqlcmd -E -SServer\instance -i "C:\Program Files\VMware\Infrastructure\VirtualCenter Server\cleanup_events_mssql.sql"

編集に応じて編集:Tログのサイズを制限すると、縮小や大規模な削除など、非常に大きなトランザクションが中断される可能性があります。エージェントジョブではなくVCenter自体が削除を実行している場合は、それが問題である可能性があります。また、デフォルトがExpressであることを考えると、エージェントジョブに依存しない(Expressではサポートされていない)ことは理にかなっています。

2