md raid no arranca porque falta una unidad

md raid no arranca porque falta una unidad

Tengo un servidor con Debian Jessie, 4 unidades sda a sdd, todas las cuales están particionadas de la misma manera. El sistema está en un raid1 md raid sobre todas las unidades. Todas las unidades tienen grub y puedo intercambiar discos entre sí, cada una es de arranque y el sistema arranca felizmente. Todas las unidades contienen exactamente el mismo formato:

  sdx1 - Boot Partition, GRUB installed
  sdx2 - Raid 1 /boot
  sdx3 - Raid 1 /
  sdx4 - Raid 10 swap
  sdx5 - non-md btrfs Raid 6 /data

La partición de datos es raid6 btrfs. Actualmente estoy intentando actualizar mi capacidad cambiando una unidad por una más grande, ya que puedo tener dos fallas, mi primer instinto fue simplemente reemplazar una de las unidades y reiniciar, restaurar el matrices de raid fallidas con la unidad recién instalada y después de la reconstrucción todo vuelve a la normalidad.

PERO la máquina (que lamentablemente actualmente no tiene cabeza) no arranca una vez que cambio las unidades por algo que invalida la matriz raid. Puedo intercambiar los discos durante todo el día y arranca felizmente. Pero si quito un disco o cambio algo que no sea parte del raid, no arranca.

¿Me estoy perdiendo de algo? ¿Cómo puedo decirle a md que está bien arrancar automáticamente con discos faltantes/matriz degradada? Al final, en lo que respecta a md, incluso uno de los cuatro discos puede soportar todo el sistema por sí solo, la partición de datos es otra bestia ya que necesita al menos dos unidades, pero md no debería preocuparse por eso, ya que es un btrfs puro. Redada.

Sé que para el caso de uso actual podría simplemente quitar la unidad del raid, actualizarla y luego volver a colocarla allí, pero en caso de falla, no tengo la posibilidad de quitar la unidad si el sistema no se inicia. arriba.

Respuesta1

Como actualización y respuesta, mientras tanto descubrí que lo único que realmente faltaba aquí era el indicador nofail en fstab. El sistema de archivos estaba degradado y no lo montaría en un estado degradado sin que se configurara la opción nofail.

Respuesta2

Hasta donde yo sé, todavía no es posible crear una incursión con mdadm desde la cual puedas arrancar sin tener particiones de arranque separadas. Supongo que lo configuraste de manera similar a la que se describe aquí, utiliza un raid10, pero se aplica a otros niveles de raid:

¿Cómo crear un sistema Debian redundante de arranque con un software raid10 de 3 o 4 (o más) discos?

¿Es posible que no hayas configurado los otros discos para arrancar en la BIOS? O bien, las particiones de arranque no son exactamente iguales, es decir, copias exactas con el mismo UUID.

Para permitir que un disco específico arranque, deberá tener un sector de arranque y la BIOS debe estar configurada para arrancar desde él (junto con una lista de otros discos de arranque que forman parte del raid). Por supuesto, para que el arranque se complete correctamente, el disco también deberá tener una partición de arranque. Dado que estas particiones de arranque no forman parte del raid, cada disco de arranque tiene el suyo propio. Si se asegura de que cada partición de arranque contenga exactamente el mismo sistema de archivos (usando dd, por ejemplo, para copiarlo) y cada disco tenga un sector de arranque creado usando las imágenes de esa partición de arranque, el sistema debería poder arrancar desde cualquiera de los discos. . Incluso si la raid está degradada, una raid degradada no debería impedir un arranque exitoso. De lo contrario, eso representa un gran beneficio de tener una incursión discutible.

Citando del enlace:

Cada disco que forme parte del raid debe tener una partición de arranque de aproximadamente 1 GB que NO forme parte del raid. Cree estas particiones como de costumbre, deben tener exactamente el mismo tamaño. Márquelos como de arranque, el punto de montaje en uno de los discos debe ser /boot, puede dejar los demás desmontados.

Una vez que haya usado dd para hacer copias exactas de la partición de arranque:

Ahora asegúrese de que su BIOS esté configurada para intentar arrancar desde los 3 discos, el orden no importa. Siempre que la BIOS intente arrancar desde cualquier disco, en caso de que uno de los discos falle, el sistema arrancará automáticamente desde el otro disco porque los UUID son exactamente los mismos.

información relacionada