Amazon Elastic Compute Cloud
Benutzerhandbuch für Linux-Instances

Einschränkungen der Größe und Konfiguration eines EBS-Volumes

Die Größe des Amazon EBS-Volumes wird von den physikalischen und arithmetischen Gegebenheiten der Blockdatenspeicherung sowie den Implementierungsentscheidungen der Betriebssystem- und Dateisystemdesigner eingeschränkt. AWS schränkt die Volume-Größe weiter ein, um die Zuverlässigkeit seiner Services zu gewährleisten.

Die folgende Tabelle fasst die theoretischen und implementierten Speicherkapazitäten für die am häufigsten verwendeten Systeme auf Amazon EBS zusammen, ausgehend von einer Blockgröße von 4 096 Bytes.

Partitionierungsschema Maximal adressierbare Blöcke Theoretische max. Größe (Blöcke) Ext4 implementiert max. Größe* XFS implementiert max. Größe** NTFS implementiert max. Größe Max. unterstützt von EBS
MBR 232 2 TiB 2 TiB 2 TiB 2 TiB 2 TiB
GPT 264

8 ZiB = 8 ×

10243 TiB

1 EiB =

10242 TiB

(50 TiB zertifiziert auf RHEL7)

500 TiB

(zertifiziert auf RHEL7)

256 TiB 16 TiB

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

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

In den folgenden Abschnitten werden die wichtigsten Faktoren beschrieben, die die nutzbare Größe eines EBS-Volumes begrenzen. Zudem werden Empfehlungen für die Konfiguration Ihrer EBS-Volumes geboten.

Service-Einschränkungen

Amazon EBS abstrahiert den massiv verteilten Speicher eines Rechenzentrums zu virtuellen Festplattenlaufwerken. Für ein auf einer EC2-Instance installiertes Betriebssystem erscheint ein verbundenes EBS-Volume wie eine physische Festplatte mit 512-Byte-Festplattensektoren. Das Betriebssystem verwaltet die Zuweisung der Datenblöcke (oder Cluster) zu diesen virtuellen Sektoren über seine Speicherverwaltungsvorrichtungen. Die Zuweisung geschieht im Einklang mit einem Volume-Partitionierungsschema, etwa einem Master Boot Record (MBR) oder einer GUID-Partitionstabelle (GPT) und innerhalb der Kapazität des installierten Dateisystems (ext4, NTFS u. dgl.).

EBS berücksichtigt nicht die in den virtuellen Festplattensektoren enthaltenen Daten, sondern sichert lediglich die Integrität der Sektoren. Dies bedeutet, dass AWS- und Betriebssystemaktionen unabhängig voneinander sind. Wenn Sie eine Volume-Größe auswählen, achten Sie auf die Kapazitäten und Einschränkungen beider, wie in den folgenden Fällen:

  • EBS unterstützt derzeit eine maximale Volume-Größe von 16 TiB. Dies bedeutet, dass Sie eine EBS-Volume von bis zu 16 TiB erstellen können, ob das Betriebssystem aber diese gesamte Kapazität erkennt, hängt von dessen eigenen Eigenschaften und von der Partitionierung des Volumes ab.

  • Amazon EC2 erfordert, dass Windows-Startvolumes die MBR-Partitionierung verwenden. Wie in Partitionierungsschemata erläutert, bedeutet dies, dass Startvolumes nicht größer als 2 TiB sein dürfen. Windows-Datenvolumes unterliegen dieser Einschränkung nicht und können GPT-partitioniert werden.

  • Linux-Startvolumes können MBR- oder GPT-partitioniert sein, und Linus-GPT-Volumes unterliegen nicht der 2 TiB-Grenze.

Partitionierungsschemata

Neben anderen Auswirkungen legt das Partitionierungsschema fest, wie viele logische Blöcke in einem einzelnen Volume logisch adressiert werden können. Weitere Informationen finden Sie unter Datenblockgrößen. Die gängigen Partitionierungsschemata sind Master Boot Record (MBR) und GUID-Partitionstabelle (GPT). Die wichtigsten Unterscheide zwischen diesen Schemata können wie folgt zusammengefasst werden.

MBR

MBR verwendet eine 32-Bit-Datenstruktur zum Speichern von Blockadressen. Dies bedeutet, dass jedem Datenblock einer von 232 möglichen Ganzzahlen zugewiesen wird. Die maximal adressierbare Größe eines Volumes ergibt sich aus:

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

Die Blockgröße für MBR-Volumes ist konventionell auf 512 Bytes begrenzt. Daher gilt:

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

Technische Workarounds zur Erhöhung dieser 2 TiB-Grenze für MBR-Volumes haben sich in der Branche nicht allgemein durchgesetzt. Daher erkennen Linux und Windows ein MBR-Volume niemals als größer als 2 TiB an, selbst wenn AWS eine darüber hinausgehende Größe anzeigen.

GPT

GPT verwendet eine 64-Bit-Datenstruktur zum Speichern von Blockadressen. Dies bedeutet, dass jedem Datenblock einer von 264 möglichen Ganzzahlen zugewiesen wird. Die maximal adressierbare Größe eines Volumes ergibt sich aus:

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

Die Blockgröße bei GPT-Volumes ist gewöhnlich 4.096 Bytes. Daher gilt:

(264 - 1) × 4,096 bytes = 8 ZiB - 4,096 bytes = 8 billion TiB - 4,096 bytes

Reale Computersysteme unterstützen dieses theoretische Maximum bei weitem nicht. Die implementierte Dateisystemgröße ist derzeit auf 50 TiB für ext4 und 256 TiB für NTFS beschränkt – beide Werte überschreiten die von AWS erforderte 16 TiB-Grenze.

Datenblockgrößen

Die Datenspeicherung auf einer modernen Festplatte wird über die logische Blockadressierung verwaltet, eine Abstraktionsebene, die dem Betriebssystem ermöglicht, Daten in logischen Blöcken zu lesen und zu schreiben, ohne viel über die zugrunde liegende Hardware wissen zu müssen. Das Betriebssystem erwartet, dass das Speichergerät die Blöcke physischen Sektoren zuordnet. EBS stellt dem Betriebssystem 512-Byte-Sektoren bereit, das zum Lesen und Schreiben von Daten Datenblöcke verwendet, die Vielfachen der Sektorgröße entsprechen.

Die branchenübliche Standardgröße für logische Blöcke liegt derzeit bei 4.096 Bytes (4 KiB). Da bestimmte Arbeitslasten von einer geringeren oder höheren Blockgröße profitieren, unterstützen Dateisysteme Nicht-Standard-Blockgrößen, die bei der Formatierung festgelegt werden können. Szenarien, bei denen Nicht-Standard-Blockgrößen verwendet werden, gehören nicht zu diesem Thema, die Auswahl der Blockgröße hat jedoch Auswirkungen auf die Speicherkapazität des Volumes. Die folgende Tabelle zeigt die Speicherkapazität als Funktion der Blockgröße:

Blockgröße Max. Volumengröße
4 KiB (Standard) 16 TiB
8 KiB 32 TiB
16 KiB 64 TiB
32 KiB 128 TiB
64 KiB (Maximum) 256 TiB

Die von EBS verlangte Begrenzung der Volume-Größe (16 TiB) entspricht derzeit der maximalen Größe, die bei 4 KiB-Datenblöcken möglich ist.