Gestion de RAID SOFT avec MDADM

Répondre
Avatar du membre
LM2I_Laurent
Administrateur - Site Admin
Messages : 285
Enregistré le : jeu. 27 août 2009 17:00

Gestion de RAID SOFT avec MDADM

Message par LM2I_Laurent »

Pour gérer le RAID SOFT, nous allons utiliser mdadm.

IL EST DANGEREUX DE JOUER AVEC MDADM LORSQU'ON NE CONNAIT PAS BIEN SON FONCTIONNEMENT. VOUS RISQUEZ DE PERDRE LES DONNEES. FAITES UN BACKUP AVANT DE COMMENCER LA LECTURE DE GUIDE.

Note:
Si votre serveur vient de subir un changement de disque, celui ci vous est rendue avec un disque dans le RAID soft et un disque vierge qui ne contient aucune table de partition.
Il faut donc copier la partition du disque intact vers ce nouveau disque.
Déterminer les partitions

Comment voir quel disque n'as pas de partition?

Code : Tout sélectionner

fdisk -l
Le message suivant sera affiché pour le nouveau disque :

Code : Tout sélectionner

Le disque /dev/sdb ne contient pas une table de partition valide
Réplication des partitions

Disque en MBR


dans le cas du changement du SDA:

Code : Tout sélectionner

sfdisk -d /dev/sdb | sfdisk /dev/sda
dans le cas du changement du SDB:

Code : Tout sélectionner

sfdisk -d /dev/sda | sfdisk /dev/sdb

Il peut arrivé que vous ayez l'erreur suivante : sfdisk: ERROR: sector 0 does not have an msdos signature. Dans ce cas il vous faut ajouter à la commande précédente --force se qui donnera :

dans le cas du changement du SDA:

Code : Tout sélectionner

sfdisk -d /dev/sdb | sfdisk --force /dev/sda
dans le cas du changement du SDB:

Code : Tout sélectionner

sfdisk -d /dev/sda | sfdisk --force /dev/sdb
Disque en GPT


Vous devez alors utiliser sgdisk à la place de sfdisk :

dans le cas du changement du SDA:

Code : Tout sélectionner

sgdisk -R=/dev/sda /dev/sdb
dans le cas du changement du SDB:

Code : Tout sélectionner

sgdisk -R=/dev/sdb /dev/sda
Reconstruction du RAID

1.) Aide

Pour avoir une aide complete, utilisez --help

Code : Tout sélectionner

# mdadm --misc --help
Usage: mdadm misc_option devices...

This usage is for performing some task on one or more devices, which
may be arrays or components, depending on the task.
The --misc option is not needed (though it is allowed) and is assumed
if the first argument in a misc option.

Options that are valid with the miscellaneous mode are:
--query -Q : Display general information about how a
device relates to the md driver
--detail -D : Display details of an array
--examine -E : Examine superblock on an array component
--examine-bitmap -X: Display contents of a bitmap file
--zero-superblock : erase the MD superblock from a device.
--run -R : start a partially built array
--stop -S : deactivate array, releasing all resources
--readonly -o : mark array as readonly
--readwrite -w : mark array as readwrite
--test -t : exit status 0 if ok, 1 if degrade, 2 if dead, 4 if missing
2.) Informations

Pour avoir les informations sur l'état du RAID utilisez la commande --misc

Code : Tout sélectionner

mdadm --misc --detail /dev/md1
/dev/md1:
Version : 00.90.00
Creation Time : Tue Nov 7 22:01:16 2006
Raid Level : raid1
Array Size : 3068288 (2.93 GiB 3.14 GB)
Device Size : 3068288 (2.93 GiB 3.14 GB)
Raid Devices : 2
Total Devices : 1
Preferred Minor : 1
Persistence : Superblock is persistent

Update Time : Wed Nov 8 15:42:35 2006
State : active, degraded
Active Devices : 1
Working Devices : 1
Failed Devices : 0
Spare Devices : 0

UUID : 4a9a446d:af55e24b:b311aa61:8dc74ed4
Events : 0.12

Number Major Minor RaidDevice? State
0 8 1 0 active sync /dev/sda1
1 0 0 1 removed
On voit qu'on a un RAID 1 de 3Go qui est en mode dégradé car il manque le disque sdb1

3.) ADD d'un disque en mode dégradé

Voici un exemple des commandes, pour rajouter un disque dans un raid en mode degradé:

mdadm /dev/md1 --manage --add /dev/sdb1
mdadm: hot added /dev/sdb1
Suivre l'avancement:

Code : Tout sélectionner

cat /proc/mdstat
Personalities : linear raid0 raid1 raid5
read_ahead 1024 sectors
md1 : active raid1 sdb12 sda10
3068288 blocks 2/1 U_
=>................... recovery = 5.4% (167028/3068288) finish=0.8min speed=55676K/sec
md2 : active raid1 sda20
240597376 blocks 2/1 U_

Lorsque c'est terminé:

Code : Tout sélectionner

mdadm --misc --detail /dev/md1
/dev/md1:
Version : 00.90.00
Creation Time : Tue Nov 7 22:01:16 2006
Raid Level : raid1
Array Size : 3068288 (2.93 GiB 3.14 GB)
Device Size : 3068288 (2.93 GiB 3.14 GB)
Raid Devices : 2
Total Devices : 2
Preferred Minor : 1
Persistence : Superblock is persistent

Update Time : Wed Nov 8 16:01:02 2006
State : active
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0

UUID : 4a9a446d:af55e24b:b311aa61:8dc74ed4
Events : 0.14

Number Major Minor RaidDevice? State
0 8 1 0 active sync /dev/sda1
1 8 17 1 active sync /dev/sdb1
Idem sur md2:

Code : Tout sélectionner

mdadm /dev/md2 --manage --add /dev/sdb2
mdadm: hot added /dev/sdb2
Suivre l'avancement:

Code : Tout sélectionner

cat /proc/mdstat
Personalities : linear raid0 raid1 raid5
read_ahead 1024 sectors
md1 : active raid1 sdb11 sda10
3068288 blocks 2/2 UU

md2 : active raid1 sdb22 sda20
240597376 blocks 2/1 U_
>.................... recovery = 0.2% (655104/240597376) finish=73.2min speed=54592K/sec
unused devices: 


Vérifiez a la fin la taille de votre swap.

Code : Tout sélectionner

cat /proc/swaps
Filename Type Size Used Priority
/dev/sdb3 partition 522104 43984 -1

Il faut maintenant réajouter le swap du disque que vous venez de formater et reajouter au RAID.

Code : Tout sélectionner

mkswap /dev/sda3
swapon -a


@+
Laurent
Image
Webmaster
http://www.lm2i.fr
http://www.lm2i.eu

Image Image Image Image
.
Avatar du membre
LM2I_Laurent
Administrateur - Site Admin
Messages : 285
Enregistré le : jeu. 27 août 2009 17:00

Re: Gestion de RAID SOFT avec MDADM

Message par LM2I_Laurent »

Après une reconstruction de RAID tel que précisé ci-dessus
Il peut arriver que votre serveur refuse de redémarrer sur le disque dur...

Il est fort probable que le disque ne soit plus bootable suite à la manipulation...

Il faut donc réinstaller grub en redémarrant en mode rescue:

on recommence:

Code : Tout sélectionner

fdisk -l
pour avoir les infos de partition

et on monte les partition du Raid (dans mon cas):

Code : Tout sélectionner

mount /dev/md1 /mnt/
mount /dev/md2 /mnt/home/
on vérifie que mount sont bon:

Code : Tout sélectionner

mount
et

Code : Tout sélectionner

cat /mnt/etc/fstab
puis on chroot ;)

Code : Tout sélectionner

chroot /mnt
et on réinstall grub

Code : Tout sélectionner

apt-get install grub
ou au niveau du Raid

Code : Tout sélectionner

grub-install /dev/md1
ou encore... (dans mon cas lors du fdisk la partition de boot, signalé par un * est /dev/sda )

Code : Tout sélectionner

grub-install --recheck /dev/sda
@+
Laurent
Image
Webmaster
http://www.lm2i.fr
http://www.lm2i.eu

Image Image Image Image
.
Répondre