Bloqué sur grub suite retrait /dev/sda d'un raid1

Salut à tous,

J’ai un serveur en Debian 6.0.9 avec 2 disques de 80go en raid 1 logiciel.
Une partition pour la racine de 79go et une d’1go pour le swap.

Voici le df -h

Sys. de fichiers Taille Uti. Disp. Uti% Monté sur /dev/md1 73G 6,4G 63G 10% / tmpfs 991M 0 991M 0% /lib/init/rw udev 986M 152K 986M 1% /dev tmpfs 991M 0 991M 0% /dev/shm

Et le fdisk -l

[code]Disk /dev/sda: 80.0 GB, 80032038912 bytes
255 heads, 63 sectors/track, 9730 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0009ba72

Device Boot Start End Blocks Id System
/dev/sda1 1 122 975872 fd Linux raid autodetect
Partition 1 does not end on cylinder boundary.
/dev/sda2 122 9730 77178880 fd Linux raid autodetect

Disk /dev/sdb: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0008e846

Device Boot Start End Blocks Id System
/dev/sdb1 1 122 975872 fd Linux raid autodetect
Partition 1 does not end on cylinder boundary.
/dev/sdb2 122 9730 77173760 fd Linux raid autodetect

Disk /dev/md0: 999 MB, 999280640 bytes
2 heads, 4 sectors/track, 243965 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/md0 doesn’t contain a valid partition table

Disk /dev/md1: 79.0 GB, 79024807936 bytes
2 heads, 4 sectors/track, 19293166 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/md1 doesn’t contain a valid partition table[/code]

Ce serveur est monitoré depuis Nagios et /dev/sda présente une erreur smart. J’ai donc voulu changer ce disque. J’ai déclaré le disque en fail, puis l’ai retiré de la grappe raid :
cat /proc/mdstat :

[code]Personalities : [raid1]
md1 : active raid1 sdb2[1]
77172664 blocks super 1.2 [2/1] [_U]

md0 : active (auto-read-only) raid1 sdb1[1]
975860 blocks super 1.2 [2/1] [_U]

unused devices: [/code]

Quand je rallume, l’écran du POST s’affiche, je vois marqué grub loading, puis le PC reboot.
Dès que je remet le disque le serveur repart bien.

J’ai tenté plusieurs choses :

grub-install --modules=raid /dev/sdb update-grub
J’étais en grub-lecay (0.97), j’ai fait

apt-get install grub-pc upgrade-from-grub-legacy
Cette dernière commande m’a proposé de choisir sur quelle partition je voulais installer grub, j’avais le choix entre /dev/sda /dev/sdb /dev/md1
J’ai choisi les 2 premières. J’éteins, je débranche /dev/sda, je rallume > ça ne boot toujours pas.

Comment puis-je faire pour que grub s’installe bien sur /dev/sdb?
Je précise que ce serveur sert de routeur, je ne peux pas manipuler dessus à tout heure.

Lorsque je monte mes serveurs debian en RAID1, je lance toujours après l’installation :

[code]# update-grub

grub-install /dev/sda

grub-install /dev/sdb

[/code]

Fais de même, n’oublie pas le update-grub et ça devrait fonctionner car en effet, par défaut seul un disque de la grappe est bootable.

Après j’ai aussi eu des soucis pendant un moment et je devais décommenter cette ligne dans la conf pour booter :

et décommenter la ligne #GRUB_TERMINAL=console

~$ update-grub Generating grub.cfg ... Found linux image: /boot/vmlinuz-2.6.32-5-amd64 Found initrd image: /boot/initrd.img-2.6.32-5-amd64 done

~$ grub-install /dev/sda Installation finished. No error reported.

~$ grub-install /dev/sdb Installation finished. No error reported.

Problème résolu :slightly_smiling: thx !

J’avais pourtant fait

grub-install /dev/sdb puis update-grub

Si je comprends bien faut d’abord générer un fichier grub.cfg valide, puis ensuite seulement on peut installer le grub sur les disques?

Exactement, il faut faire le update-grub en premier.

Content d’avoir résolu ton problème ! Bonne journée :wink: