vCenter Server に使用されているデータベースから古いデータを消去する
search cancel

vCenter Server に使用されているデータベースから古いデータを消去する

book

Article ID: 343824

calendar_today

Updated On:

Products

VMware vCenter Server

Issue/Introduction

vCenter Server が起動に失敗した場合は、VPX_EVENT テーブルおよび VPX_TASK テーブルがいっぱいかどうかを確認し、必要に応じて手動でデータベースを消去します。
vCenter Server データベースがいっぱいの場合:
  • vCenter Server にログインできない。
  • VMware vCenter Server サービスを開始してもすぐに停止してしまう。
  • Microsoft SQL イベント ログに以下のエラーが記録される。

    Could not allocate space for object 'dbo.VPX_EVENT'.'VPXI_EVENT_USERNAME' in database 'VCDB' because the 'PRIMARY' filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup.



Symptoms:
免責事項:これは英文の記事「Purging old data from the database used by vCenter Server (1025914)」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。

Environment

VMware vCenter Server 4.1.x
VMware vCenter Server 5.0.x
VMware vCenter Server 4.0.x
VMware vCenter Server 5.1.x
VMware vCenter Server 5.5.x
VMware vCenter Server 6.0.x

Resolution


この問題を解決するには、vCenter Server データベースを手動で消去するか切り詰めます。
注意:VMware では、このプロセスを実行する前に、VMware vCenter Server サービスを停止し、データベースの信頼できるフル バックアップを取ることをお勧めしています。
  • SQL 2005 Express を使用している場合は、Microsoft SQL Server Management Studio Express のダウンロードとインストールが必要となる場合があります。
  • SQL Express 2005/2008(vCenter Server 5.x は SQL Express 2008 とバンドルされています)では、最大 5 台のホストと 50 台の仮想マシンがサポートされています。環境がこのしきい値を超えている場合は、データベースを SQL Standard Edition にアップグレードする必要があります。
  • 十分なディスク領域が使用できない場合、この手順の実行中にデータベースのトランザクション ログがいっぱいになる可能性があります。SQL Server の場合、必要なディスク領域が使用できないと、この操作の間、データベース上で 簡易復旧モデルを利用するというオプションがあります。

タスクとイベントのテーブルを消去する

:データベースの消去に長時間かかる場合は、イベントとタスクのテーブルを切り詰めてデータベースをクリーンアップします。
VPX_EVENT テーブル内のデータを消去するには:
  1. Servername\SQL Database に接続し、適切な認証情報でログインします。
  2. [データベース] をクリックして展開し、[VIM_VCDB] > [テーブル] を選択します。

    :vCenter Server データベースは、最初の作成時に名前を変更している場合を除き、デフォルトでは VIM_VCDB という名前になっています。

  3. dbo.VPX_PARAMETER テーブルを右クリックし、[開く] をクリックします。

    :SQL Server 2008 を使用している場合、dbo.VPX_PARAMETER テーブルを右クリックし、[上位 200 行の編集] をクリックします。
  4. event.maxAge 30 に変更し、event.maxAgeEnabled 値を true に変更します。
  5. task.maxAge 30 に変更し、task.maxAgeEnabled 値を true に変更します。

    :データ クリーンアップの時間を改善するには、ここまでの手順を、間隔をあけて何回かに分けて実行します。

    1. 次のデフォルト値が維持されていることを確認します:event.maxAge および task.maxAge.
    2. 手順 6 を実行してクリーンアップを行います。
    3. event.maxAge task.maxAge の値を 60 減らし、クリーンアップを行います。
    4. 値が最終クリーンアップ プロセスの 30 になるまで手順 a から c を繰り返します。

  6. 組み込みのストアド プロシージャを実行します。

    1. [VIM_VCDB] > [プログラマビリティ] > [ストアド プロシージャ] に移動します。
    2. dbo.cleanup_events_tasks_proc を右クリックして、[ストアド プロシージャの実行] を選択します。

      これで、maxAge に指定された日付に基づき、vpx_event, vpx_event_arg および vpx_task テーブルからデータが消去されます。
    3. 消去が正常に完了したら、SQL Management Studio を閉じ、VMware vCenter Server サービスを開始します。

  7. デフォルトの統計レベルが 1 に設定されていることを確認します。

    1. vSphere Client を使用して vCenter Server に管理者としてログインします。
    2. [管理] > vCenter Server[設定] > [統計] に移動します。
    3. 統計間隔の下で、統計レベル 列が 1 に設定されていることを確認します。
    4. 値を変更するには、[間隔] を選択し、[編集] をクリックし、リストから [レベル 1] を選択します。
  • データベース サイズによっては、dbo.cleanup_events_tasks_proc の実行に長い時間がかかる場合があります。
  • 消去するデータに基づき、さまざまな間隔でトランザクション ログがいっぱいになるため、実行に失敗する場合があります。必要に応じてトランザクション ログを圧縮し、再度 dbo.cleanup_events_tasks_proc を実行する必要があります。

イベントとタスクのテーブルを切り詰める

イベントとタスクのテーブルを切り詰めるには、次のスクリプトを実行します。

alter table VPX_EVENT_ARG drop constraint FK_VPX_EVENT_ARG_REF_EVENT, FK_VPX_EVENT_ARG_REF_ENTITY
alter table VPX_ENTITY_LAST_EVENT drop constraint FK_VPX_LAST_EVENT_EVENT
truncate table VPX_TASK
truncate table VPX_ENTITY_LAST_EVENT
truncate table VPX_EVENT
truncate table VPX_EVENT_ARG
alter table VPX_EVENT_ARG add constraint FK_VPX_EVENT_ARG_REF_EVENT foreign key(EVENT_ID) references VPX_EVENT (EVENT_ID) on delete cascade,
constraint FK_VPX_EVENT_ARG_REF_ENTITY foreign key (OBJ_TYPE) references VPX_OBJECT_TYPE (ID)
alter table VPX_ENTITY_LAST_EVENT add constraint FK_VPX_LAST_EVENT_EVENT foreign key(LAST_EVENT_ID)
references VPX_EVENT (EVENT_ID) on delete cascade

免責事項:VMware は、サードパーティの Web サイトのデータ、意見、アドバイス、ステートメントに対して責任を負いません。そのようなリンクが含まれていても、VMware がそのようなサイトのコンテンツに対する責任を承認、推奨、または受け入れることを暗示するわけではありません。



Additional Information

以下の Microsoft SQL Studio オプションを使用しても、VPX_EVENT テーブルおよび VPX_TASK テーブルの消去に役立ちません。

  • 古いデータの消去
  • テーブルの切り詰め
  • ログとデータベースの圧縮
  • ロールアップ ジョブの再作成
Purging old data from the database used by vCenter Server