VxRail : vCenter のtask,event,performanceデータを明示的に削除する手順

VxRail : vCenter のtask,event,performanceデータを明示的に削除する手順

本記事では、vCenter のtask,event,performanceデータを削除する手順をご紹介します。

なお、環境はVxRail内のInternal vCSA(postgres SQL)を想定した内容となります。

MS SQL ServerやOracle DBを利用している環境については、記事の最後にあるVMware KB  をご参照下さい。

はじめに

vCSA(vCenter Server Appliance)は内部にRDB(リレーショナルデータベース)を保持しており、

vCSAで必要な各種設定/情報を保持しています。

長期稼働していく中、データベースが肥大する事で以下のような問題が発生する場合があります。

・パフォーマンス チャートに最新データが表示されないことがある

・パフォーマンス チャートにギャップがある

・VxRail version アップグレードの過程で、vCSA 更新後のサービス展開において非常に時間が掛かる場合がある

・vCenter サービスが起動してから失敗する場合がある

肥大化の最たる要因はtask,event,performanceデータの増加です。

各ログのローテーション期間はdefaultで以下のように設定されています(VxRail 4.0.xxx/4.5.xxx 共通)。

これらは日数による期間設定のため、お客様の運用状況や環境,一時的な障害の影響 等によっては、

想定以上に増加していく場合があります。

  ------------------------------------------------------------------------------------------------------------

  vCenter Server の タスク情報     :30日

  vCenter Server の イベント情報  :30日

  vCenter Server の パフォーマンス データ参照期間:1年間(変更不可)

  ------------------------------------------------------------------------------------------------------------

タスク、イベントそれぞれで期間を変更する際、web clientより[ホーム] >> [インベントリ] 内の

vCenter Serverを選択して以下画面箇所より設定を確認、画面右上の"編集"から設定変更が可能です。

変更内容を反映させるためには、vCSAの再起動を手動で実施した上で

内部的にクリーンアップタスクが実行される事を待つ必要があります。


** vSphere6.0 **

1.png

2.png

** vSphere6.5 **

3.png

4.png

本記事の手順を利用する事で、設定変更を加えること無く不要な期間のデータ情報を明示的に削除する事が可能です。

1. [事前準備] vCSAのsnapshot 採取

web clientからvCSAの仮想マシン上で右クリック > "スナップショット" > "スナップショットの作成" を実施します。

名前は日付や作業内容にすることで分かりやすくしておきます。

5.png

2. [事前準備] vCSA DBのBackup 採取

ⅰ)VMware KB 2091961 より、バックアップ/リストア 用スクリプト(Linux_Backup_Resotre.zip)をダウンロードしておきます。

6.png

   zipを解凍して 2つのPython Scriptを確認します。

7.png

ⅱ)vCSAへrootでSSHでログイン し、backupスクリプトをターミナルソフトウェアの機能を用いて/tmp配下等へ保存します。

     その後、管理サービスを停止した上でスクリプトを実行します。"Backup Completed Successfully"が表示されれば成功です。

**管理サービスの停止

# service-control --stop vmware-vpxd

# service-control --status vmware-vpxd

**backupスクリプトの実行

# chmod 700 /tmp/backup_lin.py

# python /tmp/backup_lin.py -f /tmp/backup_VCDB.bak

**管理サービスの開始

# service-control --start vmware-vpxd

# service-control --status vmware-vpxd

8.png

3.削除スクリプトの入手と実行

ⅰ) VMware KB 2110031 より削除スクリプトをダウンロードしておきます。

9.png

ⅱ)ESXi、vCenter、PSCのSSH有効化 し、削除スクリプトをターミナルソフトウェアの機能を用いて

    /tmp配下等へ保存します。rootユーザーで実行するためにパーミッションを付与しておきます。

# chmod 700 /tmp/2110031_Postgres_task_event_stat.sql

ⅲ) VCDBのログインユーザー名/パスワードを確認の上、削除スクリプトを実行します。

     最後にDone at"実行した日付" が表示されてプロンプトが戻ってきたら完了です。

# cat /etc/vmware-vpx/vcdb.properties

# /opt/vmware/vpostgres/current/bin/psql -U vCenter-Server-database-user -v TaskMaxAgeInDays=task-days-v EventMaxAgeInDays=event-days -v StatMaxAgeInDays=stat-days -d database-name -t -q -f download-path/2110031_Postgres_task_event_stat.sql

(例1)

タスクとイベントは削除せずにパフォーマンスデータのみ全削除する
# /opt/vmware/vpostgres/current/bin/psql -U vc -v TaskMaxAgeInDays=-1 -v EventMaxAgeInDays=-1 -v StatMaxAgeInDays=0 -d VCDB -t -q -f /tmp/2110031_Postgres_task_event_stat.sql

(例2)

タスクとイベントは直近10日分を残し、パフォーマンスデータは削除しない。
# /opt/vmware/vpostgres/current/bin/psql -U vc -v TaskMaxAgeInDays=10 -v EventMaxAgeInDays=10 -v StatMaxAgeInDays=-1 -d VCDB -t -q -f /tmp/2110031_Postgres_task_event_stat.sql

10.png

11.png

削除された各テーブルのレコード数を明示的にチェックしたい場合

作業の前後で以下コマンド実施しておけば、レコード数としてどれだけ削除されたか、確認が可能です。

# /opt/vmware/vpostgres/current/bin/psql  -U vc -d VCDB -c "SELECT T2.relname , T2.reltuples FROM pg_stat_user_tables AS T1 INNER JOIN pg_class AS T2 ON T1.relname = T2.relname ORDER BY T2.relname"

それぞれのデータは以下テーブルに保管されています。

テーブル名説明
vpx_tasktaskデータ
vpx_event_* ~  vpx_event_arg_*eventデータ
vpx_hist_stat1_* ~  vpx_hist_stat4_*performanceデータ

参考資料:

最新情報が参照できるよう、英語版記事をリンクしています。

  - VxRail : vCenterサーバーのtask,event,performanceデータを削除する

     https://kb.vmware.com/s/article/2110031

  - vCenter Server データベース容量要件の管理 (2078305)

     https://kb.vmware.com/s/article/2078305?

   - ロールアップ スクリプトの実行に時間がかかる場合に vCenter Server データベースのサイズを削減する

     https://kb.vmware.com/articleview?docid=1007453

   - vCenter Server データベース増大の発生場所の特定

     https://kb.vmware.com/articleview?docid=1028356

   - Back up and restore vCenter Server Appliance/vCenter Server 6.0 vPostgres database (2091961)

     https://kb.vmware.com/s/article/2091961

Version history
Revision #:
1 of 1
Last update:
‎06-27-2019 07:56 PM
Updated by: