VMware vCenter

이 섹션에는 최적의 성능을 위해 권장되는 VMware vCenter 사례 및 구성이 나열되어 있다. 또한 vCenter를 통해 제어되거나 액세스되는 몇 가지 기능도 포함한다.

  • 가상 시스템에서 실행되든 물리적 시스템에서 실행되든 배포 크기에 맞게 충분한 CPU, 메모리 및 스토리지 리소스(용량 및 성능)를 vCenter Server와 vCenter Server 데이터베이스를 제공한다. 자세한 내용은 6.7 버전의 vSphere Installation and Setup을 참조하십시오.
  • 데이터베이스가 vCenter 성능에 중요하므로 "VMware vCenter 데이터베이스 고려 사항"의 권장 사항을 따른다.
  • vCenter Server의 성능은 관리 엔티티(호스트 및 가상 시스템)의 수와 연결된 vSphere Client 수에 따라 크게 달라진다. 따라서 지원되지 않을 뿐 아니라 vSphere 6.7의 구성 최대값에 지정된 최대값을 초과하면 vCenter Server 성능에 영향을 줄 수 있다.
  • vCenter 작업 지연 시간을 최소화하려면 vCenter Server 시스템과 vCenter Server 데이터베이스 사이의 네트워크 홉 수를 최소화한다.
  • vCenter Server와 vCenter Server가 관리하는 호스트 간의 네트워크 지연 시간이 이러한 호스트와 관련된 작업의 성능에 영향을 미칠 수 있다는 점에 유의한다.
  • VMware vSphere Update Manager는 윈도우즈에 구축된 경우 동일한 시스템에서 실행되고 vCenter Server와 동일한 데이터베이스를 사용할 수 있지만, 로딩이 많은 vCenter 시스템에서 최대 성능을 발휘하려면 자체 시스템에서 Update Manager를 실행하고 전용 데이터베이스를 제공하는 것을 고려한다. Linux의 vSphere Update Manager(vCenter Server Appliance의 경우)에는 적용되지 않는다. 자세한 내용은 "VMware vSphere Update Manager"를 참조하십시오.
  • VMware vCenter를 설치하는 동안 대상 인벤토리 크기를 선택하라는 메시지가 표시된다. 이 선택은 다양한 서비스에 대한 Java 가상 머신(JVM) 최대 힙 메모리 크기를 설정하는 데 사용된다. 기본값은 불필요한 메모리 사용은 피하면서 좋은 성능을 제공해야 한다. 그러나 6.7 버전의 vCenter Server 설치 및 설정에서 정의한 대로 대규모 환경 범위 내에 인벤토리 크기를 가지고 있는 경우, 이러한 설정 중 하나 이상을 증가시켜 더 나은 성능을 얻을 수 있다.

VMware vCenter 데이터베이스 고려 사항

vCenter Server는 인벤토리 항목 및 성능 통계 데이터에 대한 구성 정보를 저장하는 데이터베이스에 크게 의존한다. 또한 경보, 이벤트 및 태스크에 대한 데이터도 저장한다. 이 데이터베이스가 vCenter Server의 안정성 및 성능에 중요하므로 이 섹션에서 설명하는 데이터베이스 사례를 권장한다.

VMware vCenter 데이터베이스 네트워크 및 스토리지 고려 사항

  • vCenter Server와 데이터베이스 간의 작업 지연 시간을 최소화하려면 vCenter Server 시스템과 데이터베이스 시스템 간의 네트워크 홉 수를 최소화한다.
  • vCenter 데이터베이스가 저장되는 하드웨어와 해당 하드웨어의 파일 배열이 vCenter 성능에 상당한 영향을 미칠 수 있다.
  • vCenter 데이터베이스는 해당 파일이 고성능 스토리지에 저장되어 있을 때 가장 잘 수행된다.
  • 데이터베이스 데이터 파일은 대부분 랜덤 쓰기 I/O 트래픽을 생성하는 반면, 데이터베이스 트랜잭션 로그는 대부분 순차 쓰기 I/O 트래픽을 생성한다. 이러한 이유로, 그리고 이들의 트래픽이 종종 중요하고 동시에 발생하기 때문에, 이러한 두 파일 형식이 디스크나 I/O 대역폭을 공유하지 않는 별도의 스토리지 리소스에 배치될 때 vCenter가 가장 잘 수행된다.
  • vCenter 데이터베이스를 씬 프로비저닝되거나 느리게 비워지는 씩 프로비저닝 스토리지에 배치하는 경우 vCenter 시작 속도가 빠르게 비워지는 씩 프로비저닝 스토리지에 배치할 때보다 느려질 수 있다. 이러한 프로비저닝 유형에 대한 자세한 내용은 "가상 디스크 유형"을 참조하십시오.
  • 대규모 구축은 상당한 양의 데이터를 신속하게 생성할 수 있다. 저장 공간이 부족하지 않도록 데이터베이스 스토리지를 정기적으로 모니터링하는 것이 좋다. 이 경고 설정에 대한 자세한 내용은 VMware KB 문서 2058187을 참조하십시오.

VMware vCenter 데이터베이스 구성 및 유지 관리

  • vCenter 통계 수준을 사용하기에 적합한 설정으로 구성한다. 이 설정은 1에서 4까지의 범위를 가질 수 있지만 대부분의 상황에서는 1을 설정하는 것이 좋다. 설정이 높을수록 vCenter Server 시스템 속도가 느려질 수 있다. 특정 수집 수준에 대한 통계 롤업을 선택적으로 비활성화할 수도 있다.
    예를 들어 대화형 디버깅을 위해 더 높은 레벨이 필요한 경우 일시적으로만 레벨을 증가시키고 완료되면 다시 낮은 레벨로 설정한다.
    이 항목에 대한 자세한 내용은 VMware vCenter 5.1 Database Performance Improvements and Best Practices for Large-Scale Environments(이 백서에서는 vSphere 5.1에 대해 특별히 설명하지만 대부분의 개념은 vSphere 6.7에 적용됨)를 참조하십시오.
  • 빈번한 트랜잭션 로그 스위치를 방지하려면 vCenter 데이터베이스 로그의 크기가 vCenter 인벤토리에 적합한지 확인한다. 예를 들어 Oracle 데이터베이스와 함께 실행되는 대규모 vCenter 인벤토리의 경우 각 redo 로그의 크기는 최소 1GB여야 한다.
  • vCenter Server는 50개의 스레드로 구성된 데이터베이스 연결 풀로 시작한다. 그런 다음 이 풀의 크기를 동적으로 조정하여 vCenter Server 워크로드에 따라 필요에 따라 적절히 확장하므로 수정할 필요가 없다. 그러나 vCenter Server에서 과도한 워크로드가 예상되는 경우 시작 시 이 풀의 크기를 늘릴 수 있으며, 최대 스레드는 128개 입니다. 이로 인해 vCenter Server의 메모리 사용량이 증가하고 vCenter Server 시작 속도가 느려질 수 있다는 점에 유의한다.
    풀 크기를 변경하려면 vpxd.cfg 파일을 편집하고 다음을 추가하십시오.
<vpxd>
 <odbc>
  <maxConnections>xxx</maxConnections>
 </odbc>
</vpxd> 
(xxx는 풀의 크기).

vCenter 풀 크기를 변경한 경우 데이터베이스의 최대 허용 연결 수를 늘리는 것도 고려해야 한다.

  • 데이터베이스의 전반적인 성능을 향상시키기 위해 정기적으로 표와 색인의 통계를 업데이트한다.
  • 정기적인 데이터베이스 유지 관리 활동의 일환으로 인덱스 개체의 단편화를 확인하고 필요한 경우 인덱스를 재생성한다(즉, 조각화가 약 30% 이상일 경우).
  • Top N은 특정 리소스(CPU, 메모리, 디스크 및 네트워크)의 상위 소비자를 차트 형식으로 볼 수 있는 vCenter 기능이며(vSphere Client에서 클러스터 또는 호스트를 선택하고, Monitor 탭을 선택하고, Performance에서 Overview 클릭, View 드롭다운에서 Resource Pools and Virtual Machines, Hosts, Virtual Machines을 선택한다). Top N 데이터의 계산은 vCenter 데이터베이스에 작은 추가 로드를 가한다. 대부분의 경우 이 하중이 무시할 수 있을 것으로 예상하지만, 원한다면 이 기능을 비활성화할 수 있다. 이 기능을 사용하지 않도록 설정하면 Top N개 차트만 비어 있게 된다. 비활성화하려면 다음 단계를 수행한다.
  • Microsoft SQL Server의 경우: SQL 서버 에이전트에서 *TOPN* 테이블 작업을 사용하지 않도록 설정한다.
  • Oracle: *TOPN* 테이블 작업을 사용하지 않도록 설정하는 BDBMS_JOB.BROKEN 패키지를 사용한다.

vPostgres 데이터베이스를 사용할 때 상위 N 기능을 사용하지 않도록 설정하는 옵션은 없다(배포 중에 내장형 데이터베이스 옵션을 선택한 경우 vCenter Server에서 사용된다).

나중에 Top N을 다시 실행하려면 모든 데이터베이스 세션이 지워지고 데이터베이스가 정상 상태로 돌아갈 때까지 기다린 다음 작업을 다시 실행한다.

특정 데이터베이스 공급업체에 대한 권장 사항

이 하위섹션은 데이터베이스별 권장사항을 설명한다.

PostgreSQL(vPostgres) 데이터베이스 권장 사항

PostgreSQL(vPostgres) 데이터베이스를 사용하는 경우(배포 중에 내장형 데이터베이스 옵션을 선택하는 경우 vCenter Server에서 사용됨), 많은 최적화가 자동으로 수행된다. 그러나 이 섹션의 포인트는 vCenter Server 성능을 향상시킬 수 있다.

많은 vCenter Server Appliance 구성 작업은 vCenter Server Appliance 관리 인터페이스를 사용하여 수행할 수 있다. 이 인터페이스는 웹 브라우저를 사용하여 어플라이언스의 포트 5480(https://<appliance-IP-address>:5480)에 액세스한 다음 루트로 로그인(vCenter Server Appliance를 배포할 때 설정한 암호 사용)할 수 있다.

  • vCenter Server Appliance가 여러 개의 가상 디스크를 생성함 대규모 환경에서 성능을 향상시키려면 데이터베이스 가상 Disk(/storage/db)와 로그, 통계, 이벤트 및 경보(/storage/dblog 및 /storage/seat)와 관련된 가상 Disk가 모두 서로 다른 실제 Disk에서 백업되는지 확인하십시오.
  • /storage/dblog 가상 디스크는 데이터베이스 트랜잭션 로그를 저장한다. 각 파티션의 성능이 vCenter 성능에 중요한 반면 vCenter는 이 파티션의 지연 시간과 처리량에 특히 민감하다. 따라서 이 파티션을 짧은 지연 시간, 높은 처리량 스토리지에 배치할 것을 권장한다. VMware KB 문서 2126276은 주로 가상 디스크 크기 조정을 다루지만 각 마운트 지점에 해당하는 VMDK를 보여 주는 표도 포함하고 있다.
  • PostgreSQL은 자체 데이터 캐슁을 수행하며, 데이터는 운영 체제 레벨에서도 캐시된다. OS 레벨 캐시의 크기를 늘리면 성능이 향상될 수 있다. 이 작업은 vCenter Server Appliance 가상 시스템에 할당된 메모리 양을 증가시킴으로써 수행할 수 있으며, 이 추가 메모리의 일부는 OS 수준 데이터 캐시에 자동으로 사용된다.
  • PostgreSQL은 이전 트랜잭션이 Disk로 플러시되었는지 확인하기 위해 체크포인트를 주기적으로 설정한다. 이러한 체크포인트는 데이터베이스 쓰기가 /storage/dblog 파티션 크기의 90%에 누적적으로 접근할 때마다 트리거된다. 따라서 이 파티션의 크기를 기본 크기인 5GB 이상으로 늘리면 체크포인트 사이의 시간이 증가한다. 이로 인해 특히 대규모 vCenter 배포의 경우 시스템의 전체 I/O 로드는 감소하지만 충돌 후 복구 시간은 증가한다. /storage/dblog 파티션의 크기를 변경하는 방법에 대한 자세한 내용은 VMware KB 문서 2126276을 참조하십시오.
  • vCenter Server Appliance 데이터베이스의 디스크 공간이 부족해지는 것을 방지하기 위해 vCenter Server 설정의 Advanced 에서 매개 변수 vpxd.vdb.space.errorPercent 및 vpxd.vdb.space를 사용하여 경보를 설정할 수 있다. 이러한 경보는 vSphere Client에 경고 표시를 하는 것 외에도 e-메일 알림을 보내도록 구성할 수 있다.
  • vCenter Server 플러그인, pgtop을 사용하여 PostgreSQL 데이터베이스를 모니터링하고 및 성능 문제 진단에 도움이 될 수 있다.

Microsoft SQL Server 데이터베이스 권장 사항

Microsoft SQL Server 데이터베이스를 사용하는 경우 다음 사항이 vCenter Server 성능을 향상시킬 수 있다.

  • 트랜잭션 로그를 Simple 복구 모드로 설정하면 데이터베이스 로그의 디스크 공간 사용량과 스토리지 I/O 로드가 크게 감소한다. 이 설정을 Simple로 설정할 수 없는 경우 고성능 스토리지 서브시스템을 사용하십시오.
  • 대규모 vCenter Server 인벤토리에 대한 데이터베이스 성능을 더욱 향상시키려면 임시 배치데이터베이스 데이터 파일 또는 데이터베이스 트랜잭션 로그가 아닌 다른 Disk에 DB를 설치한다.
  • 일관성 있는 데이터베이스 성능을 보장하고 로그인 실패를 방지하려면 AUTO_CLOSE 매개 변수가 OFF로 설정되어 있는지 확인한다. 이렇게 되면 사용자가 없을 때 SQL Server가 리소스를 해제하는 것을 방지할 수 있으며, 다른 연결이 이루어지는 즉시 다시 예약해야 한다.

Oracle 데이터베이스 권장 사항

Oracle 데이터베이스를 사용하는 경우 다음 사항이 vCenter Server 성능을 향상시킬 수 있다.

  • 오라클 11g에서 Automatic Memory Management(AMM)를 사용하거나 오라클 10g에서 Automatic Shared Memory Management(ASMMM)을 사용할 때는 오라클 데이터베이스에 충분한 메모리를 할당한다.
  • 적절한 PROCESS 및 SESSIONS 초기화 파라미터를 설정한다. 오라클은 새로 연결될 때마다 새로운 서버 프로세스를 생성한다. 따라서 애플리케이션이 Oracle 인스턴스에 연결할 수 있는 횟수는 Oracle이 생성할 수 있는 프로세스 수에 따라 달라진다. PROCESS와 SESSIONS은 Oracle이 수용할 수 있는 동시 연결 수를 함께 결정한다. 대규모 vSphere 환경(vSphere Installation and Setup의 6.7 버전에서 정의됨, "vCenter Server for Windows 하드웨어 요구 사항" 검색)에서는 PROCESSESS와 SESSION을 모두 1000으로 설정할 것을 권장한다. 구성 최대치에 접근하는 환경(vSphere 6.7의 Configuration Maximums에 지정된 대로)에서는 이 두 값을 1200으로 증가시켜야 할 수도 있다.
  • 데이터베이스 작업이 느린 경우, 통계가 최신 상태이고 인덱스가 조각화되지 않았는지 확인한 후, 하나의 테이블스페이스에 있는 다른 인덱스(즉, 다른 테이블스페이스에 있는 플레이스 테이블과 PK(Place Table and Primary Key) 제약 인덱스와 다른 인덱스(즉, BTree)로 인덱스를 이동시켜야 한다.
  • 대규모 vCenter Server 인벤토리(즉, 호스트 또는 가상 시스템 수에 대한 제한에 접근하는 인벤토리)의 경우 db_writer_processes 매개 변수를 6으로 변경하여 쓰기에 사용할 수 있는 스레드 수를 늘린다. 이러한 변경은 vpxd와 같이 디스크 쓰기가 많은 애플리케이션에 유용할 수 있다.