保守の為に停止したvCenter Serverを起動するとVMのステータスが取得できない、起動できないなどのトラブルに遭遇しました。
vCenter Serverも動作不安定でサーバ自体も負荷が増大していました。
イベントログを確認するとvCenter Serverが使用しているSQL Expressでエラーが出力されていました。
ログの名前: Application
ソース: MSSQL$VIM_SQLEXP
イベント ID: 1105
レベル: エラー
ユーザー: SYSTEM
説明:
Could not allocate space for object ‘dbo.VPX_HOST_VM_CONFIG_OPTION’.’PK_VPX_HOST_VM_CONFIG_OPTION’ in database ‘VIM_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.
ログの名前: Application
ソース: MSSQL$VIM_SQLEXP
イベント ID: 1827
レベル: エラー
ユーザー: SYSTEM
説明:
CREATE DATABASE or ALTER DATABASE failed because the resulting cumulative database size would exceed your licensed limit of 10240 MB per database.
MS SQL Express 2008なのでライセンスによる容量制限で10GB/DBを超えたためにDBへの書込みが出来なくなっていました。
調べると下記のサイトの情報が該当しました。
vCenter Server に使用されているデータベースから古いデータを消去する (2014792)
https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2014792
SQL Server Management Studioをインストールして手動で消去して下さいと:-(
でも早急に対処ないとVMが起動できないので大事になります。
- vCenter Serverの停止
- SSMSのダウンロードとインストール
- SQL Serverに接続
- データーベース VIM_VCDBのテーブル選択
- テーブルdbo.VPX_PARAMETERの編集
- 値の変更
- dbo.cleanup_events_tasks_procの実行
- 準備完了
- クエリが正常に実行されました
- SSMSの終了
- vCenter Serverの起動
- 統計情報の設定確認
サービスのVMware VirtualCenter ServerとVMware VirtualCenter Management webservicesを停止します。
今回はプロパティで無効にしてからタスクマネージャーで強制停止しました。
SQL Server Management Studio (SSMS) のダウンロード
https://docs.microsoft.com/ja-jp/sql/ssms/download-sql-server-management-studio-ssms
SSMS-Setup-JPN.exeをダウンロードしてインストールします。サーバーの再起動が必要です。
サーバ名にhostname\VIM_SQLEXP, アクセス権のあるユーザーで認証を行いDBに接続します。
データーベースVIM_VCDBを展開してテーブルdbo.VPX_PARAMETERを選択します。
テーブルdbo.VPX_PARAMETERを右クリックし、[上位 200 行の編集] をクリックします。
event.maxAgeを30に変更しevent.maxAgeEnabled値をtrueに変更します。
task.maxAgeを30に変更しtask.maxAgeEnabled値をtrueに変更します。
デフォルト値は
event.maxAgeが180, event.maxAgeEnabledはfalse
task.maxAgeが180, task.maxAgeEnabledはfalse
になっていました。これってDBのレコード削除はしないってことですかね?
[VIM_VCDB]-[プログラミング]-[ストアードプロシージャ]からdbo.cleanup_events_tasks_procを選択して[ストアードプロシージャの実行(E)]で実行します。
実行開始で気長に待ちます。今回は約60分ぐらい掛かりました。
正常に完了すると下のステータスバーに「クエリが正常に実行されました」と表示されれば終了です。
今回の作業で空き領域が637241MB(61%)になりました。
SSMSを終了します。
サービスのVMware VirtualCenter ServerとVMware VirtualCenter Management webservicesを起動します。
vSphere Web ClientからログインしてvCenter Serverの[設定]-[編集]で統計レベルが1に設定されているか確認します。
これでvCenter Serverも通常通り動作してVMも起動、ステータスやHAも確認できました。よかった、よかった:-)