VMware vSphere Management

VMware vSphere 환경은 일반적으로 VMware vSphere® Client 또는 VMware vSphere Web Services SDK를 통해 관리되며, 연결된 vSphere Client 또는 vSphere Web Services SDK Client의 수가 많으면 vCenter Server의 성능에 영향을 미칠 수 있다. vSphere 6.7의 구성 최대값에 지정된 최대값을 초과하는 것은 지원되지 않는다. 효과가 있는 것처럼 보이더라도, 그렇게 하는 것은 vCenter Server 성능에 훨씬 더 영향을 미칠 가능성이 있다.

vSphere Client

이 섹션은 "vSphere Client"를 의미한다. 유사한 명칭의 "vSphere Web Client"는 Flex를 기반으로 하며, 더 이상 사용되지 않는다.

vSphere Client(HTML5 Client)를 사용하여 vCenter Server, ESXi 호스트 및 가상 시스템을 제어 및 구성할 수 있다. vSphere 6.7 업데이트 1을 기준으로 HTML5 Client는 Flex 클라이언트의 모든 기능을 제공하며, 우리는 모든 배포에서 HTML5 Client를 사용할 것을 강력히 권장한다.

vSphere Client 서버라고 하는 vSphere Client 백엔드는 Java 애플리케이션이다. 단순하게 vSphere Client라고 하는 vSphere Client 프런트 엔드는 Java 기반 Application Server를 가리키는 웹 브라우저에서 실행되는 HTML5 기반 클라이언트다.

vSphere Client 백엔드 성능 고려 사항

vSphere Client 백엔드는 Java 애플리케이션인 vSphere Client Server로 구성되며, vCenter Server와 크게 상호 작용한다. 따라서 이 두 모듈은 모두 vSphere Client 백엔드 성능에 영향을 미친다. 이 하위 섹션에서는 vSphere Client 백엔드에서 최상의 성능을 얻는 방법을 설명한다.

vSphere 6.5부터 인벤토리 서비스는 허가, 역할 및 권한에 대한 논리를 포함하는 경량 서비스인 vpxd-svcs로 대체되었다.

  • 최적의 성능을 위해 배포 크기 및 사용 패턴에 필요한 충분한 CPU, 메모리 및 스토리지 리소스를 vSphere Client Server에 제공한다. 이러한 리소스 요구 사항은 vSphere 6.7 버전의 vSphere 설치 및 설정(vCenter Server 요구 사항의 일부로 포함됨)에 나열되어 있으며, https://docs.vmware.com으로 이동하여 "System Requirements for the vCenter Server Appliance and Platform Services Controller Appliance" 또는 "vCenter Server for Windows Requirements"을 검색하십시오." 설치 과정 중에 요구 사항도 설명된다.
  • vSphere Client의 성능도 다음과 같은 요인에 의해 크게 영향을 받는다:
    • vCenter 인벤토리 크기
    • vCenter를 통해 수행되는 작업 속도(시간당 작업 수)
    • 사용 중인 vSphere Client 수
    • vSphere Client 사용자의 사용 패턴
  • vSphere Client Server에 플러그인을 설치하면 vSphere Client Server를 실행하는 시스템에서 메모리 사용량이 증가할 수 있다. 따라서 플러그인을 설치하고 사용하도록 설정한 후에는 vSphere Client Server의 메모리 사용량을 모니터링하는 것이 좋다. Java 프로세스의 메모리 사용량이 최대 힙 크기보다 작거나 약간 높은지 확인하려면 Task Manager(Windows에서) 또는 Top(Linux에서)을 사용하십시오. (Java 프로파일러를 사용하여 JVM의 메모리 사용량을 보다 자세히 볼 수도 있다.)

JVM의 최대 힙 크기를 다음과 같이 결정할 수 있다.

  • vCenter Server Appliance에서 다음을 실행한다.
    Cloudvm-ram-size -l vsphere-ui
  • Windows에서 cloudvm-ram-size.bat 파일을 찾으십시오(기본적으로 C:\Program Files\VMware\vCenter Server\visl-integration\usr\sbin) 및 실행:
    Cloudvm-ram-size.bat -l vsphere-ui

vSphere Client 서버에 할당된 메모리 양이 부족하면 메모리를 늘리면 성능이 크게 향상될 수 있다.

vSphere Client Server에 할당된 메모리를 늘리는 가장 간단한 방법은 실행 중인 시스템에 대해 프로비저닝된 총 메모리 양을 증가시킨 다음 시스템을 재부팅하는 것이다. 부팅 시 동적 메모리 알고리즘은 vSphere Client Server를 포함하여 다양한 서비스에 할당된 메모리 양을 자동으로 재구성한다.

총 메모리를 늘리지 않으려는 경우 또는 동적 메모리 알고리즘이 사용자 환경에 적합하지 않은 경우 vSphere Client Server의 최대 힙 크기를 수동으로 변경할 수 있다. 그러나 이는 운영 체제뿐만 아니라 다른 서비스에서 사용할 수 있는 메모리 양에도 영향을 미친다는 점에 유의한다.

수동으로 vSphere Client Server 최대 힙 크기를 변경하려면:

  • vCenter Server Appliance에서 다음을 실행한다.
    Cloudvm-ram-size -C XXX vsphere-ui(여기서 XXX는 원하는 힙 크기(MB)임)
    자세한 내용은 cloudvm-ram-size -h를 실행하십시오.
  • Windows에서 cloudvm-ram-size.bat 파일을 찾으십시오(기본적으로 C:\Program Files\VMware\vCenter Server\visl-integration\usr\sbin) 및 실행: Cloudvm-ram-size.bat -C XXX vsphere-ui(여기서 XX는 원하는 힙 크기(MB)임)
    자세한 내용은 Cloudvm-ram-size.bat -h를 실행한다.

최대 힙 크기를 변경한 후 다음과 같이 변경 사항을 적용하려면 vSphere Client 서비스를 다시 시작한다.

  • vCenter Server Appliance에서 실행: service-control -stop vsphere-ui service-control -start vsphere-ui
  • Windows에서 Component Services(내역은 Windows 버전에 따라 약간 다르지만 일반적으로: Start 메뉴 > All Program > Administrative Tools > Component Services)를 열고 왼쪽 창에서 Services를 선택하고 vsphere client service로 스크롤한 후 마우스 오른쪽 버튼으로 클릭하고 Stop을 선택, 그리고 다시 오른쪽 클릭하고 Start를 선택한다.
  • 여러 고급 구성 옵션이 vSphere Client의 성능에 영향을 미칠 수 있음. 표 4-1에 나열된 이러한 옵션은 다음 위치에서 webclient.properties 파일에 구성할 수 있다.
  • vCenter Server Appliance의 경우:
    /etc/vmware/vsphere-ui
  • Windows의 경우:
    %ALLUSERSPROFILE%\VMware\vCenterServer\cfg\vsphere-ui
    %ProgramData%\VMware\vsphere client
Advanced 옵션 이름 설명 기본값
live.updates.enabled Recent Tasks에서 라이브 새로 고침을 사용할지 여부. true
live.updates.alarms.enabled Alarms 보기에서 라이브 새로 고침을 사용할지 여부. true
live.updates.navtree.enabled 네 가지 유형의 인벤토리 트리(Hosts and Clusters, VMs and Templates, Storage, Networking)에서 라이브 새로 고침을 사용할지 여부. true
live.updates.lists.enabled 목록에서 라이브 새로 고침을 사용할지 여부. true
live.updates.objectstate.enabled 현재 개체의 Summary 탭에서 라이브 새로 고침을 사용할지 여부. 이 작업은 각 Summary 탭에 표시된 각 속성("중요 속성"이라고 함)에 대해서만 수행되는 것이 아니라, 각 유형의 속성("중요 속성"이라고 함)에 대해 대략적으로 해당 개체의 아이콘과 상태를 결정하는 속성이라고 설명할 수 있다. true
session.timeout 사용자가 자동으로 로그아웃되기 전까지의 시간(분). 120
alarms.refresh.rate 경보 목록의 자동 새로 고침 간격(초)
10~600 사이여야 한다.
-1 값은 알람의 자동 새로 고침을 비활성화한다.
60
dataservice.timeoutSeconds 데이터 어댑터가 응답하지 않을 경우 UI에 오류가 표시되기 전의 시간(초) 120
dataservice.connectionTimeoutSeconds 데이터 서비스 연결이 손실된 경우 UI에 오류가 표시되기 전의 시간(초) 10
sso.pending.password.expiration.notification.days UI에 알림이 표시되는 SSO 암호 만료 전 일 수. 30

vSphere Client 프런트 엔드 성능 고려 사항

vSphere Client 프런트엔드는 사용자 시스템의 웹 브라우저에서 실행되는 HTML5 기반 애플리케이션이다. 이 하위 섹션에서는 vSphere Client 프런트엔드에서 최상의 성능을 얻는 방법을 설명한다.

  • 성능 향상 및 보안 향상을 위해 vSphere Client가 실행되는 시스템에 CA(인증 기관) 서명된 SSL 인증서를 설치한다. 자세한 내용은 VMware KB 문서 2111219를 참조하십시오.
  • 최상의 vSphere Client 성능을 얻으려면 사용자의 시스템에 충분한 CPU 리소스(최소 두 개의 CPU 코어, 빠른 CPU를 권장함)와 메모리(예: 윈도우즈를 실행하는 클라이언트 시스템의 경우 최소 4GB의 RAM을 권장함)가 있는지 확인하십시오.
  • 대규모 네트워크 지연으로 vSphere Client 성능이 크게 저하될 수 있음 최상의 성능을 위해 사용자 시스템에서 실행되는 vSphere Client와 vSphere Client 백엔드 사이의 네트워크 지연 시간은 30ms 미만이어야 한다.

대기 시간이 짧은 연결을 설정할 수 없는 경우, 다른 옵션은 vSphere Client 백엔드 근처에 가상 시스템 또는 물리적 시스템을 배치하고(시스템이 백엔드에 연결되는 지연 시간이 낮음) vSphere Client 프런트엔드를 실행하여 RDP와 같은 원격 프로토콜로 원격으로 액세스하는 것이다. 

  • vSphere Client를 보기 위해 64비트 브라우저를 사용하면 더 많은 메모리를 할당하여 성능을 향상시킬 수 있다.
  • 가능한 경우 관리되는 개체로 이동하는 대신 검색 기능을 사용한다. vSphere Client는 인벤토리 검색을 사용하여 관리 개체(클러스터, 호스트, 가상 시스템, 데이터스토어, 태그 등)를 찾도록 설계되었다. 인벤토리 트리 또는 인벤토리 목록 보기를 통해 관리되는 개체에 액세스할 수 있지만 인벤토리 검색 기능은 일반적으로 이러한 개체 간에 탐색하는 것보다 더 나은 성능을 제공한다.
  • vSphere Client 브라우저 창을 가끔 닫는다(대략 하루). vSphere Client가 실행 중인 브라우저 창을 닫고 다시 시작하면 클라이언트 세션이 필요한 메모리보다 더 많은 메모리를 사용하지 못하게 된다.

vSphere Web Services SDK 클라이언트

VMware vSphere Web Services SDK는 vSphere 환경을 효율적으로 관리하는 방법이 될 수 있다.

VMware vSphere API 및 지원되는 SDK 라이브러리에 대한 자세한 내용은 vSphere API 및 SDK 설명서를 참조하십시오.

모범적 프로그래밍 관행의 예는 VMware 커뮤니티 샘플 코드 페이지(http://communities.vmware.com/community/vmtn/developer/codecentral)에서 코드 샘플을 참조하십시오.

SDK를 사용하여 개별 호스트의 정보를 집계하여 클러스터 성능 데이터를 가져오려면 vCenter Cluster Performance Tool Fling(https://labs.vmware.com/flings/vcenter-cluster-performance-tool))을 참조하십시오.