이 문서에서는 EOL(수명 종료) 상태에 가까워진 Linux 배포판인 CentOS를 참조하세요. 이에 따라 사용 및 플랜을 고려하세요. 자세한 내용은 CentOS 수명 종료 지침을 참조하세요.
적용 대상: ✔️ Linux VM ✔️ 유연한 확장 집합
이 문서에서는 Linux VM(가상 머신)에서 관리 디스크를 확장하는 방법에 대해 설명합니다. 추가 스토리지 공간을 제공하기 위해 데이터 디스크를 추가할 수 있고, 기존 데이터 디스크를 확장할 수도 있습니다. OS(운영 체제)에 대한 기본 가상 하드 디스크 크기는 Azure의 Linux VM에서 일반적으로 30GB입니다. 이 문서에서는 OS 디스크 또는 데이터 디스크 확장을 다룹니다. 스트라이프 볼륨의 크기는 확장할 수 없습니다.
OS 디스크의 최대 용량은 4,095GiB입니다. 그러나 많은 운영 체제가 기본적으로 MBR(마스터 부트 레코드)로 분할되어 있습니다. MBR은 사용 가능한 크기를 2TiB로 제한합니다. 2TiB 이상이 필요한 경우 데이터 디스크를 만들어 연결하여 데이터 스토리지에 사용합니다. OS 디스크에 데이터를 저장하고 추가 공간이 필요한 경우 GPT(GUID 파티션 테이블)로 변환합니다.
Warning
항상 파일 시스템이 정상 상태이고 디스크 파티션 테이블 형식(GPT 또는 MBR)이 새 크기를 지원하는지 확인하고, 디스크 크기 확장 작업을 수행하기 전에 데이터를 백업해야 합니다. 자세한 내용은 Azure Backup 빠른 시작을 참조하세요.
운영 체제 내에서 Azure 데이터 디스크 개체 식별
VM에 여러 데이터 디스크가 있는 경우 데이터 디스크를 확장하면 Azure LUN을 Linux 디바이스와 연결하기 어려울 수 있습니다. OS 디스크를 확장해야 하는 경우 Azure Portal에서 OS 디스크로 명확하게 레이블이 지정됩니다.
먼저 df 명령을 사용하여 디스크 사용률, 탑재 지점 및 디바이스 간의 관계를 식별합니다.
df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda1 xfs 97G 1.8G 95G 2% /
<truncated>
/dev/sdd1 ext4 32G 30G 727M 98% /opt/db/data
/dev/sde1 ext4 32G 49M 30G 1% /opt/db/log
예를 들어 /opt/db/data 파일 시스템이 거의 꽉 찼으며 /dev/sdd1 파티션에 있는 것을 볼 수 있습니다. df의 출력에는 디스크가 디바이스 경로 또는 fstab의(기본 설정) UUID로 탑재되었는지 여부에 관계없이 디바이스 경로가 표시됩니다. 또한 파일 시스템의 유형을 나타내는 유형 열을 기록해 둡니다. 이는 나중에 중요합니다.
이제 /dev/disk/azure/scsi1의 콘텐츠를 조사하여 /dev/sdd와 관련된 LUN을 찾습니다. 다음 ls 명령의 출력은 Azure Portal을 볼 때 Linux OS 내에서 /dev/sdd로 알려진 디바이스가 LUN1에 있음을 보여 줍니다.
az vm start를 사용하여 VM을 시작합니다. 다음 예제에서는 리소스 그룹 myResourceGroup에서 myVM이라는 VM을 시작합니다.
az vm start --resource-group myResourceGroup --name myVM
디스크 파티션 및 파일 시스템 확장
참고 항목
파티션 크기를 조정하는 데 사용할 수 있는 많은 도구가 있지만 이 문서의 나머지 부분에서 자세히 설명하는 도구는 cloud-init와 같이 자동화된 특정 프로세스에서 사용하는 도구와 동일합니다. 여기서 설명한 대로 fdisk와 같은 일부 도구의 이전 버전에서는 GPT를 지원하지 않았기 때문에 gdisk 패키지가 포함된 growpart 도구는 GPT(GUID 파티션 테이블) 디스크와 일반적으로 호환됩니다.
변경된 디스크 크기 검색
앞에서 언급한 절차를 사용하여 가동 중지 시간 없이 데이터 디스크를 확장한 경우 디스크 크기는 디바이스를 다시 검사할 때까지 변경되지 않으며, 이는 일반적으로 부팅 프로세스 중에만 발생합니다. 이러한 다시 검사는 필요 시 다음 절차에 따라 호출할 수 있습니다. 이 예에서는 이 문서의 방법을 사용하여 데이터 디스크가 현재 /dev/sda이고 크기가 256GiB에서 512GiB로 조정되었음을 발견했습니다.
fdisk -l /dev/sda의 첫 번째 출력 줄에서 현재 인식된 크기를 식별합니다.
sudo fdisk -l /dev/sda
Disk /dev/sda: 256 GiB, 274877906944 bytes, 536870912 sectors
Disk model: Virtual Disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x43d10aad
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 536870878 536868831 256G 83 Linux
이 디바이스에 대해 다시 검색한 파일에 1 문자를 삽입합니다. sda에 대한 참조를 기록해 둡니다. 다른 디스크 디바이스의 크기를 조정한 경우 sda에 대한 참조가 변경됩니다.
echo 1 | sudo tee /sys/class/block/sda/device/rescan
새 디스크 크기가 인식되었는지 확인합니다.
sudo fdisk -l /dev/sda
Disk /dev/sda: 512 GiB, 549755813888 bytes, 1073741824 sectors
Disk model: Virtual Disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x43d10aad
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 536870878 536868831 256G 83 Linux
이 문서의 나머지 부분에서는 OS 수준에서 볼륨 크기를 늘리는 절차에 대한 예제에 OS 디스크를 사용합니다. 확장된 디스크가 데이터 디스크인 경우 데이터 디스크 디바이스를 식별하는 데 이전 지침을 사용하고, 필요에 따라 데이터 디스크 디바이스(예: /dev/sda), 파티션 번호, 볼륨 이름, 탑재 지점 및 파일 시스템 형식 대체를 지침으로 따릅니다.
모든 Linux OS 지침은 일반 지침으로 간주해야 하며 모든 배포에 적용될 수 있지만, 일반적으로 명명된 마켓플레이스 게시자의 규칙과 일치합니다. Red Hat 문서에서 CentOS 및 Oracle과 같은 Red Hat 호환성을 요구하는 배포판에 대한 패키지 요구 사항을 참조하세요.
OS 디스크의 크기 늘리기
다음 지침은 보증된 Linux 보증 배포판에 적용됩니다.
참고 항목
계속하기 전에 VM의 전체 백업 복사본을 만들거나 최소한 OS 디스크의 스냅샷을 만드세요.
루트 파티션이 포함된 LVM VG(볼륨 그룹)에 사용 가능한 공간이 있는지 확인합니다. 사용 가능한 공간이 있으면 12단계로 건너뜁니다.
vgdisplay rootvg
--- Volume group ---
VG Name rootvg
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 7
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 6
Open LV 6
Max PV 0
Cur PV 1
Act PV 1
VG Size <63.02 GiB
PE Size 4.00 MiB
Total PE 16132
Alloc PE / Size 6400 / 25.00 GiB
Free PE / Size 9732 / <38.02 GiB
VG UUID lPUfnV-3aYT-zDJJ-JaPX-L2d7-n8sL-A9AgJb
이 예제에서 Free PE / Size 줄은 디스크 크기가 이미 조정되어 볼륨 그룹에 38.02GB의 사용 가능한 공간이 있음을 보여 줍니다.
cloud-utils-growpart 패키지를 설치하여 OS 디스크의 크기와 GPT 디스크 레이아웃의 gdisk 처리기를 늘리는 데 필요한 growpart 명령을 제공합니다. 이 패키지는 대부분의 마켓플레이스 이미지에 미리 설치되어 있습니다.
yum install cloud-utils-growpart gdisk
RHEL/CentOS 8.x VM에서는 yum 대신 dnf 명령을 사용할 수 있습니다.
pvscan 명령을 사용하여 rootvg라는 볼륨 그룹에 LVM PV(물리적 볼륨) 또는 볼륨이 저장된 디스크 및 파티션을 파악합니다. 대괄호([ 및 ]) 사이에 나열된 크기와 사용 가능한 공간을 확인합니다.
필요한 크기만큼 LV를 확장합니다. 볼륨 그룹에서 전체가 사용 가능한 공간일 필요는 없습니다. 다음 예제에서는 다음 명령을 사용하여 /dev/mapper/rootvg-rootlv 크기를 2GB에서 12GB로 크기 조정합니다(10GB 증가). 이 명령은 LV의 파일 시스템 크기도 조정합니다.
확인을 위해 먼저 gdisk를 사용하여 sda 디스크의 파티션 테이블을 나열합니다. 이 예제에서는 파티션 2의 크기가 29.0GiB인 48.0GB 디스크를 살펴봅니다. Azure Portal에서 디스크가 30GB에서 48GB로 확장되었습니다.
gdisk -l /dev/sda
GPT fdisk (gdisk) version 0.8.10
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Disk /dev/sda: 100663296 sectors, 48.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 78CDF84D-9C8E-4B9F-8978-8C496A1BEC83
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 62914526
Partitions will be aligned on 2048-sector boundaries
Total free space is 6076 sectors (3.0 MiB)
Number Start (sector) End (sector) Size Code Name
1 1026048 2050047 500.0 MiB 0700
2 2050048 62912511 29.0 GiB 0700
14 2048 10239 4.0 MiB EF02
15 10240 1024000 495.0 MiB EF00 EFI System Partition
growpart 명령을 사용하여 루트의 파티션(이 경우 sda2)을 확장합니다. 이 명령을 사용하면 디스크의 모든 인접 공간을 사용하도록 파티션이 확장됩니다.
이제 다시 gdisk를 사용하여 새 파티션 테이블을 출력합니다. 현재 파티션 2의 크기는 47.0GiB입니다.
gdisk -l /dev/sda
GPT fdisk (gdisk) version 0.8.10
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Disk /dev/sda: 100663296 sectors, 48.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 78CDF84D-9C8E-4B9F-8978-8C496A1BEC83
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 100663262
Partitions will be aligned on 2048-sector boundaries
Total free space is 4062 sectors (2.0 MiB)
Number Start (sector) End (sector) Size Code Name
1 1026048 2050047 500.0 MiB 0700
2 2050048 100663261 47.0 GiB 0700
14 2048 10239 4.0 MiB EF02
15 10240 1024000 495.0 MiB EF00 EFI System Partition
xfs_growfs를 사용하여 파티션의 파일 시스템을 확장합니다. 이는 표준 마켓플레이스에서 생성한 RedHat 시스템에 적합합니다.