Computer >> Máy Tính >  >> Hệ thống >> máy chủ Windows

Quản lý Máy ảo Hyper-V với PowerShell

Bài viết này nói về cách quản lý máy ảo Hyper-V từ bảng điều khiển PowerShell. Chúng ta sẽ xem xét cách tạo công tắc ả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 các máy ảo Hyper-V của mình hoặc trong các 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ủ phải có CPU hỗ trợ SLAT với 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 -Restart

Trong 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 tùy thuộc vào phiên bản Windows của bạn) như sau:

Get-Command -Module hyper-v

Quản lý Máy ảo Hyper-V với PowerShell

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ác 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ượng lõi CPU và RAM có sẵn:

Get-VMHost| select LogicalProcessorCount, MemoryCapacity

Quản lý Máy ảo Hyper-V với PowerShell

Sử 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 đến đĩa ảo và tệp cấu hình máy ảo:

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ý có sẵn 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) , lưu ý rằng bạn nên bật tùy chọn khi tạo công tắc của mình. Bạn không thể bật SR-IOV cho 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

Quản lý Máy ảo Hyper-V với PowerShell

Tạo Máy ảo Hyper-V bằng PowerShell

Để tạo một máy ảo Hyper-V mới, New-VM cmdlet đượ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 1 GB 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 @VM

Quản lý Máy ảo Hyper-V với PowerShell

Đây là một ví dụ về việc 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 máy ảo.

Để 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 2

Bật khởi động tự động cho máy ảo Hyper-V:

Get-VM –VMname mun-prx2 | Set-VM –AutomaticStartAction Start

Để kết nối thêm một đĩa ảo với máy ảo, 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 máy ảo của bạn:

Add-VMHardDiskDrive -VMName mun-prx2 -Path 'C:\VM\new-prx2-drive.vhdx'

Cách 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-VM

Quản lý Máy ảo Hyper-V với PowerShell

Lệnh trả về danh sách các 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áy ảo:

Start-VM -Name mun-app01

Để khởi động tất cả các máy ảo đã dừng:

Get-VM | where {$_.State -eq 'Off'} | Start-VM

Tắt máy ảo (tắt đúng cách bằng Dịch vụ tích hợp trong hệ điều hành khách):

Stop-VM -Name mun-app01

Để tắt máy ảo, TurnOff tùy chọn được sử dụng:

Stop-VM -Name mun-app01 –TurnOff

Tì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.iso

Bạn có thể sử dụng đường truyền USB để chuyển hướng thiết bị USB (phương tiện / ổ đĩa) đến 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-app01

Bạn có thể mở rộng hoặc thu nhỏ tệp đĩa ảo bằng cách sử dụng Resize-VHD lệ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 một máy ảo:

Get-VM -Name mun-app01| Checkpoint-VM -SnapshotName "Before upgrading SAP"

Để hiển thị danh sách các điểm kiểm tra có sẵn:

Get-Vm -Name mun-app01| Get-VMCheckpoint

Quản lý Máy ảo Hyper-V với PowerShell

Để khôi phục máy ảo về trạng thái trước đó từ một trạm kiểm soát:

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ột 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 CaptureCrashConsistentState

Bạ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.

Để nhận đị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-app01

Quản lý Máy ảo Hyper-V với PowerShell

Bạ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 (khả dụng trong Windows Server 2016, Windows 10 và 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ý máy ảo trên máy chủ Hyper-V cục bộ hoặc từ xa (trên Windows Server Full GUI hoặc chế độ 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ư Hyper-V Manager hoặc Trung tâm quản trị Windows.