Blog jubilado de Paco Ros

Fue bonito mientras duró

Dell Vostro 400, Ubuntu y RAID 1

Posted by Paco Ros en 8 \08\UTC junio \08\UTC 2008

Hace unos meses que compré un Dell Vostro 400. El modelo es un Quad Core 6600 (a 2.4GHz) y viene con dos discos de 500GB SATA.

Pedí a Dell si me lo podían configurar con RAID 1 y me dijeron que no, así que, como de todos modos le iba a instalar Ubuntu, lo dejé correr y me lo sirvieron con 2 discos NTFS y Windows Vista.

Hasta hoy no he podido ponerme manos a la obra. Tenía ganas de configurar el RAID 1 (mirror) porque tengo alguna información delicada y no soy mu amigo de quemar plástico haciendo copias de seguridad.

El chipset ICH9 de Intel que lleva este PC cuenta con una controladora RAID de las llamadas “fakeraid“, es decir, muestran al sistema un RAID, pero delegan su funcionamiento real al sistema operativo.

En Ubuntu (y Debian) es relaivamente fácil y se gestiona casi solo usando dmraid. El problema es que algunas herramientas y el instalador no están preparados para trabajar con un RAID y algunos pasos no funcionan bien, así que hay que darles una ayuda.

Empecemos: Lo primero que hay que hacer es configurar los discos como RAID. Se pulsa F2 en el arranque y se selecciona RAID en el apartado de discos. Después, al reiniciar, aparece un menú adicional, al que se debe entrar con Ctrl + I y ahí hay que crear el volumen RAID 1.

Cuando metemos el CD y arrancamos en modo “Live CD” (no instalar directamente) tenemos que abrir una consola, editar /etc/apt/sources.list para añadir el repositorio univerese e instalar dmraid (sudo aptitude install dmraid).

A partir de ese momento, ya disponemos de los módulos del kernel necesarios instalados y funcionando. Podemos comprobarlo con dmraid -r y con dmraid -ay (que de paso activa los volúmenes). Finalmente, iremos a /dev/mapper y con un ls veremos los volúmenes, que tendrán un nombre distinto en función de la controladora que tengamos.

Es el momento de crear y formatear todas las particiones no swap que necesitemos. Yo lo hago sólo con una, de manera que, usando fdisk /dev/mapper/<nombre_del_raid> crearemos una particion primaria de tipo Linux y dejé unos 150 (aprox. 1.5GB) bloques libres que, más adelante, usaremos como swap.

Grabamos la tabla de particiones y en unos segundos, veremos como en /dev/mapper tenemos un dispositivo de bloques más que se llama como el raid, pero con un “1” al final. Es la partición que acabamos de crear.

Creamos el sistema de ficheros. Yo usé ext3 así que mkfs.ext3 /dev/mapper/<nombre_del_raid>1

En este momento podemos hacer click en el icono de instalar Ubuntu, pero os adelanto que va a dar error cuando, al final, intente instalar GRUB. Lo solucionaremos con una instalación manual.

Otro punto importante es no seleccionar “formatear” en el particionado de discos. Simplemente seleccionariemos la partición ext3 y le diremos que el punto de montaje es “/”, pero no seleccionaremos “formatear”. El instalador se quejará de que no tenemos swap y nos avisarás de que va a borrar toda la partición. Está bien, podemos seguir.

Cuando acaba la instalación e intenta instalar grub da error. Mejor, porque aún no hemos acabado. Vamos a hacer un chroot a /target (que es donde el instalador monta el sistema de ficheros de destino) y vamos a instalar dmraid en el chroot igual que hicimos al principio, pero antes hay que enlazar en /target proc sysfs y dev así:

# sudo mount --bind /dev /target/dev
# sudo mount --bind /cdrom /target/cdrom
# sudo mount -t proc proc /target/proc
# sudo mount -t sysfs sysfs /target/sys

De esta manera podremos acceder a los dispositivos correctamente. Ahora sí, hacemos el chroot:

# sudo chroot /target

Una vez dentro del chroot, editamos /etc/apt/sources.list y añadimos el repositorio universe si fuera necesario e instalamos (aptitude install dmraid) dmraid.

Ahora hay que crear el directorio /boot/grub y copiar ahí desde /usr/lib/grub/i386-pc/ stage1, stage2 y e2fs_stage1_5 (usar otro si no habéis usado ext3).

Por último, nos queda instalar grub, que había fallado en el instalador:
# grub
(grub) device (hd0) /dev/mapper/<nombre_del_raid>
(grub) root (hd0,0)
(grub) setup (hd0)
(grb) quit

Finalmente ejecutamos update-grub, que nos creará el /boot/grub/menu.lst final. Este menu.lst tenemos que editarlo y asrgurarnos que allí donde ponga root=XXXXXX poga root=/dev/mapper/<nombre_del_raid>1

Listo, sudo reboot y a funcionar.

5 comentarios to “Dell Vostro 400, Ubuntu y RAID 1”

  1. […] realizar un manual donde explicar como conseguí instalarlo todo correctamente, pero os remito a pacoros.net que lo explica bastante bien como para no tener […]

  2. Luis said

    Hola Paco, he seguido atentamente tu instalación y básicamete es como yo la he realizado.

    El problema está en que el nombre de mi fakeraid es “mutante”, es dd_f1 seguido de una ristra de número , y cada vez que arranco los últimos 10, cambian. Por lo tanto, cuando en el grub le digo donde esta no coincide para el próximo boot.

    He mirado por si podía cambiarse en el udev, pero sin ningún resultado.

    Se te ocurre que puede pasar. Lo estoy instalando en un Acer Altos gk300mkii, pero también es una ich9hr.

  3. Paco said

    Se define en la BIOS, incluso deberías poder cambiarle la etiqueta por un nombre conocido, pero al final dependerá siempre de la capacidad de la BIOS para hacerlo.

  4. juan said

    como puedo usar un certificado que aparece como caducado de Thawte Code signing CA para poder abrir la pagina siguiente, lo puedo bajar? y lo instalo para que funcione, como logro eso . Gracias

  5. Gonzakas said

    Hola te aviso que el dmraid no es capaz de corregir errores aqui te pongo un link donde lo cuentan:

    https://help.ubuntu.com/community/FakeRaidHowto

    Lo interesante es lo siguiente:

    Important Notes for RAID-1 and RAID-5

    RAID-1 Notes

    You should be aware that dmraid (especially the dm-raid1 target of the device mapper) currently (including kernel version 2.6.17) supports the mirroring with RAID-1, but it has no error handling. When a block on one disk fails a failure reaches up to the application level, currently it doesn’t try to read from the second disk. It only mirrors all data to the second disk.

    Es decir como casque un bloque de uno de los discos (o imagino que el disco entero) no se lee la informacion del segundo disco, lo unico que hace el raid es replicar la informacion. Si puedes intenta avisar de esto en un post.

    Un saludo y suerte!

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

 
A %d blogueros les gusta esto: