연습 - VM 디스크 크기 조정
업로드한 일부 파일의 크기가 얼마나 커질 수 있는지 과소평가했으며, 업로드 디스크 공간이 부족하다고 가정하겠습니다. 64GB에서 128GB로 공간을 두 배로 늘리기로 결정했습니다.
여기서는 이전 단원에서 알아본 프로세스를 연습합니다.
데이터 디스크 크기 조정
디스크 크기를 조정하려면 디스크의 ID나 이름이 필요합니다. 이 경우에는 이미 이름(*uploadDataDisk1)을 알고 있습니다. 하지만 이름을 알 수 없거나 다른 사람이 디스크를 만든 경우 az disk list
를 실행하여 이름을 찾을 수 있습니다.
az disk list
명령을 실행하여 리소스 그룹의 관리 디스크 목록을 인쇄합니다. 동일한 리소스 그룹에 여러 VM이 있는 경우 이 목록에는 다른 디스크가 포함될 수 있습니다.az disk list \ --query '[*].{Name:name,Gb:diskSizeGb,Tier:sku.tier}' \ --output table
uploadDataDisk1이라는 디스크를 확인합니다.
Name Tier ---------------------------------------------------------- ------- support-web-vm01_OsDisk_1_a7c59897dfda42dfab2edf4933e713a6 Premium uploadDataDisk1 Premium
다음
az vm deallocate
명령을 실행하고 VM의 할당을 중지하고 취소합니다. 이 명령은 VM을 삭제하지 않고, 가상 디스크를 수정할 수 있는 상태로 만듭니다.az vm deallocate --name support-web-vm01
az disk update
명령을 실행하여 디스크 크기를 128GB로 조정합니다.az disk update --name uploadDataDisk1 --size-gb 128
az vm start
명령을 실행하여 VM을 다시 시작합니다.az vm start --name support-web-vm01
아직 끝나지 않았습니다. VM의 운영 체제는 아직 추가 공간을 사용할 수 없습니다. 다음 섹션에서 이 상황을 다루겠습니다.
디스크 파티션 확장
마지막 단계는 사용 가능한 공간에 대해 OS에 알려주는 것입니다. 앞서 수행한 분할 및 서식 단계와 마찬가지로, 이 프로세스는 실제, 온-프레미스, 디스크를 확장하기 위해 수행하는 것과 동일합니다.
VM에 대해 고정된 공용 IP 주소를 예약할 수 있지만 기본적으로 VM은 할당이 해제되고 다시 시작되는 경우 새 공용 IP 주소를 받습니다. 다음
az vm show
명령을 실행하여 VM의 새 공용 IP 주소로 Bash 변수를 업데이트합니다.ipaddress=$(az vm show --name support-web-vm01 -d --query [publicIps] -o tsv)
이전에 수행한 대로 SSH를 통해 VM에서
lsblk
를 실행하여 현재 상태를 이해합니다.ssh azureuser@$ipaddress lsblk
디스크
sdc/sdc1
에 크기가 여전히 64GB임을 알 수 있습니다.NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdb 8:16 0 7G 0 disk └─sdb1 8:17 0 7G 0 part /mnt sdc 8:32 0 128G 0 disk └─sdc1 8:33 0 64G 0 part /uploads sda 8:0 0 30G 0 disk ├─sda14 8:14 0 4M 0 part ├─sda15 8:15 0 106M 0 part /boot/efi └─sda1 8:1 0 29.9G 0 part /
디스크를 초기화하기 위해 이전에 수행한 작업과 마찬가지로 다음
az vm extension set
명령을 실행하여 VM의 OS에 미리 만든 Bash 스크립트를 실행하여 새로 사용할 수 있는 공간에 대해 알려줍니다.az vm extension set \ --vm-name support-web-vm01 \ --name customScript \ --publisher Microsoft.Azure.Extensions \ --settings '{"fileUris":["https://raw.githubusercontent.com/MicrosoftDocs/mslearn-add-and-size-disks-in-azure-virtual-machines/master/resize-data-disk.sh"]}' \ --protected-settings '{"commandToExecute": "./resize-data-disk.sh"}'
명령을 실행하는 동안 원하는 경우 별도의 브라우저 탭에서 Bash 스크립트를 검사할 수 있습니다.
요약하자면 스크립트는 다음을 수행합니다.
/dev/sdc1
디스크를 분리합니다.- 파티션 1의 크기를 128GB로 조정합니다.
- 파티션 일관성을 확인합니다.
- 파일 시스템의 크기를 조정합니다.
- 마지막으로,
/dev/sdc1
드라이브를/uploads
탑재 지점에 다시 탑재합니다.
구성을 확인하려면 SSH를 통해 VM에서
lsblk
를 두 번째로 실행합니다.ssh azureuser@$ipaddress lsblk
이번에는 디스크의 증가된 크기를 수용하기 위해 디스크
sdc/sdc1
이 확장되었습니다.NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdb 8:16 0 7G 0 disk └─sdb1 8:17 0 7G 0 part /mnt sdc 8:32 0 128G 0 disk └─sdc1 8:33 0 119.2G 0 part /uploads sda 8:0 0 30G 0 disk ├─sda14 8:14 0 4M 0 part ├─sda15 8:15 0 106M 0 part /boot/efi └─sda1 8:1 0 29.9G 0 part /
마지막 확인 단계에서는 OS가 올바르게 볼 수 있음을 증명하기 위해 SSH를 통해 VM에서 운영 체제의
df
유틸리티를 실행합니다.ssh azureuser@$ipaddress df -h
드라이브의 크기가 128GB로 표시됩니다.
Filesystem Size Used Avail Use% Mounted on udev 1.7G 0 1.7G 0% /dev tmpfs 345M 9.3M 335M 3% /run /dev/sda1 29G 1.9G 28G 7% / tmpfs 1.7G 0 1.7G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 1.7G 0 1.7G 0% /sys/fs/cgroup /dev/sda15 105M 3.2M 102M 3% /boot/efi /dev/sdb1 6.8G 16M 6.4G 1% /mnt /dev/sdc1 118G 60M 112G 1% /uploads tmpfs 345M 0 345M 0% /run/user/1000