BTRFS-RAID y arranque desde la partición del sistema EFI

BTRFS-RAID y arranque desde la partición del sistema EFI

UEFI requiere arrancar desde un ESP que la mayoría de las veces está formateado como vFAT. Si no recuerdo mal, BTRFS podría tener subvolúmenes formateados como ext3/ext4 como el Administrador de volúmenes lógicos (LVM). Sin embargo, UEFI no admite el arranque desde BTRFS. La mayoría de las veces la solución es simplemente utilizar tres (o 2N + 1) discos, dos para el RAID y uno para arrancar. Mi principal preocupación en este caso es la simple duplicación de RAID1. En este caso, solo puedo usar dos discos. Si la placa base estuviera usando BIOS, entonces simplemente podría reflejar la partición de arranque.

He oído que este problema (tener que usar un disco adicional para arrancar) es una de las razones por las que la gente ha cambiado a (freeBSD con) ZFS, aunque es posible que no lo recuerde correctamente.

En mi caso lo que hice fue reflejar un disco completo con una partición. Es decir, el segundo disco tenía dos particiones: una ESP y una partición btrfs. Sin embargo, supongo que no es así como se pretende utilizar BTRFS-RAID1. Entonces mi pregunta es concretamente:

  • ¿Esta configuración conducirá a la corrupción u otras consecuencias no deseadas?
  • ¿Cuál sería una mejor solución?

Respuesta1

Por lo que deduzco de sus declaraciones, tiene dos discos con el siguiente diseño (o similar):

sda: GPT
  sda1: Linux MD RAID member
  sda2: Swap
  sda3: BTRFS pool member (RAID 1 allocation policy)

sdb: GPT
  sda1: Linux MD RAID member
  sda2: Swap
  sda3: BTRFS pool member (RAID 1 allocation policy)

md0: ESP (~100mb? VFAT) mounted at /boot/efi (RAID 1 allocation policy)

BTRFS pool: 
  root subvol (mounted at /)
  home subvol (mounted at /home)
  et cetera ad nauseam.

Esto es exactamente lo que desea en casi todos los casos, y si su configuración no refleja esto, probablemente querrá que lo refleje.

El volumen MD de Linux en este caso es un RAID 1 entre sda1 y sdb1. No juegues con sd[a,b]1 directamente y solo montes el volumen MD creado a partir de ellos (generalmente /dev/md0o /dev/md/0a menos que hayas sentido la necesidad de darle un nombre especial durante la creación). Es absolutamente necesario utilizar RAID1 para el volumen ESP, ya que el firmware de la placa base espera encontrar esos datos intactos en cualquier disco en el momento del arranque.

Las particiones de intercambio naturalmente se rayarán, pero una falla en una de ellas no bloqueará su sistema en casi todos los casos. No utilice MD para intercambiar a menos que tenga una buena razón, ya que el buscapersonas es muy inteligente.

El grupo BTRFS escaneará automáticamente, por lo que es mejor especificar este volumen por UUID al agregar entradas en el /etc/fstabarchivo.

GRUB2 puede arrancar desde cualquier nivel RAID BTRFS. Sólo asegúrese de que el cargador de "etapa 1" esté instalado en ambas tablas de particiones (sda, sdb). Esto se hace al invocar grub-install /dev/sda(puede ser ligeramente diferente según la distribución).

información relacionada