본문 바로가기

Virtualization/VMware vCenter Server

[VMware] vCenter Shrink Database : MSSQL 2008 DB Full

DB Full로 인해 Guest OS 내부 vCenter Service가 계속 중지된다면 Shrink 작업을 해야 한다.

 

Windows vCenter의 경우

내장된 MSSQL 2008 Server를 통해 DB를 관리할 것이다. (Windows 로그를 통해서도 이벤트 확인 가능)

 

기본적으로 vCenter의 DB는 Event, Task, Stat 3가지 파일이 쌓인다.

Event / Task는 30일 단위로 저장을 하도록 수정한 후에 이전 데이터를 제거하고

이 둘을 줄였음에도 상황이 나아지지 않는다면 Stat을 지워야 한다.

 

 

 

 

 

 

우선 vCenter Server Service를 중지시킨 후

Microsoft SQL Server 2008 Management Studio에 접속한다.

 

 

 

 

 

 

 

(1) DB 여유공간 확인

VIM_VCDB 우 클릭 > 태스크 > 축소 > 데이터베이스 / 파일

 

사진에 보이듯 로그는 충분하지만 데이터베이스와 데이터 파일은 여유공간이 2%밖에 되지 않는다.

Shrink 작업의 필요성이 보인다 ㅎ

 

 

 

 

 

 

 

 

(2) Event와 Task의 데이터 정리 주기를 30일로 변경

VIM_VCDB > 테이블 > dbo.VPX_PARAMETER 우 클릭 > 상위 200개 행 편집

 

파라미터 상위 200개 행에서

event.maxAge = 30

event.maxAgeEnabled = true

 

task.maxAge = 30

task.maxAgeEnabled = ture

로 변경한다.

 

 

 

 

 

 

 

 

(3) 저장 프로시저 실행

VIM_VCDB > 프로그래밍 기능 > 저장 프로시저 > dbo.cleanup_events_proc 우 클릭 > 저장 프로시저 실행

 

주기를 변경했으니 지정된 날짜에 맞게 데이터를 제거해야 한다.

저장 프로시저를 실행하면 이미지처럼 아무것도 나와있지 않을텐데 아래 쪽에 <확인>이 있을 것이다.

<확인> 후 완료를 기다리면 된다.

 

 

 

 

 

 

 

(4) Database 축소

VIM_VCDB 우 클릭 > 새 쿼리 > 명령어 실행

 

DBCC ShrinkDatabase(DB_Name, 5)

 

이전 데이터를 제거했다면 데이터베이스를 축소해야 한다.

해당 명령어를 통해 DB를 축소하면 이미지 아래처럼 쿼리 실행 완료 문구와 함께 결과 표가 표기된다.

 

시간이 좀 걸릴 수 있다.

 

여기까지 Event와 Task를 삭제한 내용이다.

하지만 내 경우는 이 과정을 진행하였음에도 DB 여유공간이 그대로였다..

그렇다면 이제 Stat을 지워야 하는데, 사실  훨씬 간단하다.

 

 

 

 

 

 

 

(5) (DB 그대로인 경우) Stat 정리 스크립트 실행

스크립트 URL : https://kb.vmware.com/s/article/2058670

 

해당 KB에서 MSSQL DB 스크립트 zip 파일을 받은 후

쿼리 파일을 실행하면 MSSQL에 자동으로 이미지처럼 쿼리가 쓰여진다.

 

여기서 @delta_data 값을 0에서 1로 수정하고 쿼리를 실행해야 한다.

그럼 Stat을 정리해준다. KB에는 PostgreSQL, Oracle DB 스크립트 파일도 있으니 참고하면 좋다.

 

 

 

 

 

 

(6) DB 여유공간 확인

그럼 위에서 2%밖에 남지 않았던 DB와 데이터 파일의 여유공간이 10%가 되어 있다.

더 늘리고 싶다면 주기를 늘려 재 실행 해보면 된다.

 

 

 

 

 

 

 

(7) vCenter 통계 수준 = 1

다 마쳤다면 vCenter Server Service를 올린 후

vCenter 설정에서 통계 수준이 1로 되어 있는지 확인해준다.

 

통계 간격에 대한 지속 시간을 최소화하는 것으로

value가 1이 아닐 경우 편집을 눌러 1로 수정해주면 된다.

 

 

이제 시간을 여유로이 두고 vCenter에 대한 모니터링만 해주면 된다.

 

 

 

 

 

 

 

 

관련 VMware KB URL

vCenter Event/Task 이전 데이터 제거 : https://kb.vmware.com/s/article/1025914

vCenter MSSQL DB Shrink : https://kb.vmware.com/s/article/1036738

vCenter Stat Script : https://kb.vmware.com/s/article/2058670

vCenter DB 상태 확인 : https://kb.vmware.com/s/article/1003979

vCenter 트랜잭션 로그 Full : https://kb.vmware.com/s/article/1003980