Amazon EBS 볼륨 크기 조정 후 파일 시스템 확장 - Amazon EBS

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

EBS 볼륨 크기 증가 후 파일 시스템을 새롭게 더 큰 크기로 확장하려면 파티션과 파일 시스템을 확장해야 합니다. 볼륨이 optimizing 상태가 되자마자 이 작업을 수행할 수 있습니다.

시작하기 전 준비 사항

참고

다음과 같은 지침에서는 Linux용 XFSExt4 파일 시스템을 확장하는 프로세스를 안내합니다. 다른 파일 시스템을 확장하는 방법에 대한 자세한 내용은 해당 설명서를 참조하세요.

볼륨에 파티션이 있으면 파티션을 먼저 확장해야 Linux에서 파일 시스템을 확장할 수 있습니다.

EBS 볼륨의 파일 시스템 확장

크기가 조정된 볼륨의 파일 시스템을 확장하려면 다음 절차를 따르세요.

디바이스 및 파티션 이름 지정은 Xen 인스턴스와 Nitro System에 구축된 인스턴스에 따라 다릅니다. 인스턴스가 Xen 기반인지 Nitro 기반인지 확인하려면 다음과 같이 describe-instance-types AWS CLI 명령을 사용합니다.

[ec2-user ~]$ aws ec2 describe-instance-types --instance-type instance_type --query "InstanceTypes[].Hypervisor"

nitro는 인스턴스가 Nitro 기반임을 나타냅니다. xen은 인스턴스가 Xen 기반임을 나타냅니다.

EBS 볼륨의 파일 시스템을 확장하려면
  1. 인스턴스에 연결합니다.

  2. 필요한 경우 파티션 크기를 조정합니다. 그렇게 하려면 다음을 수행하세요.

    1. 볼륨에 파티션이 있는지 확인합니다. lsblk 명령을 사용합니다.

      Nitro instance example

      다음 예제 출력에서 루트 볼륨(nvme0n1)에는 2개의 파티션(nvme0n1p1nvme0n1p128)이 있는 반면 추가 볼륨(nvme1n1)에는 파티션이 없습니다.

      [ec2-user ~]$ sudo lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme1n1 259:0 0 30G 0 disk /data nvme0n1 259:1 0 16G 0 disk └─nvme0n1p1 259:2 0 8G 0 part / └─nvme0n1p128 259:3 0 1M 0 part
      Xen instance example

      다음 예제 출력에서 루트 볼륨(xvda)에는 1개의 파티션(xvda1)이 있는 반면 추가 볼륨(xvdf)에는 파티션이 없습니다.

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

      볼륨에 파티션이 있으면 다음 단계(2b)의 절차를 계속 진행합니다. 볼륨에 파티션이 없으면 2b, 2c 및 2d 단계를 건너뛰고 3단계의 절차를 계속 진행합니다.

      문제 해결 도움말

      명령 출력에 볼륨이 표시되지 않으면 볼륨이 인스턴스에 연결되어 있고 포맷 및 탑재되었는지 확인합니다.

    2. 파티션을 확장해야 하는지 여부를 확인합니다. 이전 단계의 lsblk 명령 출력에서 파티션 크기와 볼륨 크기를 비교합니다.

      파티션 크기가 볼륨 크기보다 작은 경우 다음 단계를 계속합니다. 파티션 크기가 볼륨 크기와 같으면 파티션을 확장할 수 없습니다.

      문제 해결 도움말

      볼륨이 여전히 원래 크기를 반영하는 경우 볼륨 수정이 성공했는지 확인합니다.

    3. 파티션을 확장합니다. growpart 명령을 사용하여 디바이스 이름과 파티션 번호를 지정합니다.

      Nitro instance example

      파티션 번호는 p 뒤에 오는 숫자입니다. 예를 들어 nvme0n1p1의 경우 파티션 번호는 1입니다. nvme0n1p128의 경우 파티션 번호는 128입니다.

      nvme0n1p1이라는 파티션을 확장하려면 다음 명령을 사용합니다.

      중요

      디바이스 이름(nvme0n1)과 파티션 번호(1) 사이의 공백에 유의하세요.

      [ec2-user ~]$ sudo growpart /dev/nvme0n1 1
      Xen instance example

      파티션 번호는 디바이스 이름 뒤의 번호입니다. 예를 들어 xvda1의 경우 파티션 번호는 1입니다. xvda128의 경우 파티션 번호는 128입니다.

      xvda1이라는 파티션을 확장하려면 다음 명령을 사용합니다.

      중요

      디바이스 이름(xvda)과 파티션 번호(1) 사이의 공백에 유의하세요.

      [ec2-user ~]$ sudo growpart /dev/xvda 1
      문제 해결 팁
      • mkdir: cannot create directory ‘/tmp/growpart.31171’: No space left on device FAILED: failed to make temp dir: 크기 조정을 수행하는 데 필요한 임시 디렉터리를 생성하기 위해 볼륨에 여유 디스크 공간이 부족함을 나타냅니다. 디스크 공간을 확보한 다음 다시 시도합니다.

      • must supply partition-number: 잘못된 파티션을 지정했음을 나타냅니다. lsblk 명령을 사용하여 파티션 이름을 확인하고 디바이스 이름과 파티션 번호 사이에 공백을 입력해야 합니다.

      • NOCHANGE: partition 1 is size 16773087. it cannot be grown: 파티션이 이미 전체 볼륨을 확장하고 확장할 수 없음을 나타냅니다. 볼륨 수정이 성공했는지 확인합니다.

    4. 파티션이 확장되었는지 확인합니다. lsblk 명령을 사용합니다. 이제 파티션 크기가 볼륨 크기와 같아야 합니다.

      Nitro instance example

      다음 예제 출력은 볼륨(nvme0n1)과 파티션(nvme0n1p1)이 동일한 크기(16 GB)임을 보여줍니다.

      [ec2-user ~]$ sudo lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme1n1 259:0 0 30G 0 disk /data nvme0n1 259:1 0 16G 0 disk └─nvme0n1p1 259:2 0 16G 0 part / └─nvme0n1p128 259:3 0 1M 0 part
      Xen instance example

      다음 예제 출력은 볼륨(xvda)과 파티션(xvda1)이 동일한 크기(16 GB)임을 보여줍니다.

      [ec2-user ~]$ sudo lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 16G 0 disk └─xvda1 202:1 0 16G 0 part / xvdf 202:80 0 24G 0 disk
  3. 파일 시스템을 확장합니다.

    1. 확장해야 하는 파일 시스템의 이름, 크기, 유형 및 탑재 지점을 가져옵니다. df -hT 명령을 사용합니다.

      Nitro instance example

      다음 예제 출력은 /dev/nvme0n1p1 파일 시스템의 크기가 8GB이고 유형이 xfs이며 탑재 지점이 /임을 보여줍니다.

      [ec2-user ~]$ df -hT Filesystem Type Size Used Avail Use% Mounted on /dev/nvme0n1p1 xfs 8.0G 1.6G 6.5G 20% / /dev/nvme1n1 xfs 8.0G 33M 8.0G 1% /data ...
      Xen instance example

      다음 예제 출력은 /dev/xvda1 파일 시스템의 크기가 8GB이고 유형이 ext4이며 탑재 지점이 /임을 보여줍니다.

      [ec2-user ~]$ df -hT Filesystem Type Size Used Avail Use% Mounted on /dev/xvda1 ext4 8.0G 1.9G 6.2G 24% / /dev/xvdf1 xfs 24.0G 45M 8.0G 1% /data ...
    2. 파일 시스템을 확장하는 명령은 파일 시스템 유형에 따라 다릅니다. 이전 단계에서 기록한 파일 시스템 유형에 따라 다음 올바른 명령을 선택합니다.

      • [XFS 파일 시스템] xfs_growfs 명령을 사용하여 이전 단계에서 기록한 파일 시스템의 탑재 지점을 지정합니다.

        Nitro and Xen instance example

        예를 들어 /에 탑재된 파일 시스템을 확장하려면 다음 명령을 사용합니다.

        [ec2-user ~]$ sudo xfs_growfs -d /
        문제 해결 팁
        • xfs_growfs: /data is not a mounted XFS filesystem: 잘못된 탑재 지점을 지정했거나 파일 시스템이 XFS가 아님을 나타냅니다. 탑재 지점과 파일 시스템 유형을 확인하려면 df -hT 명령을 사용합니다.

        • data size unchanged, skipping: 파일 시스템이 이미 전체 볼륨을 확장하고 있음을 나타냅니다. 볼륨에 파티션이 없는 경우 볼륨 수정이 성공했는지 확인합니다. 볼륨에 파티션이 있는 경우 2단계에서 설명한 대로 파티션이 확장되었는지 확인합니다.

      • [Ext4 파일 시스템] resize2fs 명령을 사용하여 이전 단계에서 기록한 파일 시스템의 이름을 지정합니다.

        Nitro instance example

        예를 들어 /dev/nvme0n1p1이라는 이름으로 탑재된 파일 시스템을 확장하려면 다음 명령을 사용합니다.

        [ec2-user ~]$ sudo resize2fs /dev/nvme0n1p1
        Xen instance example

        예를 들어 /dev/xvda1이라는 이름으로 탑재된 파일 시스템을 확장하려면 다음 명령을 사용합니다.

        [ec2-user ~]$ sudo resize2fs /dev/xvda1
        문제 해결 팁
        • resize2fs: Bad magic number in super-block while trying to open /dev/xvda1: 파일 시스템이 Ext4가 아님을 나타냅니다. 탑재 지점과 파일 시스템 유형을 확인하려면 df -hT 명령을 사용합니다.

        • open: No such file or directory while opening /dev/xvdb1: 잘못된 파티션을 지정했음을 나타냅니다. 파티션을 확인하려면 df -hT 명령을 사용합니다.

        • The filesystem is already 3932160 blocks long. Nothing to do!: 파일 시스템이 이미 전체 볼륨을 확장하고 있음을 나타냅니다. 볼륨에 파티션이 없는 경우 볼륨 수정이 성공했는지 확인합니다. 볼륨에 파티션이 있는 경우 2단계에서 설명한 대로 파티션이 확장되었는지 확인합니다.

      • [기타 파일 시스템] 사용 중인 파일 시스템의 설명서에서 지침을 참조하세요.

    3. 파일 시스템이 확장되었는지 확인합니다. df -hT 명령을 사용하여 파일 시스템 크기가 볼륨 크기와 같은지 확인합니다.

Windows 인스턴스에서 파일 시스템을 확장하려면 다음과 같은 방법 중 하나를 사용합니다.

Disk Management utility
디스크 관리를 사용하여 파일 시스템을 확장하려면
  1. 중요한 데이터가 저장된 파일 시스템을 확장하려면 먼저 변경 내용을 롤백해야 할 경우를 대비하여 파일 시스템이 저장된 볼륨 스냅샷을 생성하는 것이 바람직합니다. 자세한 내용은 Amazon EBS 스냅샷 생성 섹션을 참조하세요.

  2. 원격 데스크톱을 사용하여 Windows 인스턴스에 로그인합니다.

  3. [실행(Run)] 대화 상자에 diskmgmt.msc를 입력하고 Enter 키를 누릅니다. 디스크 관리 유틸리티가 열립니다.

    Windows Server 디스크 관리 유틸리티
  4. 디스크 관리(Disk Management) 메뉴에서 작업, 디스크 다시 스캔(Rescan Disks)을 선택합니다.

  5. 확장된 드라이브를 오른쪽 클릭하여 컨텍스트 메뉴를 열고 볼륨 확장(Extend Volume)을 선택합니다.

    참고

    다음과 같은 경우 [볼륨 확장]이 비활성화(회색으로 표시)될 수 있습니다.

    • 할당되지 않은 공간이 드라이브에 인접하지 않습니다. 할당되지 않은 공간이 확장할 드라이브의 오른쪽에 인접해야 합니다.

    • 볼륨은 마스터 부트 레코드(MBR) 파티션 스타일을 사용하며 이미 크기가 2TB입니다. MBR을 사용하는 볼륨의 크기는 2TB를 초과할 수 없습니다.

    Windows Server 디스크 관리 유틸리티
  6. Extend Volume(볼륨 확장) 마법사에서 다음을 선택합니다. MB 단위로 공간 크기 선택(Select the amount of space in MB)에 볼륨 확장에 적용할 메가바이트 수를 입력합니다. 일반적으로 최대 사용 가능한 공간을 설정합니다. 선택(Selected) 아래에 강조된 텍스트는 추가되는 공간의 양이며, 볼륨의 최종 크기가 아닙니다. 마법사를 완료합니다.

    Windows Server 볼륨 확장 마법사
  7. AWS NVMe 드라이버가 없는 인스턴스에서 NVMe 볼륨의 크기를 늘릴 경우 Windows에서 새 볼륨의 크기를 확인할 수 있도록 인스턴스를 재부팅해야 합니다. AWS NVMe 드라이버 설치에 대한 자세한 내용은 Windows 인스턴스의 AWS NVMe 드라이버를 참조하세요.

PowerShell

PowerShell을 사용하여 Windows 파일 시스템을 확장하려면 다음 절차를 따릅니다.

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

  2. 원격 데스크톱을 사용하여 Windows 인스턴스에 로그인합니다.

  3. 관리자 권한으로 PowerShell을 실행합니다.

  4. Get-Partition 명령을 실행합니다. PowerShell은 각 파티션에 해당하는 파티션 번호, 드라이브 문자, 오프셋, 크기 및 유형을 반환합니다. 확장할 파티션의 드라이브 문자를 확인해 둡니다.

  5. 다음 명령을 실행하여 디스크를 다시 검색합니다.

    "rescan" | diskpart
  6. <drive-letter> 대신 4단계에서 확인한 드라이브 문자를 사용하여 다음 명령을 실행합니다. PowerShell은 파티션의 최소 및 최대 허용 크기를 바이트 단위로 반환합니다.

    Get-PartitionSupportedSize -DriveLetter <drive-letter>
  7. 파티션을 지정된 용량으로 확장하려면 <size> 대신 볼륨의 새 크기를 입력하여 다음 명령을 실행합니다. 예를 들어 KB, MBGB로 크기(예: 50GB)를 입력할 수 있습니다.

    Resize-Partition -DriveLetter <drive-letter> -Size <size>

    파티션을 사용 가능한 최대 크기로 확장하려면 다음 명령을 실행합니다.

    Resize-Partition -DriveLetter <drive-letter> -Size $(Get-PartitionSupportedSize -DriveLetter <drive-letter>).SizeMax

    다음 PowerShell 명령은 파일 시스템을 특정 크기로 확장하기 위한 전체 명령 및 응답 흐름을 보여줍니다.

    PowerShell을 사용하여 파티션 확장 - 특정

    다음 PowerShell 명령은 파일 시스템을 사용 가능한 최대 크기로 확장하기 위한 전체 명령 및 응답 흐름을 보여줍니다.

    PowerShell을 사용하여 파티션 확장 - 최대