Imprimir

AoE (ATA over Ethernet) en Linux

Una SAN (Storage Area Network) es una arquitectura de red diseñada para conectar dispositivos de almacenamiento que se caracteriza por un acceso a los datos a nivel de bloque (el tráfico en una SAN es similar al de los discos duros ATA y SCSI, el servidor solicita por ejemplo el bloque 6000 del disco 4) a diferencia de las arquitecturas NAS (Network Attached Storage), como NFS o SMB, donde el acceso a los datos es a nivel de archivos (el servidor solicita por ejemplo el archivo /home/usuario/file).

Los protocolos más utilizados en SANs son FCP (Fibre Channel Protocol), iSCSI (SCSI over TCP/IP), HyperSCSI (SCSI over Ethernet) y AoE (ATA over Ethernet).

Veamos cómo exportar en una LAN un dispositivo de almacenamiento (target) mediante AoE:

  1. instalar vblade en el servidor: vblade (paquete vblade) es un disco EtherDrive blade ™ virtual que permite compartir mediante el protocolo AoE un dispositivo de almacenamiento (disco, partición, volumen lógico, archivo imagen o cualquier otro dispositivo de bloques).
    # apt-get install vblade
  2. exportar el dispositivo de almacenamiento: para exportar una partición:
    # ./vblade 0 0 eth0 /dev/sda4
    ioctl returned 0
    4294968320 bytes
    pid 16967: e0.0, 8388610 sectors

    Para exportar un fichero, primero crearemos la imagen con qemu-img, por ejemplo de 5GB:

    # qemu-img create /home/francis/export.img 5G

    Para exportarlo:

    # ./vblade 0 0 eth0 /home/francis/export.img

Para acceder desde el cliente (initiator) al disposito de almacenamiento exportado mediante AoE:

  1. cargar el módulo aoe:
    # modprobe aoe
  2. comprobar si detecta el dispositivo exportado: detecta el dispositivo /dev/etherd/e0.0:
    # aoe-discover
    # aoe-stat
    e0.0            eth1              up
  3. formatear el dispositivo exportado: si el dispositivo exportado no tiene formato podemos formatearlo desde el cliente:
    # mkfs.ext3 /dev/etherd/e0.0

    Atención

    Si a un dispositivo exportado van a acceder simultáneamente varios clientes debemos formatearlo con un filesystem diseñado para clusters, como Coda, GFS o AFS. De lo contrario, si usamos un filesystem tradicional como ext3 se producirá corrupción de datos ya que el filesystem supone que sólo hay un host usuario y cachea los cambios en la memoria RAM.

  4. montar el dispositivo exportado:
    # mount /dev/etherd/e0.0 /mnt
  5. comprobar si podemos escribir en el dispositivo exportado:
    # cd /mnt
    # touch delete.me
  6. instalar aoetools: aoetools (paquete aoetools) son las herramientas de usuario para manejar el módulo aoe (script de inicio /etc/init.d/aoetools):
    • aoe-discover: trigger discovery of ATA over Ethernet devices.
    • aoe-interfaces: restrict network interfaces used for AoE.
    • aoe-mkdevs: create character and block device files.
    • aoe-mkshelf: create block device files for one shelf address.
    • aoe-stat: print status information for AoE devices.
    • aoeping: simple userland communication with AoE devices.
    • aoe-revalidate: revalidate the disk size of an AoE device.

3 Comentarios en “AoE (ATA over Ethernet) en Linux”

  • isacnet dice:

    Gracias he estado buscando una explicación simple, concisa y clara sobre este tema, ¿me darías permiso para reproducirla en mi site?

    slds

  • crash-n-burn dice:

    isacnet, te agradezco el interés. Como se indica en Rollo legal el contenido de este sitio se distribuye bajo licencia ‘Creative Commons – Reconocimiento – No Comercial – Compartir igual’, lo que significa que cualquiera puede copiar, distribuir y modificar nuestros artículos siempre y cuando se reconozca la autoría, se distribuya bajo la misma licencia y no se haga un uso comercial. En la práctica, si quieres reproducir un artículo nuestro en tu web puedes hacerlo libremente, no necesitas pedir permiso, basta con añadir un link indicando la fuente del artículo y usar alguna licencia Creative Commons.

  • Marcos dice:

    En la empresa tengo unos viejos archivos DBF (Dbase 3), corriendo con clientes y servidores GNU/Linux con samba(el clásico, carpeta compartida, todos los dbfs dentro, todos acceden “simultáneamente”). Me pregunto.. será más rápido aoe que smb?.

Deja un comentario