Ayant besoin professionel de réaliser un système de sauvegarde. Petit achat d'un boitier Sylverstone, carte mère mini-itx, processeur core i7, disque dur ssd enfin voilà un belle bête à monter surtout pour s'amuser. Les disques durs de sauvegardes sont dans une boite protégée contre le feu et l'eau (4 disques de 1To). Le système servira aussi à vérifier la santé des autres machines par snmp tous ça basé sur un système Ubuntu 9.04 server.
Création de 2 partitions RAID1 de 1To
Pour chaque disque
# fdisk /dev/sdXCréer une partition de type Linux raid autodetect (id = fd dans fdisk)
Quitter fdisk par 'w'
Créer les arrays pour les 2 groupes de disques
# mdam --verbose --create /dev/md0 --level=raid1 --raid-devices=2 /dev/sdX /dev/sdXModifier /etc/mdadm/mdadm.conf
Utiliser la commande suivante
# mdadm –detail --scanet ajouter les lignes suivantes au fichier de configuration
ARRAY /dev/md1 level=raid1 num-devices=2 metadata=00.90 UUID=156b6fad:4c766c16:5fb02083:99a3fc4b ARRAY /dev/md0 level=raid1 num-devices=2 metadata=00.90 UUID=5c38d7b4:b1832d52:5fb02083:99a3fc4b
Formater les arrays
# mkfs.ext4 -m1 /dev/md0 # mkfs.ext4 -m1 /dev/md1
Créer les répertoires /mnt/raid1 et /mnt/raid2
Modifier /etc/fstab et ajouter les lignes suivantes
/dev/md0 /mnt/raid1 ext4 defaults 0 0 /dev/md1 /mnt/raid2 ext4 defaults 0 0
Liste les informations d'un disque
# mdadm -E /dev/sdXCette commande scan tous les disques et assemble ceux qui corresponde au uuid définit
# mdadm -Av /dev/md0 --uuid=84788b68:1bb79088:9a73ebcc:2ab430da /dev/sd*Affichage des statistiques des arrays, synchronisation, mode dégradé
# cat /proc/mdstat # watch -n1 'cat /proc/mdstat'
Attention : Au redémarrage de la machine avec un disque défaillant l'array ne sera pas
disponible
Identifier le disque défaillant
Test de situation de disque défaillant
# mdadm --manage /dev/md0 --fail /dev/sdc1# cat /proc/mdstat Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10] md0 : active raid1 sdb1[0] sdc1[2](F) 24418688 blocks [2/1] [U_] md1 : active raid1 sdd2[0] sde2[1] 24418688 blocks [2/2] [UU] unused devices: <none>
Retirer le disque /dev/sdc1 de /dev/md0:
# mdadm --manage /dev/md0 --remove /dev/sdc1 mdadm: hot removed /dev/sdb1
# cat /proc/mdstat Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10] md0 : active raid1 sdb1[0] 24418688 blocks [2/1] [U_] md1 : active raid1 sdd2[0] sde2[1] 24418688 blocks [2/2] [UU] unused devices: <none>
Il est possible de faire les opérations à chaud en SATA ou éteindre le système.
Remplacer le disque défectueux par un disque de même espace disque ( en aucun cas le
disque doit avoir une taille inférieure)
Démarrer le système si nécessaire
Créer exactement la même partition sur le nouveau disque
# sfdisk -d /dev/sdb /dev/sdcVérifier que les deux disques qui vont former l'ensemble RAID ont les mêmes partitions
# fdisk -lAjouter /dev/sdc1 à /dev/md0
# mdadm --manage /dev/md0 --add /dev/sdc1 mdadm: re-added /dev/sdc1
L'ensemble RAID va se synchroniser
# cat /proc/mdstat Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10] md0 : active raid1 sdb1[0] sdc1[1] 24418688 blocks [2/1] [U_] [=>...................] recovery = 9.9% (2423168/24418688) finish=2.8min speed=127535K/sec ...
Attendre que la synchronisation soit terminé.