Computer >> 컴퓨터 >  >> 소프트웨어 >> 가상 머신

VMware ESXi에서 가상 머신(VM) 하드웨어 버전 업그레이드하는 방법

VMware는 새로운 ESXi 버전이 출시될 때마다 가상 머신(VM) 버전과 가상 하드웨어 버전을 함께 업데이트합니다. 최신 버전의 VMware VM에서는 새로운 기능이 추가되고, 새로운 가상 디바이스가 지원되며, 리소스 제한(PCI 슬롯, RAM, vCPU 등)이 상향되고, 다양한 버그가 수정됩니다. 따라서 최신 ESXi 버전으로 마이그레이션할 때는 모든 가상 머신의 가상 하드웨어 버전을 업그레이드하는 것이 좋습니다. 구버전 VM은 호환성 유지 목적으로만 사용하는 것이 바람직합니다. 이번 글에서는 VMware ESXi 호스트에서 실행 중인 가상 머신의 가상 하드웨어 버전을 업그레이드하는 방법을 살펴보겠습니다.

ESXi 버전별 가상 머신 하드웨어 호환성

ESXi와 VM 하드웨어 버전 간의 호환성은 아래 표와 같습니다.

하이퍼바이저 버전VM 버전
ESX/ESXi 4.X7
ESXi 5.08
ESXi 5.19
ESXi 5.510
ESXi 6.011
ESXi 6.513
ESXi 6.714
ESXi 6.7 U215
ESXi 7.0 (7.0.0)17
ESXi 7.0 U1 (7.0.1)18
ESXi 7.0 U2 (7.0.2)19

가상 머신의 현재(가상 하드웨어) 버전은 vSphere Client에서 해당 VM의 요약(Summary) 탭에 있는 호환성(Compatibility) 섹션에서 확인할 수 있습니다. 아래 스크린샷에서는 VM 버전 18(ESXi 7.0 U1 이상)을 사용 중인 것을 확인할 수 있습니다.

VMware ESXi에서 가상 머신(VM) 하드웨어 버전 업그레이드하는 방법

VMware는 새로운 하드웨어 버전에서 제공하는 기능이 필요하지 않다면 가상 하드웨어 버전을 업데이트하지 않을 것을 권장합니다.

새로운 VM 하드웨어 버전을 지원하지 않는 ESXi 호스트에서는 해당 VM을 실행할 수 없습니다. 이러한 VM을 vMotion으로 구버전 ESXi 호스트에 마이그레이션하려고 하면 다음과 같은 오류가 발생합니다.

The virtual machine version is not compatible with the version of the host munexi1.

VMware ESXi에서 가상 머신(VM) 하드웨어 버전 업그레이드하는 방법

하드웨어 업그레이드 전 준비 사항

VM 버전을 업그레이드하기 전에 다음 사항을 권장합니다.

  • VM 스냅샷 생성
  • VMware Tools 업데이트 — 최신 VMware Tools 설치 전에 VM 하드웨어를 먼저 업그레이드하면 Windows 게스트 가상 머신의 네트워크 설정이 초기화될 수 있습니다.

vSphere Client에서 VM 하드웨어 버전 업그레이드

가상 하드웨어 버전을 업그레이드하려면 가상 머신이 종료되어 있어야 합니다. VM을 종료한 후 VM을 마우스 오른쪽 버튼으로 클릭하고 호환성(Compatibility) → VM 호환성 업그레이드(Upgrade VM Compatibility)를 선택합니다.

VMware ESXi에서 가상 머신(VM) 하드웨어 버전 업그레이드하는 방법

가상 하드웨어 업데이트를 확인하고 VM 하드웨어 버전을 선택합니다. 이 예제에서는 호스트에서 사용 가능한 최신 버전인 ESXi 7.0 U1 이상을 선택했습니다.

VMware ESXi에서 가상 머신(VM) 하드웨어 버전 업그레이드하는 방법

재시작 시 자동 업그레이드 예약

가상 머신이 다음에 정상적으로 재시작될 때 하드웨어 버전이 자동으로 업그레이드되도록 예약할 수도 있습니다.

  1. VM 컨텍스트 메뉴에서 호환성(Compatibility) → VM 호환성 업그레이드 예약(Schedule VM Compatibility Upgrade)을 선택합니다.
  2. 호환 대상(Compatible with) 드롭다운 목록에서 업그레이드할 VM 하드웨어 버전을 선택합니다.
  3. 게스트 OS 정상 종료 후에만 업그레이드(Only upgrade after normal guest OS shutdown) 옵션을 활성화합니다. VMware ESXi에서 가상 머신(VM) 하드웨어 버전 업그레이드하는 방법
  4. 다음에 가상 머신이 재부팅될 때 가상 하드웨어 버전이 업데이트됩니다.

PowerCLI를 사용한 하드웨어 버전 업그레이드

VMware PowerCLI 모듈의 PowerShell cmdlet을 사용해서도 VM 하드웨어 버전을 업데이트할 수 있습니다. 먼저 vCenter 또는 ESXi 호스트에 연결합니다.

Connect-VIServer esxi_hostname

가상 머신들의 가상 하드웨어 버전을 확인합니다.

Get-VM | select Name, hardwareversion, PowerState

VMware ESXi에서 가상 머신(VM) 하드웨어 버전 업그레이드하는 방법

최신 버전의 VMware ESXi에서는 VM의 Version 속성 대신 HardwareVersion 속성을 사용해야 합니다. 구버전 속성 이름을 사용하면 다음과 같은 경고가 표시됩니다.

WARNING: The 'Version' property of VirtualMachine type is deprecated. Use the 'HardwareVersion' property instead.

PowerShell로 VM 하드웨어 버전을 업데이트하려면 다음 명령을 실행합니다.

Set-VM -VM lon-fs03 -HardwareVersion vmx-19 -Confirm:$false

지정한 VM 하드웨어 버전이 ESXi 호스트에서 지원되지 않으면 다음과 같은 오류가 발생합니다.

The operation for the entity mytestVM1 failed with the following message: The operation is not supported on the object.

Out-GridView cmdlet을 사용하면 업그레이드가 필요한 VM 목록을 확인할 수 있습니다.

Get-VM |Where-object {$_.powerstate -eq "poweredoff"} | Out-GridView -PassThru | Set-VM -HardwareVersion vmx-19 -Confirm:$false

그래픽 테이블이 표시되며, 여기서 업그레이드할 VM을 선택하면 됩니다(Ctrl 키를 누른 상태로 여러 VM을 선택할 수 있습니다).

VMware ESXi에서 가상 머신(VM) 하드웨어 버전 업그레이드하는 방법

간단한 PowerShell 스크립트를 사용하면 호스트의 모든 VM에 대한 자동 하드웨어 업그레이드를 예약할 수 있습니다.

$AllVMs = Get-VM
Foreach ($VM in ($AllVMs)) {
$VMConfig = Get-View -VIObject $VM.Name
$vmConfigSpec = New-Object VMware.Vim.VirtualMachineConfigSpec
$vmConfigSpec.ScheduledHardwareUpgradeInfo = New-Object -TypeName VMware.Vim.ScheduledHardwareUpgradeInfo
$vmConfigSpec.ScheduledHardwareUpgradeInfo.UpgradePolicy = "always"
$vmConfigSpec.ScheduledHardwareUpgradeInfo.VersionKey = "vmx-19"
$VMConfig.ReconfigVM($vmConfigSpec)
}

이 스크립트를 실행하면 모든 가상 머신이 다음 재부팅 시 지정된 VM 하드웨어 버전으로 자동 업그레이드됩니다.

기업 환경에서 VM 하드웨어와 VMware Tools를 중앙 집중식으로 업그레이드하려면 vCenter Update Manager 또는 vSphere 7 이상에서는 vSphere Lifecycle Manager(VLCM)를 사용하는 것이 좋습니다.

무료 ESXi에서 vim-cmd로 업그레이드

무료 ESXi 버전(VMware vSphere Hypervisor)을 사용하는 경우 API 제한으로 인해 PowerCLI를 통한 VM 하드웨어 버전 업그레이드가 불가능합니다. 대신 ESXi 셸에서 vim-cmd 명령을 사용할 수 있습니다.

서버의 VM 목록을 조회합니다.

vim-cmd vmsvc/getallvms

업그레이드할 VM의 VMID를 찾아 다음 명령에 지정합니다.

vim-cmd vmsvc/upgrade vmid vmx-17

VMware ESXi에서 가상 머신(VM) 하드웨어 버전 업그레이드하는 방법

VM을 시작하고 VM 버전 17로 업그레이드되었는지 확인합니다.

VMX 파일 직접 편집 방식 (비공식)

그 밖에 VM 구성 파일(VMX)을 직접 편집하여 하드웨어 버전을 업데이트하는 방법도 있지만, 이는 지원되지 않는(unofficial) 방식입니다.

SSH로 ESXi 호스트에 접속한 후 해당 VM의 디렉터리로 이동합니다.

cd /vmfs/volumes/datastore_name/test_vm

test_vm.vmx 파일을 편집합니다.

vi myvm.vmx

다음 구성 라인을 찾습니다.

virtualHW.version = "12"

다음과 같이 변경합니다.

virtualHW.version = "17"

VMX 파일을 저장하고 닫습니다(Esc, :, w, q).