Avec l'aide de Comment installer le serveur Ubuntu avec UEFI et RAID1 + LVM , la configuration RAID dans Ubuntu 18.04 et la prise en charge RAID dans Ubuntu 18.04 Desktop Installer? et comment se débarrasser de la "recherche de systèmes de fichiers btrfs" au démarrage? , J'ai réussi à créer un HOWTO fonctionnel en utilisant uniquement les commandes linux.
En bref
- Téléchargez le programme d'installation du serveur alternatif.
- Installation avec partitionnement manuel, EFI + RAID et LVM sur partition RAID.
- Clonez la partition EFI de la partition installée sur l'autre lecteur.
- Installez la deuxième partition EFI dans la chaîne de démarrage UEFI.
- Pour éviter une longue attente lors du démarrage en cas de panne d'un lecteur, supprimez les
btrfs
scripts de démarrage.
En détail
1. Téléchargez l'installateur
2. Installation avec partitionnement manuel
- Pendant l'installation, à l'
Partition disks
étape, sélectionnez Manual
.
- Si les disques contiennent des partitions, supprimez-les.
- Si des volumes logiques sont présents sur vos disques, sélectionnez
Configure the Logical Volume Manager
.
- Choisissez
Delete logical volume
jusqu'à ce que tous les volumes aient été supprimés.
- Choisissez
Delete volume group
jusqu'à ce que tous les groupes de volumes aient été supprimés.
- Si un périphérique RAID est présent, sélectionnez
Configure software RAID
.
- Choisissez
Delete MD device
jusqu'à ce que tous les appareils MD aient été supprimés.
- Supprimez chaque partition sur les disques physiques en les choisissant et en les sélectionnant
Delete the partition
.
- Créer des partitions physiques
- Sur chaque disque, créer une partition de 512 Mo (je l' ai vu d' autres utilisent 128Mo) au début du disque, utilisation comme:
EFI System Partition
.
- Sur chaque disque, créer une seconde partition de la taille « max », Utilisation en tant que:
Physical Volume for RAID
.
- Configurer le RAID
- Sélectionnez
Configure software RAID
.
- Sélectionnez
Create MD device
, tapez RAID1
, 2 disques actifs, 0 disques de rechange et sélectionnez les périphériques /dev/sda2
et /dev/sdb2
.
- Configurer LVM
- Sélectionnez
Configure the Logical Volume Manager
.
- Créez un groupe de volumes
vg
sur l' /dev/md0
appareil.
- Créez des volumes logiques, par exemple
swap
à 16G
root
à 35G
tmp
à 10G
var
à 5G
home
à 200G
- Configurer l'utilisation des partitions logiques
- Pour la
swap
partition, sélectionnez Use as: swap
.
- Pour les autres partitions, sélectionnez
Use as: ext4
les points de montage approprié ( /
, /tmp
, /var
, /home
respectivement).
- Sélectionnez
Finish partitioning and write changes to disk
.
- Laissez le programme d'installation se terminer et redémarrez.
Si vous réinstallez sur un lecteur qui avait précédemment une configuration RAID, l'étape de création RAID ci-dessus peut échouer et vous n'obtiendrez jamais de md
périphérique. Dans ce cas, vous devrez peut-être créer une clé USB Ubuntu Live, démarrer dessus, exécuter gparted
pour effacer toutes vos tables de partition, avant de redémarrer ce HOWTO.
3. Inspectez le système
4. Cloner la partition EFI
L'EFI bootloaded aurait dû être installé sur /dev/sda1
. Comme cette partition n'est pas mise en miroir via le système RAID, nous devons la cloner.
sudo dd if=/dev/sda1 of=/dev/sdb1
5. Insérez le deuxième lecteur dans la chaîne de démarrage
Cette étape peut ne pas être nécessaire, car si l'un des disques meurt, le système doit démarrer à partir des partitions EFI (identiques). Cependant, il semble prudent de s'assurer que nous pouvons démarrer à partir de l'un ou l'autre disque.
- Exécutez
efibootmgr -v
et notez le nom de fichier pour l' ubuntu
entrée de démarrage. Sur mon installation, c'était \EFI\ubuntu\shimx64.efi
.
- Courez
sudo efibootmgr -c -d /dev/sdb -p 1 -L "ubuntu2" -l \EFI\ubuntu\shimx64.efi
. Selon votre shell, vous devrez peut-être échapper aux barres obliques inverses.
- Vérifiez avec
efibootmgr -v
ce que vous avez le même nom de fichier pour les ubuntu
et ubuntu2
articles démarrage et que ce sont les deux premiers dans l'ordre de démarrage.
- Maintenant, le système devrait démarrer même si l'un des disques tombe en panne!
7. Attendez
Si vous souhaitez essayer de retirer ou de désactiver physiquement un lecteur pour tester votre installation, vous devez d'abord attendre la fin de la synchronisation RAID! Surveillez la progression avec cat /proc/mdstat
Cependant, vous pouvez effectuer l'étape 8 ci-dessous en attendant.
8. Supprimer BTRFS
Si un disque tombe en panne (une fois la synchronisation terminée), le système démarre toujours. Cependant, la séquence de démarrage passera beaucoup de temps à rechercher des systèmes de fichiers btrfs. Pour supprimer cette attente inutile, exécutez
sudo apt-get purge btrfs-progs
Cela devrait supprimer btrfs-progs
, btrfs-tools
et ubuntu-server
. Le dernier paquet n'est qu'un méta-paquet, donc si plus aucun paquet n'est répertorié pour suppression, vous devriez être d'accord.
9. Installez la version de bureau
Exécutez sudo apt install ubuntu-desktop
pour installer la version de bureau. Après cela, la synchronisation est probablement terminée et votre système est configuré et devrait survivre à une panne de disque!
10. Mettre à jour la partition EFI après la mise à jour grub-efi-amd64
Lorsque le package grub-efi-amd64
est mis à jour, les fichiers sur la partition EFI (montée sur /boot/efi
) peuvent changer. Dans ce cas, la mise à jour doit être clonée manuellement sur la partition miroir. Heureusement, vous devriez recevoir un avertissement du gestionnaire de mise à jour qui grub-efi-amd64
est sur le point d'être mis à jour, afin que vous n'ayez pas à vérifier après chaque mise à jour.
10.1 Découvrez la source du clone, un moyen rapide
Si vous n'avez pas redémarré après la mise à jour, utilisez
mount | grep boot
pour savoir quelle partition EFI est montée. Cette partition, généralement /dev/sdb1
, doit être utilisée comme source de clone.
10.2 Découvrir la source du clone, voie paranoïaque
Créez des points de montage et montez les deux partitions:
sudo mkdir /tmp/sda1 /tmp/sdb1
sudo mount /dev/sda1 /tmp/sda1
sudo mount /dev/sdb1 /tmp/sdb1
Trouver l'horodatage du fichier le plus récent dans chaque arborescence
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
Comparer les horodatages
cat /tmp/newest.sd* | sort | tail -n 1 | perl -ne 'm,/tmp/(sd[ab]1)/, && print "/dev/$1 is newest.\n"'
Devrait imprimer /dev/sdb1 is newest
(très probablement) ou /dev/sda1 is newest
. Cette partition doit être utilisée comme source de clone.
Démontez les partitions avant le clonage pour éviter les incohérences cache / partition.
sudo umount /tmp/sda1 /tmp/sdb1
10.3 Clone
Si /dev/sdb1
était la source du clone:
sudo dd if=/dev/sdb1 of=/dev/sda1
Si /dev/sda1
était la source du clone:
sudo dd if=/dev/sda1 of=/dev/sdb1
Terminé!
11. Problèmes de machine virtuelle
Si vous voulez d'abord essayer cela sur une machine virtuelle, il y a quelques mises en garde: Apparemment, la NVRAM qui contient les informations UEFI est mémorisée entre les redémarrages, mais pas entre les cycles d'arrêt-redémarrage. Dans ce cas, vous pouvez vous retrouver sur la console Shell UEFI. Les commandes suivantes devraient vous démarrer sur votre machine à partir de /dev/sda1
(utiliser FS1:
pour /dev/sdb1
):
FS0:
\EFI\ubuntu\grubx64.efi
La première solution dans la première réponse du démarrage UEFI dans virtualbox - Ubuntu 12.04 pourrait également être utile.