Como muchos ya sabéis en este momento tengo en casa 3 servers con Raid 5, dos de ellos con 12 discos de 500 Gb cada uno y el otro con 12 discos de 750 Gb, Todos ellos tienen el raid formateado con XFS, ya que como mencioné en varios post es el que mejor rendimiento me da con diferencia en lectura y grabación.
Pues bien, hace ya muchos post que había estado experimentando con AOE, pero ahora podía hacerlo a lo bestia, quiero decir, montar todos los servers en uno solo.
A continuación voy a comentaros lo que hice y como lo hice por si alguno de vosotros quiere hacer lo mismo.
De los tres pcs que tengo solo uno de ellos tenia en placa dos tarjetas de red de 1 Gb, así que decidí que ese sería el servidor principal al que comentaré los otros dos.
El esquema de como ha quedado está en la foto de portada. He creado dos servers de AOE y un cliente que montará la capacidad de los dos. Resumiendo, el cliente finalmente tendrá disponibles como si fueran locales 36 discos duros, o por decirlo de otra forma 3 Raids de 12 discos cada uno.
Todo el montaje se ha realizado sobre máquinas corriendo GNU/Linux Debian Lenny. Como siempre todo lo que vamos a hacer será entrando por el usuario root.
Lo primero es descargar en las máquinas que serán los servidores de discos los paquetes aoe y vblade:
#apt-get install aoe vblade
Por lo general las distribuciones ya llevan por defecto aoe, así que es probable que no necesitéis instalarlo.
A continuación debemos seleccionar el disco que queremos compartir, este disco no debe estar montado en el sistema del CNU/Linux local, y si lo está no debería tener accesos, ya que es muy probable que el sistema de ficheros no soporte accesos concurrentes. (Hay algunos sistemas de ficheros que si están diseñados para ello, pero ni ext3 ni XFS lo están).
El comando es el siguiente:
#vblade 0 1 eth0 /dev/md0
- El primer 0 identifica al conjunto de discos, en una red con muchos servers de AOE, puede ser necesario identificar a que conjunto pertenecerá nuestro server. En nuestro caso como será una red simple, hemos seleccionado el conjunto 0.
- El segundo identificará a nuestro server dentro del conjunto indicado anteriormente, en este caso es el server 1.
- El siguiente parámetro indica a través de que interface de red vamos a servir los discos, en este caso eth0.
- Y por último indicaremos que dispositivo que vamos a servir, en mi caso es el raid montado por software que hemos montado en un post anterior.
En el otro server el comando es:
#vblade 0 2 eth0 /dev/md0
Simplemente cambiamos el número del server dentro del conjunto de servidores.
Si queremos que esto se ejecute siempre al iniciar el sistema, podemos hacer un pequeño script y hacer que se inicie automáticamente como comentamos en este post.
En el servidor destino debemos instalar también el paquete aoe, si no lo está ya. A continuación nos aseguraremos de que los interfaces de red de los tres servidores están levantados y con los cables de red conectados correctamente. Con este comando podemos comprobarlo:
#ifconfig
Ahora debemos conseguir que el server de destino ‘vea’ los discos exportados por los otro dos PC´s, para hacer esto vamos a seguir unos pasos sencillos.
En mi caso el módulo de aoe no estaba cargado, así que tuve que cargarlo a mano de esta forma:
#modprobe aoe
Para no tener que hacer esto cada vez podemos añadirlo a los m´dulos del kernel que se arrancan al inciio añadiendolo al final de este fichero:
#nano /etc/modules
Lo primero que debemos saber es por que interface de red nos entrará la conexión de los otros dos servidores, en mi caso fue eth0. Para indicarle a AOE que este es el interface lo hacemos así:
#aoe-interfaces eth0
En este momento el servicio de AOE ya debería haber descubierto los dos servidores que están exportando sus discos en la red interna del AOE.
Para comprobarlo escribimos:
#aoe-stat
Si todo va bien debemos obtener algo como esto:
e0.1 5001.052GB eth0 up
e0.2 8251.686GB eth0 up
Si todo ha ido bien y ya veis aquí vuestros discos, estos ya estarán ‘magicamente’ disponibles como un nuevo dispositivo en:
/dev/etherd/e0.1
/dev/etherd/e0.2
Solo falta montarlos y ya los tenemos disponibles como si fuesen discos locales:
mount /dev/etherd/e0.1 /media/pelis
mount /dev/etherd/e0.2 /media/pelis3
Como siempre si queremos que todo esto se haga automáticamente podemos automatizar el montaje añadiendo las líneas en el fichero /etc/fstab.
En cuanto al rendimiento… excelente, con este montaje he conseguido velocidades de lectura de unos 75Mb/s.
Enn las instalaciones profesionales se utiliza un sistema practicamente identico a este, pero con discos de 10.000 Rpm, en vez de AOE utilizan ISCSI o Fiber Channel (Canales de fibra).
Si tenéis cualquier duda y creéis que puedo ayudaros utilizad los comentarios.

Te sigo desde hace unos días vía sumarios RSS (estás a prueba), así que desconozco el motivo de tener ese ¿caro operativo? en casa. Intrigado estoy.
- Un saludo -
Left by maty on septiembre 28th, 2008