Windows PowerShell을 사용하여 Azure Stack HCI에서 VM 관리

적용 대상: Azure Stack HCI, 버전 23H2 및 22H2; Windows Server 2022, Windows Server 2019

Windows PowerShell 사용하여 Azure Stack HCI에서 VM(가상 머신)을 만들고 관리할 수 있습니다.

참고

Azure Stack HCI 23H2에서 VM을 만들고 관리하는 권장 방법은 Azure Arc 컨트롤 플레인을 사용하는 것입니다. 그러나 이 문서에 설명된 기능은 아직 Azure Arc에서 제공되지 않으므로 아래 설명된 대로 Windows Admin Center 또는 PowerShell을 사용할 수 있습니다.

일반적으로 클러스터의 호스트 서버가 아닌 원격 컴퓨터에서 VM을 관리합니다. 이 원격 컴퓨터를 관리 컴퓨터라고 합니다.

참고

관리 컴퓨터에서 PowerShell 명령을 실행할 때 관리 중인 호스트 서버의 이름과 함께 -ComputerName 매개 변수를 포함합니다. NetBIOS 이름, IP 주소 및 정규화된 도메인 이름은 허용됩니다.

PowerShell을 사용하여 VM을 관리하기 위한 전체 참조 설명서는 Hyper-V 참조를 참조하세요.

VM 만들기

New-VM cmdlet은 새 VM을 만드는 데 사용됩니다. 자세한 사용법은 New-VM 참조 설명서를 참조하세요.

기존 가상 하드 디스크를 사용하여 새 VM을 만들 때 지정할 수 있는 설정은 다음과 같습니다.

  • -이름 사용자가 만드는 가상 머신에 대해 제공하는 이름입니다.

  • -MemoryStartupBytes 는 시작 시 가상 머신에서 사용할 수 있는 메모리 양입니다.

  • -BootDevice 는 가상 머신이 시작될 때 부팅하는 디바이스입니다. 일반적으로 VHD(가상 하드 디스크), DVD 기반 부팅을 위한 .iso 파일 또는 네트워크 부팅용 네트워크 어댑터(NetworkAdapter)입니다.

  • -VHDPath의 경로 사용하려는 가상 머신 디스크입니다.

  • 경로 가상 머신 구성 파일을 보관할 경로입니다.

  • 세대 가상 머신 생성됩니다. VHD 및 VHDX에 대 한 2 세대에 1 세대를 사용 합니다.

  • -SwitchName 은 가상 머신이 다른 가상 머신 또는 네트워크에 연결하는 데 사용할 가상 스위치의 이름입니다. Get-VMSwitch를 사용하여 가상 스위치의 이름을 가져옵니다. 예를 들면 다음과 같습니다.

VM1이라는 VM을 만들기 위한 전체 명령은 다음과 같습니다.

New-VM -ComputerName Server1 -Name VM1 -MemoryStartupBytes <Memory> -BootDevice <BootDevice> -VHDPath <VHDPath> -Path <Path> -Generation <Generation> -SwitchName <Switch name>

다음 예제에서는 메모리가 4GB인 2세대 가상 머신을 만듭니다. 현재 디렉터리에 VMs\Win10.vhdx 폴더에서 부팅 하 고 ExternalSwitch 라는 가상 스위치를 사용 합니다. 가상 머신 구성 파일은 VMData 폴더에 저장됩니다.

New-VM -ComputerName Server1 -Name VM1 -MemoryStartupBytes 4GB -BootDevice VHD -VHDPath .\VMs\Win10.vhdx -Path .\VMData -Generation 2 -SwitchName ExternalSwitch

다음 매개 변수는 가상 하드 디스크를 지정하는 데 사용됩니다.

새 가상 하드 디스크를 사용하여 가상 머신을 만들려면 위의 예제에서 -VHDPath 매개 변수를 -NewVHDPath 로 바꾸고 다음과 같이 -NewVHDSizeBytes 매개 변수를 추가합니다.

New-VM -ComputerName Server1 -Name VM1 -MemoryStartupBytes 4GB -BootDevice VHD -NewVHDPath .\VMs\Win10.vhdx -Path .\VMData -NewVHDSizeBytes 20GB -Generation 2 -SwitchName ExternalSwitch  

운영 체제 이미지로 부팅되는 새 가상 디스크를 사용하여 가상 머신을 만들려면 Windows 10 Hyper-V에 대한 가상 머신 만들기 연습의 PowerShell 예제를 참조하세요.

VM 목록 가져오기

다음 예제에서는 Server1의 모든 VM 목록을 반환합니다.

Get-VM -ComputerName Server1

다음 예제에서는 명령을 사용하여 Where-Object 필터를 추가하여 서버에서 실행 중인 모든 VM 목록을 반환합니다. 자세한 내용은 Where-Object 설명서 사용을 참조하세요.

Get-VM -ComputerName Server1 | Where-Object -Property State -eq "Running"

다음 예제에서는 서버의 모든 종료 VM 목록을 반환합니다.

Get-VM -ComputerName Server1 | Where-Object -Property State -eq "Off"

VM 시작 및 중지

Start-VMStop-VM 명령을 사용하여 VM을 시작하거나 중지합니다. 자세한 내용은 Start-VMStop-VM 참조 설명서를 참조하세요.

다음 예제에서는 VM1이라는 VM을 시작하는 방법을 보여줍니다.

Start-VM -Name VM1 -ComputerName Server1

다음 예제에서는 TestVM이라는 VM을 종료하는 방법을 보여줍니다.

Stop-VM -Name VM1 -ComputerName Server1

VM 이동

cmdlet은 Move-VM VM을 다른 서버로 이동합니다. 자세한 내용은 Move-VM 참조 설명서를 참조하세요.

다음 예제에서는 VM이 Server1의 SMB 공유에 저장되어 있을 때 VM을 Server2로 이동하는 방법을 보여줍니다.

Move-VM -ComputerName Server1 -Name VM1 -DestinationHost Server2

다음 예제에서는 Server1에서 Server2로 VM을 이동하고 원격 컴퓨터에서 VM과 연결된 모든 파일을 D:\VM_name 이동하는 방법을 보여줍니다.

Move-VM -ComputerName Server1 -Name VM1 -DestinationHost Server2 -IncludeStorage -DestinationStoragePath D:\VM_name

VM 가져오기 또는 내보내기

Import-VMExport-VM cmdlet은 VM을 가져오고 내보냅니다. 다음은 몇 가지 예제를 보여 줍니다. 자세한 내용은 Import-VMExport-VM 참조 설명서를 참조하세요.

다음 예제에서는 구성 파일에서 VM을 가져오는 방법을 보여줍니다. VM이 현재 위치에 등록되므로 해당 파일이 복사되지 않습니다.

Import-VM -ComputerName Server1 -Name VM1 -Path 'C:\<vm export path>\2B91FEB3-F1E0-4FFF-B8BE-29CED892A95A.vmcx'

다음 예제에서는 VM을 D 드라이브의 루트로 내보냅니다.

Export-VM -ComputerName Server1 -Name VM1 -Path D:\

VM 이름 바꾸기

Rename-VM cmdlet은 VM의 이름을 바꾸는 데 사용됩니다. 자세한 내용은 Rename-VM 참조 설명서를 참조하세요.

다음 예제에서는 VM1의 이름을 VM2로 바꾸고 이름이 바뀐 가상 머신을 표시합니다.

Rename-VM -ComputerName Server1 -Name VM1 -NewName VM2

VM 검사점 만들기

Checkpoint-VM cmdlet은 VM에 대한 검사점 만들기에 사용됩니다. 자세한 내용은 Checkpoint-VM 참조 설명서를 참조하세요.

다음 예제에서는 Test라는 VM에 대해 BeforeInstallingUpdates라는 검사점이 만들어집니다.

Checkpoint-VM -ComputerName Server1 -Name VM1 -SnapshotName BeforeInstallingUpdates

VM에 대한 VHD 만들기

cmdlet New-VHD 은 VM에 대한 새 VHD를 만드는 데 사용됩니다. 사용 방법에 대한 자세한 내용은 New-VHD 참조 설명서를 참조하세요.

다음 예제에서는 크기가 10GB인 VHDX 형식의 동적 가상 하드 디스크를 만듭니다. 파일 이름 확장명은 형식을 결정하며 형식이 지정되지 않으므로 동적의 기본 형식이 사용됩니다.

Get-ClusterGroup

VM에 네트워크 어댑터 추가

Add-VMNetworkAdapter cmdlet은 VM에 가상 네트워크 어댑터를 추가하는 데 사용됩니다. 다음은 몇 가지 예제를 보여 줍니다. 사용 방법에 대한 자세한 내용은 Add-VMNetworkAdapter 참조 설명서를 참조하세요.

다음 예제에서는 VM1이라는 가상 머신에 Redmond NIC1이라는 가상 네트워크 어댑터를 추가합니다.

Add-VMNetworkAdapter -ComputerName Server1 -VMName VM1 -Name "Redmond NIC1"

이 예제에서는 VM1이라는 가상 머신에 가상 네트워크 어댑터를 추가하고 네트워크라는 가상 스위치에 연결합니다.

Add-VMNetworkAdapter -ComputerName Server1 -VMName VM1 -SwitchName Network

VM에 대한 가상 스위치 만들기

New-VMSwitch cmdlet은 VM 호스트의 새 가상 스위치에 사용됩니다. 사용 방법에 대한 자세한 내용은 New-VMSwitch 참조 설명서를 참조하세요.

다음 예제에서는 유선 이더넷 연결 3이라는 네트워크 어댑터에 바인딩하고 가중치 기반 최소 대역폭을 지원하는 "QoS 스위치"라는 새 스위치를 만듭니다.

New-VMSwitch "QoS Switch" -NetAdapterName "Wired Ethernet Connection 3" -MinimumBandwidthMode Weight

VM에 대한 메모리 설정

Set-VMMemory cmdlet은 메모리를 VM으로 구성하는 데 사용됩니다. 사용 방법에 대한 자세한 내용은 Set-VMMemory 참조 설명서를 참조하세요.

다음 예제에서는 VM1이라는 VM에서 동적 메모리를 사용하도록 설정하고 최소, 시작 및 최대 메모리, 메모리 우선 순위 및 버퍼를 설정합니다.

Set-VMMemory -ComputerName Server1 -Name VM1 -DynamicMemoryEnabled $true -MinimumBytes 64MB -StartupBytes 256MB -MaximumBytes 2GB -Priority 80 -Buffer 25

VM에 대한 가상 프로세서 설정

Set-VMProcessor cmdlet은 VM에 대한 가상 프로세서를 구성하는 데 사용됩니다. 사용 방법에 대한 자세한 내용은 Set-VMProcessor 참조 설명서를 참조하세요.

다음 예제에서는 두 개의 가상 프로세서, 예약 10%, 제한 75%, 상대 가중치 200을 사용하여 VM1이라는 VM을 구성합니다.

Set-VMProcessor -ComputerName Server1 -Name VM1 -Count 2 -Reserve 10 -Maximum 75 -RelativeWeight 200

VM 제거

VM 및 리소스를 제거하거나 삭제하려면 먼저 다음 cmdlet을 사용하여 VM을 찾습니다.

Get-ClusterGroup

그런 다음 클러스터에서 제거하려는 각 VM에 대해 다음 cmdlet을 실행합니다.

Remove-ClusterGroup -RemoveResources -Name VM1

다음 단계

Windows Admin Center 사용하여 VM을 만들고 관리할 수도 있습니다. 자세한 내용은 Windows Admin Center를 참조하세요.