GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Uso de ATA a través de Ethernet (AoE) en Ubuntu 12.10 (iniciador y destino)

Esta guía explica cómo puede configurar un objetivo AoE y un iniciador (cliente) de AoE, ambos con Ubuntu 12.10. AoE significa "ATA sobre Ethernet" y es un protocolo de red de área de almacenamiento (SAN) que permite a los iniciadores de AoE utilizar dispositivos de almacenamiento en el objetivo de AoE (remoto) mediante un cableado Ethernet normal. "Remoto" en este caso significa "dentro de la misma LAN" porque AoE no se puede enrutar fuera de una LAN (esta es una gran diferencia en comparación con iSCSI). Para el iniciador de AoE, el almacenamiento remoto parece un disco duro normal conectado localmente.

¡No emito ninguna garantía de que esto funcione para usted!

1 nota preliminar

Estoy usando dos servidores Ubuntu 12.10 aquí:

  • servidor1.ejemplo.com (Iniciador):dirección IP 192.168.0.100
  • servidor2.ejemplo.com (Objetivo):dirección IP 192.168.0.101

2 Cargando el módulo kernel aoe en ambos sistemas

servidor1/servidor2:

Antes de comenzar, debemos asegurarnos de que el kernel sea compatible con AoE:

grep ATA_OVER /boot/config-`uname -r`

Esto debería mostrar algo como esto:

[correo electrónico protegido]:~# grep ATA_OVER /boot/config-`uname -r`
CONFIG_ATA_OVER_ETH=m
[correo electrónico protegido]:~#

Esto significa que AoE se creó como un módulo de kernel. Verifiquemos si el módulo ya está cargado:

lsmod | grep aoe

Si no obtiene nada de vuelta, significa que no está cargado. En este caso podemos cargarlo de la siguiente manera:

modprobe aoe

Verifiquemos nuevamente si el módulo está cargado:

lsmod | grep aoe
[correo electrónico protegido]:~# lsmod | grep aoe
aoe                    26960  0
[correo electrónico protegido]:~#

Para que el módulo se cargue automáticamente cuando se inicia el sistema, agregamos el módulo aoe a /etc/modules:

vi /etc/modules

3 Configuración del objetivo (servidor2)

servidor2:

Primero configuramos el objetivo (servidor2):

apt-get install vblade

Podemos utilizar volúmenes lógicos no utilizados, archivos de imagen, discos duros (p. ej., /dev/sdb), particiones de disco duro (p. ej., /dev/sdb1) o dispositivos RAID (p. ej., /dev/md0) para el almacenamiento. En este ejemplo, crearé un volumen lógico de 20 GB llamado almacenamiento1 en el grupo de volúmenes vg0:

lvcreate -L20G -n almacenamiento1 vg0

(Si desea utilizar un archivo de imagen, puede crearlo de la siguiente manera:

mkdir /almacenamiento
dd if=/dev/cero de=/almacenamiento/almacenamiento1.img bs=1024k cuenta=20000

Esto crea el archivo de imagen /storage/storage1.img con un tamaño de 20 GB.

)

Ahora exportamos nuestro dispositivo de almacenamiento de la siguiente manera:

vbladed 0 1 eth0 /dev/vg0/storage1

El primer número (0) es el número de estante (mayor), el segundo (1) el número de ranura (menor), cambia estos números a tu gusto. Cada dispositivo AoE se identifica mediante un par mayor/menor que debe ser único (si está exportando varios dispositivos), con mayor entre 0 y 65535 y menor entre 0 y 255. La parte eth0 le dice a vbladed qué dispositivo ethernet usar (si su dispositivo ethernet es eth1, entonces use eth1; puede conocer sus dispositivos ethernet ejecutando

ifconfig

).

Para iniciar la exportación automáticamente siempre que inicie el destino, abra /etc/rc.local...

vi /etc/rc.local

... y agregue la siguiente línea (antes de la línea de salida 0):

# /etc/modules:módulos del kernel para cargar en el momento del arranque.## Este archivo contiene los nombres de los módulos del kernel que deben cargarse# en el arranque tiempo, uno por línea. Las líneas que comienzan con "#" se ignoran. looplprtcaoe

4 Configurando el iniciador (servidor1)

servidor1:

En server1, instalamos el iniciador:

apt-get install aoetools

Ahora comprobamos qué dispositivos de almacenamiento AoE están disponibles:

aoe-descubrir

El comando

aoe-stat

ahora debería mostrar los dispositivos de almacenamiento:

[correo electrónico protegido]:~# aoe-stat
      e0.1        21.474 GB   eth0 up
[correo electrónico protegido]:~#

En este punto, tenemos un nuevo dispositivo de bloque disponible en la caja del cliente llamado /dev/etherd/e0.1. Si echamos un vistazo al árbol /dev, aparece un nuevo nodo:

ls -la /dev/etherd/
[email protected]:~# ls -la /dev/etherd/
total 0
drwxr-xr-x  2 root root     160 2012-10-01 16:24 .
drwxr-xr-x 16 raíz raíz    3800 2012-10-01 16:21 ..
c-w--w----  1 disco raíz 152,  3 2012-10-01 16:21 descubrir
brw-rw----  1 disco raíz 152, 16 2012-10-01 16:24 e0.1
cr--r-----   1 disco raíz 152,  2 2012-10-01 16:21 err
c-w--w----  1 disco raíz 152,  6 2012-10-01 16:21 flush
c-w--w----   1 disco raíz 152,  4 2012-10 -01 16:21 interfaces
c-w--w----  1 disco raíz 152,  5 2012-10-01 16:21 revalidar
[correo electrónico protegido]:~#

En la salida de

fdisk -l

ahora también debería encontrar el nuevo disco duro:

[email protected]:~# fdisk -l

Disco /dev/sda: 32,2 GB, 32212254720 bytes
255 cabezas, 63 sectores/pista, 3916 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Tamaño del sector (lógico/físico): 512 bytes / 512 bytes
Tamaño de E/S (mínimo/óptimo): 512 bytes / 512 bytes
Identificador de disco:0x00016be9

Bloques de arranque del dispositivo Bloques de ID del sistema
/dev /sda1*1 32 248832 83 Linux
La partición 1 no termina en el límite del cilindro.
/dev/sda2 32 3917 31205377 5 extendido
/dev/sda5 32 3917 31205376 8e Linux LVM

disco /dev/etherd/e0.1:21.5 GB, 21474836480 bytes
255 cabezas, 63 sectores/pista, 2610 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Tamaño del sector (lógico/físico): 512 bytes / 512 bytes
Tamaño de E/S ( mínimo/óptimo): 512 bytes / 512 bytes
Identificador de disco: 0x00000000

Di sk /dev/etherd/e0.1 no contiene una tabla de particiones válida
[email protected]:~#

Para usar ese dispositivo, debemos formatearlo:

fdisk /dev/etherd/e0.1

[correo electrónico protegido]:~# fdisk /dev/etherd/e0.1
El dispositivo no contiene una tabla de particiones de DOS válida, ni una etiqueta de disco de Sun, SGI o OSF
Creación de una nueva etiqueta de disco de DOS con el identificador de disco 0x3093ae28.
Los cambios permanecerán solo en la memoria, hasta que decidas escribirlos.
Después de eso, por supuesto, el contenido anterior no será recuperable.

Advertencia:indicador no válido 0x0000 de la tabla de particiones 4 se corregirá con w(rite)

ADVERTENCIA:el modo compatible con DOS está en desuso. Se recomienda encarecidamente
         desactivar el modo (comando 'c') y cambiar las unidades de visualización a 
         sectores (comando 'u').

Comando (m para ayuda):<-- n
Comando acción
   e   extendido
   p   partición principal (1-4)
<-- p
Número de partición (1-4): <- - 1
Primer cilindro (1-2610, predeterminado 1): <-- ENTRAR
Usar valor predeterminado 1
Último cilindro, +cilindros o +tamaño{K,M,G} (1 -2610, predeterminado 2610): <-- ENTRAR
Usando valor predeterminado 2610

Comando (m para ayuda): <-- t
Partición seleccionada 1
Hex código (escriba L para listar códigos): <-- 83

Comando (m para ayuda): <-- w
¡La tabla de particiones se ha alterada!

Llamar ioctl() para volver a leer la tabla de particiones.
Sincronizar discos.
[email protected]:~#

Posteriormente, la salida de

fdisk -l

debería tener el siguiente aspecto:

[email protected]:~# fdisk -l

Disco /dev/sda: 32,2 GB, 32212254720 bytes
255 cabezas, 63 sectores/pista, 3916 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Tamaño del sector (lógico/físico): 512 bytes / 512 bytes
Tamaño de E/S (mínimo/óptimo): 512 bytes / 512 bytes
Identificador de disco:0x00016be9

Bloques de arranque del dispositivo Bloques de ID del sistema
/dev /sda1*1 32 248832 83 Linux
La partición 1 no termina en el límite del cilindro.
/dev/sda2 32 3917 31205377 5 extendido
/dev/sda5 32 3917 31205376 8e Linux LVM

disco /dev/etherd/e0.1:21.5 GB, 21474836480 bytes
255 cabezas, 63 sectores/pista, 2610 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Tamaño del sector (lógico/físico): 512 bytes / 512 bytes
Tamaño de E/S ( mínimo/óptimo): 512 bytes / 512 bytes
Identificador de disco: 0x3093ae28

            Arranque del dispositivo      Inicio         Fin      Bloques   Id  Sistema
/dev/etherd/e0.1p1               1         2610    20964793+  83  Linux~# Ahora creamos un sistema de archivos en /dev/etherd/e0.1p1...

mkfs.ext4 /dev/etherd/e0.1p1

... y montarlo con fines de prueba:

montar /dev/etherd/e0.1p1 /mnt

Ahora debería ver el nuevo dispositivo en las salidas de...

montar
[email protected]:~# mount
/dev/mapper/server1-root on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec ,nosuid,nodev)
ninguno en /sys escriba sysfs (rw,noexec,nosuid,nodev)
ninguno en /sys/fs/fuse/connections escriba fusectl (rw)
ninguno en / sys/kernel/debug type debugfs (rw)
ninguno activado /sys/kernel/security type securityfs (rw)
ninguno activado /dev type devtmpfs (rw,mode=0755)
ninguno activado /dev/pts escriba devpts (rw,noexec,nosuid,gid=5,mode=0620)
ninguno en /dev/shm escriba tmpfs (rw,nosuid,nodev)
ninguno en /var/run escriba tmpfs (rw,nosuid,mode=0755)
ninguno en /var/lock escriba tmpfs (rw,noexec,nosuid,nodev)
ninguno en /lib/init/rw escriba tmpfs (rw,nosuid ,mode=0755)
ninguno en /var/lib/ureadahead/debugfs escriba debugfs (rw,relatime)
/dev/sda1 en /boot escriba ext2 (rw)
/dev/etherd /e0.1p1 en /mnt escriba ext4 (rw)
[email protected]:~#

... y

df-h
[email protected]:~# df -h
Sistema de archivos            Tamaño  Usado Disponible Uso% Montado en
/dev/mapper/server1-root
                        18G  838M   16G     /<> ninguno 243m 180k 242m 1%/dev
ninguno 247m 0 247m 0%/dev/shm
ninguno 247m 32k 247m 1%/var/run
ninguno 247m 0 247m 0%/var/ bloqueo
ninguno 247m 0 247m 0%/lib/init/rw
ninguno 18g 838m 16g 5%/var/lib/ureadehead/debugfs
/dev/sda1 228m 17m 199m 8%/botín
/dev/etherd/e0.1p1     20G  172M   19G   1 % /mnt
[correo electrónico protegido]:~#

Puedes desmontarlo así:

montar /mnt

Para que el dispositivo se monte automáticamente en el momento del arranque, p. en el directorio /almacenamiento, creamos ese directorio...

mkdir /almacenamiento

... y agregue la siguiente línea a /etc/fstab:

vi /etc/fstab
[...]vbladed 0 1 eth0 /dev/vg0/storage1[...]

Esto por sí solo no es suficiente para tener el dispositivo montado en el momento del arranque porque las cosas de AoE se cargan después de leer /etc/fstab. Por lo tanto abrimos /etc/rc.local...

vi /etc/rc.local

... y agregue las siguientes líneas (antes de la línea de salida 0):

[...]/dev/etherd/e0.1p1 /storage ext4 defaults,auto,_netdev 0 0

Para fines de prueba, ahora puede reiniciar el sistema:

reiniciar

Después del reinicio, el dispositivo debe estar montado:

montar
[email protected]:~# mount
/dev/mapper/server1-root on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec ,nosuid,nodev)
ninguno en /sys escriba sysfs (rw,noexec,nosuid,nodev)
ninguno en /sys/fs/fuse/connections escriba fusectl (rw)
ninguno en / sys/kernel/debug type debugfs (rw)
ninguno activado /sys/kernel/security type securityfs (rw)
ninguno activado /dev type devtmpfs (rw,mode=0755)
ninguno activado /dev/pts escriba devpts (rw,noexec,nosuid,gid=5,mode=0620)
ninguno en /dev/shm escriba tmpfs (rw,nosuid,nodev)
ninguno en /var/run escriba tmpfs (rw,nosuid,mode=0755)
ninguno en /var/lock escriba tmpfs (rw,noexec,nosuid,nodev)
ninguno en /lib/init/rw escriba tmpfs (rw,nosuid ,mode=0755)
ninguno en /var/lib/ureadahead/debugfs escriba debugfs (rw,relatime)
/dev/sda1 en /boot escriba ext2 (rw)
/dev/etherd /e0.1p1 en /tipo de almacenamiento ext4 (rw,_netdev)
[email protected]:~#
df-h
[email protected]:~# df -h
Sistema de archivos            Tamaño  Usado Disponible Uso% Montado en
/dev/mapper/server1-root
                        18G  838M   16G     /<> ninguno 243m 180k 242m 1%/dev
ninguno 247m 0 247m 0%/dev/shm
ninguno 247m 32k 247m 1%/var/run
ninguno 247m 0 247m 0%/var/ bloqueo
ninguno 247m 0 247m 0%/lib/init/rw
ninguno 18g 838m 16g 5%/var/lib/ureadehead/debugfs
/dev/sda1 228m 17m 199m 8%/botín
/dev/etherd/e0.1p1     20G  172M   19G   1 % /almacenamiento
[email protected]:~#

5 Enlaces

  • Definición del protocolo AoE:http://www.coraid.com/RESOURCES/AoE-Protocol-Definition
  • Ubuntu:http://www.ubuntu.com/

Ubuntu
  1. Uso de ATA a través de Ethernet (AoE) en CentOS 7 (iniciador y destino)

  2. Uso de ATA a través de Ethernet (AoE) en Debian Squeeze (iniciador y destino)

  3. Configurar ATA sobre Ethernet (AoE) en Debian 8 (iniciador y destino)

  4. Uso de ATA a través de Ethernet (AoE) en CentOS 6.3 (iniciador y destino)

  5. Cómo usar Ansible para instalar y configurar Redis 6 en Ubuntu 20.04

Uso de Yarn en Ubuntu y otras distribuciones de Linux

Uso de archivos y carpetas en la pantalla del escritorio en Ubuntu

La guía definitiva para usar y personalizar el Dock en Ubuntu

Instale las últimas herramientas de desarrollo e IDE en Ubuntu usando Ubuntu Make

Consejos y trucos para usar Ctrl+Z en Ubuntu Linux

Cómo usar apt-get reinstall en Debian y Ubuntu

    [...]aoe-discoversleep 5mount -a[...]