Debian 12 (ratón de biblioteca): la instalación de un software RAID 1 falla con un error de grub

Debian 12 (ratón de biblioteca): la instalación de un software RAID 1 falla con un error de grub

Durante un tiempo he estado intentando configurar un nuevo sistema de servidor con RAID 1 como fuente de arranque. Ese RAID consta de dos discos duros de 4 TB. Entonces inicio desde una memoria USB que he preparado con la imagen de instalación de Debian 12. Al principio todo funciona normalmente. Configuro la red y creo los dos primeros usuarios. Cuando se trata de la parte de partición, selecciono la forma manual.

En la siguiente tabla veo mis dos unidades de 4 TB y el dispositivo de arranque USB. El disco duro SCSI9 es un repuesto de emergencia, no lo usaré aquí. Elijo configurar el software RAID

Selecciono crear un dispositivo MD

Selecciono RAID 1

2 dispositivos RAID

0 dispositivos de repuesto

Selecciono mis 2 discos libres

Una vez más volvamos a la partición. Esta vez selecciono el modo guiado.

Todos los archivos en una partición

Selecciono mi nuevo dispositivo RAID

Después de uno o dos minutos aparece el nuevo RAID particionado. Parece prometedor...

Confirmo los cambios y el sistema comienza a obtener e instalar el resto del sistema operativo y todas las utilidades. Este proceso está muy bien diseñado y es bastante sencillo hasta ahora. El único problema: no termina. :-( Cuando se trata de instalar GRUB (2 horas después), muere... No encontré manera de ir más allá de este punto.¿Cuál es mi error y cómo puedo solucionarlo??

He probado muchas variaciones a partir de los resultados de búsquedas extensas en Internet, todas con el mismo resultado.. Este fue el más prometedor: saltarse parte del proceso de instalación y generar manualmente la matriz con mdadm: https://www.server-world.info/en/note?os=Debian_12&p=raid1

Añadiendo

Respuesta1

4T requiere el uso de GPT y no es posible tener un RAID particionable de disco completoyhaga que los discos sean reconocibles por BIOS para arrancar (estrictamente imposible con EFI, no tan estrictamente con el legado, pero eso requerirá magia oscura que no desea saber).

(Es una pena que el instalador de Debian haya aceptado este esquema. No debería, es estrictamente inválido y no podría funcionar).

Esto se debe a que la tabla de particiones GPT en realidad se almacena tanto al principio como al final del dispositivo. Cuando se utiliza RAID de disco completo y se ve sin una interpretación adecuada de los metadatos MD, ambas copias GPT nunca se realizan simultáneamente:

  • para el superbloque MD v1.0 faltará el segundo GPT (al final) (movido antes, en el lugar que BIOS no espera);
  • para los superbloques MD v1.1 y v1.2, el primer GPT (al principio) se desplazará para que el firmware no lo encuentre.

De cualquier manera, no reconocerá que los discos tengan una tabla de particiones válida y se negará a arrancar desde ellos.

Además de eso, si desea arrancar con UEFI, debe saber que el firmware EFI no tiene idea de que ESP podría ser un software RAID (no hay nada al respecto en las especificaciones). Entonces no debe ser así. ESP siempre debe ser una partición GPT simple.

Entonces, para resolver esto, en lugar de crear RAID y luego particionar, primero particione los discos y luego recopile algunas particiones en RAID. Si bien esto es discutible, sugiero el siguiente esquema:

  • para instalación EFI: un ESP (tipo 1) de 511 MiB (desplazamiento predeterminado 1 MiB), luego 512 MiB para /boot de tipo Linux RAID, luego el resto para el resto de tipo Linux RAID (este es el tipo 29 en fdisk si no me equivoco ).
  • para instalación heredada: 1 MiB (tipo 4: biosgrub), arranque de 510 MiB (RAID) y el resto RAID.

Luego, crea dos RAID (/boot y el resto) y selecciona uno de los ESP para que sea "el ESP". Habilitará el arranque desde el segundo disco después de la instalación. Y luego creas LVM en el RAID grande, para contener sistemas de archivos; allí puede crear un volumen de intercambio, un volumen raíz FS (30 GiB es suficiente para Debian y es fácil de ampliar sobre la marcha; tenga en cuenta que colocará todos los datos en otros volúmenes dedicados montados; no es bueno almacenar datos de aplicaciones en el volumen raíz ). El resto se puede crear según sea necesario, durante la vida útil del sistema.

Luego instalas el sistema como de costumbre. Debe crear FAT32 en la partición ESP; El instalador de Debian 11 tuvo problemas con eso, así que tuve que crearlo manualmente; No lo sé desde hace 12 años, ya que no había realizado dicha instalación, solo actualizaciones. Cuando se trata de la instalación del gestor de arranque, simplemente haga lo que se sugiere para EFI, mientras que para el sistema heredado puede simplemente repetir este paso e instalarlo dos veces, seleccionando el segundo disco la segunda vez, por lo que será un arranque redundante de inmediato.

Para EFI, después del primer inicio del sistema, debe crear manualmente el sistema de archivos FAT32 en la segunda partición "ESP", montarlo en algún lugar (yo uso /boot/efi2) y copiar todo desde /boot/efi, conservando la estructura. Luego crea una segunda entrada de inicio de firmware usando efibootmgr,aquíson las instrucciones.

Respuesta2

Listo... ¡Gracias, Nikita, por señalar la dirección correcta! Aquí hay una receta de cocina rápida de cómo funcionó para mí (omití un par de confirmaciones de "¿realmente quieres reparticionar tus discos?"):

  • Vaya a la configuración del BIOS de la placa principal y desactive todas las cosas UEFI.
  • Arranque desde la memoria USB con la imagen de instalación de Debian 12.
  • Inicie la "Instalación gráfica".
  • Realice los primeros pasos (instalación de red, etc.) de la forma habitual.
  • Cuando el instalador llegue a "Particionar discos", elija "Manual".
  • Elimine todas las particiones antiguas de sus dos unidades de destino.
  • Cree una nueva partición en la primera unidad de destino. Cuando se le solicite el tamaño, escriba "1 MB". Coloque la partición al "Inicio" del espacio disponible. Cambie la configuración "Usar como" a "Área de arranque del BIOS reservada".
  • Cree una nueva partición en la primera unidad de destino. Cuando se le preguntó por el tamaño, puso "max". Cambie la configuración "Usar como" a "volumen físico para RAID".
  • Repita los dos últimos pasos para la segunda unidad de destino.
  • De vuelta en el menú de partición, seleccione "Configurar software RAID". Seleccione "Crear dispositivo MD". Seleccione "RAID1". Los dispositivos activos son "2". Los dispositivos de repuesto son "0". Luego seleccione las dos particiones RAID que preparó anteriormente. Deje la configuración RAID con "Finalizar"
  • De vuelta en el menú de partición, seleccione "Partición guiada". Seleccione "Guiado: usar todo el disco y configurar LVM". Seleccione el dispositivo RAID que preparó anteriormente. Seleccione "Todos los archivos en una partición". Cuando se le pregunta sobre el tamaño del LVM, responda "max".
  • Su lista de particiones ahora debería verse más o menos así. Seleccione "Finalizar la partición y escribir los cambios en el disco".
  • Si todo salió bien, su sistema iniciará el proceso de instalación estándar de Debian (que puede tardar un poco). Responde las preguntas exactamente como lo haría en un proceso de instalación normal.
  • Despierte una vez más cuando se trata de escribir GRUB en sus discos: escríbalo una vez en el primer disco de destino, luego regrese y haga lo mismo con el segundo disco de destino.
  • El resto del procedimiento es estándar...
  • Puede verificar el estado de su RAID (incluido el progreso del proceso de sincronización) iniciándolo watch cat /proc/mdstatdesde la línea de comando.

información relacionada