SQL 명령을 사용하여 vCenter Server 에서 오래된 데이터를 어떻게 제거합니까?
문제는 환경에 많은 VMware 호스트 서버와 가상 시스템이 있는 경우 데이터베이스가 매우 커질 수 있다는 것입니다. 그러나 증가하는 공간은 주로 작업, 이벤트 및 과거 성능 데이터 (아래 설명 참조) 를 포함한 여러 테이블에서 나옵니다. VCenter Server 데이터베이스에서 관련되지 않은 작업 및 이벤트를 제거하면 공간을 절약하고, 시스템 성능을 향상시키고, 백업 속도를 높이고, 데이터베이스 충돌 가능성을 최소화할 수 있습니다. 이 문장 에서 TechTarget 중국 의 가상화 전문가 Eric Siebert 는 Microsoft SQL Server 를 사용하여 vCenter 데이터베이스에서 불필요한 정보를 제거하는 방법에 대해 설명합니다.
VCenter 테이블 데이터 조작
그러나 파일을 정리하기 전에 vCenter Server 의 테이블 데이터를 알아야 합니다. 다음은 이러한 양식에 대한 정보 유형에 대한 간략한 요약입니다.
임무 정보. 이 표에는 vCenter Server 에서 수행되는 모든 작업에 대한 정보가 포함되어 있습니다.
VPX _ 작업
이벤트 정보입니다. 이 테이블에는 vCenter Server 에서 발생한 모든 이벤트에 대한 정보가 포함되어 있습니다. 각 이벤트에 대해 VPX 이벤트 테이블에 행이 하나 있고 이벤트 ID 필드로 인해 VPX 이벤트 매개 변수에 하나 이상의 행이 있습니다.
VPX _ 이벤트
VPX 이벤트 매개 변수
역사적 매개변수. 이 테이블에는 vCenter Server 에서 관리하는 호스트 및 가상 시스템에 대한 성능 수 정보가 포함되어 있습니다. VCenter Server 2.0.x 서버의 경우 이 정보는 단일 VPX 내역 통계표에 저장됩니다. 그러나 vCenter Server 2.5 에서는 일일 성능 데이터가 VPX _ history _ statistics 1 에 저장된 다음 VPX _ history _ statistics 2 를 통합하여 주간 데이터를 계산하고 vpx 를 통합하는 방식이 변경되었습니다 또한 VMware 마이그레이션 기술 일정의 네 가지 예, 백서 히스토리 성능 일정도 있습니다.
VPX 내역 통계 (VC 2.0.x)
VPX _ 히스토리 _ 국가 1 (VC 2.5)
VPX 역사 국가 2 (VC 2.5)
VPX 내역 통계 3 (VC 2.5)
VPX 내역 통계 4 (VC 2.5)
VPX _ 샘플 _ 시간 1 (VC 2.5)
VPX _ 샘플 _ 시간 3 (VC 2.5)
VPX _ 샘플 _ 시간 3 (VC 2.5)
VPX _ 샘플 _ 시간 4 (VC 2.5)
VCenter Server 를 사용하여 데이터를 지웁니다.
매개변수 간격 구성을 변경하여 vCenter Server 를 간접적으로 사용하여 데이터를 지울 수 있습니다. 시간 간격을 변경하면 해당 시간 간격에 대한 데이터만 지워집니다. 예를 들어 주 간격만 변경하는 경우 주 데이터는 지워지지만 일, 월, 연도 데이터는 지워지지 않습니다. 수집된 데이터를 변경하거나 시간 간격을 비활성화할 수도 있습니다. 이렇게 하면 VPX _ history _ 통계 테이블의 크기가 줄어듭니다.
이 데이터를 삭제하는 데에는 여러 가지 이유가 있습니다. 첫 번째는 데이터베이스 서버에서 사용되는 공간의 양을 줄이는 것입니다. 대규모 환경에서는 이러한 데이터베이스를 20GB 로 쉽게 확장할 수 있습니다. 이는 큰 로컬 디스크에서 실행되는 SQL Server 에는 문제가 되지 않을 수 있지만 다른 San 의 디스크 공간을 사용하는 데이터베이스 서버에는 문제가 될 수 있습니다.
두 번째 이유는 성능입니다. 데이터베이스가 클수록 데이터를 검색하고 인덱스 업데이트와 같은 데이터베이스 작업을 완료하는 데 더 많은 시간이 소요됩니다. 마지막으로, 데이터가 적을수록 데이터베이스의 효율성이 높을수록 충돌 가능성이 줄어듭니다. 데이터베이스 백업 시간도 단축되었습니다.
결론은 자신에게 이렇게 많은 역사적 임무와 역사적 사건 데이터가 정말로 필요한지 묻는 것이다. 1 년 전 새해 데이터를 확인 했습니까? 오래된 성능 데이터는 가끔 고정 지점에 유용합니다. 그러나 이 기능이 필요하지 않으면 이전 데이터가 지워집니다. 그래도 그 말은 먼저 데이터를 수집하지 마세요. 문제 해결을 위해 일별 및 주별 데이터만 수집할 수 있으며 더 긴 월별 및 연간 데이터는 비활성화할 수 있습니다.
테이블 크기 검사
SQL 명령을 사용하여 테이블의 크기를 검사할 수 있습니다. SQL 데이터베이스의 경우 SQL*Plus 또는 다른 SQL 클라이언트를 사용하여 데이터베이스에 로그인한 후 다음 SQL 명령을 사용합니다.
Select count (*) from VPX 이벤트
이 명령은 테이블의 행 수 (또는 레코드 수) 를 표시합니다. 다른 테이블의 경우 테이블 이름을 view 로 변경합니다.
Select num _ rows * avg _ row _ len from user _ tables, 여기서 table _ name 은' vpx 이벤트' 입니다
이 명령은 남은 테이블스페이스를 제외하고 테이블에서 사용하는 디스크 공간의 양을 바이트로 표시합니다.
사용자 세그먼트에서 바이트를 선택합니다. 여기서 세그먼트 이름 = 'VPX 이벤트' 입니다
이 명령은 남은 테이블스페이스를 포함하여 테이블에서 사용하는 디스크 공간의 양을 바이트로 표시합니다.
SQL Server 의 경우 다음 명령은 SQL query analyzer 도구 (SQL Server 의 일부로 설치됨) 를 사용할 수 있습니다.
조회 창에 다음을 입력합니다.
사용
그런 다음 다음을 입력합니다.
EXEC sp_spaceused
그런 다음 질의 실행 아이콘을 클릭하거나 F5 키를 누릅니다. 이렇게 하면 sp_spaceused 아카이버 (기본적으로 SQL server 스크립트) 가 실행되고 사용 중인 행 수, 테이블에서 절약된 디스크 공간 양 (kb) 및 데이터가 차지하는 테이블스페이스 양을 포함한 테이블 정보가 표시됩니다. 다른 테이블에서 이 정보를 보려면 위의 명령과 다른 테이블 이름만 입력하면 됩니다.
이제 우리는 테이블의 상황과 크기를 결정하는 방법을 알고 있으므로 데이터를 지울 수 있습니다. 이 시리즈의 다음 문장 부분에서는 VMware 에서 제공하는 SQL 스크립트를 사용하여 데이터를 지우는 방법에 대해 설명합니다.