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.
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
Offset | Datentyp | Beschreibung |
---|---|---|
0 | char[6] | Zieladresse (MAC-Adresse) |
6 | 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
Betriebssystem | Support | Third-party Treiber |
---|---|---|
Linux | Nativ (2.6.11 und höher) | Coraid |
Mac OS X 10.4 und höher | Third-party | 2DegreesFrost |
Mac OS X 10.5 and 10.6 | Third-party | Small Tree Communications |
Solaris | Third-party | Coraid |
FreeBSD | Third-party | Coraid |
OpenBSD | Native (4.5 bis 5.7) | |
VMWare | Third-party | Coraid |
Plan 9 from Bell Labs | Native |
Andere Protokolle zum Ansprechen von Blockgeräten
- 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.
Weblinks
- Artikel:
- ATA Over Ethernet: Putting Hard Drives on the LAN – Linux Journal (28. April 2005)
- ATA-over-Ethernet enables low-cost Linux-oriented SAN. Archiviert vom am 13. Oktober 2007; abgerufen am 8. Dezember 2012. – LinuxDevices.com (23. Juni 2004)
- Protokoll:
- Emulator und Werkzeuge:
- Projektübersicht zu ATA Over Ethernet Tools und vblade bei SourceForge – vblade ist der serverbasierte Teil von AoE und läuft im Userspace
- vblade, implementiert als Kernelmodul (Memento vom 15. Januar 2006 im Internet Archive) ist schneller als die Userspace-Implementierung
- qaoed – Mulithreaded ATA over Ethernet storage target läuft im Userspace
- qaoed – neuer Ort bei Google Code
- Aoeserver – Mulithreaded ATA over Ethernet storage target implementiert als Kernelmodul
- aoeserver – Abspaltung/Weiterentwicklung bei Google Code
- ggaoed – neueste Implementierung mit Spezialisierung auf Linuxeigenschaften für Geschwindigkeitsoptimierung
- It utilizes Linux kernel AIO, memory mapped sockets and other Linux features to provide the best performance.
Einzelnachweise
- ↑ S. Hopkins, B. Coile: AoE (ATA over Ethernet) (Memento vom 25. Oktober 2016 im Internet Archive; PDF)
- ↑ AoE (ATA over Ethernet) (Memento vom 27. Dezember 2012 im Internet Archive)
- ↑ coraid.com: Linux Support for AoE EtherDrive (R) Storage (Memento vom 16. Mai 2010 im Internet Archive)
- ↑ 2DegreesFrost: AoE Treiber für OS X (Memento des vom 27. Februar 2009 im Internet Archive) Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.
- ↑ Small Tree – The Mac Network Experts: AoE Treiber für OS X
- ↑ coraid.com: Coraid AoE Solaris Support (Memento vom 18. Juni 2010 im Internet Archive)
- ↑ coraid.com: FreeBSD AoE Support (Memento vom 24. Juni 2010 im Internet Archive)
- ↑ coraid.com: ESX 3.5/4.0 EtherDrive HBA Driver (Memento vom 22. Juni 2010 im Internet Archive)
- ↑ bell-labs.com: Plan 9 from Bell Labs (Memento vom 28. April 2006 im Internet Archive)