===== Contexte standard=====
Ce tutoriel n’est pas une redite de [[tutoriel:installation_raid_lvm|celui-ci]]
Il acte le fait que ubuntu est actuellement fourni en version **22.04** (Jammy Jellyfish) généralement installé en EFI, que les "alternates CD" ne sont plus disponibles, que la version en mode serveur n'est pas intuitive, que l'assistance pour une installation standard par la méthode
[[tutoriel/partitionner_manuellement_avec_installateur_ubuntu |"autre chose"]] est régulièrement présente dans le forum
et que l'alternative [[utilisateurs/bcag2/zfs|ZFS]] n'est pas crédible. Elle ne propose que l'installation dans un seul disque.
Il pourra être utilisé pour remplacer [[https://forum.ubuntu-fr.org/viewtopic.php?id=2072332|une installation périmée]].
Le but est de faire une installation du logiciel et de la structure de boot sur les disques [[https://fr.wikipedia.org/wiki/RAID_(informatique)|RAIDS]] alors que souvent la structure de boot est installée sur une clé USB. L'installation sera compatible LEGACY/EFI et permettra le chiffrement.
Les tests de réalisation RAID5 ont été fait sur seul disque simulant cinq disques différents et en RAID1 sur deux disques.
===== Acquisition du logiciel =====
[[https://www.ubuntu-fr.org/download/|Télécharger]] la version standard de Ubuntu et fabriquer un support [[/ventoy| d'installation]] ou acheter [[https://enventelibre.org/fr/ubuntu-fr/178-cle-usb-ubuntu-64go.html|un tel support]].
N'hésitez pas à perdre un peu de temps pour installer une structure [[https://doc.ubuntu-fr.org/ventoy#creation_de_la_persistance|persistance]] lorsque cela est (deviendra) possible.
===== Travail préparatoire =====
Booter avec la clé USB, sélectionner l'ISO à installer dans la liste proposée, choisir la méthode persistante si disponible.
Patienter le temps nécessaire pour l'affichage de l'écran d'installation. Positionner la langue d'installation si pas le français puis cliquer sur le menu **Essayer ubuntu**.
Le premier but est de préparer chaque disque avec la structure suivante:
* Table de partition GPT
* Partition Bios_boot dont la taille officielle est de 32 MO alors de 1 Mo pourrait probablement suffire.
* Partition de boot EFI en FAT32 dont la taille officielle est de 512 MO alors que 36 Mo pourrait probablement suffire. Il serait même possible de faire une partition de boot EFI en FAT16 de 6 Mo.
* Partition de boot LEGACY en EXT4. La taille retenue est de 1 Go. Il semblerait que la taille officielle soit de 1,5 Go. Cependant les exemples montrent que 500 Mo est parfois implémenté.
* Partition EXT4 avec le reste de l'espace disque. Cette partition contiendra le logiciel et les données.
Cela peut se faire en mode graphique avec l'application [[:gparted|GParted]] préinstallée ou en ligne de [[tutoriel/console_ligne_de_commande|commande]] après avoir ouvert un [[:terminal|terminal]]. Faire attention à ne pas mettre le support d'installation (souvent SDA) dans la liste des disques à utiliser.
Liste=" sde " # Mettre la totalité des disques à formater.
for Dsk in $Liste;do
sudo parted /dev/$Dsk mklabel gpt # Fabriquer une table de partition GPT en éliminant tout ce qu'il y a dans le disque. Accepter la destruction des données du disque
sudo parted -s --align=none /dev/$Dsk mkpart "Bios$Dsk" 34s $((32*2048-1))s # Créer une partition bios-boot
sudo parted /dev/$Dsk set 1 bios_grub on # et y mettre le drapeau bios_grub
sudo parted -s --align=none /dev/$Dsk mkpart "Fat$Dsk" 32MiB $(((32+512)*2048-1))s # Créer une partition de 512 Mio.
sleep 2 # attendre la mise à jour effective.
sudo mkfs.fat -F32 /dev/"$Dsk"2 -n "$Dsk"Fat # La formater.
sudo parted /dev/$Dsk set 2 esp on # et y mettre le drapeau ESP.
sudo parted -s --align=none /dev/$Dsk mkpart "Boot$Dsk" $((32+512))MiB $(((32+512+1024)*2048-1))s # et une autre partition pour la partition de boot-légacy
sleep 2 # attendre la mise à jour effective.
sudo mkfs.ext4 /dev/"$Dsk"3 -L "$Dsk"Boot # La formater.
sudo parted -s --align=none /dev/$Dsk mkpart "Raid$Dsk" $((32+512+1024))MiB 100% # et une autre partition pour le RAID inutile à formater avec le reste de l'espace disque.
done
Nota : Si les disques ne sont pas de la même taille ( à 1% près), remplacer 100% par la taille du plus petit disque exprimée en Mio ou GiB.
Le second but va être de fabriquer la structure. Il est nécessaire d’installer le logiciel [[:raid_logiciel|mdadm]] non fourni en vue de créer le RAIDS avec les partitions qui viennent d’être créées. Tout cela se fait en ligne de commande telle que celle-ci à adapter.
sudo apt install mdadm
sudo mdadm --create /dev/md0 --level=L --assume-clean --raid-devices=N /dev/sd[b-g]4
sudo mkfs.ext4 /dev/md0
Quelques remarques :
**L** est le niveau de raids. Avec utilisation de deux disques, la seule valeur possible est 1 et donne un espace réel d’un disque.
Avec utilisation de trois disques ou plus, la valeur **1** donne un disque de secours en attente de panne, la valeur **5** permet de fonctionner normalement et donne un espace réel égal au nombre de disques moins un.
A partir de quatre disques, il est possible de choisir la valeur **6** qui permet d’avoir un disque de secours en attente de panne. L’espace réel est alors égal au nombre de disque moins deux.
**N** est le nombre de partitions présentes dans la liste qui suit.
La liste est à fournir. Notons l’abréviation permettant de dire : Toutes les partitions n°**4** de tous les disques dont la lettre de fin est dans la plage commençant à **b** et finissant à **g**.
===== Installation =====
Le moment est maintenant venu de lancer l’[[tutoriel:installer_ubuntu_avec_le_live_cd|installation]] en cliquant sur l'icône d'installation ou en frappant la commandesudo ubiquity
.
* Cliquer sur **Effacer le disque et installer Ubuntu**.
* Cliquer sur ** Fonctions avancées**.
* [[utilisateurs:bcag2:zfs|Cocher]] la case **Utiliser LVM pour la nouvelle installation de Ubuntu**.
* Surtout cocher la case **Chiffrer la nouvelle installation de Ubuntu pour la sécurité**. Cependant vous pouvez ne pas utiliser cette protection.
* Cliquer sur **OK** pour valider.
* Cliquer sur **Continuer**.
* Réaliser l’étape de la clé de sécurité bien que son utilisation en mode dépannage ne soit pas encore bien documentée.
* Puis cliquer sur ** installer maintenant**.
Puis installation classique.
Si vous avez choisi de ne pas chiffrer l'installation, il est possible de se passer de la couche [[:lvm|LVM]].
Il est alors nécessaire de choisir **Autre chose** puis d’allouer la partition FAT32 du premier disque au point de montage **/boot/efi**, la partition BOOT du premier disque au point de montage **/boot** et d’allouer la partition __**/dev/md0**__ au point de montage **/** avec le format ext4 et **sans cocher l’option formater**. Dans ce contexte l'installation se passe très bien mais le boot plante car refus d'accès à la partition /dev/md0 puisque le logiciel MDADM est absent. Il faut donc malgré tout installer le bon grub.
Au bout de plusieurs minutes, ce qui va être fait est affiché. Contrôler. Cliquer sur **Continuer**.
L’installation est classique sauf que le logiciel d’installation va [[https://bugs.launchpad.net/ubuntu/+source/grub-installer/+bug/1979814|planter]] au moment d’installer le grub dans **/dev/md0**. Inutile de prévenir. A la fin de l’installation on va dire de **"continuer à tester"** afin de réparer . On va [[:chroot|se déporter]] dans l’installation raids pour installer le grub défaillant.
===== installation du grub =====
Le répertoire **/target** contient la nouvelle installation qu’elle soit chiffrée ou pas. Passons en administrateur.
sudo -i
* Vérification facultative.
lsblk ## permet de faire le point et vérifier le montage de /target
En cas de relance, il est nécessaire de réallouer le logiciel au point de montage avec cette commande si l'installation est faite avec le choix "disque entier".
mkdir -v /target ; mount -v /dev/mapper/vgubuntu-root /target
ou celle-ci si l'installation est faite avec le choix "autre chose".
mkdir -v /target ; mount -v /dev/md0 /target
* puis procéder au chroot
mount -t proc /proc /target/proc
mount -t sysfs /sys /target/sys
mount --bind /dev /target/dev
mount --bind /run /target/run
mount --bind /sys /target/sys
modprobe efivars ### pas gênant si l’ordinateur n’est pas EFI
chroot /target
* Puis faisons le nécessaire: Remettre toute la liste des disques afin d'installer les logiciels de boot dans les partitions préparées car la variable est perdue au changement de niveau
Liste=" sde " # remettre la totalité des disques devant recevoir la structure de boot.
df -h ## afin de vérifier que le chroot est bien fait,
mount -t devpts devpts /dev/pts
apt install mdadm ## car ce logiciel n’a pas été installé.
mkdir -v /boot
for Dsk in $Liste;do
parted /dev/$Dsk set 1 bios_grub on
mount -v /dev/"$Dsk"3 /boot
mkdir -pv /boot/efi
mount -v /dev/"$Dsk"2 /boot/efi
if [ -d /sys/firmware/efi ]; then
grub-install ## --no—efi-secure-boot --no-nvram ## Il est souhaitable de ne pas mettre les options
grub-install --target=i386-pc --directory=/usr/lib/grub/i386-pc --removable /dev/$Dsk
else
grub-install --target=x86_64-efi --no-nvram ## --no-uefi-secure-boot ## Il est souhaitable de ne pas interdire le mode sécurisé mais on ne peut pas installer le mode EFI dans la RAM d'un ordinateur qui ne connaît pas EFI.
grub-install /dev/$Dsk
fi
umount -v /dev/"$Dsk"2
umount -v /dev/"$Dsk"3
done
update-grub
exit
exit
##shutdown
Il ne reste plus qu’à rebooter. Mettre le logiciel à jour pour en profiter.
===== Annexes =====
==== Exemple de contenu du fichier de paramétrage EFI ====
cat grub.cfg
search.fs_uuid 68b4f4d1-a7e4-47af-9d97-cfcbdc582c3c root mduuid/cbfd98853a1735bb4d21cf68a51cd5cc
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg
==== extraits de boot-info ====
=> Grub2 (v2.00) is installed in the MBR of /dev/sde and looks at sector 34
of the same hard drive for core.img. core.img is at this location and
looks for (mduuid/aa68ea8a3f43280766489d724b6da16f)/boot/grub.,,,,,
===================== sde2/efi/ubuntu/grub.cfg (filtered) ======================
search.fs_uuid 6e07a36c-5671-49c3-b648-84c542ade426 root mduuid/aa68ea8a3f43280766489d724b6da16f
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg
==== Quelques pièges. ====
Le boot avec un raid dégradé n'a pas été testé. Cependant le test de boot en raid-1 avec l'un quelconque des deux disques absent. fonctionne. Le disque est déclaré remove. Après le boot, il est nécessaire de réinjecter celui manquant.
Le boot avec un disque de mauvaise qualité peut nécessiter d'utiliser l'option "rootdelay=60".
Cette installation fabrique un raid nommé MD0 même s'il en existe déjà un de ce nom. Le boot va aussi planter en disant qu'il y a des doubles UUID pour un même MD0. L'un des deux raids sera à détruite ou à changer de nom.
==== Pourquoi cette double structure ====
Les disques peuvent être actuellement connectés à une carte mère fonctionnant en mode légacy. Le pari a été pris qu'en cas d'incident carte mère elle serait remplacée par une carte EFI. Il aurait alors fallu réinstaller le logiciel EFI dans la partition de boot LEGACY. Mais on ne doit pas être à 512 Mo près vu la taille des disques actuels.
La question se pose pour une installation EFI. Il y a peu de chance que, plus tard, les disques fonctionnent en LEGACY. Mais sait-on jamais...
Cependant les commandes sont probablement suffisamment claires pour éliminer toute la partie LEGACY si elle n'est pas souhaitée. Cela permettra de gagner **1** Go dans la taille du RAID.
===== Contexte Serveur =====
J'ajoute cette partie suite à une aide dans la résolution d'un incident survenu à un serveur hébergé chez [[https://www.ionos.fr/digitalguide/serveur/configuration/serveur-ubuntu/|IONOS]].
Télécharger le logiciel serveur à partir du site [[https://ubuntu.com/download/server|officiel]] en prenant l'iso correspondant au matériel en votre possession et fabriquer un support d'[[:/ventoy|installation]].
Booter et installer.
Il y a juste besoin d'utiliser les touches tab, espace, entrée et les 4 touches de positionnement. [[https://ubuntu.com/server/docs/install/step-by-step|Installation pas à pas]]
Des captures d'écran vont venir dans la semaine pour détailler l'affectation des disques qui est nettement plus compliquée que la documentation [[https://ubuntu.com/server/docs/install/storage|la décrit]]. Le principe étant d'afficher les partitions présentes et de proposer la création de la structure raids.
Après avoir booté avec le support d'installation de la **version 22.04__.1__ LTS**, tout s'enchaîne assez bien.
Il semble que certaines grilles peuvent ne pas être présentes en mode EFI?/Réseau WIFI? ou même être différentes (adaptation au contexte)
1) La première grille permet de choisir le langage ** [[https://ubuntucommunity.s3.dualstack.us-east-2.amazonaws.com/original/2X/9/92bda8a0ed1ed1ac3137015191ee81e69c38ff3d.png|Français]]**. Après avoir choisi, valider en appuyant sur la touche **entrée**.
2) Si le réseau non-wifi fonctionne, une nouvelle grille permettant d'obtenir la toute dernière version de l' [[https://ubuntucommunity.s3.dualstack.us-east-2.amazonaws.com/original/2X/9/924950b31519ac77263f87943c75db0dd70e6ba5.png|installateur]] est proposée lorsqu'il en existe une. Ce qui est le cas actuellement. Par défaut, il n'est pas proposé de faire la mise à jour. Tant mieux car actuellement elle se plante lors de la [[https://bugs.launchpad.net/subiquity/+bug/1997473|détection des périphériques]]. Se contenter de valider **Continuer sans mettre à jour** qui est vert et valider.
3) La grille suivante permet de choisir la disposition du ** [[https://ubuntucommunity.s3.dualstack.us-east-2.amazonaws.com/original/2X/d/d18d2a56923b5ced7b2484bd94e9e04ba0c6b0ae.png|clavier]]**. Par défaut, il est positionné sur "English (US)". Il faudra certainement choisir Français et l'une des 21 variantes. Il est aussi possible de demander l'identification du clavier. Après avoir avoir choisi, descendre tout en bas sur le mot **Terminé** qui devient vert et valider.
4) La grille suivante permet de choisir le type d'installation. la grille contient seulement:
>Choose type of install
>Chose the base for the installation.
>>(X) Ubuntu Server
>>>The default install contains a curated set of packages that provide a comfortable expérience for operatiing your server.
>>( ) Ubunuy Server (minimized)
>>>This version has been customized to have a small runtime footprint in enviroments where humans are not expected to log in.
Si on désire le second choix, il suffit de s'y positionner et d'appuyer sur la touche entrée. Le choix est automatiquement permuté.
Puis descendre tout en bas sur le mot **Terminé** qui devient vert et valider
NOTA: L'affichage de cette grille me semble anormal. Par la suite, il y aura un crash au moment de la détection des périphériques.
5) La grille suivante permet de configurer les connexions ** [[https://ubuntucommunity.s3.dualstack.us-east-2.amazonaws.com/original/2X/2/28369a33c14efbbd4769a17e7235666b4c908d1a.png|réseau]]**.
Normalement tout se positionne sans avoir besoin de changer. Il suffit de valider. A noter que sans câble RJ45, la connexion WIFI n'est pas reconnue mais l'installateur indique que les packages Wifi seront installés dans le système opérationnel et propose donc l'option **Continuer sans réseau**. Il suffit de valider.
6) La grille suivante permet de configurer le ** [[https://ubuntucommunity.s3.dualstack.us-east-2.amazonaws.com/original/2X/6/6c7f84e37cda91e797f62b61148e10d1aa93c056.png|proxy]]**. Il suffit de valider.
7) La grille suivante permet de configurer le ** [[https://ubuntucommunity.s3.dualstack.us-east-2.amazonaws.com/original/2X/3/30b527e810914da07ab11c3448750868809f88ac.png|miroir]]** d'archive de ubuntu. Il suffit de valider.
8) La grille suivante de définir la configuration de [[https://ubuntucommunity.s3.dualstack.us-east-2.amazonaws.com/original/2X/7/744833c87593ff7edc192e2929e465f915f7c07b.png|stockage]] que nous souhaitons utiliser.
En se positionnant sur la ligne décrivant le premier disque, on peut développer pour visualiser la totalité du matériel de stockage.
**Il faut choisir la ligne permettant la définition personnalisée.** et valider en se positionnant sur **terminé** qui devient vert et valider
9) La grille suivante permet d'afficher la ** [[https://ubuntucommunity.s3.dualstack.us-east-2.amazonaws.com/original/2X/7/7484e986d5be44cf83952ede99e2bb8aaf9ed9c7.png|configuration installée]]**. les disques, les raids, les partitions.
Je vais détailler un peu plus la création des [[https://ubuntu.com/server/docs/install/storage| RAIDS]] car je n'ai pas réussi à faire et j'ai peu triché en les fabriquant préventivement.
9-a) Si les disques qu'on souhaite utiliser sont déjà au bon format RAID, il est inutile de supprimer le format.
Sinon, se positionner sur chaque disque non conforme et valider afin d'ouvrir une sous-grille qui permettra l'action **Delete** qui demandera une confirmation de suppression. Supprimer un raids ne supprime pas les partitions du disque.
9-b) Si les disques qu'on souhaite utiliser ont des partitions non conforme, il faut se positionner sur le disque et demander l'action **reformat** qui demandera une confirmation de la totalité des partitions contenues dans le disque. La suppression unitaire d'une partition est refusée.
9-c) Lancer la création du raid. Une grille va permettre de choisir le type de [[https://ubuntu.com/server/docs/install/storage|raid]]........
Il me reste à comprendre comment on indique les disques à utiliser.
Cela va prendre plus de temps que prévu. => https://bugs.launchpad.net/subiquity/+bug/1997473
Que ce soit en version 18.04, 20.04, 22.04 ou 22.10, je bloque sur des messages différents à la détection des périphériques.
//Désolé, un problème est survenu lors de l'examen des périphériques de stockage sur ce système.
You may be able to fix the issue by switching to a shell and reconfiguring the system's blocks devices manually.//
20) Ajouter éventuellement un interface [[:/environnements|graphique]] en fonction de votre goût.