- Estréllate y Arde - https://www.estrellateyarde.org -

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.

Article printed from Estréllate y Arde: https://www.estrellateyarde.org

URL to article: https://www.estrellateyarde.org/discover/ata-over-ethernet-en-linux

Copyright © 2010 Estrellate y Arde