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

EBS 볼륨 크기 수정에 대한 제약 조건

Amazon EBS 볼륨 크기 수정은 블록 데이터 스토리지의 물리 및 산술뿐 아니라 운영 체제 및 파일 시스템 디자이너의 구현 결정에 따라서도 제한됩니다. AWS는 서비스의 안정성을 보호하기 위해 볼륨 크기에 대한 추가 제한을 시행합니다.

서비스로 제공되는 Amazon EBS는 데이터 센터에서 대량으로 배포되는 스토리지를 가상 하드 디스크 드라이브로 추상화합니다. EC2 인스턴스에 설치된 운영 체제에서 연결된 EBS 볼륨은 512바이트 디스크 섹터가 포함된 물리적 하드 디스크 드라이브로 나타납니다. OS는 스토리지 관리 유틸리티를 통해 해당 가상 섹터에 데이터 블록(또는 클러스터)을 할당하는 작업을 관리합니다. 할당은 마스터 부트 레코드(MBR) 또는 GUID 파티션 테이블(GPT)과 같은 볼륨 파티셔닝 체계에 따라 수행되며 설치된 파일 시스템(ext4, NTFS 등)의 기능 내에서 수행됩니다.

EBS는 가상 디스크 섹터에 포함된 데이터를 인식하지 않으며, 섹터의 무결성을 보장할 뿐입니다. 따라서 AWS 작업과 OS 작업은 서로 독립적입니다. 볼륨 크기를 수정할 때는 양쪽의 기능과 제한에 모두 주의하십시오. 예를 들어, EBS 볼륨의 크기를 16TiB까지 증가시킬 수 있지만, OS가 해당 용량을 모두 인식하는지 여부는 자체적인 설계 특성 및 볼륨 파티셔닝 방법에 따라 결정됩니다.

이 단원에서는 사용 가능한 EBS 볼륨 크기를 제한하는 가장 중요한 요인에 대해 설명합니다.

AWS 서비스 제한

Amazon EBS는 현재 16TiB의 최대 볼륨 크기를 지원합니다.

Amazon EC2를 사용하려면 Windows 부트 볼륨에 MBR 파티셔닝을 사용해야 합니다. 파티셔닝 체계 단원에서 설명한 바와 같이, 이 제한으로 인해 부트 볼륨이 2TiB보다 클 수 없습니다. Windows 데이터 볼륨에는 이 제한 사항이 적용되지 않으며 GPT 파티셔닝을 사용할 수 있습니다.

Linux 부트 볼륨은 MBR 또는 GPT일 수 있으며 Linux GPT 부트 볼륨에는 2TiB 제한이 적용되지 않습니다.

파티셔닝 체계

다른 영향 중에서도 특히, 파티셔닝 체계는 단일 볼륨에서 여러 논리적 데이터 블록을 고유하게 주소 지정할 수 있는 방법을 결정합니다. 자세한 정보는 데이터 블록 크기 단원을 참조하십시오. Linux 및 Windows 시스템에서는 마스터 부트 레코드(MBR) 및 GUID 파티션 테이블(GPT)이라는 두 가지 파티셔닝 체계가 공통으로 사용됩니다. 두 체계 간의 중요한 차이점은 다음과 같이 요약될 수 있습니다.

  • MBR

    MBR은 32비트 데이터 구조를 사용하여 블록 주소를 저장합니다. 따라서 각 데이터 블록은 232개의 가능한 정수 중 하나와 매핑됩니다. 주소 지정 가능한 최대 볼륨 크기는 다음과 같은 방법으로 지정됩니다.

    (232 - 1) × 블록 크기 = 주소 지정 가능한 블록 수

    MBR 볼륨의 블록 크기는 관례적으로 512바이트로 제한됩니다. 따라서:

    (232 - 1) × 512바이트 = 2TiB - 512바이트

    MBR 볼륨에 대한 이 2TiB 제한을 증가시키기 위한 엔지니어링 해결 방법은 업계에서 광범위하게 채택되는 방식과 일치하지 않습니다. 따라서 AWS에서 크기가 더 크게 표시되더라도 Linux와 Windows에서는 MBR 볼륨이 2TiB보다 더 큰 크기로 인식되지 않습니다.

  • GPT

    GPT는 64비트 데이터 구조를 사용하여 블록 주소를 저장합니다. 따라서 각 데이터 블록은 264개의 가능한 정수 중 하나와 매핑됩니다. 주소 지정 가능한 최대 볼륨 크기는 다음과 같은 방법으로 지정됩니다.

    (264 - 1) × 블록 크기 = 주소 지정 가능한 블록 수

    GPT 볼륨의 블록 크기는 일반적으로 4,096바이트입니다. 따라서:

    (264 - 1) × 4,096바이트 = 8ZiB - 4,096바이트 = 80억 TiB - 4,096바이트

    실제 컴퓨터 시스템은 이러한 이론적 최대 크기와 비슷한 크기를 지원하지 않습니다. 구현되는 파일 시스템 크기는 현재 ext4의 경우 50TiB 및 NTFS의 경우 256TiB로 제한되며, 이 두 가지 크기는 모두 AWS에서 시행하는 16TiB 제한을 초과합니다.

데이터 블록 크기

최신 하드 드라이브의 데이터 스토리지는 논리적 블록 주소 지정을 통해 관리됩니다. 논리적 블록 주소 지정은 운영 체제가 기본 하드웨어에 대한 많은 지식 없이 논리적 블록에서 데이터를 읽고 쓸 수 있도록 하는 추상적 계층입니다. OS는 스토리지 디바이스를 이용하여 블록을 물리적 섹터에 매핑합니다. EBS는 운영 체제에 512바이트 섹터를 공급하며, 운영 체제는 섹터 크기보다 몇 배 더 큰 데이터 블록을 사용하여 디스크에서 데이터를 읽고 씁니다.

논리 데이터 블록의 업계 기본 크기는 현재 4,096바이트(4KiB)입니다. 특정 워크로드는 더 작거나 더 큰 블록 크기에서 이점을 얻을 수 있기 때문에 파일 시스템은 포맷 중 지정할 수 없는 비 기본 블록 크기를 지원합니다. 비 기본 블록 크기를 사용해야 하는 시나리오는 이 주제의 범위를 벗어나지만, 블록 크기 선택은 볼륨의 스토리지 용량에 영향을 미칩니다. 다음 표에는 스토리지 용량이 블록 크기의 함수로 표시됩니다.

블록 크기 및 결과적인 볼륨 용량

블록 크기 최대 볼륨 크기
4KiB(기본값) 16TiB
8KiB 32TiB
16KiB 64TiB
32KiB 128TiB
64KiB(최대) 256TiB

현재 EBS에서 시행하는 볼륨 크기 제한은 4KiB 데이터 블록에서 지원되는 최대 크기와 같습니다.

요약

다음 표에는 Amazon EBS 가장 일반적으로 사용되는 파일 시스템의 이론적 스토리지 용량과 구현된 스토리지 용량을 요약됩니다.

MBR 및 GPT 볼륨 크기 비교(4,096바이트 블록 크기를 가정할 때 일반적인 파일 시스템)

파티셔닝 체계 최대 주소 지정 가능한 블록 이론적 최대 크기(블록 x 블록 크기) Ext4에서 구현되는 최대 크기* XFS에서 구현되는 최대 크기** NTFS에서 구현되는 최대 크기 EBS에서 지원되는 최대 크기
MBR 232 2TiB 2TiB 2TiB 2TiB 2TiB
GPT 264

8ZiB = 8 ×

10243TiB

1EiB =

10242TiB

(RHEL7에서 인증된 50TiB)

500TiB

(RHEL7에서 인증됨)

256TiB 16TiB

* https://ext4.wiki.kernel.org/index.php/Ext4_Howtohttps://access.redhat.com/solutions/1532

** https://access.redhat.com/solutions/1532

Linux 볼륨에 대한 권장 사항

Linux AMI에서 부팅 볼륨 2TiB(2,048GiB) 이상을 사용하려면 GUID 파티션 테이블(GPT)과 GRUB 2가 필요합니다. 현재 여러 Linux AMI에서도 부팅 볼륨 크기를 최대 2TiB까지만 지원하는 MBR 파티셔닝 체계를 사용하고 있습니다. 인스턴스가 2TiB 이상의 부팅 볼륨에서 부팅되지 않는 경우 사용 중인 AMI의 부팅 볼륨 크기가 2TiB GiB로 제한된 상태일 수 있습니다. 부팅 볼륨이 아닌 볼륨에는 이 Linux 인스턴스에 대한 제한이 적용되지 않습니다. Windows 볼륨에 대한 권장 사항은 Windows 인스턴스용 Amazon EC2 사용 설명서 Windows 볼륨에 대한 권장 사항 단원을 참조하십시오.

부팅 볼륨을 2TiB 이상으로 크기를 조정하기 전에 인스턴스에서 다음 명령을 실행하여 볼륨이 MBR 또는 GPT 파티셔닝을 사용하는지 확인할 수 있습니다.

[ec2-user ~]$ sudo gdisk -l /dev/xvda

GPT 파티셔닝을 사용하는 Amazon Linux 인스턴스는 다음 정보를 반환합니다.

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.

MBR 파티셔닝을 사용하는 SUSE 인스턴스는 다음 정보를 반환합니다.

GPT fdisk (gdisk) version 0.8.8

Partition table scan:
  MBR: MBR only
  BSD: not present
  APM: not present
  GPT: not present