Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Partition GPT, Grub... et RAID soft

22 réponses
Avatar
Francois Lafont
Bonjour à tous,

J'avais déjà initié un fil précédent à propos de GPT and co. et
je pensais que c'en était fini pour moi des questions là dessus
mais en fait j'ai besoin de mettre en place un RAID soft (RAID 1
en l'occurrence) au dessus de tout ça et là tout ce que j'ai essayé
a échoué. À la fin de l'installation (Ubuntu 14.04 ou Jessie) j'ai
un truc qui ne boote pas.

Sans RAID soft, j'en suis resté à ceci qui fonctionne très bien :

A. En Bios-UEFI, partition GPT du disque système avec :
1. une partition de 250 MB de type "Bios-UEFI".
2. une partition de N GB de type EXT4 (par exemple) montée sur /.
3. une partition swap etc.

B. En Bios-legacy, partition GPT du disque système avec :
1. une partition de 250 MB de type "non-utilisée" au cas où un jour
je décide de basculer le Bios en UEFI.
2. une partition de 1 MB de type "Bios-boot-area".
3. une partition de N GB de type EXT4 (par exemple) montée sur /.
4. une partition swap etc.

Q1) Ma question est : lorsqu'on souhaite mettre en place du RAID 1
soft sur 2 disques avec une partition GPT, comment faut-il faire
avec un Bios-UEFI et avec un Bios-legacy ?

Par exemple avec un Bios-legacy j'ai repris le découpage B)
ci-dessus sauf que j'ai mis le type RAID pour la partition B.3. et
la B.4. et j'ai simplement demandé à l'installateur d'installer Grub
sur /dev/sda *et* /dev/sdb mais à la fin de l'installation, ça ne
boote pas. J'ai aussi tenté de mettre en type RAID la partition B.2.
et ensuite de définir le volume RAID1 correspondant à ces 2 partitions
(ie la partition B.2. sur sda et B.2 sur sdb) en type "Bios-boot-area"
mais l'installateur ne me propose pas ce type pour un volume RAID.

En Bios-UEFI, je n'ai pas eu encore le temps de faire des essais mais
j'aimerais bien savoir comment on s'y prend également. D'après ce que
je lis ici où là sur le Web, il faut créer une partition de type "UEFI"
sur sda et sdb (et donc pas de type RAID) et demander à l'installateur
d'installer Grub sur sda *et* sdb, est-ce correct ?

J'espère pouvoir faire le test lundi, chez moi je n'ai pas de UEFI
sous la main.

Il y a bien Virtualbox sur mon Desktop perso avec une option à cocher
qui s'intitule "Activer EFI (OS spéciaux seulement)" mais ensuite
lorsque je boote la VM j'ai un austère shell EFI interactif dans lequel
je suis un peu perdu. Du coup, avec Virtualbox, je peux faire des tests
d'installation en Bios-legacy (et ça c'est pratique) mais impossible de
faire des tests d'installation en Bios-UEFI.

Q2) Si vous connaissez un logiciel (pas trop compliqué) de Virtualisation
qui puisse émuler à la fois du Bios-legacy et UEFI, ça m'intéresse. Parce
qu'actuellement, je suis obligé de faire des tests sur des serveurs physiques
dont le temps de démarrage est ultra long.

Merci d'avance pour votre aide.

--
François Lafont

10 réponses

1 2 3
Avatar
Nicolas George
Francois Lafont , dans le message
<562926c8$0$3324$, a écrit :
Ah ok. En regardant ce schéma [1], on peut voir que cet espace fait 32kiB



Il fait ce qu'on veut qu'il fasse. De nos jours, l'habitude est d'aligner
les partitions sur un multiple d'une grosse puissance de deux, typiquement
1 Mo, pour améliorer les performances. Si tu le fais plus petit, GRUB va
juste ne pas pouvoir.
Avatar
Pascal Hambourg
Francois Lafont a écrit :

error: disk `mduuid/d_be60cc06.....738` not found.
Entering rescue mode...
grub rescue>



Bon, ça exécute au moins la core image de GRUB. Mais je suppose qu'elle
ne voit pas le volume contenant /boot/grub.

Qu'affichent "ls" (pour afficher les disques, partitions, volumes RAID
et LVM connus) et set (pour afficher les variables d'environnement dont
root et prefix) ?



grub rescue> ls
(hd0) (hd0,gpt4) (hd0,gpt3) (hd0,gpt2) (hd0,gpt1) (md/1) (md/0)

Heu... ça représente quoi « (hd0,gpt3) » ?



La partition 3 du disque 0 selon la table de partition GPT. /dev/sda3 en
quelque sorte.

Le serveur a 4 disques
et là avec hd0 j'ai l'impression que Grub n'en voit qu'un, non ?



En effet, c'est étonnant. GRUB est censé voir les disques accessibles
via le BIOS, donc cela voudrait dire que le BIOS ne présente qu'un
disque.... Il n'y aurait pas du RAID matériel ?

grub rescue> set
cmdpath=(hd0)
prefix=(mduuid/7be8be...f99aa)/boot/grub
root=mduuid/7be8be...f99aa



L'UUID de l'ensemble RAID de boot censé contenir /boot/grub est
différent de celui du message d'erreur plus haut. Tu as reformaté
entretemps ?
Avatar
Pascal Hambourg
Francois Lafont a écrit :
On 21/10/2015 22:26, Pascal Hambourg wrote:

En revanche, il faudrait que je teste avec un disque en moins
pour être sûr que ça boote bien malgré tout.



Depuis Jessie tu auras une mauvaise surprise : les ensembles RAID
comportant moins de membres qu'attendu (autrement dit un membre manquant
mais pas marqué comme tel dans les autres membres) ne sont pas assemblés
automatiquement et on tombe dans le shell de l'initramfs.



Heu... je ne suis pas sûr de comprendre (initramfs c'est encore un truc
un peu flou pour moi, le boot est décidément une phase que je maîtrise
mal). Est-ce que tu es en train de me dire qu'avec un RAID 1 soft sur
la partie système, si j'ai un des 2 disques HS, le système ne bootera
plus correctement ?



Ça dépend. Si le disque tombe en panne, est détecté et marqué comme tel
avant le reboot, alors le démarrage suivant se passera bien. Par contre
si tu arrêtes le système avec deux disques opérationnels, en retires un
et redémarres, alors l'assemblage incrémental s'attend à trouver deux
disques et ça coince.

Mais ce n'est
pas gênant pour tester le boot en lui-même, à ce stade on est déjà au delà.



Heu, perso si j'ai une machine qui me balance un shell interactif
dans l'initramfs, je ne considère pas que le boot est un succès, je
dirais même que c'est un échec complet du boot à mes yeux, non ?



Ça dépend ce que tu veux tester. Si c'est juste la partie GRUB, ça suffira.

Ah Ok, merci pour ces explications qui m'aident à y voir un peu plus
clair. Donc si je comprends bien le « noyau » GRUB (petit j'imagine)
est installé dans le MBR



Cette première partie est l'amorce (boot image), qui n'existe pas en
UEFI. Le "noyau" (core image) est la suivante.
Avatar
Pascal Hambourg
Francois Lafont a écrit :

Je voulais indiquer qu'après l'avoir testé, au niveau de l'installateur
Debian (sous Jessie) dans la partie Grub, bien que les messages d'aide
ne le laissent pas penser, on peut parfaitement indiquer en une seule
saisie deux devices séparés par un espace comme dans "/dev/sda /dev/sdb".



Ah, merci, je ne me souvenais plus bien. Ce doit être dans
"dpkg-reconfigure grub" qu'on peut sélectionner plusieurs périphériques.

En effet, dans le cas d'une partition msdos avec du RAID1,
il n'y a pas de partition de type "Bios boot"



Et c'est bien dommage. Ce serait plus propre.
Avatar
Pascal Hambourg
Nicolas George a écrit :
Francois Lafont , dans le message
<562926c8$0$3324$, a écrit :
Ah ok. En regardant ce schéma [1], on peut voir que cet espace fait 32kiB





J'ai déjà vu moins sur des clés USB.

Il fait ce qu'on veut qu'il fasse. De nos jours, l'habitude est d'aligner
les partitions sur un multiple d'une grosse puissance de deux, typiquement
1 Mo, pour améliorer les performances. Si tu le fais plus petit, GRUB va
juste ne pas pouvoir.



Avec 32 KiB, c'était déjà devenu insuffisant lorsque la core image doit
intégrer de gros modules comme celui pour lire btrfs.
Avatar
Francois Lafont
On 23/10/2015 00:30, Pascal Hambourg wrote:

Ça dépend. Si le disque tombe en panne, est détecté et marqué comme tel
avant le reboot, alors le démarrage suivant se passera bien. Par contre
si tu arrêtes le système avec deux disques opérationnels, en retires un
et redémarres, alors l'assemblage incrémental s'attend à trouver deux
disques et ça coince.



Ok, ça reste quand même un peu naze, mais moins que ce que je craignais

Heu, perso si j'ai une machine qui me balance un shell interactif
dans l'initramfs, je ne considère pas que le boot est un succès, je
dirais même que c'est un échec complet du boot à mes yeux, non ?



Ça dépend ce que tu veux tester. Si c'est juste la partie GRUB, ça suffira.



Ok, je comprends l'idée. Après, mon objectif est que le boot aille à son
terme (avec l'invite de login). ;)

Ah Ok, merci pour ces explications qui m'aident à y voir un peu plus
clair. Donc si je comprends bien le « noyau » GRUB (petit j'imagine)
est installé dans le MBR



Cette première partie est l'amorce (boot image), qui n'existe pas en
UEFI. Le "noyau" (core image) est la suivante.



Ah ok, merci.

--
François Lafont
Avatar
Francois Lafont
On 23/10/2015 00:23, Pascal Hambourg wrote:

Heu... ça représente quoi « (hd0,gpt3) » ?



La partition 3 du disque 0 selon la table de partition GPT. /dev/sda3 en
quelque sorte.

Le serveur a 4 disques
et là avec hd0 j'ai l'impression que Grub n'en voit qu'un, non ?



En effet, c'est étonnant. GRUB est censé voir les disques accessibles
via le BIOS, donc cela voudrait dire que le BIOS ne présente qu'un
disque.... Il n'y aurait pas du RAID matériel ?



Non, non, juste un contrôleur HBA. Mais là, c'est 1. de ma faute et
2. de celle de l'installateur Debian.

1. De ma faute parce que, durant mes nombreux tests, j'avais à un moment
donné paramétré le Bios pour qu'il ne boote que sur un seul disque et
j'avais mis les autres sur "Disabled". Ceci explique pourquoi le "ls" dans
Grub ne me montrait qu'un seul disque. Mea culpa. Mais ceci n'expliquait
tout de même pas pourquoi ça ne bootait pas vu que, sur le seul disque
que Grub voyait, j'avais quand même installé Grub via l'installateur Debian.
C'est là que j'en arrive au point 2.

2. Pour rappel, j'en arrivais à cette erreur de boot lorsque, à la question
"Install the GRUB boot loader to the master boot record?", je répondais "No"
et qu'ensuite je choisissais parmi la sélection proposée "/dev/sda" et que
je refaisais de même en choisissant cette fois "/dev/sdb". Mais cette saloperie
d'installateur Debian lui ne m'a rien installé du tout après cela. En effet,
je allais juste après dans le système fraîchement installé en ligne de commande
(via un chroot) et je lançais "debconf-show grub-pc". Je voyais bien toute la
debconf mais au niveau de la ligne "grub-pc/install_devices:" c'était vide !
Par contre, si je faisais la même chose que précédemment sauf qu'au lieu de
choisir "/dev/sda" dans la présélection proposée, je choisissais "Enter device
manually" et que je saisissais ensuite "/dev/sda" alors là, dans le chroot
j'avais bien Grub qui était installé sur le device (dont le nom s'affichait
sous la forme d'un UUID).

Bref, ok j'avais fais une petite merdouille au niveau de la config Bios mais
l'installateur Debian m'a joué un petit tour de cochon et ne m'avait en fait
pas installé correctement Grub. Bref, je note pour plus tard qu'il faut éviter
les présélections de l'installateur et saisir manuellement le(s) device(s) sur
le(s)quel(s) on veut installer Grub.

Au passage, dans le cas où on n'installe pas Grub sur le MBR, on peut aussi
saisir manuellement "/dev/sda /dev/sdb" ça marche aussi (bien que les messages
laissent penser par l'emploi du singulier qu'on ne peut choisir qu'un seul
device).

grub rescue> set
cmdpath=(hd0)
prefix=(mduuid/7be8be...f99aa)/boot/grub
root=mduuid/7be8be...f99aa



L'UUID de l'ensemble RAID de boot censé contenir /boot/grub est
différent de celui du message d'erreur plus haut. Tu as reformaté
entretemps ?



Oh oui, j'ai réinstallé une bonne dizaine de fois entre temps. ;)

Bref, sauf erreur, il me semble que tous les mystères sont élucidés.
Il me reste à tester ta méthode 3 pour l'installation en UEFI avec
du RAID1. Si jamais j'ai des soucis, je ferai un nouveau fil.

Merci encore pour ton aide précieuse Pascal, il faut absolument que
je me fasse une petit note de synthèse de tout ça avant que j'oublie
tout. :)

--
François Lafont
Avatar
Pascal Hambourg
Francois Lafont a écrit :
On 23/10/2015 00:30, Pascal Hambourg wrote:

Ça dépend. Si le disque tombe en panne, est détecté et marqué comme tel
avant le reboot, alors le démarrage suivant se passera bien. Par contre
si tu arrêtes le système avec deux disques opérationnels, en retires un
et redémarres, alors l'assemblage incrémental s'attend à trouver deux
disques et ça coince.



Ok, ça reste quand même un peu naze, mais moins que ce que je craignais



Ça reste un bug grave. Un disque peut très bien fonctionner jusqu'à un
arrêt de la machine, et ne pas repartir.
Avatar
Pascal Hambourg
Francois Lafont a écrit :

1. De ma faute parce que, durant mes nombreux tests, j'avais à un moment
donné paramétré le Bios pour qu'il ne boote que sur un seul disque et
j'avais mis les autres sur "Disabled". Ceci explique pourquoi le "ls" dans
Grub ne me montrait qu'un seul disque.



Au passage c'est une méthode qui peut servir pour tester que GRUB
démarre bien et lance le noyau avec un disque manquant. Ensuite Linux
qui se fiche du BIOS verra tous les disques de toute façon.

2. Pour rappel, j'en arrivais à cette erreur de boot lorsque, à la question
"Install the GRUB boot loader to the master boot record?", je répondais "No"
et qu'ensuite je choisissais parmi la sélection proposée "/dev/sda" et que
je refaisais de même en choisissant cette fois "/dev/sdb". Mais cette saloperie
d'installateur Debian lui ne m'a rien installé du tout après cela. En effet,
je allais juste après dans le système fraîchement installé en ligne de commande
(via un chroot) et je lançais "debconf-show grub-pc". Je voyais bien toute la
debconf mais au niveau de la ligne "grub-pc/install_devices:" c'était vide !



C'est étonnant. Il faudra que je teste.
Avatar
Pascal Hambourg
Pascal Hambourg a écrit :
Francois Lafont a écrit :

2. Pour rappel, j'en arrivais à cette erreur de boot lorsque, à la question
"Install the GRUB boot loader to the master boot record?", je répondais "No"
et qu'ensuite je choisissais parmi la sélection proposée "/dev/sda" et que
je refaisais de même en choisissant cette fois "/dev/sdb". Mais cette saloperie
d'installateur Debian lui ne m'a rien installé du tout après cela. En effet,
je allais juste après dans le système fraîchement installé en ligne de commande
(via un chroot) et je lançais "debconf-show grub-pc". Je voyais bien toute la
debconf mais au niveau de la ligne "grub-pc/install_devices:" c'était vide !



C'est étonnant. Il faudra que je teste.



Effectivement j'ai reproduit le même résultat avec l'installateur 8.2.
Le chargeur GRUB n'est pas installé.
1 2 3