#1 Le 28/07/2010, à 13:26
- s4mdf0o1
[Résolu] grub-pc initramfs et Raid
Bonjour à tous,
Je me tourne vers vous : je crois avoir fait le tour du problème,
mais pas de soluce précise...
Le problème :
depuis une mise à jour (je crois celle de linux-image-2.6.32-24-generic-pae et/ou de grub-pc),
(basculement populiste venant de Debian),
sachant que j'avais du construire le RAID à la mano
les install[cd|usb] 9.10 et 10.04 ne me faisant pas ce que je voulais...-,
je me retrouve au boot,
avec le shell initramfs, qui ne trouve pas la partition p1 sur mon md0/md_d0 :
(...)
"/dev/md_d0p1: no such device"
(initramfs) ls /dev/md*
/dev/md0
/dev/md0p1
/dev/md0p2
/dev/md1
/dev/md1p1
État des lieux :
$ blkid
/dev/sda1: UUID="b9d6c5a8-d2cf-6a75-8ce2-109e81e3c3b9" TYPE="linux_raid_member"
/dev/sda2: UUID="2bf8502e-fc5d-edd4-8ce2-109e81e3c3b9" TYPE="linux_raid_member"
/dev/sdb1: UUID="b9d6c5a8-d2cf-6a75-8ce2-109e81e3c3b9" TYPE="linux_raid_member"
/dev/sdb2: UUID="2bf8502e-fc5d-edd4-8ce2-109e81e3c3b9" TYPE="linux_raid_member"
/dev/sdc1: UUID="b9d6c5a8-d2cf-6a75-8ce2-109e81e3c3b9" TYPE="linux_raid_member"
/dev/sdc2: UUID="2bf8502e-fc5d-edd4-8ce2-109e81e3c3b9" TYPE="linux_raid_member"
/dev/sdd1: UUID="b9d6c5a8-d2cf-6a75-8ce2-109e81e3c3b9" TYPE="linux_raid_member"
/dev/sdd2: UUID="2bf8502e-fc5d-edd4-8ce2-109e81e3c3b9" TYPE="linux_raid_member"
(...)
/dev/md_d0p1: LABEL="root" UUID="e31998c9-a9dd-4075-b1c0-e26e147f4992" TYPE="ext4"
/dev/md_d0p2: UUID="51eb2fb0-6920-44ef-a386-fa217d1ba83c" TYPE="swap"
/dev/md_d1p1: UUID="c3465d9d-8ac1-4686-a72a-fd9cac3ef5cd" TYPE="xfs"
$ cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md_d1 : active raid5 sda2[0] sdd2[3] sdc2[2] sdb2[1]
2887675392 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]
md_d0 : active raid10 sda1[0] sdd1[3] sdc1[2] sdb1[1]
28402688 blocks 64K chunks 2 near-copies [4/4] [UUUU]
unused devices: <none>
$ diff mdadm.conf{-orig,}
11c11
< CREATE owner=root group=disk mode=0660 auto=yes
---
> CREATE owner=root group=disk mode=0660 auto=part
20,21c20,21
< ARRAY /dev/md0 level=raid10 num-devices=4 UUID=b9d6c5a8:d2cf6a75:8ce2109e:81e3c3b9
< ARRAY /dev/md1 level=raid5 num-devices=4 UUID=2bf8502e:fc5dedd4:8ce2109e:81e3c3b9
---
> ARRAY /dev/md_d0 level=raid10 num-devices=4 UUID=b9d6c5a8:d2cf6a75:8ce2109e:81e3c3b9
> ARRAY /dev/md_d1 level=raid5 num-devices=4 UUID=2bf8502e:fc5dedd4:8ce2109e:81e3c3b9
Changements effectués, parce-que j'ai découvert le changement de système de nommage (cf: man mdadm)
et que mes ARRAY RAID, contenait cette fois, des partitions.
NB: J'ai surtout du faire du RAID partitionné, pour pouvoir donner un label GPT à une partition de taille supérieure à 2TB, sans ajouter de partition bios_grub...
Alors je pensais contourner le problème :
grep root= /boot/grub/grub.cfg
set root='(md0,1)'
set root='(md0,1)'
set root='(md0,1)'
linux /boot/vmlinuz-2.6.32-24-generic-pae root=/dev/md_d0p1 ro quiet
set root='(md0,1)'
linux /boot/vmlinuz-2.6.32-24-generic-pae root=/dev/md_d0p1 ro single
set root='(md0,1)'
linux /boot/vmlinuz-2.6.32-23-generic-pae root=/dev/md_d0p1 ro quiet
set root='(md0,1)'
linux /boot/vmlinuz-2.6.32-23-generic-pae root=/dev/md_d0p1 ro single
set root='(md0,1)'
set root='(md0,1)'
en faisant passer un 'root=UUID="e31998c9-a9dd-4075-b1c0-e26e147f4992"',
puisqu'il ne semble pas le détecter seul avec grub-mkconfig !?...
pourtant :
# grub-probe --target=device /boot
/dev/md_d0p1
# grub-probe --device /dev/md_d0p1 --target=fs_uuid
e31998c9-a9dd-4075-b1c0-e26e147f4992
d'un autre côté :
# mdadm --examine --scan
ARRAY /dev/md0 level=raid10 num-devices=4 UUID=b9d6c5a8:d2cf6a75:8ce2109e:81e3c3b9
ARRAY /dev/md1 level=raid5 num-devices=4 UUID=2bf8502e:fc5dedd4:8ce2109e:81e3c3b9
Est-ce que quelqu'un aurait une idée pour que je puisse mettre tout le monde d'accord !?
Edit : au fait :
grep UUID /etc/default/grub
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true
Dernière modification par s4mdf0o1 (Le 28/07/2010, à 18:31)
"L'absolu n'est pas accessible à l'esprit humain", Albert Einstein
Hors ligne
#2 Le 28/07/2010, à 18:24
- s4mdf0o1
Re : [Résolu] grub-pc initramfs et Raid
En remontant la piste par /usr/sbin/grub-mkconfig, qui ne fait sensiblement qu'exporter les variables d'environnement après les tests, pour finalement lancer les scripts dans /etc/grub.d/
j'ai pu voir dans :
grep UUID /etc/grub.d/10_linux
if [ "x${GRUB_DEVICE_UUID}" = "x" ] || [ "x${GRUB_DISABLE_LINUX_UUID}" = "xtrue" ] \
|| ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" \
LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID}
en particulier la ligne 'test -e' :
ls /dev/disk/by-uuid/
effectivement, les UUIDs des RAIDs, n'y sont pas, donc pas de 'root=UUID=' à l'horizon...
Dernière modification par s4mdf0o1 (Le 28/07/2010, à 18:25)
"L'absolu n'est pas accessible à l'esprit humain", Albert Einstein
Hors ligne
#3 Le 28/07/2010, à 18:34
- s4mdf0o1
Re : [Résolu] grub-pc initramfs et Raid
Bon je me suis -enfin- réparé mon système ouf ! :-P
en effet, j'ai désactivé cette ligne de test, juste histoire d'avoir un root=UUID dans le grub.cfg
un update-grub, et ...
ça a correctement fonctionné : je vous écrit du-dit système ;-)
Bon un test de trop dans le script /etc/grub.d/10-linux, ou juste une config en équilibre chez moi
Mouais pas très propre tout ça, mais bon, j'ai retrouvé mes billes ^^'
gros bisous
@+
Dernière modification par s4mdf0o1 (Le 28/07/2010, à 18:35)
"L'absolu n'est pas accessible à l'esprit humain", Albert Einstein
Hors ligne