Ceci est une ancienne révision du document !
Table des matières
RAID soft
L'installation est décrite sous Debian Lenny, mais peut etre adaptée au besoin
Description
Je ne vais pas decrire ici le RAID, wikipedia est la pour ca.
Le but de cette page est de decrire l'installation d'un RAID logiciel entre différents disques, puis d'utiliser le volume (grappe) ainsi construit comme volume physique pour du LVM.
Les volumes logiques créés seront ensuite exportés en iSCSI, mais cette partie fera l'objet d'une autre page. Les disques /dev/sdX mentionnés dans la suite sont d'ailleurs des partitions accédées en iSCSI.
Prérequis
Installation des outils RAID et LVM :
aptitude install lvm2 mdadm
Création de la grappe
La création de la grappe RAID, ainsi que toutes les opérations concernant le RAID sont effectuées a l'aide de la commande mdadm. La création de grappes RAID en utilisant des disques entiers semble poser probleme, c'est pour cela que nous utiliserons des partitions comme volume de base. En effet, les disques n'ont pas tous exactement la meme taille (au cylindre pres), et il est préférable de créer une partition légèrement plus petite quitte a perdre 10Mo sur chaque disque, plutot que de ne pas pouvoir remplacer un disque défectueux apres coup.
Ces partitions doivent etre de type “Linux raid autodetect”, soit FD .
- Pour créer une grappe RAID5 sur 3 partitions /dev/sda1 /dev/sdb1 et /dev/hda2 :
mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/hda2 /dev/sda1 /dev/sdb1
vous devriez obtenir quelque chose qui ressemble a :
# mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/hda2 /dev/sda1 /dev/sdb1 mdadm: layout defaults to left-symmetric mdadm: chunk size defaults to 64K mdadm: /dev/hda2 appears to contain an ext2fs file system size=70316504K mtime=Thu Oct 15 14:53:26 2009 mdadm: /dev/hda2 appears to be part of a raid array: level=raid5 devices=3 ctime=Tue Nov 10 11:34:28 2009 mdadm: /dev/sda1 appears to contain an ext2fs file system size=70316472K mtime=Mon Nov 9 10:16:38 2009 mdadm: /dev/sda1 appears to be part of a raid array: level=raid5 devices=3 ctime=Tue Nov 10 11:34:28 2009 mdadm: /dev/sdb1 appears to be part of a raid array: level=raid5 devices=3 ctime=Tue Nov 10 11:34:28 2009 mdadm: size set to 70316352K Continue creating array? y mdadm: array /dev/md0 started.
- Pour vérifier que la grappe RAID est bien vue, un petit
cat /proc/mdstat
devrait vous renseigner :
# cat /proc/mdstat Personalities : [raid1] [raid6] [raid5] [raid4] md0 : active (auto-read-only) raid5 sdb1[3](S) sda1[1] hda2[0] 140632704 blocks level 5, 64k chunk, algorithm 2 [3/2] [UU_]
On peut ici voir que le RAID est monté en lecture seule, et que la 3e partition n'est pas synchronisée (le _ dans la liste entre [], car l'une des partitions est déclarée en spare (S)) Je vous conseille d'ailleurs cette doc sur mdstat : http://linux-raid.osdl.org/index.php/Mdstat
- Pour la monter en RW (et par la meme lancer la synchronisation), faites un petit :
mdadm --readwrite /dev/md0
vous pouvez vérifier avec un cat /proc/mdstat :
# cat /proc/mdstat Personalities : [raid1] [raid6] [raid5] [raid4] md0 : active raid5 sdb1[3] sda1[1] hda2[0] 140632704 blocks level 5, 64k chunk, algorithm 2 [3/2] [UU_] [>....................] recovery = 0.1% (92800/70316352) finish=37.7min speed=30933K/sec
La vitesse de (re)construction dépend de vos disques, mais est limitée par le systeme, comme peut le montrer un dmesg :
[360814.192484] md: recovery of RAID array md0 [360814.192484] md: minimum _guaranteed_ speed: 1000 KB/sec/disk. [360814.192484] md: using maximum available idle IO bandwidth (but not more than 200000 KB/sec) for recovery. [360814.192484] md: using 128k window, over a total of 70316352 blocks.
Vous pouvez d'ores et deja utiliser cette grappe RAID, meme si pour l'instant les performances vont etre faibles a cause de la reconstruction en cours.
Un cat /proc/mdstat donne ça une fois la reconstruction effectuée :
Personalities : [raid1] [raid6] [raid5] [raid4] md0 : active raid5 sdb1[2] sda1[1] hda2[0] 140632704 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU] unused devices: <none>
Et voila, on a obtenu un bô volume en RAID 5 logiciel sous linux
Finalisation
Vous pensiez en avoir fini ? que nenni. Pour l'instant votre grappe RAID risque de ne pas être détectée lors du prochain reboot. Pour contourner ce probleme, il faut déclarer cette grappe dans le fichier /etc/mdadm/mdadm.conf :
mdadm --detail --scan >> /etc/mdadm/mdadm.conf
mdadm integre un démon de monitoring pour les grappes RAID qui envoie un mail a root en cas de probleme sur l'un des disques de la grappe, il faut donc vous assurer que les mails envoyés a root vous parviennent sous peine de louper le fait qu'un de vos disques vient de vous lâcher. Et si un 2e meurt, votre grappe (ainsi que les données) ne s'en remettra pas.