Computer >> 컴퓨터 >  >> 체계 >> Windows Server

PowerShell로 Hyper-V 가상 머신 관리

이 문서에서는 PowerShell 콘솔에서 Hyper-V 가상 머신을 관리하는 방법에 대해 설명합니다. 가상 스위치 및 가상 머신을 생성하고, VM 설정을 변경하고, VM을 관리하는 방법을 살펴보겠습니다. 이러한 명령을 사용하여 Hyper-V VM을 수동으로 관리하거나 PowerShell 스크립트에서 다양한 작업을 자동화할 수 있습니다.

Windows Server 및 Windows 10/11에서 Hyper-V 역할을 활성화하는 방법

Hyper-V 역할을 설치하려면 호스트에 가상화를 지원하는 SLAT 지원 CPU가 있어야 합니다. Windows Server에서 다음 PowerShell 명령은 Hyper-V 역할을 설치하는 데 사용됩니다.

Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart

데스크톱 버전(Windows 10 및 11)에서 Hyper-V 역할은 다음과 같이 설치됩니다.

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V –All

Hyper-V 호스트를 관리하려면 Hyper-V PowerShell 모듈 컴퓨터에 설치해야 합니다. 다음과 같이 사용 가능한 명령의 전체 목록(Windows 버전에 따라 다름)을 표시할 수 있습니다.

Get-Command -Module hyper-v

PowerShell로 Hyper-V 가상 머신 관리

Windows Server 2022에는 Hyper-V 모듈에서 사용할 수 있는 cmdlet이 245개 있습니다.

Hyper-V 호스트 설정 목록을 표시하려면 아래 명령을 사용하십시오.

Get-VMHost|fl *

사용 가능한 CPU 코어 및 RAM 수에 대한 정보만 표시하려면:

Get-VMHost| select LogicalProcessorCount, MemoryCapacity

PowerShell로 Hyper-V 가상 머신 관리

Set-VMHost 사용 Hyper-V 호스트 설정을 변경합니다. 다음 명령은 가상 디스크 및 VM 구성 파일의 기본 경로를 변경합니다.

Set-VMHost -VirtualMachinePath E:\VMs -VirtualHardDiskPath E:\VMs\VHD'

PowerShell을 사용하여 Hyper-V 가상 스위치 만들기

먼저 Hyper-V 호스트에서 가상 스위치를 만듭니다. 가상 머신은 가상 스위치를 통해서만 네트워크에 액세스할 수 있습니다.

Hyper-V 호스트에서 사용 가능한 물리적 네트워크 어댑터 목록을 표시해 보겠습니다.

Get-NetAdapter | where {$_.status -eq "up"}

서버가 SR-IOV(단일 루트 입출력(I/O) 가상화)를 지원하는 경우 , 스위치를 생성할 때 옵션을 활성화해야 합니다. 기존 vSwitch에 대해 SR-IOV를 활성화할 수 없습니다. Hyper-V VM에 대한 SR-IOV 지원을 활성화하는 방법에 대해 자세히 알아보세요.

외부 가상 스위치 생성:

New-VMSwitch -Name "ExternalVMSwitch" -AllowManagementOS $True -NetAdapterName Ethernet0 -SwitchType External

PowerShell로 Hyper-V 가상 머신 관리

PowerShell을 사용하여 Hyper-V 가상 머신 만들기

새 Hyper-V 가상 머신을 만들려면 New-VM cmdlet이 사용됩니다. 이 예에서는 1GB RAM과 10GB VHDX 디스크가 있는 새로운 2세대 VM을 만듭니다.

$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

PowerShell로 Hyper-V 가상 머신 관리

다음은 PowerShell을 사용하여 Hyper-V에서 Windows 11 가상 머신을 만드는 예입니다.

VM 설정을 변경하는 데 사용할 수 있는 명령을 살펴보겠습니다.

VM의 RAM 크기를 늘리려면:

Get-VM -Name mun-prx2| Set-VMMemory -StartupBytes 2Gb

vCPU 수를 변경하려면:

Set-VMProcessor mun-prx2 -Count 2

Hyper-V 가상 머신에 대한 자동 시작 활성화:

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

VM에 추가 가상 디스크를 연결하려면 먼저 vhdx 파일을 생성하십시오.

New-VHD -Path 'C:\VM\new-prx2-drive.vhdx' -SizeBytes 2GB

그런 다음 VM에 연결합니다.

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

PowerShell로 Hyper-V VM을 관리하는 방법

Hyper-V 호스트의 가상 머신 목록을 표시하려면:

Get-VM

PowerShell로 Hyper-V 가상 머신 관리

이 명령은 몇 가지 기본 속성이 있는 VM 목록을 반환합니다. 모든 VM 속성을 표시하려면 아래 명령을 실행하십시오.

Get-VM -Name mun-dmz1 | fl *

실행 중인 VM만 표시하려면:

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

가상 머신을 시작하려면:

Start-VM -Name mun-app01

중지된 모든 가상 머신을 시작하려면:

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

VM 종료(게스트 OS에서 Integration Services를 사용하여 올바른 종료):

Stop-VM -Name mun-app01

VM의 전원을 끄려면 TurnOff 옵션이 사용됨:

Stop-VM -Name mun-app01 –TurnOff

응답하지 않는 Hyper-V VM을 중지하는 방법을 알아봅니다.

ISO 파일을 가상 CD/DVD 장치에 마운트:

Set-VMDvdDrive -VMName mun-app01 -Path c:\iso\WinSrv2022.iso

USB 패스스루를 사용하여 USB 장치(미디어/드라이브)를 Hyper-V VM으로 리디렉션할 수 있습니다.

모든 VM 파일을 즉시 다른 디스크로 이동하려면 아래 명령을 사용하십시오.

Move-VMStorage mun-app01 -DestinationStoragePath D:\VM\mun-app01

Resize-VHD를 사용하여 가상 디스크 파일을 확장하거나 축소할 수 있습니다. cmdlet:

Resize-VHD -Path 'C:\VM\mun-fs01.vhdx' -SizeBytes 50Gb

VM의 체크포인트(스냅샷)를 생성하려면:

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

사용 가능한 체크포인트 목록을 표시하려면:

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

PowerShell로 Hyper-V 가상 머신 관리

체크포인트에서 VM을 이전 상태로 복원하려면:

Restore-VMCheckpoint -Name "Before upgrading SAP" -VMName mun-app01 -Confirm:$false

스냅샷을 제거하려면:

Remove-VMCheckpoint -VMName mun-app01 -Name "Before upgrading SAP"

Hyper-V에서 VM 내보내기, 가져오기 및 복제는 이 문서에 설명되어 있습니다.

Export-VM -Name mun-app01 -Path 'C:\VHD\export' -CaptureLiveState CaptureCrashConsistentState

내장된 WSB(Windows Server Backup)를 사용하여 Hyper-V 가상 머신을 백업할 수 있습니다.

가상 머신의 게스트 OS IP 주소를 얻으려면:

Get-VM | Select -ExpandProperty NetworkAdapters | Select VMName, IPAddresses, Status

가상 머신 콘솔에 연결하려면:

vmconnect.exe localhost mun-app01

PowerShell로 Hyper-V 가상 머신 관리

PowerShell Direct를 사용하여 vmbus(Windows Server 2016, Windows 10 이상에서 사용 가능)를 통해 가상 머신의 게스트 OS에 직접 연결할 수 있습니다. Invoke-Command(스크립트 실행) 및 Enter-PSSession(대화형 PowerShell 세션 실행) 사용:

Invoke-Command -VMName mun-app01 -ScriptBlock {Get-Process}
Enter-PSSession -VMName mun-app01

PowerShell Direct를 사용하여 Hyper-V 호스트에서 가상 머신으로 파일을 복사하려면 다음 명령을 사용하십시오.

$PSSession = New-PSSession -VMName mun-app01 -Credential (Get-Credential)
Copy-Item -ToSession $PSSession -Path E:\ISO\install_image.iso -Destination D:\ISO\

PowerShell을 사용하여 Hyper-V 관리자 또는 같은 그래픽 도구와 함께 로컬 또는 원격(Windows Server 전체 GUI 또는 Server Core 모드, 무료 Windows Hyper-V Server 또는 Windows 10)에서 Hyper-V 호스트의 가상 머신을 관리할 수 있습니다. Windows 관리 센터.