Raid logiciel et passage de kernel 2.4 à 2.6 [ABANDON]

Bonjour,

Je suis nouvel utilisateur de Debian pour un serveur au travail. A la maison j’utilise Gentoo depuis plusieurs année mais j’ai utilisé le raid logiciel pour la 1ere fois avec le CD d’installation Debian Sarge.

L’installation s’était très bien passé et le serveur est très performant seulement, je souhaite passé à un Kernel 2.6 (recommandé avant upgrade vers Etch) et là, ça se complique : Les disques ne sont plus appelés hdX mais sdX (car ce sont des disques SATA) et du coup, md ne trouve plus ses petits. Gloups, le serveur ne boot plus car mon / est sur /dev/md0.

J’ai pas mal bidouilé vendredi soir pour arriver a booter sur un kernel 2.6 mais je vais essayé de faire un résumé des opération réalisé :

  • Voyant que la phase de boot cherchais toujours des disques en hdX, j’ai modifié GRUB de cette façon :
    /boot/vmlinuz-2.6.8-2-686 root=/dev/md0 md=0,/dev/sda1,/dev/sdb1 ro
    => Ne change rien
  • J’ai décidé de booter sur le premier disque : /boot/vmlinuz-2.6.8-2-686 root=/dev/sda1 ro
    => J’arrive a booter mais j’ai encore des erreur au moment de créer les md.
  • Modification du fichier /etc/mdadm/mdadm.conf pour prendre en compte les nouveaux noms de disque.
    => Mon système boot et md1 et md2 sont bien monté. Par contre, md0 (mon /) n’est monté qu’avec 1 seul disque, le disque qui n’a pas été utilisé dans GRUB.

Quelques info supplémentaires :

root@srv1:~# cat /etc/mdadm/mdadm.conf

DEVICE partitions
ARRAY /dev/md2 level=raid1 num-devices=2 UUID=74a0625b:355fead1:6bbff177:a0cb2ea5
   devices=/dev/sda4,/dev/sdb4
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=85bcc4bf:7d20bdff:68c2ec66:9554406d
   devices=/dev/sda3,/dev/sdb3
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=12b98337:069a9302:34dc48e7:736517e3
   devices=/dev/sda1,/dev/sdb1

root@srv1:~# cat /proc/mdstat

[code]Personalities : [raid1]
md1 : active raid1 sda3[0] sdb3[1]
97659008 blocks [2/2] [UU]

md2 : active raid1 sda4[0] sdb4[1]
116744256 blocks [2/2] [UU]

md0 : active raid1 sdb1[1]
29294400 blocks [2/1] [_U]

unused devices:
[/code]

/var/log/message :

May 25 21:38:53 localhost kernel: md: md2 stopped. May 25 21:38:53 localhost kernel: md: bind<sdb4> May 25 21:38:53 localhost kernel: md: bind<sda4> May 25 21:38:53 localhost kernel: raid1: raid set md2 active with 2 out of 2 mirrors May 25 21:38:53 localhost kernel: md: md1 stopped. May 25 21:38:53 localhost kernel: md: bind<sdb3> May 25 21:38:53 localhost kernel: md: bind<sda3> May 25 21:38:53 localhost kernel: raid1: raid set md1 active with 2 out of 2 mirrors May 25 21:38:53 localhost kernel: md: md0 stopped. May 25 21:38:53 localhost kernel: md: bind<sdb1> May 25 21:38:53 localhost kernel: md: md_import_device returned -16 May 25 21:38:53 localhost kernel: raid1: raid set md0 active with 1 out of 2 mirrors

root@srv1:~# uname -a

Linux srv1 2.6.8-2-686 #1 Tue Aug 16 13:22:48 UTC 2005 i686 GNU/Linux

Voila, je n’ai pas trouvé de procédure sur internet pour passé en kernel 2.6 lorsque notre / est monté sur un raid logiciel mais j’espère que les infos que je vous ai fourni permettront de résoudre le problème.

Merci d’avance, cordialement, Doudou.

tu as fait la bonne chose quand tu as modifié ton mdadm.conf pour passer en sd, mais tu aurais dû le faire avant toute chose, parceque le problême est que comme tu n’as monté avant qu’un seul des disques de md0, il n’est plus synchro avec son mirroir.
AMA, depuis un livecd, tu resynchronise les deux partitions de md0, et tu rebootes et mdadm va retrouver ses petits.

Quand je boot sur un liveCD, il monte bien md0, md1 et md2. Si je boot avec GRUB configuré ainsi : root=/dev/md0, il va encore me dire qu’il ne trouve pas hdX…

Sais tu où il récupère ce hdX a la place de sdX?
Sais tu pourquoi l’option md=0,/dev/sda1,/dev/sdb1 n’est pas prise en compte?

Merci d’avance, Doudou.

C’est histoire de grub me titillait et j’ai trouvé une incohérence :

root@srv1:~# cat /boot/grub/device.map

code /dev/hde
(hd1) /dev/hdg[/code]

Sinon, les infos fournies par mdadm me semble également incohérente :
root@srv1:~# mdadm -D /dev/md0

[code]/dev/md0:
Version : 00.90.01
Creation Time : Thu Feb 1 20:12:50 2007
Raid Level : raid1
Array Size : 29294400 (27.94 GiB 30.00 GB)
Device Size : 29294400 (27.94 GiB 30.00 GB)
Raid Devices : 2
Total Devices : 1
Preferred Minor : 0
Persistence : Superblock is persistent

Update Time : Fri May 25 23:19:16 2007
      State : clean, degraded

Active Devices : 1
Working Devices : 1
Failed Devices : 0
Spare Devices : 0

       UUID : 12b98337:069a9302:34dc48e7:736517e3
     Events : 0.54

Number   Major   Minor   RaidDevice State
   0       0        0        -      removed
   1       8       17        1      active sync   /dev/sdb1

[/code]
root@srv1:~# mdadm --examine /dev/sda1

[code]/dev/sda1:
Magic : a92b4efc
Version : 00.90.00
UUID : 12b98337:069a9302:34dc48e7:736517e3
Creation Time : Thu Feb 1 20:12:50 2007
Raid Level : raid1
Raid Devices : 2
Total Devices : 2
Preferred Minor : 0

Update Time : Fri May 25 23:19:16 2007
      State : clean

Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Checksum : f89954d5 - correct
Events : 0.54

  Number   Major   Minor   RaidDevice State

this 0 8 1 0 active sync /dev/sda1

0 0 8 1 0 active sync /dev/sda1
1 1 8 17 1 active sync /dev/sdb1[/code]
root@srv1:~# mdadm --examine /dev/sdb1

[code]/dev/sdb1:
Magic : a92b4efc
Version : 00.90.00
UUID : 12b98337:069a9302:34dc48e7:736517e3
Creation Time : Thu Feb 1 20:12:50 2007
Raid Level : raid1
Raid Devices : 2
Total Devices : 2
Preferred Minor : 0

Update Time : Fri May 25 23:19:16 2007
      State : clean

Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Checksum : f89954e7 - correct
Events : 0.54

  Number   Major   Minor   RaidDevice State

this 1 8 17 1 active sync /dev/sdb1

0 0 8 1 0 active sync /dev/sda1
1 1 8 17 1 active sync /dev/sdb1[/code]

Les disques se voient synchronisé…étrange non?

lances grub comme ça, il devrait reconstruire le device.map.
Ou éventuellement en refaisant un grub-install.
pour le reste…
Peut être qu’il a resynchronisé le cluster quand il a été en mesure de le monter ?

Je viens de me repancher sur le problème (pas facile en journée, du monde l’utilise) et même avec un device.map a jour, une ré-exécution de grub, j’ai le même soucie…

Au boot, il cherche encore hde et hdg…je ne sais pas d’où il les sort…

Bon, j’ai pété mon système vendredi soir :frowning:
J’y ai passé quelques heure ce w-e et le suis levé tôt ce matin pour le ré-installer : Etch toute neuve.

Je ne sais pas trop ce qu’il s’est passé mais mon analyse serait la suivante : Comme je n’arrivais pas ajouter sda1 à md0, md0 était desynchroniser. J’ai mis a jour en Etch et au redémarrage, il s’est bloqué sans message d’erreur et sans bloqué le clavier. J’ai donc attendu, attendu et à un moment, j’ai redémarré. Je pense qu’il était en train de synchroniser md0 et je n’aurais jamais du l’interompre…

Suite a ça mon système de fichier était corrompu et fsck n’a rien pu y faire :confused:

J’ai donc ré-installé une Etch ce matin.

A+, Doudou.