Solución:
Con la ayuda de Cómo instalar el servidor Ubuntu con UEFI y RAID1 + LVM, la configuración de RAID en Ubuntu 18.04 y la compatibilidad con RAID en el instalador de escritorio de Ubuntu 18.04? y ¿Cómo deshacerme del “escaneo de sistemas de archivos btrfs” al inicio? Me las arreglé para armar un CÓMO funcional usando solo comandos de Linux.
En breve
- Descargue el instalador del servidor alternativo.
- Instale con particionamiento manual, EFI + RAID y LVM en la partición RAID.
- Clone la partición EFI de la partición instalada a la otra unidad.
- Instale la segunda partición EFI en la cadena de arranque UEFI.
- Para evitar una larga espera durante el arranque en caso de que una unidad se rompa, extraiga el
btrfs
secuencias de comandos de arranque.
En detalle
1. Descarga el instalador
- Descargue el instalador del servidor alternativo de http://cdimage.ubuntu.com/ubuntu/releases/bionic/release/
- Cree un CD o USB de arranque y arranque la nueva máquina desde él.
- Seleccione
Install Ubuntu Server
.
2. Instalar con particionamiento manual
- Durante la instalación, en el
Partition disks
paso, seleccioneManual
. - Si los discos contienen particiones, elimínelas.
- Si hay volúmenes lógicos presentes en sus unidades, seleccione
Configure the Logical Volume Manager
.- Escoger
Delete logical volume
hasta que se hayan eliminado todos los volúmenes. - Escoger
Delete volume group
hasta que se hayan eliminado todos los grupos de volumen.
- Escoger
- Si hay algún dispositivo RAID presente, seleccione
Configure software RAID
.- Escoger
Delete MD device
hasta que se hayan eliminado todos los dispositivos MD.
- Escoger
- Elimine todas las particiones de las unidades físicas eligiéndolas y seleccionando
Delete the partition
.
- Si hay volúmenes lógicos presentes en sus unidades, seleccione
- Crea particiones físicas
- En cada unidad, cree una partición de 512 MB (he visto que otros usan 128 MB) al comienzo del disco, use como:
EFI System Partition
. - En cada unidad, cree una segunda partición con un tamaño ‘máximo’, use como:
Physical Volume for RAID
.
- En cada unidad, cree una partición de 512 MB (he visto que otros usan 128 MB) al comienzo del disco, use como:
- Configurar RAID
- Seleccione
Configure software RAID
. - Seleccione
Create MD device
, escribeRAID1
, 2 discos activos, 0 discos de repuesto y seleccione el/dev/sda2
y/dev/sdb2
dispositivos.
- Seleccione
- Configurar LVM
- Seleccione
Configure the Logical Volume Manager
. - Crear grupo de volumen
vg
sobre el/dev/md0
dispositivo. - Cree volúmenes lógicos, p. Ej.
-
swap
a 16G -
root
a 35G -
tmp
a 10G -
var
en 5G -
home
a 200G
-
- Seleccione
- Configurar cómo usar las particiones lógicas
- Para el
swap
partición, seleccioneUse as: swap
. - Para las otras particiones, seleccione
Use as: ext4
con los puntos de montaje adecuados (/
,/tmp
,/var
,/home
, respectivamente).
- Para el
- Seleccione
Finish partitioning and write changes to disk
. - Deje que el programa de instalación finalice y se reinicie.
Si está reinstalando en una unidad que anteriormente tenía una configuración RAID, el paso de creación RAID anterior puede fallar y nunca obtendrá una md
dispositivo. En ese caso, es posible que tenga que crear una memoria USB Ubuntu Live, iniciar en ella, ejecutar gparted
para borrar todas sus tablas de particiones, antes de reiniciar este COMO.
3. Inspeccione el sistema
-
Compruebe qué partición EFI se ha montado. Más probable
/dev/sda1
.montaje | bota grep
-
Verifique el estado de RAID. Lo más probable es que se esté sincronizando.
cat / proc / mdstat
4. Clonar partición EFI
El arranque EFI cargado debería haberse instalado en /dev/sda1
. Como esa partición no se refleja a través del sistema RAID, debemos clonarla.
sudo dd if=/dev/sda1 of=/dev/sdb1
5. Inserte la segunda unidad en la cadena de arranque.
Es posible que este paso no sea necesario, ya que si alguna de las unidades muere, el sistema debería iniciarse desde las particiones EFI (idénticas). Sin embargo, parece prudente asegurarse de que podamos arrancar desde cualquier disco.
- Correr
efibootmgr -v
y observe el nombre de archivo para elubuntu
entrada de arranque. En mi instalación fueEFIubuntushimx64.efi
. - Correr
sudo efibootmgr -c -d /dev/sdb -p 1 -L "ubuntu2" -l EFIubuntushimx64.efi
. Dependiendo de su caparazón, es posible que deba escapar de las barras diagonales inversas. - Verificar con
efibootmgr -v
que tiene el mismo nombre de archivo para elubuntu
yubuntu2
elementos de arranque y que son los dos primeros en el orden de arranque. - ¡Ahora el sistema debería arrancar incluso si alguna de las unidades falla!
7. Espere
Si desea intentar quitar o deshabilitar físicamente cualquier unidad para probar su instalación, primero debe esperar hasta que finalice la sincronización RAID. Supervise el progreso con cat /proc/mdstat
Sin embargo, puede realizar el paso 8 a continuación mientras espera.
8. Eliminar BTRFS
Si falla una unidad (después de que se complete la sincronización), el sistema aún se iniciará. Sin embargo, la secuencia de arranque pasará mucho tiempo buscando sistemas de archivos btrfs. Para eliminar esa espera innecesaria, ejecute
sudo apt-get purge btrfs-progs
Esto debería eliminar btrfs-progs
, btrfs-tools
y ubuntu-server
. El último paquete es solo un metapaquete, por lo que si no se enumeran más paquetes para su eliminación, debería estar bien.
9. Instale la versión de escritorio
Correr sudo apt install ubuntu-desktop
para instalar la versión de escritorio. Después de eso, la sincronización probablemente se haya realizado y su sistema esté configurado y debería sobrevivir a una falla de disco.
10. Actualice la partición EFI después de la actualización grub-efi-amd64
Cuando el paquete grub-efi-amd64
se actualiza, los archivos de la partición EFI (montados en /boot/efi
) podría cambiar. En ese caso, la actualización debe clonarse manualmente en la partición espejo. Afortunadamente, debería recibir una advertencia del administrador de actualizaciones que grub-efi-amd64
está a punto de actualizarse, por lo que no tiene que comprobarlo después de cada actualización.
10.1 Descubra la fuente de clonación, de forma rápida
Si no ha reiniciado después de la actualización, use
mount | grep boot
para saber qué partición EFI está montada. Esa partición, típicamente /dev/sdb1
, debe utilizarse como fuente de clonación.
10.2 Averiguar la fuente del clon, forma paranoica
Cree puntos de montaje y monte ambas particiones:
sudo mkdir /tmp/sda1 /tmp/sdb1
sudo mount /dev/sda1 /tmp/sda1
sudo mount /dev/sdb1 /tmp/sdb1
Encuentre la marca de tiempo del archivo más nuevo en cada árbol
sudo find /tmp/sda1 -type f -printf '%T+ %pn' | sort | tail -n 1 > /tmp/newest.sda1
sudo find /tmp/sdb1 -type f -printf '%T+ %pn' | sort | tail -n 1 > /tmp/newest.sdb1
Comparar marcas de tiempo
cat /tmp/newest.sd* | sort | tail -n 1 | perl -ne 'm,/tmp/(sd[ab]1)/, && print "/dev/$1 is newest.n"'
Debería imprimir /dev/sdb1 is newest
(lo más probable) o /dev/sda1 is newest
. Esa partición debe usarse como fuente de clonación.
Desmonte las particiones antes de la clonación para evitar la inconsistencia de la partición / caché.
sudo umount /tmp/sda1 /tmp/sdb1
10.3 Clonar
Si /dev/sdb1
fue la fuente del clon:
sudo dd if=/dev/sdb1 of=/dev/sda1
Si /dev/sda1
fue la fuente del clon:
sudo dd if=/dev/sda1 of=/dev/sdb1
¡Hecho!
11. Problemas de la máquina virtual
Si primero desea probar esto en una máquina virtual, hay algunas advertencias: aparentemente, la NVRAM que contiene la información de UEFI se recuerda entre reinicios, pero no entre ciclos de apagado y reinicio. En ese caso, puede terminar en la consola UEFI Shell. Los siguientes comandos deberían iniciarlo en su máquina desde /dev/sda1
(usar FS1:
por /dev/sdb1
):
FS0:
EFIubuntugrubx64.efi
La primera solución en la respuesta principal de arranque UEFI en virtualbox: Ubuntu 12.04 también podría ser útil.
RAID-1 + XFS + UEFI
Pude llegar aproximadamente al 99% del camino con la respuesta de @Niclas Börlin, ¡gracias!
También obtuve ayuda de las siguientes respuestas:
- Ubuntu 17.04 no arrancará en el sistema UEFI con la partición del sistema XFS
- Cómo instalar el servidor Ubuntu con UEFI y RAID1 + LVM
Estas son las formas en que arruiné las cosas
- Tener el BIOS en modo “Auto”, lo que permitió que la llave USB se iniciara NO en modo UEFI. Esto provocó que Grub no se instalara correctamente. Cambié el modo a solo UEFI, reinicié y eliminé todos los volúmenes lógicos, grupos de incursión y particiones y comencé de nuevo. Además intenté reinstalar grub en las particiones EFI, lo que solo empeoró las cosas.
- Tener el
/boot
la partición esté en XFS. El grub2 que viene con Ubuntu 18.04LTS aparentemente no maneja esto. Aunque eso no está documentado en ninguna parte. Creé un EXT-4 separado/boot
dividir. Tenga en cuenta que esto todavía está en el volumen RAID-1 LVM, ¡y no en particiones separadas como las de EFI! Muchas respuestas anteriores dicen que esto no es posible, pero parece serlo ahora. Terminé obteniendo grub pero obteniendo errores desconocidos del sistema de archivos (por ejemplo, cómo solucionar “error: sistema de archivos desconocido. Grub rescue>) que me dio la pista XFS en/boot
como un no-go. - En algún lugar en el medio de eso terminé con grub instalado pero un indicador de grub en blanco, sin menú de grub. (por ejemplo, https://help.ubuntu.com/community/Grub2/Troubleshooting#Specific_Troubleshooting). Esto se debió a
/boot
no ser accesible.
Que funciono para mi
Comience con la respuesta de @Niclas Börlin y cambie algunas cosas menores.
Tabla de particiones
Prefiero uno grande /
partición, por lo que esto refleja esa elección. El principal cambio es un EXT4 /boot
partición en lugar de una XFS.
sda/
GPT 1M (auto-added)
sda1 - EFI - 512M
sda2 - MD0 - 3.5G
sdb/
GPT 1M (auto-added)
sdb1 - EFI - 512M
sdb2 - MD0 - 3.5G
md0/
vg/
boot - 1G - EXT4 /boot
swap - 16G - SWAP
root - rest - XFS /
Después de la instalación completa, pude dd
los contenidos de sda1
para sdb2
como se detalla en la otra respuesta. También pude agregar la segunda unidad a la cadena de arranque usando efibootmgr
como fue detallado.