Amazon Elastic Compute Cloud
Linux 인스턴스용 사용 설명서

볼륨 크기 조정 후 Linux 파일 시스템 확장

파일 시스템 관련 명령을– 사용하여 더 큰 새 볼륨에 맞게 파일 시스템의 크기를 조정합니다. 이 명령은 확장할 볼륨이 루트 볼륨인 경우에도 작동합니다. ext2, ext3 및 ext4 파일 시스템의 경우 이 명령은 resize2fs입니다. XFS 파일 시스템의 경우 이 명령은 xfs_growfs입니다. 다른 파일 시스템에 대한 확장 지침은 해당 파일 시스템의 설명서를 참조하십시오.

사용 중인 파일 시스템을 모르는 경우 file -s 명령을 사용하여 디바이스에 대한 파일 시스템 데이터를 나열합니다. 다음 예는 Linux ext4 파일 시스템과 SGI XFS 파일 시스템을 보여줍니다.

[ec2-user ~]$ sudo file -s /dev/xvd* /dev/xvda1: Linux rev 1.0 ext4 filesystem data ... /dev/xvdf: SGI XFS filesystem data ...

참고

확장하려는 볼륨이 파티셔닝된 경우 파일 시스템의 크기를 조정하려면 파티션의 크기를 늘려야 합니다. 이때 추가 파티션을 할당할 수도 있습니다. 자세한 정보는 Linux 파티션 확장을 참조하십시오.

볼륨이 Optimizing 상태가 되자마자 파일 시스템 크기 조정을 시작할 수 있습니다.

중요

중요한 데이터가 저장된 파일 시스템을 확장하려면 먼저 변경 내용을 롤백해야 할 경우를 대비하여 파일 시스템이 저장된 볼륨 스냅샷을 생성하는 것이 바람직합니다. EBS 스냅샷에 대한 자세한 정보는 Amazon EBS 스냅샷 생성단원을 참조하십시오.

Windows 파일 시스템 확장에 대한 자세한 정보는 Windows 인스턴스용 Amazon EC2 사용 설명서볼륨 크기 조정 후 Windows 파일 시스템 확장 단원을 참조하십시오.

볼륨 파티션의 크기를 조정해야 하는지 확인하려면

  • lsblk 명령을 사용하여 인스턴스에 연결된 블록 디바이스를 나열합니다. 아래 예에서는 /dev/xvda, /dev/xvdb, /dev/xvdf 등 세 개의 볼륨이 표시되어 있습니다.

    [ec2-user ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 30G 0 disk └─xvda1 202:1 0 30G 0 part / xvdb 202:16 0 30G 0 disk /mnt xvdf 202:80 0 35G 0 disk └─xvdf1 202:81 0 8G 0 part

    루트 볼륨 /dev/xvda1/dev/xvda 상의 파티션입니다. 두 볼륨의 크기는 모두 30GiB입니다. 이 경우 파티션이 디바이스의 전체 공간을 차지하므로 크기를 조정할 필요가 없습니다.

    /dev/xvdb 볼륨은 파티션되지 않았으므로 크기를 조정할 필요가 없습니다.

    그러나 /dev/xvdf1은 35GiB 디바이스의 8GiB 파티션이고 볼륨에 다른 파티션이 없습니다. 이 경우 볼륨의 나머지 공간을 사용하려면 파티션의 크기를 조정해야 합니다. 파티션의 크기를 조정한 후 파티션의 전체 공간을 차지하도록 파일 시스템을 확장할 수 있습니다.

Linux 파티션 크기를 조정하려면

  1. SSH 클라이언트를 사용하여 Linux 인스턴스에 로그인합니다. Linux 인스턴스 연결에 대한 자세한 정보는 SSH를 사용하여 Linux 인스턴스에 연결을 참조하십시오.

  2. df -h 명령을 사용하여 파일 시스템의 기존 디스크 공간 사용량을 보고합니다. 이 새로운 예제에서 /dev/xvda1 블록 디바이스는 이미 35GiB로 확장되었지만 운영 체제는 여전히 원래 8GiB ext4 파일 시스템만 볼 수 있습니다. 마찬가지로 /dev/xvdf 블록 디바이스는 35GiB로 확장되었으나 운영 체제는 여전히 원래의 1GiB XFS 파일 시스템만 볼 수 있습니다.

    [ec2-user ~]$ df -h Filesystem Size Used Avail Use% Mounted on /dev/xvda1 8.0G 943M 6.9G 12% / tmpfs 1.9G 0 1.9G 0% /dev/shm /dev/xvdf 1014M 33M 982M 4% /mnt
  3. growpart를 사용하여 수정된 파티션을 확장합니다. 디바이스 이름과 파티션 번호를 구분하는 공백을 추가해야 합니다.

    $sudo growpart /dev/xvdf 1 CHANGED: disk=/dev/xvdf partition=1: start=4096 old: size=16773086,end=16777182 new: size=73396190,end=73400286

    lsblk 출력을 보면 파티션 /dev/xvdf1이 이제 볼륨 /dev/xvdf에서 사용 가능한 공간을 채웁니다.

    [ec2-user ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT ... xvdf 202:80 0 35G 0 disk └─xvdf1 202:81 0 35G 0 part

Linux 파일 시스템을 확장하려면

  1. 파일 시스템 관련 명령을 사용하여 새 볼륨 용량에 맞게 파일 시스템의 크기를 조정합니다.

    Linux ext2, ext3 또는 ext4 파일 시스템의 경우 다음 명령을 사용합니다. 여기에서 확장할 디바이스 이름을 대체합니다.

    [ec2-user ~]$ sudo resize2fs /dev/xvdf1 resize2fs 1.42.3 (14-May-2012) old_desc_blocks = 1, new_desc_blocks = 3 The filesystem on /dev/xvdf1 is now 9174523 blocks long.

    XFS 파일 시스템의 경우, 먼저 XFS 사용자 공간 도구를 설치합니다.

    [ec2-user ~]$ sudo yum install xfsprogs

    그리고 다음 명령을 사용합니다. 여기에서 파일 시스템의 마운트 지점을 대체합니다. XFS 파일 시스템을 마운트해야 크기를 조정할 수 있습니다.

    [ec2-user ~]$ sudo xfs_growfs -d /mnt meta-data=/dev/xvdf isize=256 agcount=4, agsize=65536 blks = sectsz=512 attr=2 data = bsize=4096 blocks=262144, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 log =internal bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changed from 262144 to 26214400

    참고

    xfsctl failed: Cannot allocate memory 오류가 표시되는 경우 인스턴스에서 Linux 커널을 업데이트해야 할 수 있습니다. 자세한 정보는 해당 운영 체제 설명서를 참조하십시오.

    The filesystem is already nnnnnnn blocks long. Nothing to do! 오류가 발생할 경우 Linux 파티션 확장을 참조하십시오.

  2. df -h 명령을 사용하여 기존 파일 시스템 디스크 공간 사용을 보고합니다. 이 예에서는 ext4 파일 시스템이 70GiB로, XFS 파일 시스템이 100GiB로 표시됩니다.

    # df -h Filesystem Size Used Avail Use% Mounted on /dev/xvda1 70G 951M 69G 2% / tmpfs 1.9G 0 1.9G 0% /dev/shm /dev/xvdf 100G 45M 100G 1% /mnt

작은 정보

볼륨에서 증가된 사용 가능 공간이 시스템에 보이지 않는 경우 다음과 같이 해 보십시오.