10 razones a favor de AoE

No me canso de repetirlo a los clientes… ATA over Ethernet es espectacular. Las razones en las que me baso son:

  1. Su rendimiento está a años luz del de iSCSI cuando se prueba sobre el mismo hardware y equipamiento de red. Comprobado con Fio, Dbench y good ol’ dd. Cada una de las cifras de rendimiento es mejor para AoE cuando se compara con iSCSI[1] o incluso FCoE[2]… sin necesidad de afinar demasiado: para las pruebas se usaron vblade[3] para AoE, open-iscsi (iSCSI) y open-fcoe (FCoE).
  2. Failover automático y transparente en lo que respecta a interfaces de red de cliente.
  3. Agregación automática de puertos que escala muy bien sin necesidad de configurar trunking/bonding/channeling ni emplear esfuerzo alguno.
  4. Trabaja en la capa 2 del modelo OSI, lo que lo hace simple, con muy baja latencia –especialmente en redes de 10Gbps– y extremadamente fácil de configurar.
  5. Multi-plataforma y de código abierto. Soportado en Linux, Windows, MacOS X y FreeBSD. Usable con Xen / Citrix XenServer, obviamente. Se pueden conseguir también drivers privativos para VMWare ESX.
  6. Soporte de E/S por bloques –es decir, un volumen AoE tiene pinta de disco, no de carpeta compartida– , lo que permite ser combinado con otras tecnologías tales como LVM[4] para crear sistemas tolerantes a fallos. Por ejemplo, podríamos usar LUNs de dos servidores diferentes AoE, combinarlos mediante soft-RAID y LVM: podemos redimensionar los volúmenes dinámicamente o perder cualquiera de los dos servidores(si usamos RAID-1) sin tener mayores problemas… y usando el sistema de ficheros que más nos convenga.
  7. Es espectacularmente rápido cuando se combina con 10GbE (bastante más que iSCSI, por cierto).
  8. No es necesario pagar TOE en la tarjeta de red ; aún así, deja atrás a iSCSI (comprobado).
  9. La configuración es tremendamente simple, y no implica tener que modificar gran cantidad de parámetros de configuración. Básicamente, decimos “Quiero este volumen (o fichero!) exportado mediante AoE, en el slot virtual 2 de la bandeja 5” Bam! Los clientes lo descubren (brodcast en capa 2) y pueden conectarse a él sin problema (siempre que tengan permiso para hacerlo).
  10. Funciona tanto con discos (o particiones) como con ficheros. Incluso se pueden usar ficheros con huecos[sparse files] como soporte (thin provisioning).

¿No está mal, eh?

Las pruebas llevadas a cabo [servidor con 4 Quad-Core Opterons, 128GB de RAM y un JBOD de 24 discos de 1TB SATA y tarjetas Intel X520/10GbE y Broadcom BNX2/1GbE en placa; clientes con doble Quad-Core Nehalem y 48GB de RAM], con multitud de sistemas de ficheros diferentes [XFS, ReiserFS 3.6, ext4] y discos “en crudo” muestran un rendimiento impresionante en comparación con iSCSI. En bastantes ocasiones es el doble de rápido.

A no ser que se necesite la capacidad de rutado de los protocolos de almacenamiento sobre IP, mi consjeo es usar AoE siempre: la capacidad que tiene de agregar automáticamente el ancho de banda disponible y auto-repararse en caso de fallos de conectividad (perder un enlace o switch), junto a su sencillez de configuración lo hacen inigualable.


  1. Internet Small Computer Standard Interface (())
  2. Fibre Channel over Ethernet (())
  3. Nótese que vblade es la implementacion de referencia; las hay de mayor rendimiento (())
  4. Logical Volume Management, gestor de volúmenes lógicos (())