VMware 가상 머신 성능 문제에 대한 전체 개요

하드웨어 및 소프트웨어 문제로 가끔 VM 성능이 저하될 수 있습니다. 이는 가상 환경의 편의성과 민첩성을 감소시킬 수 있습니다. 느린 VM에 직면했을 때 VMware VM 성능을 개선하는 방법에 대해 알아보려면 이 블로그 포스트를 읽어보세요. VM 성능 저하의 가장 일반적인 원인 및 가능한 해결책에 대해 알아보세요.

VM 성능을 개선하는 이유

진단을 수행하고 VM 성능을 개선하는 주요 이유를 살펴보겠습니다:

  • 가상 머신의 성능이 다른 호스트의 동일한 VM의 성능보다 느립니다.
  • 응용 프로그램이 예상보다 느리게 실행됩니다. 그러나 VM을 다른 호스트로 이전하면 응용 프로그램의 성능이 정상입니다.
  • 응용 프로그램을 시작하는 데 많은 시간이 소요됩니다.
  • 실행 중인 응용 프로그램이 응답하지 않습니다.
  • CPU, 메모리 또는 디스크 사용량이 100%입니다.

CPU 및 메모리

부족한 하드웨어 리소스는 VM 성능 저하의 가장 일반적인 원인 중 하나입니다. VM에 충분한 CPU 리소스를 제공하지 않으면 VM 내부의 소프트웨어가 지연되면서 느리게 실행될 수 있습니다. 이를 해결하려면 VM에 더 많은 CPU 코어를 사용하도록 설정하거나 가상 프로세서를 추가하세요. 또한 오래된 프로세서와 코어 수, 캐시, 주파수가 낮은 호스트 머신의 하드웨어를 업그레이드하는 것을 고려해보세요.

가상 머신의 RAM 양을 설정할 때, 해당 RAM 양이 가상 머신에 충분한지 확인하십시오. 동시에 호스트 머신에도 충분한 RAM이 있어야 합니다. 가상 머신에 충분한 메모리를 제공하지 않으면 게스트 OS(운영 체제)가 스왑 파일을 많이 사용하며 전체 VM 성능이 느려집니다. 가상 머신에 많은 양의 메모리를 제공하고 호스트 OS에 충분한 메모리를 남기지 않으면 호스트 OS가 스왑 파일을 사용하게 됩니다. 이로 인해 OS 및 응용 프로그램 성능이 저하됩니다. 또한 이 경우 VM 성능도 저하됩니다. 가상 머신에 너무 많은 메모리를 할당하지 마시고 동시에 호스트를 위해 일부 메모리를 남겨두세요. 항상 호스트에 충분한 메모리를 제공하세요.

만약 가상 머신에서 데이터베이스와 같은 무거운 애플리케이션을 실행한다면 VM 구성을 조정하고 CPU 및 메모리 리소스를 추가하세요.메모리 과다 할당은 총 리소스 할당이 용량을 초과하는 상황입니다. 예를 들어, 호스트에 8GB의 RAM이 있고 각각 2GB의 RAM을 사용하도록 구성된 5대의 VM을 실행하는 경우, 모든 VM 및 호스트 머신이 메모리가 과다 할당되어 있기 때문에 성능이 저하될 수 있습니다 (모든 VM이 메모리를 집중적으로 사용하는 경우). 일부 VM이 실행되지만 가벼운 경우에는 ESXi가 메모리 사용률을 향상시키기 때문에 주로 부하가 큰 VM에서 메모리가 사용됩니다. 메모리 과다 할당은 테스트 환경에서 의미가 있습니다.또한, 메모리 축소 및 이 기능의 구성을 확인하여 미사용 메모리를 VM에서 회수하여 물리적 메모리를 효율적으로 활용하세요. 때로는 VM이 스왑을 위해 디스크를 사용해야 할 때이므로 이 기능은 VM 성능에 영향을 줄 수 있습니다.

CPU 과다 할당. VMware는 합리적인 리소스 사용을 위한 기법을 제공하여 호스트에 있는 물리 CPU 코어보다 많은 가상 프로세서를 VM에 할당할 수 있게 합니다. CPU 과다 할당 매개변수는 VM에 할당된 가상 프로세서 수를 호스트의 물리 CPU 코어 수로 나눈 비율입니다. 값이 3:1인 경우에는 걱정할 이유가 없습니다. 값이 5:1인 경우에는 VM 성능이 저하됩니다. CPU 과다 할당 값이 6:1 이상인 경우, VM 성능이 느려지며 이는 여러 문제를 발생시킬 수 있습니다.CPU 및 메모리 문제를 해결하는 방법은?

메모리 오버커밋은 총 리소스 할당이 용량을 초과하는 상황을 말합니다. 호스트에 8GB의 RAM이 있고, 2GB의 RAM을 각각 사용하도록 구성된 5개의 VM을 실행하면, 모든 VM과 호스트 머신이 저하된 성능을 보일 수 있습니다(모든 VM이 메모리를 강하게 사용하는 경우). VM이 실행 중이지만, 가벼운 로드를 보이는 경우, ESXi는 강하게 로드된 VM에 대해 메모리 활용을 높이기 위해 primarily VM에 사용됩니다. 메모리 오버커밋은 테스트 환경에서는 의미가 있습니다.

또한, 공간 팽창과 이 기능의 구성을 확인하여 VM에서 사용하지 않는 메모리를 효율적으로 활용하기 위해 재구성합니다. 때로는 이 기능이 VM 성능에 영향을 줄 수 있습니다. VM이 디스크를 스왑으로 사용하려고 할 때.

CPU 오버커밋 VMware는 합리적인 리소스 사용을 제공하여, 호스트의 물리적 CPU 코어보다 VM에 할당된 가상 CPU 프로세서를 더 많이 프로비전할 수 있도록 합니다. CPU 오버커밋 매개변수는 VM에 할당된 가상 프로세서 수를 물리적 CPU 코어 수로 나눈 값입니다. 값이 3:1인 경우 – 걱정할 이유가 없습니다. 값이 5:1인 경우 VM 성능이 저하됩니다. CPU 오버커밋 값이 6:1 이상인 경우 VM 성능이 느려지고, 이로 인해 많은 문제가 발생할 수 있습니다.

CPU 및 메모리 문제를 해결하는 방법?

가상 머신을 실행하는 물리적인 기계에 하드웨어 업그레이드와 추가적인 RAM을 고려하세요. 호스트 및 게스트 운영 체제에서 스왑 파일 사용을 방지하기 위해 충분한 메모리를 확보하세요. 메모리 과다 사용은 피하세요.

가끔 CPU 전원 관리 기능이 VM의 성능 저하를 일으킬 수 있습니다. 이를 비활성화해 보세요.

호스트에서 사용 가능한 CPU 및 메모리 자원을 확인하세요.

ESXi에서 서버가 과부하인지 확인하려면 명령줄에서 다음 명령을 실행하세요:

esxtop

로드 평균 매개변수를 확인하세요.

1.0 – CPU가 완전히 사용됨을 의미합니다.

0.5 – CPU가 반 사용됨을 의미합니다 (50%).

2.0 – CPU가 두 배로 과부하되었으며 대책을 취해야 합니다.

보기를 변경하려면 다음 키를 누르세요: c – CPU 메트릭스 (기본적으로 표시됨), m – 메모리, n – 네트워크, d – 디스크. 값을 업데이트하려면 스페이스바를 누르세요 (값은 자동으로 5초마다 업데이트됩니다). 도움말을 보려면 h를 누르고 종료하려면 q를 누르세요.

만약 VMware Workstation을 사용한다면, 위의 권장 사항을 고려하여 외장 SATA(eSata) 또는 USB 3.0 디스크에 가상 머신(VM)을 저장할 수 있습니다. 가상 머신의 전원을 끄기 전에 외부 디스크를 연결 해제하지 마십시오.운영 환경에서는 늘어나지 않거나 사전 할당된 두꺼운 디스크를 사용하십시오. Eager-zeroed 두꺼운 프로비저닝 디스크는 첫 번째 쓰기 작업에 대해 더 빠릅니다.VM을 저장하기 위해 HDD를 사용하는 경우 이 물리적 디스크 드라이브 또는 배열을 조각 모음하고 가상 머신 설정에서 가상 디스크를 조각 모음하십시오. 디스크 조각화를 줄이려면 파티션을 사용하십시오. 하나의 파티션에 운영 체제를 설치하고 애플리케이션에서 사용하는 파일(예: 데이터베이스)을 다른 파티션에 저장하십시오.

HBA(호스트 버스 어댑터)의 펌웨어가 최신 버전인지 확인하십시오. 서버의 HBA 펌웨어를 업데이트하십시오.

디스크 상태를 확인하십시오. 디스크와 파일 시스템을 진단하십시오. 디스크가 손상된 경우 즉시 디스크를 교체하십시오.

인터페이스(SAS, SATA) 케이블을 확인하십시오.

디스크 암호화는 오버헤드로 인해 성능이 저하됩니다. VM에 대한 암호화가 중요하지 않은 경우 VM 파일을 비암호화된 저장소로 이동하거나 디스크 암호화를 해제하십시오.더 높은 성능과 신뢰성을 제공하는 독립(하드웨어) RAID 컨트롤러를 사용하십시오.

VM 내부 디스크에 충분한 공간이 있는지 확인하십시오. 충분하지 않은 디스크 공간은 운영 체제 및 애플리케이션이 일시적인 파일을 쓰지 못하기 때문에 성능이 저하됩니다.

저장 시스템의 성능이 낮으면 이 저장 시스템에 가상 디스크를 저장하는 가상 머신의 성능도 낮아집니다. 저장 지연 시간은 VM 성능에 중요합니다. 가상 머신을 저장하기 위해 SSD(고체 상태 드라이브) 디스크를 사용해보세요. SSD 디스크를 사용할 수 없는 경우 7200 RPM 또는 10000 RPM의 HDD(하드 디스크 드라이브)를 사용하세요. 5400 RPM의 하드 디스크 드라이브는 추가로 낮은 성능을 제공합니다. SAS 인터페이스를 갖춘 디스크를 사용하는 것이 좋습니다.

VMware Workstation을 사용하는 경우 위의 권장 사항을 고려하여 외부 SATA(eSata) 또는 USB 3.0 디스크에 VM을 저장할 수 있습니다. 가상 머신을 종료할 때까지 외부 디스크를 연결 해제하지 마세요.

운영 환경에서는 non-growable 또는 사전 할당된 두꺼운 디스크를 사용하세요. Eager-zeroed 두꺼운 프로비저닝 디스크는 첫 번째 쓰기 작업에 더 빠릅니다.

HDD를 사용하여 VM을 저장하는 경우 해당 물리적 디스크 드라이브 또는 어레이의 조각 모음을 수행하고 가상 머신 설정에서 가상 디스크의 조각 모음을 수행하세요. 디스크 조각화를 줄이기 위해 파티션을 사용하세요. 하나의 파티션에 운영 체제를 설치하고 다른 파티션에 응용 프로그램(예: 데이터베이스)에서 사용하는 파일을 저장하세요.

HBA(호스트 버스 어댑터)의 펌웨어가 최신인지 확인하세요. 서버에서 HBA의 펌웨어를 업데이트하세요.

디스크 상태를 확인하세요. 디스크와 파일 시스템의 진단을 수행하세요. 디스크가 손상된 경우 즉시 디스크를 교체하세요.

SAS, SATA) 케이블을 확인하세요.

디스크 암호화는 오버헤드로 인해 성능이 저하됩니다. VM에 대해 암호화가 중요하지 않은 경우 VM 파일을 비암호화된 저장소로 이동하거나 디스크 암호화를 해제하십시오.

더 높은 성능과 신뢰성을 제공하는 독립 (하드웨어) RAID 컨트롤러를 사용하십시오.

VM 내 디스크에 충분한 여유 공간이 있는지 확인하십시오. 운영 체제와 응용 프로그램이 일시적인 파일을 쓸 수 없기 때문에 디스크 공간이 부족하면 성능이 저하됩니다.

VM을 과부하가 아닌 다른 디스크나 디스크 어레이로 이전할 수 있습니다. VMware vSphere에서는 DRS 및 스토리지 DRS를 사용하는 것이 좋습니다. 동일한 LUN이나 데이터 스토어에서 실행 중인 VM의 수를 줄입니다.

스냅숏

가상 디스크 스냅숏은 가상 디스크의 성능을 저하시킵니다. 각 스냅숏은 추가적인 델타 VMDK 파일을 생성합니다. 복사 시 쓰기 메커니즘이 사용됩니다. 각 델타 VMDK에는 부모 VMDK 파일과의 데이터 차이(변경 로그)가 포함되며, 가상 머신이 가상 디스크와 상호 작용할 때 이 모든 데이터를 읽습니다. 결과적으로 동일한 물리적 디스크 상에서 여러 가상 디스크 파일에서 데이터가 읽히며, 이는 VM 성능을 저하시킵니다. 같은 이유로 VMware Workstation의 VM에 스플릿 VMDK 파일을 사용하지 마십시오(이 옵션은 4GB보다 큰 파일을 지원하지 않는 오래된 파일 시스템을 위해 만들어졌습니다). 스냅숏의 수가 증가함에 따라 디스크 과부하가 증가합니다. 스냅숏은 일시적인 용도로 일반적으로 사용됩니다(예: 백업 작업 중 데이터를 복사하거나 VM 내에서 응용 프로그램을 설치하거나 테스트하는 경우 등). 가능한 빨리 스냅숏을 삭제하거나 적용하십시오.

VMware Workstation에서는 VM을 종료하고 VMware Workstation을 닫은 다음 기존 주 VMDK 파일의 경로와 새 가상 디스크 파일의 경로를 정의하는 명령을 실행해야 합니다:

“C:\Program Files (x86)\username\VMware Workstation\vmware-vdiskmanager.exe” -r

“D:\VMs\VM-folder\vm-name.vmdk” -t 0 “D:\VMs\VM-folder\NewDisk.vmdk”

그런 다음 VM을 새 가상 디스크를 사용하도록 다시 구성하거나 새 VM을 만들어 새 통합된 가상 디스크를 사용하도록 설정하십시오.

ESXi에서 스냅숏을 제거하려면 이 명령을 실행하십시오:

vmware-cmd path_to_vmx_file removesnapshots

또는

vim-cmd vmsvc/snapshot.removeall VMID

이 명령어로 VMID를 확인할 수 있습니다:

vim-cmd vmsvc/getallvms

사용 중인 VMDK 파일이 분할되어 있으면 병합하십시오. VMware Workstation이 설치된 Windows 기기에서 다음 명령어를 실행하십시오:

“C:\Program Files (x86)\VMware\VMware Workstation\vmware-vdiskmanager.exe” -r splitdisk.vmdk -t 0 mergeddisk.vmdk

성능에 민감한 데이터는 더 빠른 디스크에 저장하십시오.

VMware Tools

VM 게스트 OS에 VMware Tools가 설치되어 있는지 확인하십시오. VMware Tools는 VM 성능과 사용자 경험을 향상시키기 위해 사용되는 드라이버 및 유틸리티 세트입니다. VMware Tools를 설치하면 그래픽 성능이 향상되며 마우스가 동기화되어 지연 없이 작동합니다. VMware Tools를 사용하면 더 높은 성능으로 전체 화면 모드에서 VM을 사용할 수 있습니다. VMware Tools가 설치되어 있는지 확인하십시오.

Windows에서는 시계 근처의 트레이에 있는 VMware Tools 아이콘을 클릭하거나 C:\Program Files\VMware\VMware Tools\ (기본 디렉토리)로 이동하여 다음 명령어를 실행하십시오:

VMwareToolboxCmd.exe -v

Linux에서는 콘솔에서 다음 명령어를 실행하십시오:

vmware-toolbox-cmd -v

ESXi 명령줄에서 VM 로그를 읽어 VM 게스트의 VMware Tools 버전을 확인하십시오:

/vmfs/volumes/datastore/vm_name/vmware.log에서 grep toolbox

또는

/vmfs/volumes/datastore/vm_name/vmware.log에서 grep build-

VMware vSphere Client에서 VM에서 실행 중인 게스트 OS에 VMware Tools가 설치되어 있는지 확인하십시오. VMware Tools에 대한 정보는 VM의 요약 탭에 표시됩니다(상태 및 버전).

네트워크 문제

ESXi 호스트가 SAN(Storage Area Network) 또는 NAS(Network Attached Storage)와 같은 저장소에 연결되어 있는 경우, 네트워크 속도가 충분하고 네트워크가 과부하되지 않았는지 확인하십시오.

고성능을 위해 vSphere에서 별도의 ESXi 관리 네트워크, vMotion 네트워크 및 저장소 네트워크를 사용해야 합니다.

ESXi 호스트에서 NIC 팀을 구성(link aggregation)하십시오.가상 스위치를 사용하는 경우.

기존 네트워크 대역폭이 요구 사항을 충족시키기에 충분하지 않은 경우 네트워크 업그레이드를 고려하십시오. 예를 들어, 기존 1-Gbit 장비 대신 5-Gbit 또는 10-Gbit 네트워크 어댑터, 스위치 및 라우터를 설정하십시오.

백신

호스트의 안티바이러스 소프트웨어가 가상 디스크 파일을 스캔하지 않도록하십시오. 이러한 파일을 스캔하면 가상 머신 성능이 저하될 수 있습니다. 가상 머신 디렉터리의 VMDK 파일을 안티바이러스 스캔에서 제외할 수 있습니다.

호스트 운영 체제 및 게스트 운영 체제의 상태를 확인하십시오. 바이러스나 다른 악성 소프트웨어 또는 랜섬웨어가 없는지 확인하십시오.

VMware vShield와 함께 작동하는 특수 안티바이러스 솔루션을 사용하는 것을 고려해 보십시오. 이 방법을 사용하면 성능을 향상시킬 수 있으며 대규모 가상 환경에 유리합니다. vShield를 사용하는 경우 이 소프트웨어를 올바르게 구성하십시오. 잘못된 구성은 가상 머신의 성능을 저하시킬 수 있습니다.

Hyper-V 관련 문제

VMware Workstation 15.5 이상에서 VMware 가상 머신을 실행할 수 있는 Hyper-V 기능이 Windows 호스트에 설치되어 있는 경우, VMware 가상 머신의 성능이 느려질 수 있습니다. Hyper-V 역할이 설치되면, Hyper-V는 Intel VT-x 또는 AMD-V와 같은 CPU 가상화 기능을 직접 사용하며, VMware Workstation에는 특권 모드로 실행되어야 하는 가상 머신 모니터 (VMM)가 없습니다. 호환성을 위해 VMware Workstation의 VMM은 특권 모드가 아닌 사용자 모드 또는 ULM 모드에서 실행됩니다. 하이퍼-V가 사용 중인 CPU의 하드웨어 가상화 기능에 액세스할 수 없기 때문에 VMM은 Microsoft의 WHP API를 사용하여 VMM과 CPU 사이에 추가적인 계층을 제공하며 VMware 가상 머신의 성능을 낮출 수 있습니다.

호스트 Windows 기기에서 Hyper-V 및 가상화 기반 보안과 같은 관련 기능을 제거하세요. 그 후, VMware Workstation의 VMM은 특권 모드에서 실행되며 CPU 가상화 기능을 직접 사용하여 높은 성능으로 작동합니다. 이 솔루션을 사용하면 VMware 가상 머신의 성능 저하 문제를 해결할 수 있습니다.

VM 성능 모니터링

VM 성능 모니터링은 과부하와 관련된 성능 문제를 감지하는 널리 사용되는 방법입니다. VM 성능 모니터링은 원인을 문제诊 断하는 데 도움이 됩니다. 호스트 수준에서 VM 성능을 모니터링하는 것을 기억하시고 게스트 OS 내부에서는 하지 마십시오. 게스트 OS는 동적 자원 할당과 같은 가상화 기능을 인식하지 못하며 잘못된 데이터를 표시할 수 있습니다. VMware는 호스트 수준에서 카운터를 제공합니다. 이 카운터들은 정확한 정보를 제공하며 VM 성능 모니터링에 사용됩니다. VM 내부에서 성능 정보가 어떻게 수집되는지 알고 VMware는 Windows 게스트에서 Perfmon 유틸리티를 사용하여 VM 성능에 대한 정확한 정보를 볼 수 있도록 하는 가상 머신 전용 카운터 라이브러리를 개발했습니다. VM 성능 모니터링을 위해 게스트 OS에 VMware Tools를 설치해야 합니다.

VMware vSphere Client에서 사용한 하드웨어 자원을 확인하려면 가상 머신을 선택하고 모니터 탭을 열고 성능 > 개요 또는 성능 > 고급를 선택하여 차트와 기타 정보를 볼 수 있습니다. 개요 페이지에서 CPU, 메모리, 네트워크, 저장소(남은 공간, 사용된 공간, 입출력 성능)의 활용률을 실시간으로 그리고 어제, 이번 주, 지난 달, 작년, 또는 사용자 지정 간격으로 볼 수 있습니다. 이 페이지의 두 개의 드롭다운 메뉴(기간보기)에서 이 옵션들을 선택합니다.

모니터 탭에서 활용률을 클릭하면 가상 머신 CPU, 가상 머신 메모리, 게스트 메모리의 활용률에 대한 추가 정보를 볼 수 있습니다.

마찬가지로, vSphere Client에서 ESXi 호스트 또는 클러스터를 선택하여 실시간으로 사용 중인 자원과 선택한 기간 동안의 사용 가능한 자원을 모니터링할 수 있습니다.

결론

이 블로그 포스트에서는 VM 성능 문제에 대해 이해해야 할 주요 사항과 가상 머신 성능을 향상시키는 데 도움이 되는 권장 사항을 설명했습니다. 충분한 성능을 제공하는 하드웨어를 사용하고, 메모리 과다 사용을 피하고, 소프트웨어를 올바르게 구성해야 합니다. VM 성능 모니터링을 사용하여 VM 성능이 느린 이유를 감지하세요.

디스크 손상은 가상 머신 성능이 느려지는 가장 위험한 문제입니다. 가상 머신 성능이 좋지 못하다는 점 외에도 데이터가 손실될 수 있습니다. 데이터 손실을 피하기 위해 정기적으로 VMware 데이터 백업을 수행하세요. VMware vSphere 7.0을 지원하며 백업 속도와 신뢰성을 향상시키는 다양한 유용한 기능을 제공하는 NAKIVO Backup & Replication을 사용하세요.

Source:
https://www.nakivo.com/blog/a-full-overview-of-vmware-virtual-machine-performance-problems/