Trong mỗi bản phát hành ESXi mới, VMware cập nhật phiên bản của máy ảo và phần cứng ảo. Trong các phiên bản mới của máy ảo VMware, chức năng mới xuất hiện, thiết bị ảo mới được thêm vào, tăng giới hạn tài nguyên (khe cắm PCI, RAM, vCPU), sửa lỗi, v.v. Vì vậy, khi chuyển sang phiên bản ESXi mới hơn, bạn nên nâng cấp phiên bản phần cứng ảo trên tất cả các máy ảo. Tốt hơn là chỉ nên sử dụng các phiên bản VM cũ hơn cho các mục đích tương thích. Trong bài viết này, chúng ta sẽ xem xét cách nâng cấp phiên bản phần cứng ảo của máy ảo chạy trên máy chủ VMWare ESXi.
Khả năng tương thích của các phiên bản phần cứng ESXi và VM được hiển thị trong bảng bên dưới.
Phiên bản Hypervisor | Phiên bản máy ảo |
ESX / ESXi 4.X | 7 |
ESXi 5.0 | 8 |
ESXi 5.1 | 9 |
ESXi 5.5 | 10 |
ESXi 6.0 | 11 |
ESXi 6.5 | 13 |
ESXi 6.7 | 14 |
ESXi 6.7 U2 | 15 |
ESXi 7.0 (7.0.0) | 17 |
ESXi 7.0 U1 (7.0.1) | 18 |
ESXi 7.0 U2 (7.0.2) | 19 |
Bạn có thể kiểm tra phiên bản máy ảo (phần cứng ảo) hiện tại trên Tóm tắt của máy ảo trong phần Khả năng tương thích tiết diện. Ảnh chụp màn hình bên dưới cho thấy rằng VM phiên bản 18 (ESXI 7.0 U1 and later
) được sử dụng.
VMware không khuyên bạn nên cập nhật phiên bản phần cứng ảo trừ khi bạn cần các tính năng mới do hw mới cung cấp.
Bạn sẽ không thể chạy máy ảo trên máy chủ ESXi không hỗ trợ phiên bản mới của phần cứng máy ảo. Khi cố gắng di chuyển một máy ảo như vậy sang một máy chủ có phiên bản cũ của ESXi bằng VMotion, một lỗi sẽ xuất hiện:
The virtual machine version is not compatible with the version of the host munexi1.
Trước khi nâng cấp phiên bản VM, bạn nên:
- Tạo ảnh chụp nhanh máy ảo
- Cập nhật Công cụ VMware. Nếu bạn nâng cấp Phần cứng VM trước khi cài đặt phiên bản VMware Tools mới nhất, thì cài đặt mạng có thể được đặt lại trong máy ảo khách Windows.
Để nâng cấp phiên bản Phần cứng ảo, máy ảo phải được dừng lại. Sau đó, nhấp chuột phải vào máy ảo và chọn Khả năng tương thích -> Nâng cấp khả năng tương thích với máy ảo .
Xác nhận cập nhật phần cứng ảo và chọn phiên bản phần cứng VM. Trong ví dụ này, tôi đã chọn ESXi 7.0 U1 mới nhất trở lên có sẵn trên máy chủ của tôi.
Bạn có thể lên lịch tự động nâng cấp phiên bản phần cứng máy ảo vào lần tiếp theo máy ảo được khởi động lại một cách duyên dáng.
- Chọn Khả năng tương thích -> Lên lịch nâng cấp khả năng tương thích máy ảo trong menu ngữ cảnh VM;
- Từ Tương thích với danh sách thả xuống, chọn phiên bản phần cứng VM bạn muốn nâng cấp lên;
- Bật tùy chọn Chỉ nâng cấp sau khi hệ điều hành khách bình thường tắt ;
- Phiên bản phần cứng ảo của máy ảo sẽ được cập nhật vào lần khởi động lại máy ảo tiếp theo.
Bạn cũng có thể cập nhật phiên bản Phần cứng VM bằng cách sử dụng lệnh ghép ngắn PowerShell từ mô-đun VMware PowerCLI. Kết nối với máy chủ vCenter hoặc ESXi của bạn:
Connect-VIServer esxi_hostname
Liệt kê các phiên bản phần cứng ảo của máy ảo của bạn:
Get-VM | select Name, hardwareversion, PowerState
Trong các phiên bản mới hơn của VMware ESXi, HardwareVersion phải được sử dụng thay vì Phiên bản của máy ảo thuộc tính. Cảnh báo xuất hiện khi sử dụng tên thuộc tính cũ:
WARNING: The 'Version' property of VirtualMachine type is deprecated. Use the 'HardwareVersion' property instead.
Để cập nhật phiên bản phần cứng máy ảo bằng cách sử dụng PoweShell, hãy chạy lệnh:
Set-VM -VM lon-fs03 -HardwareVersion vmx-19 -Confirm:$false
Nếu phiên bản phần cứng VM được chỉ định không được máy chủ ESXi hỗ trợ, lỗi sẽ xuất hiện:
The operation for the entity mytestVM1 failed with the following message: The operation is not supported on the object.
Bạn có thể liệt kê các máy ảo cần được nâng cấp bằng lệnh ghép ngắn Out-GridView:
Get-VM |Where-object {$_.powerstate -eq "poweredoff"} | Out-GridView -PassThru | Set-VM -HardwareVersion vmx-19 -Confirm:$false
Bạn sẽ thấy một bảng đồ họa trong đó bạn cần chọn các máy ảo bạn muốn nâng cấp (sử dụng CTRL để chọn nhiều máy ảo).
Bạn có thể lên lịch nâng cấp phần cứng tự động trên tất cả các máy ảo trên máy chủ lưu trữ bằng một tập lệnh PowerShell đơn giản:
$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)
}
Tất cả các máy ảo sẽ được tự động nâng cấp lên phiên bản phần cứng VM được chỉ định vào lần khởi động lại tiếp theo.
Để nâng cấp tập trung phần cứng VM và các công cụ VM trong mạng công ty, tốt hơn nên sử dụng vCenter Update Manager hoặc vSphere Lifecycle Manager (VLCM) trong vSphere 7+.Nếu bạn đang sử dụng phiên bản ESXi miễn phí (VMware vSphere Hypervisor), bạn sẽ không thể sử dụng phiên bản phần cứng VM thông qua PowerCLI do các hạn chế về API. Nhưng bạn có thể sử dụng vim-cmd lệnh trong ESXi shell:
Nhận danh sách các máy ảo trên máy chủ:
vim-cmd vmsvc/getallvms
Tìm VMID của máy ảo bạn muốn nâng cấp và chỉ định nó trong lệnh sau:
vim-cmd vmsvc/upgrade vmid vmx-17
Khởi động VM và đảm bảo rằng nó đã được nâng cấp lên VM phiên bản 17.
Cũng có một phiên bản cập nhật phiên bản phần cứng máy ảo khác, không được hỗ trợ bằng cách chỉnh sửa trực tiếp tệp cấu hình máy ảo (VMX).
Kết nối với máy chủ ESXi qua SSH và đi tới thư mục có VM:
cd /vmfs/volumes/datastore_name/test_vm
Chỉnh sửa tệp test_vm.vmx:
vi myvm.vmx
Tìm dòng cấu hình:
virtualHW.version = "12"
Và thay đổi thành:
virtualHW.version = "17"
Lưu và đóng tệp VMX (Esc
, :
, w
, q
).