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

EBS 볼륨의 크기 및 구성에 대한 제약

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

다음 섹션에서는 EBS 볼륨의 사용 가능한 크기를 제한하고 EBS 볼륨을 구성하기 위한 권장 사항을 제공하는 가장 중요한 요소에 대해 설명합니다.

스토리지 용량

다음 표에는 4,096바이트 블록 크기를 가정할 때 Amazon EBS 가장 일반적으로 사용되는 파일 시스템의 이론적 스토리지 용량과 구현된 스토리지 용량이 요약되어 있습니다.

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

64ZiB

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

서비스 제한

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

EBS는 가상 디스크 섹터에 포함된 데이터를 인식하지 않으며, 섹터의 무결성을 보장할 뿐입니다. 따라서 AWS 작업과 OS 작업은 서로 독립적입니다. 볼륨 크기를 선택할 때는 다음과 같은 경우의 기능과 한계를 알아 두십시오.

  • EBS는 현재 16TiB의 최대 볼륨 크기를 지원합니다. 즉, EBS 볼륨의 크기를 16TiB까지 만들 수 있지만, OS가 해당 용량을 모두 인식하는지 여부는 자체적인 설계 특성 및 볼륨 파티셔닝 방법에 따라 결정됩니다.

  • Linux 부트 볼륨은 MBR 또는 GPT 파티셔닝 체계를 사용할 수 있습니다. MBR은 최대 2047GiB(2TiB - 1GiB)의 부트 볼륨을 지원합니다. GRUB2의 GPT는 2TiB 이상의 부트 볼륨을 지원합니다. Linux AMI가 MBR를 사용하는 경우 부트 볼륨은 2047GiB으로 제한되지만, 비부트 볼륨은 이러한 제한이 없습니다. 자세한 내용은 Amazon EBS 볼륨을 Linux에서 사용할 수 있도록 만들기 단원을 참조하십시오.

파티셔닝 체계

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

MBR

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

(232 - 1) × Block size = Number of addressable blocks

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

(232 - 1) × 512 bytes = 2 TiB - 512 bytes

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

GPT

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

(264 - 1) × Block size = Number of addressable blocks

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

(264 - 1) × 4,096 bytes
   = 264 x 4,096 bytes - 1 x 4,096 bytes
   = 264 x 212 bytes - 4,096 bytes
   = 270 x 26 bytes - 4,096 bytes
   = 64 ZiB - 4,096 bytes

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

데이터 블록 크기

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

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

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

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