¿Cómo instalo GRUB en una instalación de sistema RAID?

43

Estoy tratando de configurar e instalar Ubuntu en una configuración RAID 1. Tengo dos discos, sdb y sdc. He estado siguiendo esta guía

https://help.ubuntu.com/community/Installation/SoftwareRAID

que más o menos funciona para configurar todo e instalar Ubuntu. El problema está al final de la instalación, intenta instalar GRUB. Por defecto, prueba mi "primer disco", lo que da un "error fatal". He intentado instalarlo en una partición específica, por ejemplo, sdb1, así como en dispositivos RAID, por ejemplo, md0, md1, etc. Parece que nada funciona.

El error real es

No se puede instalar GRUB en / dev / sdb

Error al ejecutar 'grub-install' / dev / sdb '.

Este es un error fatal.

Luego vuelvo al menú principal de instalación. Si elijo "Instalar el cargador de arranque GRUB en un disco duro", puedo elegir la partición, pero al ingresar sdb2 o md1 se produce el mismo error.

Así que seguí adelante y simplemente no instalé GRUB, lo que significa que ahora presumiblemente tengo una instalación de Ubuntu que funciona, pero no puedo iniciarla. He intentado arrancar desde el LiveCD para instalar GRUB, pero no puedo hacer un chroot en mi sistema porque no parece reconocer que mi disco es un disco de Linux. Hay un error acerca de que es una partición RAID.

Básicamente, me gustaría saber cómo sabe en qué dispositivo instalar GRUB en la instalación, o al menos, cómo instalarlo en mi sistema ahora.

Supongo que también debería mencionar que sda ​​es una instalación de Windows 7 que me gustaría mantener y poder acceder en el arranque.

Gracias por cualquier ayuda.

Kris Harper
fuente
Sin decir cuál fue el error, no podemos ayudar. Instalar en sda (y posiblemente también en sdb y sdc) es lo correcto. Para acceder a la incursión desde el livecd necesita instalar el paquete mdadm:sudo apt-get install --no-install-recommends mdadm
psusi
Lo siento, he editado mi publicación para incluir el mensaje de error. La razón por la que estaba tratando de instalar en algo que no sea sdb, sdc es que leí este hilo que parecía decir que debería encontrar la partición correcta en / dev / mapper. Pero cuando caigo al shell en el instalador, no aparece nada en / dev / mapper que no sea control.
Kris Harper
Eso es para falsos miedos, no para ataques de software.
psusi
1
¿Está utilizando una tabla de partición MSDOS o GPT? Si está utilizando GPT, debe crear una partición bios_boot.
psusi
1
Logré que funcionara creando tres particiones en cada unidad, RAID dos conjuntos para el sistema de archivos e intercambio y dejando los dos últimos sin RAID. Luego seleccioné / boot como punto de montaje para uno de ellos, y elegí ese al instalar GRUB. Esto parece funcionar. Mi única preocupación es que GRUB no está instalado en la otra unidad, por lo que si tengo una falla en la unidad, es posible que no pueda arrancar. ¿Quizás pueda solucionar esto instalando GRUB en la otra unidad, a pesar de que esa partición no está configurada como un punto de montaje / boot?
Kris Harper

Respuestas:

16

Resultó que mi problema era que tenía una tabla de particiones GUID ya que mis unidades tenían 2 TB cada una. El método que intenté seguir originalmente no asumió esto, por lo que instalar GRUB no funcionó.

En su lugar, debe hacer una pequeña partición (1 MB) en cada disco y RAID juntos y configurarlo como una partición de arranque GRUB (no estoy seguro del nombre real). Configure sus otras particiones RAID (por ejemplo, swap y /) y luego el instalador de GRUB debería encontrar el área de arranque bien.

(En Debian, esto se denomina área de arranque del BIOS reservada ).

Kris Harper
fuente
1
esto solo funciona para raid1: estaba intentando esto para raid6 y sigue fallando sin un mensaje de error de ayuda :(
Mr.Gosh
¿Cómo has creado la incursión de software? Actualmente estoy tratando de hacer lo mismo. vea mi pregunta sobre serverfault: serverfault.com/q/749274/71452
c33s el
13

¡Muchas de las respuestas aquí son simplemente incorrectas, y le dicen que desactive el RAID del BIOS! La solución correcta está en esta entrada del blog . Lo resumiré a continuación.

En la etapa de la instalación donde está intentando instalar GRUB, detectará como

/dev/mapper

¡Esto está incompleto! Es por eso que la instalación de GRUB falla.

Necesita el nombre real de la matriz RAID para instalar . Entonces, durante ese paso, presione ctrl+ alt+ F2para caer a una terminal de busybox, luego ingrese

ls -l /dev/mapper

Elija el nombre de su matriz de la lista que se muestra, luego presione ctrl+ alt+ F1para volver a la instalación (puede cambiar tanto como desee sin problemas) e ingréselo en el campo como

/dev/mapper/{your array name}  

luego GRUB se instala perfectamente y ya está listo, con una matriz RAID de BIOS adecuada intacta.

Jeff Atwood
fuente
77
¿Qué pasa si ls -l / dev / mapper no muestra más que "control" como su contenido?
Brian Bauman
No estoy seguro. Sospecho que en ese momento no tienes RAID de BIOS, también conocido como RAID "falso".
Jeff Atwood
Completo la partición y la instalación como de costumbre, y la instalación falla en la instalación de GRUB. No estoy seguro de por qué el RAID no se iniciaría en ese momento, ya que la instalación fue específicamente para los tres conjuntos de incursiones que construí: raid1 /, raid0 swap y raid1 / home.
Brian Bauman
Vale la pena mencionar que estaba usando erróneamente fakeRAID y RAID de software indistintamente. Mi primer intento se basó en usar la incursión de BIOS, pero el consejo de este hilo me recomendó que usara RAID de software de Linux, que es lo que he estado tratando de hacer que funcione desde entonces. Intentará su consejo usando BIOS fakeRAID nuevamente e informará.
Brian Bauman
1
¿Sigue siendo válido para 14.04? No puedo activar el indicador de arranque en 14.04, así que me pregunto si esta solución solo está disponible para 12.04
Mr.Gosh
2

Una ligera variación en la receta de @ root45 me puso en marcha (en un sistema solo de Ubuntu). No hice que la partición de arranque sea parte de la matriz Raid.

Creé una pequeña partición de arranque GRUB (elegí la opción del editor de partición: "use is 'bootgrub'" o algo similar) y no lo hice parte del dispositivo Raid junto con las particiones de intercambio y datos (/).

Puede reescribir los datos de Grub2 en la partición 'bootgrub' en cualquier momento ... ya que el proceso de instalación, en su nombre, tendrá la opción después de que todos los paquetes seleccionados hayan sido instalados; o en cualquier momento posterior si se corrompe al grub-install /dev/sdacambiar el 'sda' al dispositivo de la partición que usó en el 'paso uno' anterior para ser 'usado como "bootgrub"'.

Si elige provocar la instalación de muchos paquetes en un servidor LAMP, por ejemplo, puede pasar bastante tiempo después de la partición antes de que se le pregunte si desea escribir los datos de Grub2 en el disco duro ... y los valores predeterminados que ofrece en ese momento el tiempo causó un error hasta que proporcioné el dispositivo de la partición "bootgrub" ... y todo salió bien y ahora tengo un sistema viable.

iainH
fuente
1

No puedo ayudar con la instalación de grub ahora, pero lo que hice para que mi RAID se ejecute es que seguí estas instrucciones:

Cómo instalar Ubuntu 8.04 con el software RAID1 | HowtoForge - Tutoriales y tutoriales de Linux e instale grub en cada partición RAID (no intercambiar).

Esto será útil cuando un HDD falla, todavía hay un grub que funciona.

K. Hendrik
fuente
Cuando creo mi primera partición (para el sistema de archivos), no puedo configurar esa partición para que sea arrancable. La opción está ahí, pero si la selecciono, solo parpadea y dice "bandera de arranque: no". Seguí adelante y lo instalé de todos modos, pero aún recibí el mismo error al instalar GRUB.
Kris Harper
Hmm, no escuché sobre ese tipo de comportamiento antes. ¿Cuál es la configuración exacta que utilizó para configurar su incursión?
K. Hendrik
Tengo tres discos, sda es Windows 7. Los demás, sdb y sdc están en blanco cuando comienzo. Cuando llego al administrador de particiones, hago una nueva partición en cada unidad para el sistema de archivos. Su guía vinculada dice que establezca esto como "volumen físico para RAID", en lugar de "sistema de archivos Ext4", así que hice eso. Pero esto significa que no puedo configurar el indicador de arranque. Hice el resto del intercambio de unidades e hice lo mismo en las otras unidades.
Kris Harper
Me parece que no sigues las instrucciones hasta el final. Después de crear los volúmenes de incursión, debe asignarlos a una incursión después de asignar el sistema de archivos, por ejemplo, ext4 después de eso, puede asignar el indicador de arranque. Debe crear 2 particiones de banda en cada unidad, una para intercambiar una por /.
K. Hendrik
Bueno, lo hice eventualmente. Pero su guía dice "Hacer la partición de arranque" antes de crear el RAID de software, y el instalador no me deja hacer eso. Realicé la instalación y creé el RAID, luego asigné / e intercambié a los dos dispositivos RAID. Pero todavía hay un error cuando intenta instalar GRUB.
Kris Harper