Grub2 sur RAID 5 + LVM

Bonjour,

Ayant un serveur anciennement avec un RAID 1 et voulant passer à un RAID 5, je viens de faire une nouvelle installe de Debian Squeeze (pour profiter de ext4).
Au niveau partitionnement de mes disques durs, j’aimerais avoir un RAID 5 sur 3 disques de 1To, et une groupe LVM dessus ; et dans mon groupe LVM, j’aimerais avoir des volumes LVM pour :

  • /
  • /boot
  • /home
  • /tmp
  • /usr
  • /var
  • swap

En décembre 2009 (javais 2 disques de 1To, en RAID 1), j’avais déjà essayé, et ça n’avait pas marché : Grub2 ne voulait pas s’installer ; j’avais alors mis /boot sur un raid 1 à part, et j’avais créé un deuxième RAID 1 avec LVM pour le reste.

Mais maintenant, je croyais que ce problème de Grub2 avait été résolu, car Grub2 est censé pouvoir s’installer sur du LVM + RAID ; mais non, il ne veut toujours pas ! (j’ai essayé de l’installer sur hd0, md0, ou encore /dev/mapper/mon_vg-boot et /dev/mapper/mon_bg-racine) :confused: J’ai alors installé ma config idéale, mais sans Grub : je me retrouve donc au boot de ma machine avec un shell “Rescue” pour Grub.
Si je passe en mode “Rescue” sur le CD d’installe de Debian pour pouvoir configuré Grub2 pour qu’il marche, je ne peux pas faire de commandes comme grub-install, ou même apt-get install (en choisissant de lancer le shell dans le contexte du CD ou dans mon volume LVM “/”).

J’aimerais bien installer Debian sur une telle configue, et une aide serait la bienvenue :023 :smiley: Surtout que j’ai testé Debian Squeeze Alpha 1, mais l’installateur est bugué (en créant un RAID 5 qui devrait faire 2To, il m’affiche qu’il fait 500MB :open_mouth: ).

D’avance Merci :wink:

Cordialement.

Salut,
J’ai rencontré le même pb avec Raid1 + LVM il n’y a pas 15 jours…
Grub et Grub2 refusent de reconnaitre convenablement les partitions à l’installation.

Lilo par contre s’installe parfaitement bien.

J’ai fini par installer Grub-legacy en insistant un peu, mais je le regrette, Lilo faisait parfaitement bien l’affaire !

Ben pour ma part, même Lilo ne veut pas s’installer :confused:

J’ai la solution.
Je suis actuellement sur Lenny avec RAID 5, lvm et EXT4 (seulement pour une ou deux partition système de base en ext3).
Tout fonctionne du tonnerre sans bug pour le moment.

Comment ai-je fais ? Utilisation des backports à bon escient.

Tout d’abord, il lancer une installation expert, comme on le sent jusqu’au choix du chargeur de démarrage.
Au lieu de choisir lilo, choisir l’option “continuer sans chargeur de démarrage”.
Ensuite, au lieu de terminer, choisir l’option “Exécuter un shell”

Lorsque tu auras un terminal, suis les instructions comme suit

chroot /target /bin/bash # Tu entreras dans un petit environnement debian vim /etc/apt/sources.list # Modification des sources pour apt
Tu dois ajouter la ligne suivante :

[code]# apt-get update # Génèrera une erreur

apt-get install debian-backports-keyring

apt-get update

apt-get install -t lenny-backports grub2[/code]

Normalement, il suffit de répondre aux questions de l’installateur de grub2. Il terminera par un grub-install.
L’installation terminée, il faut modifier le fichier /etc/default/grub pour mettre la directive GRUB_DISABLE_LINUX_UUID à true.

[code]# cat /etc/default/grub

If you change this file, run ‘update-grub’ afterwards to update

/boot/grub/grub.cfg.

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=lsb_release -i -s 2> /dev/null || echo Debian
GRUB_CMDLINE_LINUX_DEFAULT="“
GRUB_CMDLINE_LINUX=”"

Uncomment to disable graphical terminal (grub-pc only)

#GRUB_TERMINAL=console

The resolution used on graphical terminal

note that you can use only modes which your graphic card supports via VBE

you can see them in real GRUB with the command `vbeinfo’

#GRUB_GFXMODE=640x480

Uncomment if you don’t want GRUB to pass “root=UUID=xxx” parameter to Linux

GRUB_DISABLE_LINUX_UUID=true

Uncomment to disable generation of recovery mode menu entrys

GRUB_DISABLE_LINUX_RECOVERY=“true”[/code]
Ensuite, grub doit recharger les fichiers de conf. Pour cela, lancer la commande suivante :

Voilà, tu peux faire “exit” jusqu’à ce que tu retournes sur le menu d’installation de debian,
Terminer l’installation et redémarrer.

Tu seras donc toujours en ext3 pour le système. Pour l’ext4, tu as deux options, soit tu t’amuses à recompiler un noyau toi-même … ce qui est très chiant à faire, soit tu prends la méthode facile avec les backports encore une fois.

Voilà, il ne reste plus qu’à redémarrer et tu pourras faire ce que tu veux avec de l’ext4.
C’est un peu de chipotage mais c’est la seule manière que j’ai trouvé.

edit: tuto mis à jour le 07/06/2010

Re,
C’est bien les backports, mais pas en squeeze… :wink:

Arfff, ouai, je partais d’une réinstalle lenny …

Alors merci pour ton tuto Knard :wink: Je l’ai suivi avec une installe de Squeeze et de Lenny, mais ça ne marche toujours pas ; d’ailleurs, avec Leny, apt-get install -t lenny-backports grub2 n’a pas marché (manque de dépendances) ; mais après avoir quitté le shell et être retourné dans l’installateur, il m’a finit l’installe de Grub ; mais au démarrage, que ce soit avec Lenny ou Squeeze, j’ai une erreur d’UUID :
“no such device : 12350-erg23-etc”

cela correspond à l’UUID de mon volume LVM /boot ; on progresse donc sur le problème, mais là, je ne sais plus où regarder ^^

Oui, alors, je viens de modifier mon tuto, j’ai oublié de mettre l’installation des clefs pour les backports, l’avais-tu fait ?
C’est peut-être ça qui fait planté l’installation. Si l’uuid ne plante, édite le fichier /etc/default/grub et met la directive GRUB_DISABLE_LINUX_UUID à true

[code]# cat /etc/default/grub

If you change this file, run ‘update-grub’ afterwards to update

/boot/grub/grub.cfg.

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=lsb_release -i -s 2> /dev/null || echo Debian
GRUB_CMDLINE_LINUX_DEFAULT="“
GRUB_CMDLINE_LINUX=”"

Uncomment to disable graphical terminal (grub-pc only)

#GRUB_TERMINAL=console

The resolution used on graphical terminal

note that you can use only modes which your graphic card supports via VBE

you can see them in real GRUB with the command `vbeinfo’

#GRUB_GFXMODE=640x480

Uncomment if you don’t want GRUB to pass “root=UUID=xxx” parameter to Linux

GRUB_DISABLE_LINUX_UUID=true

Uncomment to disable generation of recovery mode menu entrys

GRUB_DISABLE_LINUX_RECOVERY=“true”[/code]

Et n’oublie pas de lancer la commande suivante pour mettre les fichiers de ta boot à jour

[quote=“HollowMac”]Alors merci pour ton tuto Knard :wink: Je l’ai suivi avec une installe de Squeeze et de Lenny, mais ça ne marche toujours pas ; d’ailleurs, avec Leny, apt-get install -t lenny-backports grub2 n’a pas marché (manque de dépendances) ; mais après avoir quitté le shell et être retourné dans l’installateur, il m’a finit l’installe de Grub ; mais au démarrage, que ce soit avec Lenny ou Squeeze, j’ai une erreur d’UUID :
“no such device : 12350-erg23-etc”

cela correspond à l’UUID de mon volume LVM /boot ; on progresse donc sur le problème, mais là, je ne sais plus où regarder ^^[/quote]

Re,
/boot est dans la lvm si je comprends bien ?

Sans certitude, je crois que ça ne fonctionnera pas… Le noyau contient ce qu’il faut pour monter le LVM, mais il est lui-même dans la LVM…
Mais peut-être que je raconte des “carabistouilles”… Quelqu’un pour confirmer ?

D’après moi /boot doit-être hors de la LVM… Mais je me plante peut-être ?
Fais une recherche Internet sur lvm + /boot pour voir !

[quote=“lol”][quote=“HollowMac”]Alors merci pour ton tuto Knard :wink: Je l’ai suivi avec une installe de Squeeze et de Lenny, mais ça ne marche toujours pas ; d’ailleurs, avec Leny, apt-get install -t lenny-backports grub2 n’a pas marché (manque de dépendances) ; mais après avoir quitté le shell et être retourné dans l’installateur, il m’a finit l’installe de Grub ; mais au démarrage, que ce soit avec Lenny ou Squeeze, j’ai une erreur d’UUID :
“no such device : 12350-erg23-etc”

cela correspond à l’UUID de mon volume LVM /boot ; on progresse donc sur le problème, mais là, je ne sais plus où regarder ^^[/quote]

Re,
/boot est dans la lvm si je comprends bien ?

Sans certitude, je crois que ça ne fonctionnera pas… Le noyau contient ce qu’il faut pour monter le LVM, mais il est lui-même dans la LVM…
Mais peut-être que je raconte des “carabistouilles”… Quelqu’un pour confirmer ?

D’après moi /boot doit-être hors de la LVM… Mais je me plante peut-être ?
Fais une recherche Internet sur lvm + /boot pour voir ![/quote]

Pas avec le grub2 des backports de lenny en tout cas.

# mdadm --detail --scan ARRAY /dev/md0 level=raid5 num-devices=3 metadata=00.90 UUID=bd3ee351:58f9ede9:06684417:8cef7141

# pvdisplay --- Physical volume --- PV Name /dev/md0 VG Name vgdesktux PV Size 931,52 GB / not usable 2,88 MB Allocatable yes PE Size (KByte) 4096 Total PE 238468 Free PE 57996 Allocated PE 180472 PV UUID E90RXP-ZFWP-2dKf-O7Mp-ldhG-cOxo-87DasD

# df -h Sys. de fich. Tail. Occ. Disp. %Occ. Monté sur /dev/mapper/vgdesktux-slash 461M 284M 154M 65% / tmpfs 2,0G 0 2,0G 0% /lib/init/rw udev 10M 748K 9,3M 8% /dev tmpfs 2,0G 0 2,0G 0% /dev/shm /dev/mapper/vgdesktux-boot 43M 26M 16M 63% /boot /dev/mapper/vgdesktux-opt 485M 123M 337M 27% /opt /dev/mapper/vgdesktux-tmp 183M 22M 152M 13% /tmp /dev/mapper/vgdesktux-home 37G 11G 25G 31% /home /dev/mapper/vgdesktux-usr 4,6G 2,7G 1,8G 61% /usr /dev/mapper/vgdesktux-var 938M 232M 659M 26% /var

Bien, merci pour l’info. Moi je me suis fait chi… à sortir /boot, je croyais que c’était une obligation…
Backports ou pas, c’est ok avec grub2 alors !

[quote=“Knard”]Oui, alors, je viens de modifier mon tuto, j’ai oublié de mettre l’installation des clefs pour les backports, l’avais-tu fait ?
C’est peut-être ça qui fait planté l’installation. Si l’uuid ne plante, édite le fichier /etc/default/grub et met la directive GRUB_DISABLE_LINUX_UUID à true
[/quote]
Alors pour la clé, je ne l’ai pas mise, mais ça ne devrait pas poser de problème d’installation !?

Sinon, j’avais déjà désactivé l’UUID dans /etc/default/grub, et je l’ai refait, mais ça ne marche toujours pas (et j’ai bien fait un update grub), toujours le même problème de "no such device: blablabla"
D’ailleurs, le update-grub ne marche pas des fois, me disant qu’il manque l’UUID de mon_groupe_LVM-boot dans /boot/grub/device.map ; je le renseigne donc, il n’y a plus ce problème, mais j’ai toujours le “no such device: blablabla” au démarrage.

edit : comme tu dis lol, c’est ok avec grub2 normalement, mais pas pour moi ^^ Et sous Squeeze, c’est Grub 1.98 je crois, donc il ne devrait pas y avoir de problème :open_mouth:

[quote=“HollowMac”]…
edit : comme tu dis lol, c’est ok avec grub2 normalement, mais pas pour moi ^^ Et sous Squeeze, c’est Grub 1.98 je crois, donc il ne devrait pas y avoir de problème :open_mouth:[/quote]
Oui…

Tu as les bons modules dans grub.cfg ?

insmod raid insmod mdraid insmod lvm insmod part_msdos insmod part_msdos insmod ext2

Alors sous Squeeze hier, j’avais réussi à installer Grub2 avec un grub-install, et il m’avait généré un beau grub.conf avec tous ces modules (me rappelle plus de part_msdos par contre). Faut-il aussi inclure un module ext4 ?
Mais même avec un bon fichier de conf de Grub, il m’affichait un “no such device: blablablabla”, mais l’UUID indiqué était alors différent de celui de mon /boot si je me souviens bien : faut que je refasse une installe de Squeeze demain ^^

Si, il faut absolument que tu installes les clefs backports de lenny pour installer le grub2 sinon, il installe celui des dépôts officiel et ta version de grub ne sera pas assez récente.
La solution la plus facile est de démarrer en rescue mode du cd d’installation de debian-lenny amd64 et de remonter toute ton arborescence Lenny dans le répertoire target et de reprendre le tuto au niveau de l’installation de grub2 parce que je suis presque sûr que tu as la version 1.96 au lieu de la 1.97 qui a résolu le problème chez moi.

Ou alors, réinstalle Squeeze et essaye en désactivant les UUID.

J’avoue que si après ça, ça marche pas … je devrais passez la main à un autre linuxien … :confused:

@lol: Pour moi, honnêtement, grub2 1.97bpo des backports avec RAID 5 et LVM dessus, tout marche nikel chrome !

Bon, on progresse, on progresse :slightly_smiling:

J’ai décidé de rester sous Squeeze car je rencontre des problèmes avec nano et vim dans le mode Rescue de Debian Lenny :wink:

J’ai réussi à faire un grub-install --modules="mdraid raid lvm ext2 part_msdos" /dev/md0 et aussi un grub-update. Pour ce dernier, bien que dans mon /etc/default/grub j’ai décommenté GRUB_DISABLE_LINUX_UUID=true, il me générait un grub.cfg avec des UUID dedans. J’ai continué mes recherches, et je suis tombé là dessus : blogmotion.fr/systeme/grub-such- … ndows-4834
J’ai fait la manipe décrite, mais j’ai toujours le même problème : j’ai maintenant un grub.cfg avec aucun UUID, tous les modules qu’il faut, et tout bien réglé. Mais je reste coincé sur ce message d’erreur qui pourtant devrait disparaitre puisque j’ai supprimé les lignes qu’il faut comme indiqué sur le blog cité plus haut : il doit donc exister un autre fichier avec ces mêmes lignes, mais où ?

:slightly_smiling:

J’avais eu le problème avec les éditeurs sous lenny, je n’ai jamais compris pourquoi mais avec ALT+F2 tu peux avoir un autre terminal qui plante pas normalement.
J’essaye d’insister sur la Lenny, c’est pas pour emmerder le monde, c’est parce que l’installateur Squeeze est certainement bugué aussi. Une install Lenny puis un upgrade vers Squeeze sera peut-être une solution.

Autre solution qui me vient à l’esprit, as-tu utilisé grub-update ou update-grub ? Je n’ai jamais installer de Squeeze donc peut-être qu’ils ont rajouter un lien symbolique en plus mais normalement c’est bien update-grub et non l’inverse pour mettre à jour le grub.cfg.
(si pas pour être sur tu peux faire un :

C’est exactement ce que fais le update-grub.

A part ça, je sèche. Je l’avoue :blush:

Bon, j’ai re-tenté d’installer Debian Lenny et Grub 2, mais impossible ! En suivant ton tuto Knard, grub2 ne s’installait pas correctement, et ne se paramétrait donc pas : je l’ai donc fait à la main. Maintenant, au lieu d’avoir “no such device: blablabla_UID”, j’ai “no such disk”.

Mais en effectuant des recherches sur Lilo, que j’ai essayé d’installer (mais le bougre n’a pas voulu), j’ai remarqué un truc qui diffère dans nos configs :

Tu as une version de superblock de raid à 0.90, alors que moi j’ai 1.02 (RAID créé automatiquement avec Debian Leny ou Squeeze) ; du coup, j’ai créé moi même un RAID 5 en mode Rescue sur le CD d’installe de Debian, et je me retrouve avec un 0.90 maintenant. C’est aussi sur une telle version que lilo doit être installé, sinon il ne s’installe pas.

Du coup, j’hésite à re-devoir encore installer Grub sur cette nouvelle configue (qui ne devrait pas marcher encore une fois), ou à tester Lilo qui devrait normalement marché cette fois-ci. :confused:

Il ne s’installe pas correctement mais s’installe-t-il ?
As-tu un installeur qui démarre ? (écran bleu qui te demande quelles options passer dans grub2 ?)
Quelle est la version qui s’installe ?

Lorsque je quitte le bash dans l’installateur de Debian en tapant exit, il me propose ensuite de Terminer l’installation (l’installateur de Debian) : et c’est là qu’il termine l’installation lui même de Grub. Mais toujours un problème d’UUID au démarrage du PC : j’ai alors paramétré moi même, et après, problème de “no such disk”. Pour la version, il s’agissait de la 1.97.
Je n’ai aucune écran de boot, juste un écran noit avec mon message d’erreur et un prompt “grub rescue >”.

Pourrais-tu mettre le contenu de ton /boot/grub/grub.cfg ? :wink: