ATA over Ethernet

Netzwerkprotokoll

ATA over Ethernet (AoE) ist ein von der Firma Brantley Coile entwickeltes Netzwerkprotokoll für den Zugriff auf Speichergeräte (in der Regel Festplatten) über ein Ethernet-Computernetzwerk. Es verwendet dazu das ATA-Protokoll.

Schichtaufbau bei ATA und iSCSI

ATA over Ethernet überträgt die Daten in Form von Ethernet-Frames und verzichtet auf die Verwendung höherstehender Protokolle wie IP, UDP oder TCP. Die von AoE übertragenen Ethernet-Frames können das lokale Netzwerksegment nicht verlassen, weshalb der Einsatz von AoE vorwiegend auf lokale Speichernetze (Storage Area Networks) begrenzt ist. AoE ist technisch einfacher als iSCSI, welches zwar ebenfalls über Netzwerk, aber über höhere Schichten transportiert wird.

Damit wird der größte Unterschied von AoE zu iSCSI sichtbar: AoE ist nur lokal (geswitcht) nutzbar, iSCSI dagegen kann grundsätzlich in andere Netzwerke geroutet werden, wenngleich diese Möglichkeit in der Praxis kaum genutzt wird. Durch den Verzicht auf eine komplexe Infrastruktur erzielt AoE einen Geschwindigkeitsvorteil gegenüber vergleichbaren Techniken.

Ohne AoE werden die Befehle des ATA-Protokolls, welches zur Kommunikation zwischen einem Computersystem und einem daran angeschlossenen Speichergerät dient, direkt über ein Kabel übertragen. AoE verpackt diese Befehle jedoch in Datenpakete, die es über ein Ethernetnetzwerk an einen anderen Computer sendet. Dieses Zielsystem leitet die ATA-Befehle dann über einen Treiber an ein Blockspeichergerät (in der Regel eine Festplatte) weiter und gibt die Antwortpakete ebenfalls wieder über das Netzwerk zurück. So ist ein sehr hardwarenaher Zugriff auf einen Datenträger auch über relativ weite Entfernung möglich.

Durch diese Technik können mehrere Systeme gleichzeitig auf dasselbe Blockspeichergerät zugreifen. Die Koordination der Schreib- und Leseoperationen zwischen den beteiligten Systemen erfolgt durch einen sogenannten „Konfigurationsstring“ auf dem verwaltenden Server. Der gleichzeitige Zugriff mehrerer Systeme auf dasselbe Gerät erfordert den Einsatz spezieller Cluster-Dateisysteme, da die gängigen Dateisysteme nicht für diese Anwendung konzipiert worden sind.

AoE wird unter Linux nativ unterstützt. Für andere gängige Betriebssysteme und Hypervisoren sind oder waren Treiber von Softwareanbietern erhältlich. Zudem existieren spezielle AoE-Host-Bus-Adapter, welche die Verarbeitung des AoE-Protokolls im System übernehmen und so den Hauptprozessor entlasten.

Paketformat

Bearbeiten
AoE Header[1][2]
Offset Datentyp Beschreibung
00 char[6] Zieladresse (MAC-Adresse)
06 char[6] Absenderadresse
12 uint16_t Ethertype: 88A2hex
14 uint8_t Version (Bit 4…7), im Moment stets 1; Flags (Bit 0…3)
15 uint8_t Error
16 uint16_t Major-Adresse
18 uint8_t Minor-Adresse
19 uint8_t Befehlsfeld
20 uint32_t Befehlsmarkierung (Tag)
24 struct arg_field Argumente darunter auch übermittelte Daten von der Festplatte

Betriebssysteme mit ATA over Ethernet support

Bearbeiten
Betriebssystem Support Third-party Treiber
Linux Nativ (2.6.11 und höher) Coraid[3]
Mac OS X 10.4 und höher Third-party 2DegreesFrost[4]
Mac OS X 10.5 and 10.6 Third-party Small Tree Communications[5]
Solaris Third-party Coraid[6]
FreeBSD Third-party Coraid[7]
OpenBSD Native (4.5 bis 5.7)
VMWare Third-party Coraid[8]
Plan 9 from Bell Labs[9] Native

Andere Protokolle zum Ansprechen von Blockgeräten

Bearbeiten
  • Fibre Channel: FC definiert ein nicht routingfähiges Standardprotokoll aus dem Bereich der Speichernetzwerke, das als Nachfolger von SCSI für die Hochgeschwindigkeitsübertragung großer Datenmengen konzipiert wurde. FC ist nicht mit Ethernet kompatibel, es wird eine separate Infrastruktur (NICs, Switches usw.) benötigt.
  • Fibre Channel over Ethernet: Bei Fibre Channel over Ethernet werden „Fibre Channel“-Pakete in Ethernet gekapselt. Im Unterschied zu iSCSI erfolgt aber keine Kapselung in TCP/IP, hieraus resultieren geringe Performancevorteile, jedoch ist FCoE nicht routingfähig.
  • Fibre Channel over IP Bei Fibre Channel over IP werden „Fibre Channel“-Pakete zusätzlich in TCP/IP gekapselt. FCoIP ist daher routingfähig.
  • iSCSI (SCSI over IP): Bei iSCSI werden SCSI-Pakete in TCP/IP gekapselt. Im Unterschied zu ATA over Ethernet ist iSCSI routingfähig.
  • HyperSCSI Bei HyperSCSI werden SCSI-Pakete in Ethernet gekapselt. Im Unterschied zu iSCSI erfolgt aber keine Kapselung in TCP/IP, hieraus resultieren geringe Performancevorteile, HyperSCSI ist wie AoE nicht routingfähig.
Bearbeiten
  • Artikel:
    • ATA Over Ethernet: Putting Hard Drives on the LANLinux Journal (28. April 2005)
    • ATA-over-Ethernet enables low-cost Linux-oriented SAN. Archiviert vom Original am 13. Oktober 2007; abgerufen am 8. Dezember 2012. – LinuxDevices.com (23. Juni 2004)
  • Protokoll:
  • Emulator und Werkzeuge:

Einzelnachweise

Bearbeiten
  1. S. Hopkins, B. Coile: AoE (ATA over Ethernet) (Memento vom 25. Oktober 2016 im Internet Archive; PDF)
  2. AoE (ATA over Ethernet) (Memento vom 27. Dezember 2012 im Internet Archive)
  3. coraid.com: Linux Support for AoE EtherDrive (R) Storage (Memento vom 16. Mai 2010 im Internet Archive)
  4. Reiko Kaps: ATA-over-Ethernet am Mac. In: heise online. 24. November 2006, abgerufen am 5. November 2023.
  5. Small Tree – The Mac Network Experts: AoE Treiber für OS X
  6. coraid.com: Coraid AoE Solaris Support (Memento vom 18. Juni 2010 im Internet Archive)
  7. coraid.com: FreeBSD AoE Support (Memento vom 24. Juni 2010 im Internet Archive)
  8. coraid.com: ESX 3.5/4.0 EtherDrive HBA Driver (Memento vom 22. Juni 2010 im Internet Archive)
  9. bell-labs.com: Plan 9 from Bell Labs (Memento vom 28. April 2006 im Internet Archive)