자습서: Azure CLI를 사용하여 Virtual Machine Scale Set가 있는 디스크 만들기 및 사용

Virtual Machine Scale Set는 디스크를 사용하여 VM 인스턴스의 운영 체제, 애플리케이션 및 데이터를 저장합니다. 확장 집합을 만들고 관리할 때 예상 작업에 적합한 디스크 크기와 구성을 선택해야 합니다. 이 자습서에서는 VM 디스크를 만들고 관리하는 방법에 대해 설명합니다. 이 자습서에서는 다음에 대해 알아봅니다.

  • OS 디스크 및 임시 디스크
  • 데이터 디스크
  • 표준 및 프리미엄 디스크
  • 디스크 성능
  • 데이터 디스크 연결 및 준비

Azure 구독이 아직 없는 경우 시작하기 전에 무료 계정을 만듭니다.

필수 조건

  • 이 문서에는 Azure CLI 버전 2.0.29 이상이 필요합니다. Azure Cloud Shell을 사용하는 경우 최신 버전이 이미 설치되어 있습니다.

기본 Azure 디스크

확장 집합을 만들거나 크기를 조정하면 두 개의 디스크가 각 VM 인스턴스에 자동으로 연결됩니다.

운영 체제 디스크 - 운영 체제 디스크는 최대 2TB까지 크기를 지정할 수 있으며, VM 인스턴스의 운영 체제를 호스팅합니다. OS 디스크는 기본적으로 /dev/sda로 레이블이 지정됩니다. OS 디스크의 디스크 캐싱 구성은 OS 성능에 맞게 최적화됩니다. 이 구성으로 인해 OS 디스크는 애플리케이션 또는 데이터를 호스트해서는 안 됩니다. 애플리케이션 및 데이터는 데이터 디스크를 사용하며 여기에 대해서는 이 문서의 뒷부분에서 자세히 설명합니다.

임시 디스크 - 임시 디스크는 VM 인스턴스와 동일한 Azure 호스트에 있는 반도체 드라이브를 사용합니다. 임시 디스크는 고성능 디스크이며 임시 데이터 처리와 같은 작업에 사용할 수 있습니다. 그러나 VM 인스턴스가 새 호스트로 이동되면 임시 디스크에 저장된 모든 데이터가 제거됩니다. 임시 디스크의 크기는 VM 인스턴스 크기에 따라 결정됩니다. 임시 디스크는 /dev/sdb로 레이블이 지정되고 탑재 지점은 /mnt입니다.

Azure 데이터 디스크

애플리케이션을 설치하고 데이터를 저장해야 하는 경우 추가 데이터 디스크를 추가할 수 있습니다. 데이터 디스크는 지속형 및 반응형 데이터 스토리지가 필요한 상황에 사용해야 합니다. 각 데이터 디스크의 최대 용량은 4TB입니다. VM 인스턴스의 크기에 따라 연결할 수 있는 데이터 디스크 수가 결정됩니다. 각 VM vCPU에 대해 2개의 데이터 디스크를 가상 머신당 최대 64개의 디스크에 연결할 수 있습니다.

VM 디스크 유형

Azure는 두 가지 유형의 디스크를 제공합니다.

표준 디스크

Standard Storage는 HDD에서 지원되며, 비용 효율적인 스토리지 및 성능을 제공합니다. 표준 디스크는 비용 효율적인 개발 및 테스트 워크로드에 적합합니다.

프리미엄 디스크

프리미엄 디스크는 SSD 기반 고성능의 대기 시간이 짧은 디스크에서 지원합니다. 이러한 디스크는 프로덕션 작업을 실행하는 VM에 권장됩니다. Premium Storage는 DS 시리즈, DSv2 시리즈, GS 시리즈 및 FS 시리즈 VM을 지원합니다. 디스크 크기를 선택하면 값이 다음 형식으로 반올림됩니다. 예를 들어 디스크 크기가 128GB 미만인 경우 디스크 유형은 P10입니다. 디스크 크기가 129GB에서 512GB 사이이면 크기는 P20입니다. 512GB 초과이면 크기는 P30입니다.

디스크 만들기 및 연결

확장 집합을 만들 때 또는 기존 확장 집합을 사용하여 디스크를 만들고 연결할 수 있습니다.

API 버전 2019-07-01을 기준으로 storageProfile.osDisk.diskSizeGb 속성을 사용하여 Virtual Machine Scale Set에서 OS 디스크의 크기를 설정할 수 있습니다. 프로비전 후에는 전체 공간을 사용하기 위해 디스크를 확장하거나 다시 분할해야 할 수 있습니다. Windows 또는 Linux에서 OS의 볼륨을 확장하는 방법에 대해 자세히 알아보세요.

확장 집합을 만들 때 디스크 연결

Important

2023년 11월부터 PowerShell 및 Azure CLI를 사용하여 만들어진 VM Scale Sets는 오케스트레이션 모드가 지정되지 않은 경우 기본적으로 유연한 오케스트레이션 모드로 설정됩니다. 이 변경 내용과 취해야 할 작업에 대한 자세한 내용은 VMSS PowerShell/CLI 고객을 위한 호환성이 손상되는 변경 - Microsoft 커뮤니티 허브를 참조하세요.

먼저 az group create 명령을 사용하여 리소스 그룹을 만듭니다. 이 예제에서는 eastus 지역에 myResourceGroup이라는 리소스 그룹을 만듭니다.

az group create --name myResourceGroup --location eastus

az vmss create 명령을 사용하여 Virtual Machine Scale Set를 만듭니다. 다음 예제에서는 myScaleSet이라는 확장 집합을 만들고 SSH 키가 없는 경우 이 키를 생성합니다. --data-disk-sizes-gb 매개 변수를 사용하여 두 개의 디스크를 만듭니다. 첫 번째 디스크의 크기는 64GB이고, 두 번째 디스크의 크기는 128GB입니다.

az vmss create \
  --resource-group myResourceGroup \
  --name myScaleSet \
  --image Ubuntu2204 \
  --orchestration-mode Flexible \
  --admin-username azureuser \
  --generate-ssh-keys \
  --data-disk-sizes-gb 64 128

확장 집합 리소스와 VM 인스턴스를 모두 만들고 구성하는 데 몇 분 정도 걸립니다.

기존 확장 집합에 디스크 연결

또한 기존 확장 집합에서 각 인스턴스에 추가 디스크를 연결할 수도 있습니다. az vmss disk attach를 사용하여 다른 디스크를 추가하기 위해 이전 단계에서 만든 확장 집합을 사용합니다. 다음 예제에서는 128GB 데이터 디스크를 추가로 연결합니다.

az vmss disk attach \
  --resource-group myResourceGroup \
  --vmss-name myScaleSet \
  --size-gb 128

또는 확장 집합의 개별 인스턴스에 데이터 디스크를 추가하려면 az vm disk attach를 사용합니다.

az vm disk attach \
  --vm-name myScaleSet_Instance1 \
  --resource-group myResourceGroup \
  --size-gb 30 \
  --name disk_name \
  --new

연결된 디스크 나열

확장 집합에 연결된 디스크에 대한 정보를 보려면 az vmss show를 사용하고 virtualMachineProfile.storageProfile.dataDisks에 대해 쿼리합니다.

az vmss show \
  --resource-group myResourceGroup \
  --name myScaleSet \
  --query virtualMachineProfile.storageProfile.dataDisks

디스크 크기, 스토리지 계층 및 LUN(논리 단위 번호)에 대한 정보가 표시됩니다. 다음 예제 출력에서는 확장 집합에 연결된 세 개의 데이터 디스크에 대해 자세히 설명합니다.

[
  {
    "additionalProperties": {},
    "caching": "None",
    "createOption": "Empty",
    "diskSizeGb": 64,
    "lun": 0,
    "managedDisk": {
      "additionalProperties": {},
      "storageAccountType": "StandardSSD_LRS"
    },
    "name": null
  },
  {
    "additionalProperties": {},
    "caching": "None",
    "createOption": "Empty",
    "diskSizeGb": 128,
    "lun": 1,
    "managedDisk": {
      "additionalProperties": {},
      "storageAccountType": "StandardSSD_LRS"
    },
    "name": null
  },
  {
    "additionalProperties": {},
    "caching": "None",
    "createOption": "Empty",
    "diskSizeGb": 128,
    "lun": 2,
    "managedDisk": {
      "additionalProperties": {},
      "storageAccountType": "StandardSSD_LRS"
    },
    "name": null
  }
]

디스크 분리

지정된 디스크가 더 이상 필요하지 않은 경우 확장 집합에서 디스크를 분리할 수 있습니다. 확장 집합의 모든 VM 인스턴스에서 디스크가 제거됩니다. 확장 집합에서 디스크를 분리하려면 az vmss disk detach를 사용하고 디스크의 LUN을 지정합니다. LUN은 이전 섹션의 az vmss show 출력에 표시되어 있습니다. 다음 예제에서는 확장 집합에서 LUN 2를 분리합니다.

az vmss disk detach \
  --resource-group myResourceGroup \
  --name myScaleSet \
  --lun 2

az vm disk detach를 사용하여 개별 인스턴스에서 디스크를 분리할 수도 있습니다.

az vm disk detach \
  --vm-name myScaleSet_Instance1
  --name disk_name

리소스 정리

확장 집합 및 디스크를 제거하려면 az group delete를 사용하여 리소스 그룹 및 모든 해당 리소스를 삭제합니다. --no-wait 매개 변수는 작업이 완료될 때까지 대기하지 않고 프롬프트로 제어를 반환합니다. --yes 매개 변수는 작업을 수행하는 추가 프롬프트 없이 리소스를 삭제할 것인지 확인합니다.

az group delete --name myResourceGroup --no-wait --yes

다음 단계

이 자습서에서는 Azure CLI를 사용하여 확장 집합이 있는 다음과 같은 디스크를 만들고 사용하는 방법을 알아보았습니다.

  • OS 디스크 및 임시 디스크
  • 데이터 디스크
  • 표준 및 프리미엄 디스크
  • 디스크 성능
  • 데이터 디스크 연결 및 준비

확장 집합 VM 인스턴스에 대해 사용자 지정 이미지를 사용하는 방법을 알아보려면 다음 자습서로 계속 진행하세요.