Configuración de RAID y LVM en Ubuntu

Tras unas semanas de duro trabajo en las que no he tenido tiempo para casi nada, por fin dispongo de algo más de tiempo libre para ir mirando cosas de la infraestructura informática que quiero ir montando en casa.

Hace casi un mes compré dos de las piezas fundamentales en Dell, un switch gigabit y el servidor, y aunque al menos las había probado a poner en marcha, estaba ya con el gusanillo de meterme con ello de lleno.

El primer paso para montar el servidor ha sido instalar el sistema operativo. La peculiaridad es que quería montarlo utilizando LVM y RAID. Por un lado quería utilizar LVM para crear una serie de volúmenes lógicos que en el futuro pudiera ampliar de forma sencilla al incluir más discos duros, y por otra parte quería utilizar RAID para curarme en salud ante fallos de disco, utilizando un RAID 1.

El principal objetivo del servidor es ofrecer un almacenamiento centralizado para documentos, archivos personales y recursos multimedia, de forma que puedan ser accesibles desde cualquier equipo de la red, ya sea un PC, una PDA, la consola, o desde algún equipo como un Mac Mini conectado a una TV. Por otra parte también debe funcionar como entorno de trabajo sobre el que desarrollar diferentes proyectos en diferentes tecnologías, PHP, .NET y Java, principalmente. Para ello la idea es montar una serie de servidores virtuales utilizando KVM que ofrezcan diversos servicios.

El servidor dispone de dos discos duros SATA de 250GB. Estos 250GB los he organizado según una estructura orientada a garantizar por un lado la seguridad de los datos, y por otro, la escalabilidad en el volumen de información almacenada. Antes de entrar en más detalle, he dividido el conjunto de información a almacenar en los siguientes puntos, indicando para cada uno sus requisitos de seguridad:

  • Boot: el arranque del sistema operativo con RAID 1.
  • Intercambio: para el swapping del sistema operativo, no es necesario RAID 1.
  • Sistema Operativo: información del sistema operativo con RAID 1.
  • Datos: datos de usuarios, documentos, recursos multimedia, información de proyectos. Todo con RAID 1 y capaz de crecer en capacidad de almacenamiento en un futuro.
  • Grabación vídeo: para la grabación de televisión con MythTV, no es necesario RAID 1, pero sí que pueda crecer el espacio en el futuro.

Con estos requisitos ya se puede comenzar la instalación del servidor. Como sistema operativo me decidí por utilizar Ubuntu 6.10, que aunque hay mucho gente que echa pestes de él, a mi me gusta. Tiene todo lo bueno que me ha gustado siempre de Debian y además tiene un proceso de actualizaciones que me permite no perder tiempo con cosas rutinarias y centrarme únicamente en las cosas que me interesan, pero bueno, esa es otra historia.

Dado que la configuración que he descrito requiere LVM y RAID, no es posible realizar la instalación con el CD de instalación habitual, por lo que hay que descargar la versión Alternate. En mi caso descargué la ISO del Alternate AMD64, ya que el servidor lleva un procesador Xeon de 64bits.

La instalación del sistema operativo es similar a las instalaciones «antiguas» basadas en pantallas de texto y no deberíamos tener ningún problema con ella, por lo que voy a centrarme en la definición del particionado de los discos, que es la parte más complicada.

Lo primero que hay que hacer es definir la misma estructura en ambos discos, sda y sdb. Para ello he creado las siguientes particiones:

  • Partición #1: 255 MB de tipo RAID y marcada como «arrancable»
  • Partición #2: 6 GB de tipo SWAP
  • Partición #3: 200 GB de tipo RAID
  • Partición #4: 40 GB de tipo LVM

Una vez definida esta estructura en ambos discos hay que comenzar a configurar los RAID y LVM. Lo primero es crear los dos arrays de RAID entrando en la opción correspondiente del menú de la herramienta de particionado, «Configurar RAID Software». Indicamos que queremos crear los dispositivos como de tipo «RAID 1», con 2 discos en el array y con ningún (0) disco libre.

  • Array md0: utilizando sda1 y sdb1
  • Array md1: utilizando sda3 y sdb3

Ahora ya disponemos de los dispositivos RAID #0 y RAID #1, con un espacio libre de 255MB y 200GB respectivamente. Ahora, desde la página principal de particionado, hay que entrar en cada uno de los dispotivos y configurar su espacio disponible de la siguiente forma.

  • Raid #0: de tipo ext3 y con punto de montaje en /boot
  • Raid #1: de tipo LVM

En este punto ya hemos acabado de configurar los RAID. Tenemos dos dispositivos RAID 1, uno para /boot y otro con 200GB para utilizar con LVM. Para configurar el LVM hay que entrar en la opción correspondiente del menú principal, «Configurar el Gestor de Volúmens Lógicos (LVM)» de la herramienta de particionado.

Una vez dentro de la aplicación, se nos indicará que tenemos en la configuración LVM actual, 3 volúmenes físicos libres, y 0 volúmenes físicos en uso, 0 grupos de volúmenes y 0 volúmenes lógicos. Si entramos en «Mostrar los detalles de la ocnfiguración de pantalla» se nos mostrará algo similar a:

Volúmenes físicos no asignados
   * /dev/md1   200GB
   * /dev/sda4   40GB
   * /dev/sdb4   40GB
 
Grupo de volúmenes:
   * ninguno

A partir de aquí hay que realizar las siguientes acciones:

  • Crear grupo de volúmenes: con nombre vg0 sobre el volumen físico md1
  • Crear grupo de volúmenes: con nombre vg1 sobre los volúmenes físicos sda4 y sdb4
  • Crear volúmen lógico: dentro de vg0 con nombre sistema y 60 GB de espacio
  • Crear volúmen lógico: dentro de vg0 con nombre home y con el restante espacio libre (140GB)
  • Crear volúmen lógico: dentro de vg1 con nombre tv y con todo el espacio libre (80GB)
  • Crear dentro de vg0 los volúmenes lógicos:
  • sistema con 60GB de tipo ext3 y punto de montaje en /
  • home con 140GB de tipo ext3 y punto de montaje en /home
  • Crear el grupo de volúmenes vg1 sobre los volúmenes físicos sda4 y sdb4, obteniendo un espacio total de 80GB
  • Crear el volumen lógico tv de tipo ext3 y punto de montaje en /home/data/tv

Si volvemos a mostrar la configuración ahora obtendremos algo similar a lo siguiente:

Volúmenes físicos no asignados
   * ninguno
 
Grupo de volúmenes:
   * vg0                  200GB
     - Utiliza el volumen físico:   /dev/md1   200GB
     - Provee el volumen lógico:   home      140GB
     - Provee el volumen lógico:   sistema      60GB
   * vg1                  80GB
     - Utiliza el volumen físico:   /dev/sda4   40GB
     - Utiliza el volumen físico:   /dev/sdb4   40GB
     - Provee el volumen lógico:   tv      80GB

Una vez comprobado esto podemos dar por terminada la configuración de LVM y volver a la pantalla de particionado. Veremos como disponemos de tres nuevos dispositivos, «LVM VG vg0, LV home», «LVM VG vg0, LV sistema» y «LVM VG vg1, LV tv». Tendremos que entrar en cada uno de ellos y configurarlos de la siguiente forma:

  • LVM VG vg0, LV home: ext3 y punto de montaje en /home
  • LVM VG vg0, LV sistema: ext3 y punto de montaje en raíz (/)
  • LVM VG vg1, LV tv: ext3 y punto de montaje en /home/data/tv

Con esto ya tenemos configurado todo el espacio de almacenamiento, tanto con LVM como con RAID, con lo que podemos seguir con la instalación, seleccionando la opción «Finalizar el particionado y escribir los cambios en el disco». Pero antes de esto, conviene bien asegurarse de que todo está como debería, a mi por ejemplo la partición /boot se me desconfiguraba cada vez que entraba en LVM.

Tras terminar la instalación y haber arrancado el equipo, queda únicamente una cuestión que es necesario hacer para prevenir futuros problemas. El asunto es que Grub está únicamente instalado en el primero de los discos, por lo que si éste falla, el equipo no podrá arrancar con el segundo. Para remediarlo hay que instalar grub en ambos discos. Abrimos un terminal de usuario y ejecutamos sudo grub. Se nos abre un nuevo intérprete de comandos en el que ejecutaremos los siguientes comandos con el fin de instalar grub también en el segundo disco:

  • root (hd0,0)
  • setup (hd0)
  • root (hd1,0)
  • setup (hd1)

Si todo ha ido bien ahora ya las dos unidades disponen del MBR correctamente configurado por lo que se puede arrancar con cualquiera de ellas.

Bueno, eso es todo por ahora, en la siguiente entrega veremos como restaurar el sistema ante un fallo de disco, porque poco habremos hecho si llegado el caso de un fallo en uno de los discos, no somos capaces de recuperar la información.

Twitter Digg Delicious Stumbleupon Technorati Facebook Email

21 Respuestas para “Configuración de RAID y LVM en Ubuntu”

  1. Nuestras conversaciones son fuente anagotable de sabiduría………….
    echa un vistazo a la página de apple, el airport extreme y el appletv tienen muy buen aspecto…….
    por cierto un AMD64??? fiabilidad?? qué opinan el resto de los lectores?? mejor haber utilizado un INTEL???
    y por último a ver si te enseño mi nuevo iPod nano con reproductor de foto y vídeo…….

    un saludo

  2. ay que ver qué paciencia hay que tener… que no basta con repetir las siglas Javi, que hay que entenderlas 😛 El procesador es un Xeon de 64 bits de Intel. El sistema que he instalado es un Linux Ubuntu de 64bits que para descargarlo de su web, hay que localizarlo como alternate-amd64, aunque no sea solo para amd, de hecho sería más correcto que lo llamasen simplemente alternate-64

  3. siempre aprendiendo de mi maestro………..;)

  4. Fantástico tutorial. Justo algo así estaba buscando para mi sistema. Quiero hacer algo muy parecido a lo que has hecho tú, con una partición para sistema y otra para datos que han de ser salvados, pero luego tiene que tener una gran cantidad de espacio libre para «multimedia», es decir, para archivos de video, música, etc., que no es tan fundamental y que son recuperables vía Internet ;). Y sobretodo me gusta y me interesa tu explicación sobre cómo hacerlo para que sea ampliable en el futuro.

    Por cierto, se agradecería enormemente un segundo capítulo donde expliques dos puntos: cómo añadir más discos a alguno de los LVM ampliables, y sobretodo, cómo quitar alguno de los discos averiados y sustituirlo sin perder los datos (en los RAID1, por supuesto).

    Enhorabuena por el artículo y muchas gracias por la ayuda que supone a los que estamos en pleno proceso de migración a Linux

  5. Gracias por compartir tu experiencia con los que queremos hacer lo mismo que tú, pero aún no lo habíamos conseguido. Con muchas personas como tú acabamos con la globalización.
    Suerte en tus nuevos proyectos.

  6. Muy muy agradecido…. me vino perfecto era justo lo que queria hacer yo.
    Como dices en este punto.

    ((Bueno, eso es todo por ahora, en la siguiente entrega veremos como restaurar el sistema ante un fallo de disco, porque poco habremos hecho si llegado el caso de un fallo en uno de los discos, no somos capaces de recuperar la información.))

    A espera de la segunda entrega de tu manual.

    Muchas gracias y un saludo

  7. He seguido tu manul, y perfecto pare funcionar todo….
    Pero en la PRACTICA tiene algun problema que aun estoy tratando de resolver.

    SI se desconecta uno de los discos ya no arranca el sistema… el mbr perfecto desconecte uno u otro disco el grub aparece pero no arranca el sistema con un solo disco….

    email:para que me manden posibles soluciones gracias. showmanchoyin@gmail.com

  8. Hola Showma, en mi caso el sistema sí que arranca desconectando uno de los discos. La primera vez que lo arrancas se queda esperando unos minutos y finalmente muestra el intérprete de comandos busybox. Hay que ejecutar «mdrun» para activar el soporte raid.

    Después de esto es suficiente con volver a reiniciar el equipo. Si te da algún mensaje de LVM y te muestra una consola, en mi caso pulsando Ctrl+D continúa con el arranque sin problema. Esto se debe a que el volumen lógico vg1 (tv) está repartido entre los dos discos, y al faltar uno, pues falla. En mi caso esto no es problema porque la información que hay en esa partición no es importante, pero en caso de no ser así, habría que plantearse ponerlo también como RAID.

  9. Gracias por el tutorial. Tengo que montar un servidor redundante y me está viniendo muy bien. Tengo una cuestión más ¿No se requiere ninguna configuración adicional para las particiones de swapp?.

  10. Hola jose, con las particiones de swap tienes dos opciones: puedes hacer un raid 1 también con ellas, o si lo prefieres, dejarlas como pongo en el artículo y ponerles la misma prioridad en el archivo de fstab. De esta segunda forma será el kernel de linux el encargado de utilizar las dos particiones en paralelo, pero ten en cuenta que si te falla uno de los discos tendrás errores en el arranque al no poder montar una de las particiones de swap.

  11. hola!! tengo un problema con una dell 2900, lo que pasa es que estaba funcionando bien con ubuntu, pero el otro dia hubo un corto sircuito y el sistema no levanto mas, bueno una solucion seria reinstalarlo pero tengo informacion valiosa en los discos de este servidor, intente montarlo en otra maquina con las mismas caracteristicas pero nada, al iniciar el sistema me dice que el grupo lvm no esta definido y me gustaria que me echen una mano por favor

  12. Ayuda…. Urgente tengo el mismo problema que gustavo, la informacion que contiene este disco es sumamente importanete si me puedes ayudar te lo agradeceria…. gracias de antemano.

  13. Interesante pero me parece que se te fue la mano con la swap, con 2 gb ya era suficiente a reventar 3 gb.

    Saludos y suerte con el proyecto.

  14. Aunque no parezca cierto, RAID 1 no es la mejor solucion en seguridad de los datos. Hay mejores confis de RAID. Las que recomiendo son RAID 5 o RAID 10.

    Pero siempre hay que tener en cuenta que NINGUNA configuracion es 100% segura.

    Lo mejor es mantener respaldada la informacion importante.
    Hay veces en que no se respalda y cuando sucede un problema, por ejemplo la rotura fisica de un disco o le perdida del arreglo de RAID, se pone en riesgo la informacion. Mucha gente piensa que en ese punto es cuando se pierde para siempre los datos pero en realidad queda un ultimo recurso: la utilizacion de los servicios de recuperacion de empresas especializadas. Algunas conocidas son: ONRETRIEVAL, ONTRACK, ONDATA, RECOVERY LABS, entre otras.

    Claro, habra que pagar por el servicio y en algunos casos no sera economico pero si los datos lo valen entonces es comprensible.

    Saludos.

Trackbacks/Pingbacks

  1. Servidor con RAID y LVM « Pablo Martínez - 22. May, 2007

    […] Por mas detalle ir a Configuración de RAID y LVM en Ubuntu Explore posts in the same categories: Servidores […]

  2. EsLoMas.com » Limpiar el MBR de un disco duro desde Linux - 10. Ago, 2007

    […] El caso es que el disco tenía una configuración de discos con Raid software (raid 1) y LVM, que en su día configuré con el administrador de particiones del instalador. Sin embargo al tratar de reinstalar el sistema operativo no había forma de volver a configurar las particiones RAID, o me decían que estaban en uso, o que no se encontraba ninguna partición marcada como “Linux raid autodetect”, y problemas similares. […]

  3. EsLoMas.com » Instalación de MythTV sobre Ubuntu 7.10 y Hauppage WinTV Nova-T-500 - 28. Dic, 2007

    […] Para montar esta arquitectura dispongo de un equipo con Ubuntu Gutsy Gibbon (7.10) de 64 bits, basado en un procesador Xeon Dual-Core de 64 bits, 2GB de RAM y dos discos duro SATA de 250GB montados en una configuración con RAID 1 y LVM, tal como expliqué en este otro artículo. […]

  4. Targz » Blog Archive » Curs tècnic sistemes micro-informàtics. Sessió 22 de gener de 2009 - 22. Ene, 2009

    […] http://www.eslomas.com/index.php/archives/2007/02/22/configurcion-de-raid-y-lvm-en-ubuntu/ http://www.bulma.net/body.phtml?nIdNoticia=1863 […]

  5. Targz » Blog Archive » Curs tècnic sistemes micro-informàtics. Sessió 23 de gener de 2009 - 23. Ene, 2009

    […] http://www.eslomas.com/index.php/archives/2007/02/22/configurcion-de-raid-y-lvm-en-ubuntu/ http://www.bulma.net/body.phtml?nIdNoticia=1863 […]

  6. Targz » Blog Archive » Curs tècnic sistemes micro-informàtics. Sessió 23 de gener de 2009 - 23. Ene, 2009

    […] http://www.eslomas.com/index.php/archives/2007/02/22/configurcion-de-raid-y-lvm-en-ubuntu/http://www.bulma.net/body.phtml?nIdNoticia=1863 […]

  7. Targz » Blog Archive » Curs d’administració de sistemes GNU/Linux. Sessió 03. 18 de març de 2009 - 18. Mar, 2009

    […] http://www.eslomas.com/index.php/archives/2007/02/22/configurcion-de-raid-y-lvm-en-ubuntu/http://www.bulma.net/body.phtml?nIdNoticia=1863 […]