Quản lý máy ảo Hyper-V bằng PowerShell
Bài viết này nói về việc quản lý các máy ảo Hyper-V từ bảng điều khiển PowerShell. Chúng ta sẽ xem cách tạo bộ chuyển mạch ảo và máy ảo, thay đổi cài đặt máy ảo và quản lý máy ảo. Bạn có thể sử dụng các lệnh này để quản lý thủ công máy ảo Hyper-V hoặc trong tập lệnh PowerShell để tự động hóa các tác vụ khác nhau.
Cách bật vai trò Hyper-V trên Windows Server và Windows 10/11
Để cài đặt vai trò Hyper-V, máy chủ lưu trữ phải có CPU hỗ trợ SLAT có hỗ trợ ảo hóa. Trên Windows Server, lệnh PowerShell sau được sử dụng để cài đặt vai trò Hyper-V:
Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -RestartTrong các phiên bản dành cho máy tính để bàn (Windows 10 và 11), vai trò Hyper-V được cài đặt như sau:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -AllĐể quản lý máy chủ Hyper-V, mô-đun Hyper-V PowerShell phải được cài đặt trên máy tính. Bạn có thể hiển thị danh sách đầy đủ các lệnh có sẵn (chúng phụ thuộc vào phiên bản Windows của bạn) như sau:
Get-Command -Module hyper-v
Trong Windows Server 2022, có 245 lệnh ghép ngắn có sẵn trong mô-đun Hyper-V.
Để hiển thị danh sách cài đặt máy chủ Hyper-V, hãy sử dụng lệnh bên dưới:
Get-VMHost|fl *Để chỉ hiển thị thông tin về số lõi CPU và RAM khả dụng:
Get-VMHost| select LogicalProcessorCount, MemoryCapacitySử dụng
Set-VMHostđể thay đổi cài đặt máy chủ Hyper-V. Lệnh sau sẽ thay đổi đường dẫn mặc định tới đĩa ảo và tệp cấu hình VM:
Set-VMHost -VirtualMachinePath E:\VMs -VirtualHardDiskPath E:\VMs\VHD'Tạo Công tắc ảo Hyper-V bằng PowerShell
Trước hết, hãy tạo một công tắc ảo trên máy chủ Hyper-V của bạn. Máy ảo chỉ có thể truy cập mạng thông qua một công tắc ảo.
Hãy hiển thị danh sách các bộ điều hợp mạng vật lý khả dụng trên máy chủ Hyper-V:
Get-NetAdapter | where {$_.status -eq "up"}Nếu máy chủ của bạn hỗ trợ SR-IOV (Ảo hóa đầu vào/đầu ra (I/O) gốc đơn), hãy lưu ý rằng bạn nên bật tùy chọn này khi tạo công tắc của mình. Bạn không thể bật SR-IOV cho một vSwitch hiện có. Tìm hiểu thêm về cách bật hỗ trợ SR-IOV cho máy ảo Hyper-V.
Tạo một công tắc ảo bên ngoài:
New-VMSwitch -Name "ExternalVMSwitch" -AllowManagementOS $True -NetAdapterName Ethernet0 -SwitchType External
Tạo máy ảo Hyper-V bằng PowerShell
Để tạo một máy ảo Hyper-V mới,
New-VMlệnh ghép ngắn được sử dụng. Trong ví dụ này, chúng tôi sẽ tạo một máy ảo thế hệ 2 mới với RAM 1GB và đĩa VHDX 10 GB.
$VMName = "mun-prx2"
$VM = @{
Name = $VMName
MemoryStartupBytes = 1Gb
Generation = 2
NewVHDPath = "E:\HV\$VMName\$VMName.vhdx"
NewVHDSizeBytes = 10Gb
BootDevice = "VHD"
Path = "E:\HV\$VMName"
SwitchName = "ExternalVMSwitch"
}
New-VM @VMDưới đây là ví dụ về cách sử dụng PowerShell để tạo máy ảo Windows 11 trên Hyper-V.
Hãy xem các lệnh bạn có thể sử dụng để thay đổi cài đặt VM.
Để tăng kích thước RAM cho máy ảo:
Get-VM -Name mun-prx2| Set-VMMemory -StartupBytes 2GbĐể thay đổi số lượng vCPU:
Set-VMProcessor mun-prx2 -Count 2Bật tự động khởi động cho máy ảo Hyper-V:
Get-VM -VMname mun-prx2 | Set-VM -AutomaticStartAction StartĐể kết nối một đĩa ảo bổ sung với VM, trước tiên hãy tạo tệp vhdx:
New-VHD -Path 'C:\VM\new-prx2-drive.vhdx' -SizeBytes 2GB
Và sau đó kết nối nó với VM của bạn:
Add-VMHardDiskDrive -VMName mun-prx2 -Path 'C:\VM\new-prx2-drive.vhdx'Làm cách nào để quản lý máy ảo Hyper-V bằng PowerShell?
Để hiển thị danh sách các máy ảo trên máy chủ Hyper-V:
Get-VMLệnh trả về danh sách máy ảo với một số thuộc tính cơ bản. Để hiển thị tất cả các thuộc tính VM, hãy chạy lệnh bên dưới:
Get-VM -Name mun-dmz1 | fl *Để chỉ hiển thị các máy ảo đang chạy:
Get-VM | where {$_.State -eq 'Running'}Để khởi động một máy ảo:
Start-VM -Name mun-app01Để bắt đầu tất cả các máy ảo đã dừng:
Get-VM | where {$_.State -eq 'Off'} | Start-VMTắt máy ảo (tắt chính xác bằng Dịch vụ tích hợp trong HĐH khách):
Stop-VM -Name mun-app01Để tắt nguồn máy ảo, tùy chọn TurnOff được sử dụng:
Stop-VM -Name mun-app01 -TurnOffTìm hiểu cách dừng máy ảo Hyper-V không phản hồi.
Gắn tệp ISO vào thiết bị CD/DVD ảo:
Set-VMDvdDrive -VMName mun-app01 -Path c:\iso\WinSrv2022.isoBạn có thể sử dụng thông qua USB để chuyển hướng thiết bị USB (phương tiện/ổ đĩa) sang máy ảo Hyper-V.
Để di chuyển tất cả các tệp VM sang đĩa khác một cách nhanh chóng, hãy sử dụng lệnh bên dưới:
Move-VMStorage mun-app01 -DestinationStoragePath D:\VM\mun-app01Bạn có thể mở rộng hoặc thu nhỏ tệp đĩa ảo bằng cách sử dụng
Resize-VHDlệnh ghép ngắn:
Resize-VHD -Path 'C:\VM\mun-fs01.vhdx' -SizeBytes 50GbĐể tạo một điểm kiểm tra (ảnh chụp nhanh) của VM:
Get-VM -Name mun-app01| Checkpoint-VM -SnapshotName "Before upgrading SAP"Để hiển thị danh sách các điểm kiểm tra khả dụng:
Get-Vm -Name mun-app01| Get-VMCheckpointĐể khôi phục VM về trạng thái trước đó từ một điểm kiểm tra:
Restore-VMCheckpoint -Name "Before upgrading SAP" -VMName mun-app01 -Confirm:$falseĐể xóa ảnh chụp nhanh:
Remove-VMCheckpoint -VMName mun-app01 -Name "Before upgrading SAP"Xuất, nhập và sao chép máy ảo trong Hyper-V được mô tả trong bài viết này:
Export-VM -Name mun-app01 -Path 'C:\VHD\export' -CaptureLiveState CaptureCrashConsistentStateBạn có thể sử dụng Windows Server Backup (WSB) tích hợp sẵn để sao lưu các máy ảo Hyper-V.
Để lấy địa chỉ IP của hệ điều hành khách của máy ảo:
Get-VM | Select -ExpandProperty NetworkAdapters | Select VMName, IPAddresses, StatusĐể kết nối với bảng điều khiển máy ảo:
vmconnect.exe localhost mun-app01Bạn có thể sử dụng PowerShell Direct để kết nối trực tiếp với hệ điều hành khách của máy ảo thông qua vmbus (có sẵn trong Windows Server 2016, Windows 10 và các phiên bản mới hơn). Sử dụng Lệnh gọi (để chạy tập lệnh) và Enter-PSSession (để chạy phiên PowerShell tương tác):
Invoke-Command -VMName mun-app01 -ScriptBlock {Get-Process}
Enter-PSSession -VMName mun-app01Để sao chép tệp từ máy chủ Hyper-V sang máy ảo bằng PowerShell Direct, hãy sử dụng lệnh sau:
$PSSession = New-PSSession -VMName mun-app01 -Credential (Get-Credential)
Copy-Item -ToSession $PSSession -Path E:\ISO\install_image.iso -Destination D:\ISO\Bạn có thể sử dụng PowerShell để quản lý các máy ảo trên máy chủ Hyper-V cục bộ hoặc từ xa (trên chế độ Windows Server Full GUI hoặc Server Core, trên Windows Hyper-V Server miễn phí hoặc Windows 10) cùng với các công cụ đồ họa như bảng điều khiển Hyper-V Manager hoặc Trung tâm quản trị Windows.






