자습서: Azure CLI를 사용하여 Virtual Machine Scale Set가 있는 디스크 만들기 및 사용
Virtual Machine Scale Sets는 디스크를 사용하여 VM(Virtual Machine) 인스턴스의 운영 체제, 애플리케이션 및 데이터를 저장합니다. 확장 집합을 만들고 관리할 때 예상 작업에 적합한 디스크 크기와 구성을 선택해야 합니다. 이 자습서에서는 VM 디스크를 만들고 관리하는 방법에 대해 설명합니다. 이 자습서에서는 다음에 대해 알아봅니다.
- OS 디스크 및 임시 디스크
- 데이터 디스크
- 표준 및 프리미엄 디스크
- 디스크 성능
- 데이터 디스크 연결 및 준비
Azure 구독이 아직 없는 경우 시작하기 전에 무료 계정을 만듭니다.
필수 조건
Azure Cloud Shell에서 Bash 환경을 사용합니다. 자세한 내용은 Azure Cloud Shell의 Bash에 대한 빠른 시작을 참조하세요.
CLI 참조 명령을 로컬에서 실행하려면 Azure CLI를 설치합니다. Windows 또는 macOS에서 실행 중인 경우 Docker 컨테이너에서 Azure CLI를 실행하는 것이 좋습니다. 자세한 내용은 Docker 컨테이너에서 Azure CLI를 실행하는 방법을 참조하세요.
로컬 설치를 사용하는 경우 az login 명령을 사용하여 Azure CLI에 로그인합니다. 인증 프로세스를 완료하려면 터미널에 표시되는 단계를 수행합니다. 다른 로그인 옵션은 Azure CLI를 사용하여 로그인을 참조하세요.
메시지가 표시되면 처음 사용할 때 Azure CLI 확장을 설치합니다. 확장에 대한 자세한 내용은 Azure CLI에서 확장 사용을 참조하세요.
az version을 실행하여 설치된 버전과 종속 라이브러리를 찾습니다. 최신 버전으로 업그레이드하려면 az upgrade를 실행합니다.
- 이 문서에는 Azure CLI 버전 2.0.29 이상이 필요합니다. Azure Cloud Shell을 사용하는 경우 최신 버전이 이미 설치되어 있습니다.
기본 Azure 디스크
대부분의 VM SKU에는 크기 조정이 발생할 때 자동으로 만들어지고 Virtual Machine Scale Set 인스턴스에 추가되는 임시 로컬 디스크가 포함됩니다. 그러나 임시 디스크를 사용하지 않는 SKU를 사용할 수 있습니다. 이 경우 크기 조정 작업은 임시 디스크를 자동으로 만들고 새로 만든 인스턴스에 추가하지 않습니다. 임시 디스크를 사용하고 사용하지 않는 VM SKU에 대한 자세한 내용은 로컬 임시 디스크가 없는 Azure VM 크기를 참조하세요.
운영 체제 디스크 - 운영 체제 디스크는 최대 2TB까지 크기를 지정할 수 있으며, VM 인스턴스의 운영 체제를 호스팅합니다. 기본적으로 OS 디스크는 Windows의 Linux 및 C: /dev/sda에 레이블이 지정됩니다. OS 디스크의 디스크 캐싱 구성은 OS 성능에 맞게 최적화됩니다. 이 구성으로 인해 OS 디스크는 애플리케이션 또는 데이터를 호스트해서는 안 됩니다. 애플리케이션 및 데이터는 데이터 디스크를 사용하며 여기에 대해서는 이 문서의 뒷부분에서 자세히 설명합니다.
임시 디스크 - 임시 디스크는 VM 인스턴스와 동일한 Azure 호스트에 있는 반도체 드라이브를 사용합니다. 임시 디스크는 고성능 디스크이며 임시 데이터 처리와 같은 작업에 사용할 수 있습니다. 그러나 VM 인스턴스가 새 호스트로 이동되면 임시 디스크에 저장된 모든 데이터가 제거됩니다. VM 인스턴스 크기는 임시 디스크의 크기를 결정합니다.
Azure 데이터 디스크
애플리케이션을 설치하고 데이터를 저장해야 하는 경우 추가 데이터 디스크를 추가할 수 있습니다. 데이터 디스크는 지속형 및 반응형 데이터 스토리지가 필요한 상황에 사용해야 합니다. 각 데이터 디스크의 최대 용량은 4TB입니다. VM 인스턴스의 크기에 따라 연결할 수 있는 데이터 디스크 수가 결정됩니다. 각 VM vCPU에 대해 2개의 데이터 디스크를 가상 머신당 최대 64개의 디스크에 연결할 수 있습니다.
VM 디스크 유형
Azure는 두 가지 유형의 디스크를 제공합니다.
표준 디스크
HDD 또는 SSD에서 지원되는 표준 스토리지는 비용 효율적인 스토리지 및 성능을 제공합니다. 표준 디스크는 비용 효율적인 개발 및 테스트 워크로드에 적합합니다.
프리미엄 디스크
프리미엄 디스크는 SSD 기반 고성능의 대기 시간이 짧은 디스크에서 지원합니다. 이러한 디스크는 프로덕션 작업을 실행하는 VM에 권장됩니다. Premium Storage는 DS 시리즈, DSv2 시리즈, GS 시리즈 및 FS 시리즈 VM을 지원합니다. 자세한 내용은 Azure 관리 디스크 유형을 참조하세요.
디스크 만들기 및 연결
확장 집합을 만들 때 또는 기존 확장 집합을 사용하여 디스크를 만들고 연결할 수 있습니다.
API 버전 2019-07-01
을 기준으로 storageProfile.osDisk.diskSizeGb 속성을 사용하여 Virtual Machine Scale Set에서 OS 디스크의 크기를 설정할 수 있습니다. 프로비전 후에는 전체 공간을 사용하기 위해 디스크를 확장하거나 다시 분할해야 할 수 있습니다. Windows 또는 Linux에서 OS의 볼륨을 확장하는 방법에 대해 자세히 알아보세요.
확장 집합을 만들 때 디스크 연결
먼저 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 인스턴스에 대해 사용자 지정 이미지를 사용하는 방법을 알아보려면 다음 자습서로 계속 진행하세요.