Azure Stack Hub에서 VM 디스크 스토리지 만들기

이 문서에서는 Azure Stack Hub 포털을 사용하거나 PowerShell을 사용하여 VM(가상 머신) 디스크 스토리지를 만드는 방법을 설명합니다.

개요

Azure Stack Hub는 운영 체제(OS) 및 데이터 디스크 모두로 VM에서 관리 디스크 및 관리되지 않는 디스크의 사용을 지원합니다.

관리 디스크는 VM 디스크와 연결된 스토리지 계정을 관리하여 Azure IaaS VM에 대한 디스크 관리를 간소화합니다. 필요한 디스크의 크기만 지정해야 하며, Azure Stack Hub에서 디스크를 만들고 관리합니다.

관리되지 않는 디스크는 디스크를 저장할 스토리지 계정을 만들어야 합니다. 만드는 디스크를 VM 디스크라고 하며 스토리지 계정의 컨테이너에 저장됩니다.

모범 사례 지침

관리 및 용량 균형을 더 쉽게 위해 VM용 관리 디스크를 사용하는 것이 좋습니다. 관리 디스크를 사용하기 전에 스토리지 계정 및 컨테이너를 준비할 필요가 없습니다. 여러 관리 디스크를 만들 때 디스크는 여러 볼륨으로 분산되며, 볼륨 용량의 균형을 맞추는 데 도움이 됩니다.

관리되지 않는 디스크의 경우 성능을 개선하고 전체 비용을 줄이려면 관리되지 않는 각 디스크를 별도의 컨테이너에 배치하는 것이 좋습니다. OS 디스크와 데이터 디스크를 모두 동일한 컨테이너에 배치할 수 있지만 한 컨테이너에 OS 디스크 또는 데이터 디스크를 동시에 보관해야 하는 것이 가장 좋습니다.

VM에 하나 이상의 데이터 디스크를 추가하는 경우 추가 컨테이너를 위치로 사용하여 이러한 디스크를 저장합니다. 추가 VM에 대한 OS 디스크도 자체 컨테이너에 있어야 합니다.

VM을 만들 때 각 새 가상 머신에 대해 동일한 스토리지 계정을 다시 사용할 수 있습니다. 만드는 컨테이너만 고유해야 합니다.

새 디스크 추가

다음 표에서는 포털을 사용하고 PowerShell을 사용하여 디스크를 추가하는 방법을 요약합니다.

메서드 옵션
사용자 포털 - 기존 VM에 새 데이터 디스크를 추가합니다. Azure Stack Hub에서 새 디스크를 만듭니다.

- 기존 디스크(.vhd) 파일을 이전에 만든 VM에 추가합니다. 이렇게 하려면 .vhd를 준비한 다음 Azure Stack Hub에 파일을 업로드해야 합니다.
PowerShell - OS 디스크를 사용하여 새 VM을 만들고 동시에 하나 이상의 데이터 디스크를 해당 VM에 추가합니다.

포털을 사용하여 VM에 디스크 추가

기본적으로 포털을 사용하여 대부분의 마켓플레이스 항목에 대한 VM을 만드는 경우 OS 디스크만 만들어집니다.

VM을 만든 후 포털을 사용하여 다음을 수행할 수 있습니다.

  • 새 데이터 디스크를 만들고 VM에 연결합니다.
  • 기존 데이터 디스크를 업로드하고 VM에 연결합니다.

추가한 관리되지 않는 각 디스크를 별도의 컨테이너에 넣습니다.

포털을 사용하여 새 데이터 디스크 만들기 및 연결

  1. 포털에서 모든 서비스, 컴퓨팅, 가상 머신을 차례로 선택합니다. 예: VM dashboard

  2. 목록에서 이전에 만든 VM을 선택합니다.

  3. VM의 경우 디스크, 데이터 디스크 추가 차례로 선택합니다. VM에 새 디스크를 연결하는 방법을 보여 주는 스크린샷

  4. 데이터 디스크의 경우:

    • LUN을 입력합니다. LUN은 유효한 숫자여야 합니다.
    • 디스크 만들기를 선택합니다. 새 데이터 디스크를 만드는 방법을 보여 주는 스크린샷
  5. 관리 디스크 만들기 블레이드에서 다음을 수행합니다.

    • 디스크 이름을 입력 합니다.
    • 기존 리소스 그룹을 선택하거나 새 리소스 그룹을 만듭니다.
    • 위치를 선택합니다. 기본적으로 위치는 OS 디스크를 보유하는 동일한 컨테이너로 설정됩니다.
    • 계정 유형을 선택합니다. 예: vm에 새 디스크 연결

    참고

    프리미엄 디스크(SSD) 및 HDD(표준 디스크)는 Azure Stack Hub의 동일한 스토리지 인프라에서 지원됩니다. 동일한 성능을 제공합니다.

    • 원본 유형을 선택합니다.

      다른 디스크의 스냅샷, 스토리지 계정의 Blob에서 디스크를 만들거나 빈 디스크를 만듭니다.

      스냅샷: 사용 가능한 경우 스냅샷 선택합니다. 스냅샷 VM의 구독 및 위치에서 사용할 수 있어야 합니다.

      스토리지 Blob:

    • 크기(GiB)를 선택합니다.

      디스크의 크기에 따라 디스크 비용이 증가합니다.

    • 만들기를 선택합니다. Azure Stack Hub는 관리 디스크를 만들고 유효성을 검사합니다.

  6. Azure Stack Hub가 디스크를 만들고 VM에 연결하면 새 디스크가 데이터 디스크 아래의 VM 디스크 설정에 나열됩니다.

    예: 디스크 보기

스토리지 계정에서 데이터 디스크 추가

Azure Stack Hub에서 스토리지 계정 작업에 대한 자세한 내용은 Azure Stack Hub 스토리지 소개를 참조하세요.

  1. 사용할 Storage 계정을 선택합니다.

  2. 데이터 디스크를 배치할 컨테이너 를 선택합니다. 컨테이너 블레이드에서 원하는 경우 새 컨테이너를 만들 수 있습니다. 그런 다음 새 디스크의 위치를 자체 컨테이너로 변경할 수 있습니다. 각 디스크에 대해 별도의 컨테이너를 사용하는 경우 성능을 향상시키는 데이터 디스크의 배치를 배포합니다.

  3. 선택을 선택하여 선택 항목을 저장합니다.

    컨테이너를 선택하는 방법을 보여 주는 스크린샷

VM에 기존 데이터 디스크 추가

  1. VM의 데이터 디스크로 사용할 .vhd 파일을 준비합니다. .vhd 파일을 첨부할 VM과 함께 사용하는 스토리지 계정에 해당 .vhd 파일을 업로드합니다.

  2. .vhd 파일이 업로드되면 VHD를 VM에 연결할 준비가 된 것입니다. 왼쪽 메뉴에서 가상 머신를 선택합니다.
    선택한 가상 머신을 보여 주는 스크린샷

  3. 목록에서 VM을 선택합니다.

  4. VM 페이지에서 디스크를 선택한 다음, 기존 항목 연결을 선택합니다.

    예: 기존 디스크 연결

  5. 기존 디스크 연결 페이지에서 VHD 파일을 선택합니다. 스토리지 계정 페이지가 열립니다.

    예: VHD 파일 선택

  6. 스토리지 계정에서 사용할 계정을 선택한 다음 이전에 업로드한 .vhd 파일이 있는 컨테이너를 선택합니다. .vhd 파일을 선택한 다음 선택을 선택하여 선택 항목을 저장합니다.

    예: 컨테이너 선택

  7. 기존 디스크 연결에서 선택한 파일이 VHD 파일 아래에 나열됩니다. 디스크의 호스트 캐싱 설정을 업데이트한 다음 확인을 선택하여 VM에 대한 새 디스크 구성을 저장합니다.

    예: VHD 파일 연결

  8. Azure Stack Hub가 디스크를 만들고 VM에 연결하면 새 디스크가 데이터 디스크 아래 VM의 디스크 설정에 나열됩니다.

    예: 디스크 연결 완료

PowerShell을 사용하여 VM에 여러 디스크 추가

PowerShell을 사용하여 VM을 프로비전하고 새 데이터 디스크를 추가하거나 기존 관리 디스크 또는 .vhd 파일을 데이터 디스크로 연결할 수 있습니다.

Add-AzVMDataDisk cmdlet은 VM에 데이터 디스크를 추가합니다. VM을 만들 때 데이터 디스크를 추가하거나 기존 VM에 데이터 디스크를 추가할 수 있습니다. 관리되지 않는 디스크의 경우 VhdUri 매개 변수를 지정하여 디스크를 다른 컨테이너에 배포합니다.

VM에 데이터 디스크 추가

다음 예제에서는 PowerShell 명령을 사용하여 세 개의 데이터 디스크가 있는 VM을 만듭니다. 명령은 관리 디스크 또는 관리되지 않는 디스크를 사용할 때 사소한 차이로 인해 여러 부분으로 제공됩니다.

가상 머신 구성 및 네트워크 리소스 만들기

다음 스크립트는 VM 개체를 만든 다음 변수에 $VirtualMachine 저장합니다. 명령은 VM에 이름과 크기를 할당한 다음 VM에 대한 네트워크 리소스(가상 네트워크, 서브넷, 가상 네트워크 어댑터, NSG 및 공용 IP 주소)를 만듭니다.

# Create new virtual machine configuration
$VirtualMachine = New-AzVMConfig -VMName "VirtualMachine" `
                                      -VMSize "Standard_A2"

# Set variables
$rgName = "myResourceGroup"
$location = "local"

# Create a subnet configuration
$subnetName = "mySubNet"
$singleSubnet = New-AzVirtualNetworkSubnetConfig -Name $subnetName -AddressPrefix 10.0.0.0/24

# Create a vnet configuration
$vnetName = "myVnetName"
$vnet = New-AzVirtualNetwork -Name $vnetName -ResourceGroupName $rgName -Location $location `
                                  -AddressPrefix 10.0.0.0/16 -Subnet $singleSubnet

# Create a public IP
$ipName = "myIP"
$pip = New-AzPublicIpAddress -Name $ipName -ResourceGroupName $rgName -Location $location `
                                  -AllocationMethod Dynamic

# Create a network security group configuration
$nsgName = "myNsg"
$rdpRule = New-AzNetworkSecurityRuleConfig -Name myRdpRule -Description "Allow RDP" `
                                                -Access Allow -Protocol Tcp -Direction Inbound -Priority 110 `
                                                -SourceAddressPrefix Internet -SourcePortRange * `
                                                -DestinationAddressPrefix * -DestinationPortRange 3389
$nsg = New-AzNetworkSecurityGroup -ResourceGroupName $rgName -Location $location `
                                       -Name $nsgName -SecurityRules $rdpRule

# Create a NIC configuration
$nicName = "myNicName"
$nic = New-AzNetworkInterface -Name $nicName -ResourceGroupName $rgName `
                                   -Location $location -SubnetId $vnet.Subnets[0].Id `
                                   -NetworkSecurityGroupId $nsg.Id -PublicIpAddressId $pip.Id

관리 디스크 추가

다음 세 명령은 에 저장된 $VirtualMachine가상 머신에 관리되는 데이터 디스크를 추가합니다. 각 명령은 디스크의 이름과 추가 속성을 지정합니다.

$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name 'DataDisk1' `
                                        -Caching 'ReadOnly' -DiskSizeInGB 10 -Lun 0 `
                                        -CreateOption Empty
$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name 'DataDisk2' `
                                        -Caching 'ReadOnly' -DiskSizeInGB 11 -Lun 1 `
                                        -CreateOption Empty
$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name 'DataDisk3' `
                                        -Caching 'ReadOnly' -DiskSizeInGB 12 -Lun 2 `
                                        -CreateOption Empty

다음 명령은 OS 디스크를 에 저장된 $VirtualMachine가상 머신에 관리 디스크로 추가합니다.

# Set OS Disk
$osDiskName = "osDisk"
$VirtualMachine = Set-AzVMOSDisk -VM $VirtualMachine -Name $osDiskName  `
                                      -CreateOption FromImage -Windows

관리되지 않는 디스크 추가

다음 세 명령은 관리되지 않는 데이터 디스크 3개의 경로를 , $DataDiskVhdUri02$DataDiskVhdUri03 변수에 $DataDiskVhdUri01할당합니다. URL에서 다른 경로 이름을 정의하여 디스크를 다른 컨테이너에 배포합니다.

$DataDiskVhdUri01 = "https://contoso.blob.local.azurestack.external/test1/data1.vhd"
$DataDiskVhdUri02 = "https://contoso.blob.local.azurestack.external/test2/data2.vhd"
$DataDiskVhdUri03 = "https://contoso.blob.local.azurestack.external/test3/data3.vhd"

다음 세 명령은 에 저장된 $VirtualMachine가상 머신에 데이터 디스크를 추가합니다. 각 명령은 디스크의 이름과 추가 속성을 지정합니다. 각 디스크의 URI는 , $DataDiskVhdUri02$DataDiskVhdUri03$DataDiskVhdUri01저장됩니다.

$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name 'DataDisk1' `
                                        -Caching 'ReadOnly' -DiskSizeInGB 10 -Lun 0 `
                                        -VhdUri $DataDiskVhdUri01 -CreateOption Empty
$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name 'DataDisk2' `
                                        -Caching 'ReadOnly' -DiskSizeInGB 11 -Lun 1 `
                                        -VhdUri $DataDiskVhdUri02 -CreateOption Empty
$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name 'DataDisk3' `
                                        -Caching 'ReadOnly' -DiskSizeInGB 12 -Lun 2 `
                                        -VhdUri $DataDiskVhdUri03 -CreateOption Empty

다음 명령은 에 저장된 $VirtualMachine가상 머신에 관리되지 않는 OS 디스크를 추가합니다.

# Set OS Disk
$osDiskUri = "https://contoso.blob.local.azurestack.external/vhds/osDisk.vhd"
$osDiskName = "osDisk"
$VirtualMachine = Set-AzVMOSDisk -VM $VirtualMachine -Name $osDiskName -VhdUri $osDiskUri `
                                      -CreateOption FromImage -Windows

새 가상 머신 만들기

다음 PowerShell 명령을 사용하여 OS 이미지를 설정하고, VM에 네트워크 구성을 추가한 다음, 새 VM을 시작합니다.

#Create the new VM
$VirtualMachine = Set-AzVMOperatingSystem -VM $VirtualMachine -Windows -ComputerName VirtualMachine -ProvisionVMAgent | `
                  Set-AzVMSourceImage -PublisherName MicrosoftWindowsServer -Offer WindowsServer `
                  -Skus 2016-Datacenter -Version latest | Add-AzVMNetworkInterface -Id $nic.Id

New-AzVM -ResourceGroupName $rgName -Location $location -VM $VirtualMachine

기존 VM에 데이터 디스크 추가

다음 예제에서는 PowerShell 명령을 사용하여 기존 VM에 세 개의 데이터 디스크를 추가합니다.

가상 머신 가져오기

첫 번째 명령은 Get-AzVM cmdlet을 사용하여 VirtualMachine이라는 VM을 가져옵니다. 명령은 변수에 VM을 $VirtualMachine 저장합니다.

$VirtualMachine = Get-AzVM -ResourceGroupName "myResourceGroup" `
                                -Name "VirtualMachine"

관리 디스크 추가

다음 세 명령은 관리되는 데이터 디스크를 변수에 저장된 VM에 $VirtualMachine 추가합니다. 각 명령은 디스크의 이름과 추가 속성을 지정합니다.

Add-AzVMDataDisk -VM $VirtualMachine -Name "DataDisk1" -Lun 0 `
                      -Caching ReadOnly -DiskSizeinGB 10 -CreateOption Empty
Add-AzVMDataDisk -VM $VirtualMachine -Name "DataDisk2" -Lun 1 `
                      -Caching ReadOnly -DiskSizeinGB 11 -CreateOption Empty
Add-AzVMDataDisk -VM $VirtualMachine -Name "DataDisk3" -Lun 2 `
                      -Caching ReadOnly -DiskSizeinGB 12 -CreateOption Empty

관리되지 않는 디스크 추가

다음 세 명령은 세 개의 데이터 디스크에 대한 경로를 , $DataDiskVhdUri02$DataDiskVhdUri03 변수에 $DataDiskVhdUri01할당합니다. VHD URI의 다른 경로 이름은 디스크 배치에 대한 다른 컨테이너를 나타냅니다.

$DataDiskVhdUri01 = "https://contoso.blob.local.azurestack.external/test1/data1.vhd"
$DataDiskVhdUri02 = "https://contoso.blob.local.azurestack.external/test2/data2.vhd"
$DataDiskVhdUri03 = "https://contoso.blob.local.azurestack.external/test3/data3.vhd"

다음 세 명령은 변수에 저장된 VM에 데이터 디스크를 $VirtualMachine 추가합니다. 각 명령은 디스크의 이름, 위치 및 추가 속성을 지정합니다. 각 디스크의 URI는 , $DataDiskVhdUri02$DataDiskVhdUri03$DataDiskVhdUri01저장됩니다.

Add-AzVMDataDisk -VM $VirtualMachine -Name "DataDisk1" `
                      -VhdUri $DataDiskVhdUri01 -LUN 0 `
                      -Caching ReadOnly -DiskSizeinGB 10 -CreateOption Empty
Add-AzVMDataDisk -VM $VirtualMachine -Name "DataDisk2" `
                      -VhdUri $DataDiskVhdUri02 -LUN 1 `
                      -Caching ReadOnly -DiskSizeinGB 11 -CreateOption Empty
Add-AzVMDataDisk -VM $VirtualMachine -Name "DataDisk3" `
                      -VhdUri $DataDiskVhdUri03 -LUN 2 `
                      -Caching ReadOnly -DiskSizeinGB 12 -CreateOption Empty

가상 머신 상태 업데이트

이 명령은 에 저장된 $VirtualMachine-ResourceGroupNameVM의 상태를 업데이트합니다.

Update-AzVM -ResourceGroupName "myResourceGroup" -VM $VirtualMachine

다음 단계

Azure Stack Hub VM에 대한 자세한 내용은 Azure Stack Hub의 Virtual Machines 대한 고려 사항을 참조하세요.