¿Con la ayuda de Cómo instalar el servidor Ubuntu con UEFI y RAID1 + LVM , la configuración RAID en Ubuntu 18.04 y la compatibilidad con RAID en el instalador de escritorio Ubuntu 18.04? y ¿Cómo deshacerse del "escaneo de sistemas de archivos btrfs" al inicio? , Logré armar un CÓMO de trabajo usando solo comandos de Linux.
En breve
- Descargue el instalador alternativo del servidor.
- Instalar 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, elimine las
btrfs
secuencias de comandos de arranque.
En detalle
1. Descargue el instalador
2. Instalar con particionamiento manual
- Durante la instalación, en el
Partition disks
paso, seleccione Manual
.
- Si los discos contienen particiones, elimínelas.
- Si hay volúmenes lógicos en sus unidades, seleccione
Configure the Logical Volume Manager
.
- Elija
Delete logical volume
hasta que se hayan eliminado todos los volúmenes.
- Elija
Delete volume group
hasta que se hayan eliminado todos los grupos de volúmenes.
- Si hay algún dispositivo RAID presente, seleccione
Configure software RAID
.
- Elija
Delete MD device
hasta que se hayan eliminado todos los dispositivos MD.
- Elimine cada partición en las unidades físicas eligiéndolas y seleccionándolas
Delete the partition
.
- Crea particiones físicas
- En cada unidad, crear una partición de 512 MB (he visto que otros utilizan 128MB) al principio del disco, Utilizar como:
EFI System Partition
.
- En cada unidad, crear una segunda partición con el tamaño de 'max', Utilizar como:
Physical Volume for RAID
.
- Configurar RAID
- Seleccionar
Configure software RAID
.
- Seleccione
Create MD device
, escriba RAID1
, 2 discos activos, 0 discos de repuesto y seleccione los dispositivos /dev/sda2
y /dev/sdb2
.
- Configurar LVM
- Seleccionar
Configure the Logical Volume Manager
.
- Crear grupo de volúmenes
vg
en el /dev/md0
dispositivo.
- Crear volúmenes lógicos, p. Ej.
swap
a 16G
root
a 35G
tmp
a 10G
var
en 5G
home
a 200G
- Configurar cómo usar las particiones lógicas
- Para la
swap
partición, seleccione Use as: swap
.
- Para las otras particiones, seleccione
Use as: ext4
con los puntos de montaje adecuado ( /
, /tmp
, /var
, /home
, respectivamente).
- Seleccionar
Finish partitioning and write changes to disk
.
- Permita que el programa de instalación finalice y reinicie.
Si está reinstalando en una unidad que anteriormente tenía una configuración RAID, el paso de creación RAID anterior podría fallar y nunca obtendrá un md
dispositivo. En ese caso, es posible que deba crear una memoria USB de Ubuntu Live, iniciarla y ejecutarla gparted
para borrar todas las tablas de particiones, antes de reiniciar este CÓMO.
3. Inspeccionar el sistema
4. Clonar la 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
Este paso puede no ser necesario, ya que si cualquiera de las unidades muere, el sistema debería arrancar desde las particiones EFI (idénticas). Sin embargo, parece prudente garantizar que podamos arrancar desde cualquier disco.
- Ejecute
efibootmgr -v
y observe el nombre del archivo para la ubuntu
entrada de arranque. En mi instalación fue \EFI\ubuntu\shimx64.efi
.
- Ejecutar
sudo efibootmgr -c -d /dev/sdb -p 1 -L "ubuntu2" -l \EFI\ubuntu\shimx64.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 los ubuntu
y ubuntu2
botas de artículos y que son los dos primeros en el orden de arranque.
- ¡Ahora el sistema debería arrancar incluso si falla alguna de las unidades!
7. espera
Si desea intentar eliminar o deshabilitar físicamente cualquier unidad para probar su instalación, ¡primero debe esperar hasta que la sincronización RAID haya finalizado! Controle 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 hay más paquetes listados para eliminar, debería estar bien.
9. Instale la versión de escritorio
Ejecute 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 de grub-efi-amd64
Cuando grub-efi-amd64
se actualiza el paquete , los archivos en la partición EFI (montados en /boot/efi
) pueden 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, para que no tenga que verificar 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 averiguar qué partición EFI está montada. Esa partición, por lo general /dev/sdb1
, debe usarse como fuente de clonación.
10.2 Averigüe la fuente del clon, de 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
Encuentra la marca de tiempo del archivo más nuevo en cada árbol
sudo find /tmp/sda1 -type f -printf '%T+ %p\n' | sort | tail -n 1 > /tmp/newest.sda1
sudo find /tmp/sdb1 -type f -printf '%T+ %p\n' | 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"'
Debe 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 inconsistencias de caché / partición.
sudo umount /tmp/sda1 /tmp/sdb1
10.3 Clon
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. Gotchas de máquinas virtuales
Si primero quiere probar esto en una máquina virtual, hay algunas advertencias: Aparentemente, la NVRAM que contiene la información 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
(use FS1:
for /dev/sdb1
):
FS0:
\EFI\ubuntu\grubx64.efi
La primera solución en la respuesta superior del arranque UEFI en virtualbox: Ubuntu 12.04 también podría ser útil.