RAID
De Roms' wiki.
Sommaire |
Objectifs
Limiter le risque de perte de données en cas de défaillance d'un disque.
Pré-requis
Les outils md.
Installation
La mise en place du RAID se fait à l'installation (Debian installer).
Mise en place
1) Dans l'installateur Debian, il faut commencer par créer les partitions voulues sur chaque disque de 80 Go à l'identique. Exemple:
/dev/hda: / 1 GB (physique:0) swap 1 GB (physique:1) /usr 3 GB (logique:5) /var 5 GB (logique:6) /tmp 1 GB (logique:7) /home 69 GB (logique:8)
/dev/hdc: / 1 GB swap 1 GB /usr 3 GB /var 5 GB /tmp 1 GB /home 69 GB
On indique que chaque partition est de type RAID.
2) Ensuite, il faut configurer le RAID logiciel, c'est-à-dire associer deux-à-deux chaque partition pour créer le volume physique correspondant (/dev/md0 à /dev/md4)
Pour ma part, j'ai tout mis (hormis le swap) en RAID1 sauf /tmp qui est en RAID0. Je me fiche de la perte de données sur /tmp; par contre, je ne suis pas contre un meilleur débit.
3) Enfin, on formate chaque volume physique et on les monte sur le point de montage correspondant.
Le fichier /etc/mdadm/mdadm.conf généré par l'installateur me donne:
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=d37a999f:a2160791:dcedc076:5b078744 ARRAY /dev/md1 level=raid1 num-devices=2 UUID=2b2f368d:42287b18:1c7a97bc:15b764ed ARRAY /dev/md2 level=raid1 num-devices=2 UUID=45f0694f:0d4c74ae:dc06dee5:f262b5ba ARRAY /dev/md3 level=raid0 num-devices=2 UUID=e656aa3e:ee35132b:738e7034:aed0ec15 ARRAY /dev/md4 level=raid1 num-devices=2 UUID=0b6d0a6d:a2d183b9:06c104ee:a28a923b
Il peut aussi être récupéré par:
mdadm --examine --scan
4) Mon fichier /etc/lilo.conf contient:
boot=/dev/md0 root=/dev/md0 raid-extra-boot=mbr-only
Remplacement
Dans le cas où un des disques viendrait à défaillir (ce qui m'est arrivé quelques semaines après le passage du serveur en RAID !), il faudra le changer ce qui implique:
- d'enlever l'ancien disque du RAID,
- de partitionner le disque de remplacement,
- d'ajouter le nouveau disque.
1) Enlever le disque revient à marquer chaque partition du RAID comme défaillante et à la retirer de l'association RAID:
mdadm /dev/mdX -r -f /dev/hdX[1..8]
2) Ensuite, il faut installer le nouveau disque et le partitionner. Le plus simple et de copier la table des partitions de l'autre disque (ATTENTION, VERY DANGEROUS: relire 3 fois la commande tapée avant d'appuyer sur ENTREE):
fsdisk -d /dev/hdX >& file; fsdisk (--force) /dev/hdY < file
3) Enfin, ajouter les partitions:
mdadm /dev/mdX -a /dev/hdX[1..8]
Et là, c'est magique car le système lance une reconstruction automatique du disque dont l'avancement peut être visualisé par un simple:
cat /proc/mdstats
4) Par contre, tout ce qui est marqué ci-dessus marche bien pour du RAID1 mais le RAID0 m'a donné du fil à retordre car aucune reconstruction n'est possible (normal, c'est du RAID0). Marche à suivre:
- il faut arrêter complètement l'association RAID concernée:
mdadm --stop /dev/md3
- ensuite, il faut recréer une nouvelle association qui va écraser la précédente:
mdadm --create /dev/md3 --level=0 --raid-devices=2 /dev/hda7 /dev/hdc7
et répondre oui pour l'écrasement.
Plus d'infos sur le site de Guillaume LEHMANN [1] et [2] et [3].

