Discussion:
Configurar grub para arrancar rootfs con RAID 1
(demasiado antiguo para responder)
JGauss
2005-01-08 01:12:48 UTC
Permalink
Buenas.

Tengo un sistema del siguiente modo:
hda1+hdb1: RAID 1 (/dev/md0) montado en /

¿Cómo configuro grub?

Gracias.
JGauss
2005-01-08 20:14:45 UTC
Permalink
No sé si el silencio se debe a que no me expresé con claridad, o
a que lo que digo es imposible...

A ver, se trata de un sistema que acabo de instalar, una Guadalinex
2004, pero con la salvedad de que la he instalado sobre un RAID 1
(raid espejo, en /dev/md0). Es decir, el sistema ya está instalado
en /dev/md0, pero sólo me falta instalar el gestor de arranque (grub,
o el que sea). La instalación fue casi manual, desde la live-cd, ya
que Guadalinex no da soporte "nativo" para instalar en un raid.

Y he aquí el problema... no tengo ni idea de cómo "convertir" /dev/md0
al formato de unidades de grub, ni siquiera si es posible usar grub para
arrancar un RAID 1

Me sorprende bastante no encontrar nada sobre esto en google groups
(ecol), y casi nada en el resto de google (y nada si queremos algo
medianamente actual).

En fin, que llevo estancado en este punto todo el fin de semana.
Cualquier ayuda sería bienvenida.

Saludos.
Post by JGauss
Buenas.
hda1+hdb1: RAID 1 (/dev/md0) montado en /
¿Cómo configuro grub?
Gracias.
Jose Maria Lopez Hernandez
2005-01-08 14:38:51 UTC
Permalink
Post by JGauss
Buenas.
hda1+hdb1: RAID 1 (/dev/md0) montado en /
¿Cómo configuro grub?
Gracias.
Pillate el RAID-HOWTO, explica muy bien como funcionar con este
tipo de configuraciones. Te hablo de memoría, pero creo que
tienes que poner las particiones de un tipo determinado para que
el kernel las detecte en el arranque y sepa que estan en RAID, y
luego configurar grub simplemente diciendole que tienes el raiz
en /dev/md0. Pero recuerda que te hablo de memoría, que como digo
siempre en estos casos NO ME HAGO RESPONSABLE de lo que pueda
ocurrir con tus datos.
--
Jose Maria Lopez Hernandez
Director Tecnico de bgSEC
***@bgsec.com
bgSEC Seguridad y Consultoria de Sistemas Informaticos
http://www.bgsec.com
ESPAÑA

The only people for me are the mad ones -- the ones who are mad to live,
mad to talk, mad to be saved, desirous of everything at the same time,
the ones who never yawn or say a commonplace thing, but burn, burn, burn
like fabulous yellow Roman candles.
-- Jack Kerouac, "On the Road"
JGauss
2005-01-09 00:01:32 UTC
Permalink
:-m A ver... las dos particiones para construir el RAID 1 están creadas,
con tipo FD (raid autodetect), y el RAID 1 está creado y formateado con
ext3 en /dev/md0. El sistema ya está instalado completamente,
exceptuando el gestor de arranque. GRUB, que es el que intento instalar,
no tiene traducción para /dev/md0, tal como lo tiene para /dev/hda1 ==>
(hd0,0), o para /dev/hdb3 ==> (hd1,2), etc., y por lo tanto no puedo
configurarlo/instalarlo porque no le puedo (es decir, no sé) indicar
"/dev/md0".

Mi pregunta es, primero si es posible usar GRUB con RAID 1, y segundo,
cómo se configura grub?

Gracias por la ayuda.
Post by Jose Maria Lopez Hernandez
Pillate el RAID-HOWTO, explica muy bien como funcionar con este
tipo de configuraciones. Te hablo de memoría, pero creo que
tienes que poner las particiones de un tipo determinado para que
el kernel las detecte en el arranque y sepa que estan en RAID, y
luego configurar grub simplemente diciendole que tienes el raiz
en /dev/md0. Pero recuerda que te hablo de memoría, que como digo
siempre en estos casos NO ME HAGO RESPONSABLE de lo que pueda
ocurrir con tus datos.
Gonzalo Pérez de Olaguer Córdoba
2005-01-09 00:44:42 UTC
Permalink
Post by JGauss
:-m A ver... las dos particiones para construir el RAID 1 están creadas,
con tipo FD (raid autodetect), y el RAID 1 está creado y formateado con
ext3 en /dev/md0. El sistema ya está instalado completamente,
exceptuando el gestor de arranque. GRUB, que es el que intento instalar,
no tiene traducción para /dev/md0, tal como lo tiene para /dev/hda1 ==>
(hd0,0), o para /dev/hdb3 ==> (hd1,2), etc., y por lo tanto no puedo
configurarlo/instalarlo porque no le puedo (es decir, no sé) indicar
"/dev/md0".
Bueno, te sigo desde el principio pero no sabía qué decirte hasta ahora,
porque no sabía de qué iba la cosa ni cómo preguntartelo. No sé mucho de
esto, o sea que toma mis palabras con reservas.

/dev/md0 es un dispositivo virtual construido por el kernel. Cuando grub
se hace cargo del arranque aún no hay kernel, o sea que no puede leer
/dev/md0, a menos que disponga de un mecanismo propio para hacer
software raid por su cuenta.

Ignoro si grub tiene esa funcionalidad (podría ser que una instalación
de grub estándard no la tenga, pero exista algún "stage" extra que la
suministre. Me suena que grub tiene "stages" específicos para instalar
por red con XPE, bootp, dhcp, y otras cosillas.

No sé si lo siguiente será cierto: si RAID 1 se limita a hacer una
copia idéntica del sistema de ficheros en cada disco, sin añadir nada
propio, de forma que en cada disco tengas una imagen exacta y completa
del sistema de ficheros con que has formateado /dev/md0, en ese caso tal
vez bastaría con decirle al grub que use alguno de los discos (/dev/hda1
o /dev/hdb3). Pero desconozco si la implementación de RAID 1 funciona
así o no (sospecho que no).
Post by JGauss
Mi pregunta es, primero si es posible usar GRUB con RAID 1, y segundo,
cómo se configura grub?
Yo tengo montado un sistema con LVM, y éste hace RAID. No tengo problemas
con el gestor de arranque (no recuerdo si es lilo o grub y ahora no tengo
acceso a la máquina para comprobarlo) porque la partición root no es RAID.

Si creas una partición /boot fuera del RAID no tendrás problemas.
--
Gonzalo Pérez de Olaguer Córdoba <***@iies.es>
PGP key 2861C704 --- F206 5671 6789 425D 111C 1302 214F 1934 2861 C704
Jesús M. NAVARRO
2005-01-09 02:30:48 UTC
Permalink
Hola, Gonzalo:

Gonzalo Pérez de Olaguer Córdoba escribió en es.comp.os.linux.instalacion:

[...]
Post by Gonzalo Pérez de Olaguer Córdoba
/dev/md0 es un dispositivo virtual construido por el kernel. Cuando grub
se hace cargo del arranque aún no hay kernel, o sea que no puede leer
/dev/md0, a menos que disponga de un mecanismo propio para hacer
software raid por su cuenta.
Ignoro si grub tiene esa funcionalidad (podría ser que una instalación
de grub estándard no la tenga, pero exista algún "stage" extra que la
suministre. Me suena que grub tiene "stages" específicos para instalar
por red con XPE, bootp, dhcp, y otras cosillas.
No sé si lo siguiente será cierto: si RAID 1 se limita a hacer una
copia idéntica del sistema de ficheros en cada disco, sin añadir nada
propio, de forma que en cada disco tengas una imagen exacta y completa
del sistema de ficheros con que has formateado /dev/md0, en ese caso tal
vez bastaría con decirle al grub que use alguno de los discos (/dev/hda1
o /dev/hdb3). Pero desconozco si la implementación de RAID 1 funciona
así o no (sospecho que no).
No: eso no funcionará. Para poder montar un RAID por software, es
*necesario* que las particiones que lo formen no estén en uso. Una vez que
tienes ejecutables "tocando" el disco hda (o el hdb), éste ya no podrá ser
usado en un RAID.

...pero Grub sí tiene soporte "nativo" para RAID por software de Linux, así
que, si las cosas están bien hechas, bastará con indicarle a Grub que la
partición raiz será /dev/md0 y listo.

Un ejemplo de un sistema que tengo instalado:
cat /boot/grub/menu.lst
[...]
title Debian GNU/Linux, kernel 2.4.27-1-686
root (hd0,0)
kernel /boot/vmlinuz-2.4.27-1-686 root=/dev/md0 ro
initrd /boot/initrd.img-2.4.27-1-686
savedefault
boot

Después de escribir un "menu.lst" correcto, deberás ejecutar `grub-install`
para que aparezca en el siguiente arranque.

Si utilizas un kernel "estándar", sin soporte incluido para dispositivos
RAID1 (ejecuta el comando `lsmod`, y si aparece el módulo raid1, con el
dispositivo raid /dev/md0 montado, es que el soporte para RAID1 no está
soportado "dentro" del kernel, sino como módulo), necesitarás una imagen
initrd adecuada (como en el caso que te he mostrado). Esta imagen initrd
contiene el módulo para soporte raid, necesario para poder montar la
partición raiz, que es donde está el propio módulo raid1 (el caso del huevo
y la gallina). Pero este initrd es muy "delicado", ya que también contiene
el UUID del dispositivo raid, que cambia si reconstruyes la partición. El
UUID es el número largo que te aparecerá, probablemente, en el
fichero /etc/madm/mdadm.conf. En mi caso, los contenidos son:
cat /etc/mdadm/mdadm.conf
ARRAY /dev/md0 level=raid1 num-devices=2
UUID=4a81bade:c71e2f87:7edceaed:c49226b4
devices=/dev/hdc1,/dev/hdd1
ARRAY /dev/md1 level=raid1 num-devices=2
UUID=531b42a3:f9a04a1e:b8f93e73:0d64bbd6
devices=/dev/hdc2,/dev/hdd2

(en este equipo, la partición swap también está montada en raid1
en /dev/md1).

Si tienes un initrd con un UUID para del dispositivo raid incorrecto, no
podrás arrancar el sistema con él, ya que no se podrá encontrar la
partición raiz durante el arranque.
--
SALUD,
Jesús
***
***@able.es
***
Gonzalo Pérez de Olaguer Córdoba
2005-01-09 04:03:54 UTC
Permalink
Post by Jesús M. NAVARRO
Post by Gonzalo Pérez de Olaguer Córdoba
No sé si lo siguiente será cierto: si RAID 1 se limita a hacer una
copia idéntica del sistema de ficheros en cada disco, sin añadir nada
propio, de forma que en cada disco tengas una imagen exacta y completa
del sistema de ficheros con que has formateado /dev/md0, en ese caso tal
vez bastaría con decirle al grub que use alguno de los discos (/dev/hda1
o /dev/hdb3). Pero desconozco si la implementación de RAID 1 funciona
así o no (sospecho que no).
No: eso no funcionará. Para poder montar un RAID por software, es
*necesario* que las particiones que lo formen no estén en uso. Una vez que
tienes ejecutables "tocando" el disco hda (o el hdb), éste ya no podrá ser
usado en un RAID.
Pero, ¿hay algo tocando los discos en el momento que arranca el kernel?
La idea que me hago de esto es que grub leería (si el formato lo permite,
claro) uno de los discos y de ahí extraería el kernel y lo cargaría en
memoria, luego lo ejecutaría y entonces el kernel empiezaría su propio
bootstraping. Para entonces grub (el cargador) ya ha "desaparecido".

De hecho, la situación es, a este respecto, idéntica a la que tiene
lugar si grub accede al RAID con su propio soporte nativo. Lo usará
para cargar el kernel pero en el momento de ceder el control al kernel
grub ya habrá dejado de usar el RAID (es como un exec: grub out, kernel
in). ¿me estoy colando?
--
Gonzalo Pérez de Olaguer Córdoba <***@iies.es>
PGP key 2861C704 --- F206 5671 6789 425D 111C 1302 214F 1934 2861 C704
Hue-Bond
2005-01-09 15:08:14 UTC
Permalink
Post by Gonzalo Pérez de Olaguer Córdoba
Post by Jesús M. NAVARRO
Post by Gonzalo Pérez de Olaguer Córdoba
No sé si lo siguiente será cierto: si RAID 1 se limita a hacer una
copia idéntica del sistema de ficheros en cada disco, sin añadir nada
propio, de forma que en cada disco tengas una imagen exacta y completa
del sistema de ficheros con que has formateado /dev/md0
Añade algo, pero fuera del sistema de archivos. Según mi experiencia, mete
cosas al final de cada partición involucrada. De esta forma, grub puede
acceder a las particiones y navegar por los sistema de archivos.
Post by Gonzalo Pérez de Olaguer Córdoba
Post by Jesús M. NAVARRO
Post by Gonzalo Pérez de Olaguer Córdoba
en ese caso tal vez bastaría con decirle al grub que use alguno de los
discos (/dev/hda1 o /dev/hdb3).
Sí, yo lo tengo funcionando así.
Post by Gonzalo Pérez de Olaguer Córdoba
Post by Jesús M. NAVARRO
No: eso no funcionará. Para poder montar un RAID por software, es
*necesario* que las particiones que lo formen no estén en uso.
Pero, ¿hay algo tocando los discos en el momento que arranca el kernel?
La idea que me hago de esto es que grub leería (si el formato lo permite,
claro) uno de los discos y de ahí extraería el kernel y lo cargaría en
memoria, luego lo ejecutaría y entonces el kernel empiezaría su propio
bootstraping. Para entonces grub (el cargador) ya ha "desaparecido".
Exactamente. Grub no sabe nada de md0, sólo de hd0 (o hd1 o lo que sea), y
de algunos sistemas de archivos. Accede al núcleo y le pasa el control con
el parámetro root=/dev/md0. A partir de ahí el núcleo se las apaña.

Además, aunque grub siguiera en memoria, el núcleo no sabría que está ahí.
Es como si ejecutamos debugfs para hacer guarrerías directamente sobre el
sistema de archivos. Estaríamos sujetos a corrupción, pero esa ya es otra
historia :^P.
Post by Gonzalo Pérez de Olaguer Córdoba
De hecho, la situación es, a este respecto, idéntica a la que tiene
lugar si grub accede al RAID con su propio soporte nativo. Lo usará
para cargar el kernel pero en el momento de ceder el control al kernel
grub ya habrá dejado de usar el RAID (es como un exec: grub out, kernel
in). ¿me estoy colando?
$ rgrep -i raid /usr/share/doc/grub-doc/html/
$ _

No sabía que grub tuviera soporte de raid (en mi doc no aparece nada) pero
en caso de que así sea, tu escenario parece factible.
--
David Serrano
Jesús M. NAVARRO
2005-01-10 11:58:59 UTC
Permalink
Post by Gonzalo Pérez de Olaguer Córdoba
Post by Jesús M. NAVARRO
Gonzalo Pérez de Olaguer Córdoba escribió en
Post by Gonzalo Pérez de Olaguer Córdoba
No sé si lo siguiente será cierto: si RAID 1 se limita a hacer una
copia idéntica del sistema de ficheros en cada disco, sin añadir nada
propio, de forma que en cada disco tengas una imagen exacta y completa
del sistema de ficheros con que has formateado /dev/md0, en ese caso
tal vez bastaría con decirle al grub que use alguno de los discos
(/dev/hda1 o /dev/hdb3). Pero desconozco si la implementación de RAID 1
funciona así o no (sospecho que no).
No: eso no funcionará. Para poder montar un RAID por software, es
*necesario* que las particiones que lo formen no estén en uso. Una vez
que tienes ejecutables "tocando" el disco hda (o el hdb), éste ya no
podrá ser usado en un RAID.
Pero, ¿hay algo tocando los discos en el momento que arranca el kernel?
A lo que me refería es a arrancar utilizando como partición raiz del sistema
cualquiera de los miembros del RAID (utilizando en Grub algo como
kernel /boot/vmlinuz-2.4.27-1-686 root=/dev/hda1 ro)

Si tratas de arrancar así, y luego, durante el arranque del sistema (Grub ya
ha cedido el control al sistema incluído en en initrd) se trata de "pasar"
al sistema en md0, no se podrá, porque ya se estarán leyendo datos de, en
este caso /dev/hda1, que es miembro de /dev/md0.
Post by Gonzalo Pérez de Olaguer Córdoba
La idea que me hago de esto es que grub leería (si el formato lo permite,
claro) uno de los discos y de ahí extraería el kernel y lo cargaría en
memoria, luego lo ejecutaría y entonces el kernel empiezaría su propio
bootstraping. Para entonces grub (el cargador) ya ha "desaparecido".
Si a lo que te refieres, es a si puedes situar el cargador de Grub en la
"cabecera" de cualquiera de los discos que forman el RAID, sí, puedes
hacerlo y, de hecho, *tienes* que hacerlo, ya que la BIOS del sistema no
cederá el control a /dev/md0 sino, en todo caso a, por ejemplo, /dev/hda.
En realidad, aún tengo pendiente comprobar si en Sarge ya se ha corregido
un error en los scripts de actualización del paquete del kernel que
obligaba a instalar el cargador manualmente en los discos del RAID, en caso
de tener la partición raiz (/) "dentro" de un RAID.

En cualquier caso, te aseguro que se puede utilizar Grub con la partición
raiz en RAID1 por software. De hecho, el instalador de Sarge maneja
correctamente esta situación.
--
SALUD,
Jesús
Hue-Bond
2005-01-09 00:54:53 UTC
Permalink
JGauss, ***@01:01:32(CET):
Está mal visto (por decirlo finalmente :^P) responder encima del mensaje al
que se responde. Google "top-post" y "bottom-post".
Post by JGauss
:-m A ver... las dos particiones para construir el RAID 1 están creadas,
con tipo FD (raid autodetect), y el RAID 1 está creado y formateado con
ext3 en /dev/md0. El sistema ya está instalado completamente,
exceptuando el gestor de arranque. GRUB, que es el que intento instalar,
no tiene traducción para /dev/md0, tal como lo tiene para /dev/hda1 ==>
(hd0,0), o para /dev/hdb3 ==> (hd1,2), etc., y por lo tanto no puedo
configurarlo/instalarlo porque no le puedo (es decir, no sé) indicar
"/dev/md0".
Mi pregunta es, primero si es posible usar GRUB con RAID 1, y segundo,
cómo se configura grub?
Sí se puede. Grub accede a las particiones del disco, no al raid, por lo que
no necesita saber de raid. Conviene meter grub en todas las particiones que
forman el raid para que podamos seguir arrancando el sistema si uno de los
discos falla.

echo -e "root (hd0,0)\nsetup (hd0)\nroot (hd1,0)\nsetup (hd1)" | grub

Luego en menu.lst, como ya te dije en el otro mensaje, hay que decirle que
pase al núcleo el parámetro root=/dev/md0.

[Danae^] te manda saludos :^P.
--
David Serrano
Jose Maria Lopez Hernandez
2005-01-10 13:34:19 UTC
Permalink
Post by JGauss
:-m A ver... las dos particiones para construir el RAID 1 están creadas,
con tipo FD (raid autodetect), y el RAID 1 está creado y formateado con
ext3 en /dev/md0. El sistema ya está instalado completamente,
exceptuando el gestor de arranque. GRUB, que es el que intento instalar,
no tiene traducción para /dev/md0, tal como lo tiene para /dev/hda1 ==>
(hd0,0), o para /dev/hdb3 ==> (hd1,2), etc., y por lo tanto no puedo
configurarlo/instalarlo porque no le puedo (es decir, no sé) indicar
"/dev/md0".
Mi pregunta es, primero si es posible usar GRUB con RAID 1, y segundo,
cómo se configura grub?
Gracias por la ayuda.
Tienes toda la razón, me había chinado con el tema del RAID y ni me
acordaba de como se configuraba el grub. Quizás la solución sea pasar
de grub y probar con lilo, que si que se configura por medio de
particiones. La verdad que con grub no se como se soluciona este
problema.

Por cierto, si alguien lo sabe que por favor lo postee, que me interesa
bastante porque voy a tener que montar un sistema similar en breve.
--
Jose Maria Lopez Hernandez
Director Tecnico de bgSEC
***@bgsec.com
bgSEC Seguridad y Consultoria de Sistemas Informaticos
http://www.bgsec.com
ESPAÑA

The only people for me are the mad ones -- the ones who are mad to live,
mad to talk, mad to be saved, desirous of everything at the same time,
the ones who never yawn or say a commonplace thing, but burn, burn, burn
like fabulous yellow Roman candles.
-- Jack Kerouac, "On the Road"
Hue-Bond
2005-01-08 23:48:20 UTC
Permalink
Post by JGauss
hda1+hdb1: RAID 1 (/dev/md0) montado en /
¿Cómo configuro grub?
Me han dicho 3 ó 4 veces cómo instalar grub, y hasta lo apunté, pero todavía
no me lo sé de memoria y además no encuentro el archivo ese así que no te
puedo dar muchos detalles. Simplemente tienes que meter el sector de
arranque en ambas particiones, y en el menu.lst ponerle root=/dev/md0.

Ah! y conviene que las particiones sean del tipo 0xfd para que el núcleo las
detecte automáticamente al arrancar.
--
David Serrano
Hue-Bond
2005-01-08 23:56:31 UTC
Permalink
Post by Hue-Bond
Me han dicho 3 ó 4 veces cómo instalar grub, y hasta lo apunté, pero todavía
no me lo sé de memoria y además no encuentro el archivo ese
En google:

"raid howto" boot grub

(con las comillas). Click en "Voy a tener suerte" y hala :^P.
--
David Serrano
JGauss
2005-01-09 13:55:04 UTC
Permalink
Mano de santo :)

Bueno, arrancar... arranca... Pero me da un kernel panic, que ya me
temía que iba a pasar, diciendo que no encuentra /dev/md0.

Tendré que crearme el initrd que dijo Jesus M Navarro. No tengo
ni idea de cómo hacerlo, aunque creo que me hice unos cuantos
cuando trasteaba con LFS... pero esto es cosa de San Google... ;)

Gracias a todos por la ayuda.

PD: Saluda a Danae de mi parte, y otro para ti.
Post by Hue-Bond
Post by Hue-Bond
Me han dicho 3 ó 4 veces cómo instalar grub, y hasta lo apunté, pero todavía
no me lo sé de memoria y además no encuentro el archivo ese
"raid howto" boot grub
(con las comillas). Click en "Voy a tener suerte" y hala :^P.
Hue-Bond
2005-01-09 14:58:31 UTC
Permalink
Post by JGauss
Bueno, arrancar... arranca... Pero me da un kernel panic, que ya me
temía que iba a pasar, diciendo que no encuentra /dev/md0.
Tendré que crearme el initrd que dijo Jesus M Navarro.
No soy muy amigo de initrd y lo tengo funcionando en la ofi. Supongo que
todo se reduce a tener el soporte compilado estáticamente, de forma que
detecte el raid al arrancar.
--
David Serrano
JGauss
2005-01-09 22:02:41 UTC
Permalink
Pues prefiero crear un initrd antes que recompilar el kernel de
Guadalinex...

Todo estaría solucionado si fuera posible modificar el "initrd.splash"
de Gudalinex, montándolo con looop... pero ese archivo no es ni gzip,
ni bzip2, ni tiene ningún formato de ficheros conocido (romfs, cramfs,
ext2, ext3, minix, msdos...). ¿Cómo diablos procesa grub ese fichero?
Ocupa 88603 bytes, por lo que sospecho que no puede ser un initrd
"normal"... ¿quizás sólo contiene la imagen splash de inicio?

Si me creo un initrd (mediante mkinitrd), éste ocupa 1,9 mb. Pero éste
tampoco lo puedo modificar... lo monto, pero me dice que es un sistema
de ficheros de sólo lectura o_O ¿por qué, si no lo he montado con "ro"?

Estoy más perdío que al principio :-P

Saludos.
Post by Hue-Bond
Post by JGauss
Bueno, arrancar... arranca... Pero me da un kernel panic, que ya me
temía que iba a pasar, diciendo que no encuentra /dev/md0.
Tendré que crearme el initrd que dijo Jesus M Navarro.
No soy muy amigo de initrd y lo tengo funcionando en la ofi. Supongo que
todo se reduce a tener el soporte compilado estáticamente, de forma que
detecte el raid al arrancar.
Jesús M. NAVARRO
2005-01-10 16:22:13 UTC
Permalink
Post by Hue-Bond
Post by JGauss
Bueno, arrancar... arranca... Pero me da un kernel panic, que ya me
temía que iba a pasar, diciendo que no encuentra /dev/md0.
Tendré que crearme el initrd que dijo Jesus M Navarro.
Veamos. Arrancas con Grub y no te encuentra /dev/md0. Puede ser que initrd
no tenga la información necesaria y... puede ser que hayas roto el RAID.

¿Puedes añadir una entrada nueva a al menú de Grub y arrancar desde uno de
los discos? Deberías, si tienes datos en ellos.

Ahora tienes dos caminos:
1/ Arrancar el sistema con lo que tengas en una de las particiones
(utilizando el menú de inicio de Grub e indicando que quieres arrancar
con /dev/hda1, o la partición que sea), crear un RAID1 "degradado" con el
*otro* disco (si arrancaste con hda1, podrás crear el RAID1 con hdb1, por
ejemplo), montarlo en algún lugar como /mnt, montar en modo
"enlazado" /proc y /dev dentro de /mnt (mount -o bind /proc /mnt/proc, y
mount -o bind /dev /mnt/dev), hacer chroot al nuevo sistema (chroot /mnt),
crear un nuevo initrd para ese sistema (mkinitrd
-o /boot/initrd.img-elkernelkesea), salir del chroot, desmontar la
partición RAID1, y asegurarte que tienes una entrada en Grub para esa
unidad RAID (/dev/md0, seguramente). Después de eso, ya deberías poder
reiniciar y arrancar desde /dev/md0 (que es un sistema degradado con un
solo disco). Ahora sólo te quedará añadir al RAID1 la partición que
utilizaste antes para arrancar (o sea, la que quedó fuera del RAID por
estar en uso), esperar a que el RAID1 se sanee Y VOLVER A CREAR el initrd
(ya que la información con la que se "fabricó" el anterior daba uno de los
discos -el que estaba activo- como fuera de servicio). Después de esto ya
deberías poder reiniciar el sistema con tu flamante RAID1.
2/ Idea similar a la anterior, pero iniciando desde un CD con Knoppix o
similar para ahorrarnos un paso: iniciamos con Knoppix, regeneramos el
RAID1 (si se puede activar, estupendo, si no, lo mismo de antes: se crea un
RAID1 degradado y luego se añade el otro disco). Con el RAID1
"regenerado", montamos /dev/md0 donde nos venga bien (supongamos /mnt),
reenlazamos /dev y /proc a sus puntos de montaje dentro de /mnt, hacemos
chroot y regeneramos initrd. Si todo fue bien, retirando el CD y
reiniciando, deberías poder echar a andar tu RAID1 en la partición raiz.
Post by Hue-Bond
No soy muy amigo de initrd y lo tengo funcionando en la ofi. Supongo que
todo se reduce a tener el soporte compilado estáticamente, de forma que
detecte el raid al arrancar.
Es de suponer que con eso sería suficiente (soporte el kernel para
dispositivos md y, en tu caso, también para raid1).
--
SALUD,
Jesús
Loading...