VMware vSphere 환경에서 강력한 응용 프로그램이 가상 머신(VM)에서 실행 중일 때, 프비전된 리소스가 필요한 성능 수준을 충족하지 못할 수 있습니다. 이 경우 가상 머신에 더 많은 프로세서 및 메모리 리소스를 추가하는 것이 최적의 해결책입니다.
중요한 응용 프로그램이 VM에서 실행 중인 경우 VM을 종료하고 다운타임을 겪을 여유가 없습니다. 이 시나리오에서 VMware vSphere의 Hot Add 기능이 유용합니다. VMware의 가상화 기술이 제공하는 유연성 덕분에 실행 중인 VM에 가상 하드웨어 CPU 및 RAM 메모리를 추가할 수 있습니다. 여기서 VMware Hot Add를 활성화하는 방법, 사용 사례, 구성 및 이 기능의 제한 사항에 대해 설명하겠습니다.
VMware Hot Add란?
VMware Hot Add는 VM이 실행 중일 때 가상 장치를 가상 머신에 추가할 수 있는 기능입니다. 기본적으로 VM이 켜져 있는 동안 가상 하드 디스크(IDE가 아님), 네트워크 어댑터 및 USB 장치와 같은 가상 장치를 추가할 수 있습니다. VMware Hot Add를 사용하면 가상 CPU(중앙 처리 장치) 및 RAM(랜덤 액세스 메모리)를 실시간으로 추가할 수 있습니다. VMware Hot Add가 활성화된 경우 가상 장치를 추가하기 위해 VM을 종료할 필요가 없습니다.
VMware Hot Add vs Hot Plug
가끔 CPU Hot Add 기능을 CPU 핫 플러그로 언급하는 것을 볼 수 있습니다. 메모리 핫 추가와 메모리 핫 플러그도 동일한 논리가 적용됩니다. 이 두 용어는 동일한 것을 가리키며 서로 바꿔 사용할 수 있습니다.
참고: VMware 동적 메모리와 VMware 핫 추가 메모리를 혼동하지 마십시오. 이러한 기능은 다릅니다. VMware 동적 메모리는 가상 머신을 위한 효율적인 VMware 메모리 관리 기술입니다. 이 기능에 대한 공식적인 이름은 아니지만 사용자들은 이것을 Hyper-V의 동적 메모리의 고급 버전으로 언급합니다. VMware 메모리 관리 기술에는 투명 페이지 공유, 메모리 풍선, 메모리 압축 및 메모리 스왑이 포함됩니다.
요구 사항 및 제한 사항
- 실행 중인 VM에 VMware vCPU(가상 CPU) 및 메모리를 추가하는 데 요구 사항 및 제한 사항이 있습니다:
- 게스트 운영 체제(OS)는 장치 핫 추가를 지원해야 합니다.
- VMware Tools가 게스트 OS에 설치되어 있어야 합니다.
- VM에 대한 허용성 부전도체가 활성화되어 있으면 안 됩니다.
- 핫 추가 기능을 활성화하려면 가상 머신을 종료해야 합니다.
- A VMware vSphere Advanced, Enterprise, or Enterprise Plus license must be used. VMware vSphere Enterprise Plus supports both CPU hot add and memory hot add. Refer to the VMware licensing guide to check available functionality for other editions and guest OSs.
vCPUs를 추가하기 전에 VM에 설치된 게스트 OS 및 응용 프로그램의 라이선싱 제한 사항을 고려하십시오. 더 많은 프로세서에서 소프트웨어를 실행하기 위해 추가 라이선스를 구매해야 할 수 있습니다.
Hot Add를 지원하는 게스트 운영 체제는 Windows Server 2003 이후 버전 및 커널 3.8 이상을 사용하는 Linux입니다. 최상위 Windows Server 에디션은 CPU 및 메모리 Hot Add를 모두 지원합니다. 일부 하위 Windows Server 에디션은 메모리 Hot Add만 지원합니다.
게스트 OS | 라이선스/에디션 | 메모리 핫 추가 | CPU 핫플러그 |
윈도우 서버 2003 32비트/64비트 | 스탠다드, 엔터프라이즈 | 예 | 아니요 |
윈도우 서버 2008 32비트 | 스탠다드, 엔터프라이즈, 데이터센터 | 예 | 아니요 |
윈도우 서버 2008 64비트 | 스탠다드, 엔터프라이즈 | 예 | 아니요 |
윈도우 서버 2008 64비트 | 데이터센터 | 예 | 예 |
윈도우 서버 2008 R2 | 스탠다드, 엔터프라이즈 | 예 | 아니요 |
윈도우 서버 2008 R2 | 데이터센터 | 예 | 예 |
윈도우 서버 2012 | 스탠다드, 데이터센터 | 예 | 예 |
윈도우 서버 2012 R2 | 스탠다드, 데이터센터 | 예 | 예 |
윈도우 서버 2016 | 스탠다드, 데이터센터 | 예 | 예 |
윈도우 서버 2019 | 스탠다드, 데이터센터 | 예 | 예 |
VMware 핫 추가 장단점
VMware Hot Add는 많은 경우에 유용한 기능입니다. 그러나 핫 어댑팅이 실제로 필요하지 않은 경우 이 기능을 사용하면 단점이 있습니다. VMware Hot Add는 다양한 이유로 기본적으로 비활성화되어 있습니다. 왜 그런지 알아보겠습니다.
VMware vCPU Hot Add 및 vNUMA
VMware Hot Add를 활성화하면 vNUMA는 VM에 대해 자동으로 비활성화됩니다. 기본적으로 vNUMA는 성능을 향상시키기 위해 8개 이상의 vCPU를 가진 모든 VM에 대해 활성화되어 있습니다. NUMA 및 vNUMA 개념에 대해 자세히 살펴보겠습니다.
NUMA란?
NUMA(비균일 메모리 액세스)는 CPU가 로컬로 메모리를 공유할 수 있는 멀티프로세서 시스템의 아키텍처입니다. CPU가 메모리에 액세스하는 시간은 메모리가 메인보드에 있는 위치에 따라 달라집니다. 각 프로세서는 다른 프로세서 근처에 장착된 메모리를 사용하는 것보다 “자신의” 로컬 메모리를 사용하는 것에 우선 순위를 둡니다. 다시 말해, NUMA는 한 프로세서가 다른 프로세서의 메모리 모듈과 상호 작용하는 방법을 결정하는 방법입니다. NUMA 시스템은 각 프로세서가 메인보드의 모든 메모리에 액세스할 수 있는 두 개 이상의 시스템 버스를 가진 플랫폼입니다. 메모리가 이 프로세서 근처에 장착된 프로세서를 NUMA 노드라고 합니다.
NUMA가 비활성화되었거나 예를 들어 두 개의 프로세서가 있고 메모리가 그 중 하나의 프로세서의 슬롯에만 장착되어 있는 경우 성능 저하 및 기타 하드웨어 문제를 볼 수 있습니다. 두 개의 프로세서가 있는 메인보드에 메모리 모듈을 모두 채울 수 있는 충분한 메모리 모듈이 없는 경우 첫 번째 및 두 번째 프로세서의 메모리 슬롯에 메모리 모듈을 분산하는 것을 시도하십시오.
NUMA는 NUMA 인식 운영 체제에서 실행되는 시스템 프로세스가 합리적으로 분산되도록 도와줍니다. 각 프로세스가 해당 프로세스에 의해 사용되는 프로세서에 가장 가까운 메모리 영역에 액세스할 수 있도록 합니다.
vNUMA는 무엇입니까?
가상 NUMA (vNUMA)는 VMware vSphere의 최적화 방법입니다. 큰 VM이 NUMA 토폴로지를 고려하고 메모리 대역폭 병목 현상을 피하기 위해 최적화됩니다. vNUMA는 게스트 운영 체제에 물리적 NUMA 토폴로지를 노출합니다. 결과적으로 VM의 가상 NUMA 토폴로지는 ESXi 호스트에서 사용되는 하위 물리 하드웨어의 NUMA 토폴로지를 기반으로 합니다. VM의 가상 CPU는 동일한 NUMA 노드에 위치한 메모리에 액세스를 스케줄링할 수 있습니다.
vNUMA는 가상 하드웨어 8 이상을 사용하는 가상 머신에 사용할 수 있습니다. 가상 머신을 생성할 때 프로세서 및 프로세서 코어 수를 선택할 수 있습니다. CPU 소켓 수는 자동으로 계산됩니다. VM에서 사용하는 vCPU 수가 각 NUMA 노드의 코어 수보다 높은 경우 vNUMA 토폴로지가 변경되어 게스트 OS에서 여러 NUMA 노드를 사용할 수 있도록 최적화됩니다. 이 VM을 넓거나 큰 가상 머신이라고 합니다.
vNUMA가 비활성화되면 어떻게 됩니까?
Hot Add가 활성화되고 vNUMA가 비활성화되면 가상 머신은 ESXi 호스트의 기본 NUMA 노드를 인식하지 못하고 원격 NUMA 노드에서 메모리에 접근을 증가시킵니다. 게스트 OS의 CPU/메모리 스케줄링이 최적화되지 않습니다. 결과적으로 VM의 성능이 저하됩니다. 어플리케이션에 의해 스레드가 증가하는 넓은 VM의 경우 성능 저하가 눈에 띄게 나타납니다. 예를 들어, 게스트 OS가 두 개의 NUMA 노드를 사용하는 VM에서 Hot Add를 활성화하면 최적화된 vNUMA 토폴로지가 생성되지 않아 이후에는 이 게스트 OS가 하나의 NUMA 노드만 감지할 수 있습니다.
VM 작동 중에 이 기능을 사용할 것으로 예상되는 경우에만 VMware Hot Add를 활성화하세요. 그렇지 않으면 하나 이상의 NUMA 노드를 가로지르는 VM에 대해서는 Hot Add를 비활성화하는 것이 좋습니다. CPU와 메모리를 hot add해야 할 필요성이 있는지 확실하지 않다면 VM에 처음부터 더 많은 CPU와 메모리 리소스를 할당할 수 있습니다.
VMware Hot Add의 제한 사항
Hot remove는 불가능합니다.
Hot Add/Hot Plug 기능이 활성화되어 있을 때, CPU와 메모리 리소스를 hot remove하는 것은 불가능합니다. VM에 vCPU와 메모리를 hot add한 후, 어플리케이션은 이러한 추가된 리소스를 사용합니다. 따라서 이미 사용 중인 메모리와 CPU 용량을 제거하는 옵션과 같은 옵션은 어플리케이션에서 지원하지 않습니다. 이러한 이유로 VM의 CPU와 메모리 리소스를 줄이는 유일한 방법은 VM을 종료하고 전원이 꺼진 VM의 설정을 편집하는 것입니다.
메모리 확장성 제한
Hot add 메모리의 최대 양은 VM에 처음 할당된 메모리의 16배입니다. 예를 들어, VM에 4GB의 RAM이 있다면 이 양을 최대 64GB까지 증가시킬 수 있습니다.
VMware Hot Add 구성 방법
VMware vCPUs Hot Add 및 VMware 메모리 Hot Add를 활성화하는 다양한 방법이 있습니다. 그래픽 사용자 인터페이스 또는 명령줄 사용자 인터페이스를 사용할 수 있습니다.
vCenter에서 Hot Add 활성화
VMware Hot Add 옵션을 활성화하려면 vCenter를 사용하여 VMware vSphere Client에 로그인하고 다음을 수행하십시오:
- 호스트 및 클러스터로 이동하십시오.
- 네비게이션 창에서 필요한 가상 머신을 선택하십시오. VM은 꺼져 있어야 합니다.
- 설정 편집 아이콘을 클릭하십시오. 대안으로 VM 이름을 마우스 오른쪽 단추로 클릭하고 열리는 메뉴에서 설정 편집을 선택할 수 있습니다.
CPU hot add를 활성화하려면 다음을 수행하십시오:
- 설정 편집 창에서 CPU 설정을 확장하십시오.
- CPU Hot Plug 라인에서 CPU Hot Add 활성화 확인란을 선택하십시오.
메모리 hot add를 활성화하려면 다음을 수행하십시오:
이제 VM을 시작하고 VM에 VMware vCPUs 및 메모리를 핫 추가할 수 있습니다.
PowerCLI에서 VMware 핫 추가 활성화
VMware PowerCLI 는 VMware vSphere 관리를 위한 강력한 명령 줄 도구입니다. 이제 PowerCLI에서 VMware 핫 추가를 활성화하는 방법을 살펴보겠습니다.
- 다음 명령을 사용하여 vCenter 또는 ESXi 호스트에 연결하고 적절한 IP 주소(이 예제에서는 192.168.101.205) 또는 호스트 이름을 입력하십시오.
Connect-VIServer 192.168.101.205
- 프롬프트에서 자격 증명을 입력하십시오.
- 연결된 ESXi 호스트의 VM 목록을 가져옵니다.
Get-VM
- 핫 추가를 활성화하려는 VM이 꺼져 있는지 확인하십시오.
- 선택한 가상 머신에 대해 메모리 핫 추가 및 CPU 핫 추가를 활성화하려면 다음 명령을 실행하십시오.
$VM = Get-VM Windows-VM
$spec = New-Object VMware.Vim.VirtualMachineConfigSpec
$spec.memoryHotAddEnabled = $true
$spec.cpuHotAddEnabled = $true
$VM.ExtensionData.ReconfigVM_Task($spec)
Where:
Windows-VM 은 필요한 가상 머신의 이름입니다
$spec.memoryHotAddEnabled = $true 는 메모리 핫 추가를 활성화하는 명령입니다
$spec.cpuHotAddEnabled = $true 는 CPU 핫 추가를 활성화하는 명령입니다 - 가상 머신에서 CPU 핫 추가 및 메모리 핫 추가 기능이 활성화된지 확인하십시오:
Get-VM | Get-View | Select Name, `
@{N=”CpuHotAddEnabled”;E={$_.Config.CpuHotAddEnabled}}, `
@{N=”CpuHotRemoveEnabled”;E={$_.Config.CpuHotRemoveEnabled}}, `
@{N=”MemoryHotAddEnabled”;E={$_.Config.MemoryHotAddEnabled}}
가상 머신 구성 파일에서 핫 추가 활성화하기
다른 방법으로 VMware Hot Add를 활성화하는 방법은 ESXi 명령줄 인터페이스를 사용하고 가상 머신의 VMX 구성 파일을 편집하는 것입니다. ESXi 셸을 열거나 SSH를 통해 ESXi 호스트에 연결합니다. 그런 다음 다음 명령을 명령줄에서 실행하여 Hot Add를 활성화합니다:
- VM 디렉토리로 이동:
cd /vmfs/volumes/datastore10a/Windows-VM/
- VM이 꺼져 있는지 확인합니다.
- 텍스트 편집기에서 가상 머신 VMX 구성 파일을 엽니다:
vi Windows-VM.vmx - vCPU Hot Add를 활성화하려면 구성 파일에 다음 줄을 추가합니다:
vcpu.hotadd = “TRUE” - 메모리 Hot Add를 활성화하려면 구성 파일에 다음 줄을 추가합니다:
mem.hotadd = “TRUE” - VMX 구성 파일을 저장하고 텍스트 편집기를 종료합니다.
네트워크 어댑터, 디스크 컨트롤러 등의 장치에 대한 VM의 핫 플러그 기능을 비활성화할 수 있습니다(기본적으로 활성화됨).
devices.hotplug = “false”
이 설정은 VM의 CPU 핫플러그 및 메모리 핫 추가 VMware 구성에 영향을 주지 않습니다.
VMware vSphere Client에서 VMX 구성 편집
VMware vSphere Client에서도 VMX 구성을 편집할 수 있습니다:
- VMware vSphere Client에서 필요한 VM을 선택합니다.
- VM이 실행 중이면 VM을 종료합니다.
- 설정 편집을 클릭합니다.
- VM Options 탭을 VM Settings 창에서 선택하십시오.
- 고급을 클릭하여 옵션을 확장하고 구성 편집을 클릭하십시오.
- 구성 매개변수 추가를 클릭하여 구성 매개변수 창에서.
- 새 구성 매개변수 추가 섹션에 값을 입력하여 VMware Hot Add 메모리 및 VMware vCPUs를 활성화하십시오.
이름: mem.hotadd 값: TRUE
이름: vcpu.hotadd 값: TRUE - 확인을 눌러 설정을 저장하고 창을 닫으십시오.
완료
실행 중인 VM에 가상 프로세서와 메모리를 추가하기 위해 이 기능을 사용할 것으로 예상할 때에만 VMware Hot Add를 활성화하십시오. VMware Hot Add를 활성화하지만 이 기능을 사용하지 않으면 대형 VM의 경우 다중 NUMA 노드 구성이 사용되지 않아 성능이 저하될 수 있습니다. vSphere에서 VMware VM 모니터링을 사용하여 VM 성능과 리소스 사용량을 모니터링하십시오. 이 접근 방식을 통해 VM이 Hot Add 기능을 활성화해야 할지 여부를 확인할 수 있습니다.
Source:
https://www.nakivo.com/blog/vmware-vsphere-resources-hotadd-hotplug-explained/