En gros, pour faire simple, suite à un reboot serveur, on ne peut se reconnecter au serveur et sur la console d’admin (à laquelle on n’a pas accès) on se retrouve avec une impossibilité de monté le volume nécessaire avec un device inexistant ou corrompu. Dans mon cas, /dev/md3 était inexistant.
Après reboot du serveur par les équipes de FIRSTHEBERG, j’ai pu avoir accès au serveur et je me suis rendu compte que seul /dev/md1 était monté malgré le fait que /dev/md3 était mentionné dans le « fstab », ainsi que dans le fichier de conf de « mdadm » (/etc/mdadm/mdadm.conf)
La commande « cat /proc/mdstat » m’indique que /dev/md3 est inexistant mais je vois apparaitre un /dev/md126 !!!!
D’où sort il ce /dev/md126 !!###$$^^##&&**%%§§???
Un « df –h », me confirme la chose … pas de md3 et évidemment pas de md126 car listé dans aucune conf du RAID Soft
df -h
Sys. de fichiers Taille Uti. Disp. Uti% Monté sur
/dev/md1 9,8G 7,7G 1,6G 84% /
tmpfs 2,0G 0 2,0G 0% /lib/init/rw
udev 10M 160K 9,9M 2% /dev
tmpfs 2,0G 0 2,0G 0% /dev/shm
Bref, on se retrouve avec un serveur amputé d’une partie de ses données.
Si je monte le /dev/md126 sur /var, je retrouve toutes mes données. Je me rends compte aussi que l’outil « mdadm », n’est pas installé.
Ayant monté le /var, j’en profite pour lancé la commande « apt-get install mdadm » … pourquoi cet outil est-il absent … bizarre, bonne question, car cet outil est appelé par un script dans « /etc/init.d » … et ce serveur à été souscrit avec cette option de RAID Logiciel dès le départ … « mdadm » devrait être installé et ce n’est pas le cas 🙁
Bref, il est temps de passer aux choses sérieuses.
Pour résumer, j’ai un md126 en lieu et place d’un md3 …
La commande « cat /proc/mdstat » me donne le résultat suivant
cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath] [faulty]
md1 : active raid1 sdb1[1] sda1[0]
10239936 blocks [2/2] [UU]
md126 : active raid1 sdb3[1] sda3[0]
476097472 blocks [2/2] [UU]
unused devices: <none>
Elle devrait me donner le résultat :
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath] [faulty]
md1 : active raid1 sdb1[1] sda1[0]
10239936 blocks [2/2] [UU]
md3 : active raid1 sdb3[1] sda3[0]
476097472 blocks [2/2] [UU]
unused devices: <none>
Donc prenons le taureau par les cornes, et je démonte le « /dev/md126 ».
Ce device étant un Raid Soft, j’arrête le Raid sur ce device :
mdadm -S /dev/md126 » (réponse : mdadm: stopped /dev/md126
La commande suivante va checker le raid que mdadm voit :
mdadm --detail –scan
ARRAY /dev/md1 metadata=0.90 UUID=10460d6e:c684efe0:9d4deba6:47ca997f
Maintenant que md126 est stoppé, il va falloir recréer (réassembler le raid) pour md3. Pour cela on récupère les infos qui vont bien.
Dans le fichier « /etc/mdadm/mdadm.conf », on voit les informations du RAID :
cat /etc/mdadm/mdadm.conf
ARRAY /dev/md1 UUID=10460d6e:c684efe0:9d4deba6:47ca997f
ARRAY /dev/md3 UUID=d65cbf89:20217a78:9d4deba6:47ca997f
Avec la commande « blkid », on récupère les BlockID des devices de stockage
blkid
/dev/sdb1: UUID="10460d6e-c684-efe0-9d4d-eba647ca997f" TYPE="linux_raid_member"
/dev/sdb3: UUID="d65cbf89-2021-7a78-9d4d-eba647ca997f" TYPE="linux_raid_member"
/dev/sda1: UUID="10460d6e-c684-efe0-9d4d-eba647ca997f" TYPE="linux_raid_member"
/dev/sda3: UUID="d65cbf89-2021-7a78-9d4d-eba647ca997f" TYPE="linux_raid_member"
/dev/sda2: UUID="1ba0b73e-fde6-4209-a516-2954608c111f" TYPE="swap"
/dev/sdb2: UUID="a119d4cf-5b1a-4f85-a30d-fbc6c48c3a7a" TYPE="swap"
/dev/md1: UUID="cf984d55-82e2-49bb-90b6-a82792149bb9" TYPE="ext4"
On voit très bien quels devices font partis des quels raid.
Ainsi md1 = sdb1 + sda1 et md3 = sdb3 + sda3
Et voici ZE commande pour réassembler le RAID avec les bons devices :
mdadm --assemble --verbose /dev/md3 /dev/sda3 /dev/sdb3
Et la réponse à cette commande :
mdadm: looking for devices for /dev/md3
mdadm: /dev/sda3 is identified as a member of /dev/md3, slot 0.
mdadm: /dev/sdb3 is identified as a member of /dev/md3, slot 1.
mdadm: added /dev/sdb3 to /dev/md3 as 1
mdadm: added /dev/sda3 to /dev/md3 as 0
mdadm: /dev/md3 has been started with 2 drives.
La commande de scan me donne alors les infos suivantes :
mdadm --detail –scan
ARRAY /dev/md1 metadata=0.90 UUID=10460d6e:c684efe0:9d4deba6:47ca997f
ARRAY /dev/md3 metadata=0.90 UUID=d65cbf89:20217a78:9d4deba6:47ca997f
Et la commande « cat /proc/mdstat » me donne :
cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath] [faulty]
md3 : active raid1 sda3[0] sdb3[1]
476097472 blocks [2/2] [UU]
md1 : active raid1 sda1[0] sdb1[1]
10239936 blocks [2/2] [UU]
unused devices: <none>
C’est donc tout bon, donc un petit check avec un « fsck /dev/md3 » et je remonte le /dev/md3 sur /var
Il ne reste plus qu’à lancer la commande : update-initramfs -k all –u
Elle permet de régénérer toutes les images de kernel présentes avec les infos Up2date.
Je reboot et voilà 🙂
C’est fini 😛
Merci qui ?