Espace de stockage en Raid5 et LVM2 avec Debian.
Dans ce document je vais indiquer comment créer et gérer un espace de stockage fiable et sauvegardable facilement.
Pré-requis:
- Un vieux pc avec slots pci sous Debian.
- Une carte contrôleur pci Dual Channel ATA 133.
- 4 Disques Dur IDE (les miens font 250Gb).
- Les paquets: mdadm,lvm2
Créer les partitions sur les 4 disques (hde,hdf,hdg,hdh):
- On va créer et utiliser, des partitions primaires hde1,hdf1,hdg1,hdh1 plustot que le disque entier, ce sera plus facile à détruire au besoin.
- Pour le type on choisi: fd Linux raid auto.
Créer la matrice Raid
yourbox:~ # mdadm --create --verbose /dev/md0 --level=raid5 --raid-devices=4 /dev/hd[efgh]1
Avant d’aller plus loin, il faut attendre que la matrice md0 soit construite:
yourbox:~ # watch -n1 'cat /proc/mdstat'
On configure le fichier qui liste les matrices Raid du système /etc/mdadm/mdadm.conf.
DEVICE /dev/hde1 /dev/hdf1 /dev/hdg1 /dev/hdh1
CREATE owner=root group=disk mode=0660 auto=yes metadata=1
ARRAY /dev/md/0 level=raid5 metadata=1 num-devices=4 name=0 UUID=a7cf06c3:3049a0fe:091d31c7:ef4f2fcd devices=/dev/hde1,/dev/hdf1,/dev/hdg1,/dev/hdh1
MAILADDR root
On met le même UUID que ce que donne la commande, pour avoir des infos:
yourbox:~ # sudo mdadm --detail /dev/md0
Créer un volume logique avec lvm2 dans la matrice raid.
lvm2 vas nous permettre plus tard de facilité des sauvegardes à chaud, grace à la fonction snapshot(plus loin).
Préparer le volume physique de la matrice.
pvcreate /dev/md0
On crée le groupe de volume.
vgcreate vg_raid5 /dev/md0
On vérifie avec la commande vgscan.
vgscan
Reading all physical volumes. This may take a while...
Found volume group "vg_raid5" using metadata type lvm2
On met en place maintenant le volume logique (d'une taille insuffisante).
lvcreate -n lv_raid5 --size 1g vg_raid5
On peut maintenant créer le système de fichiers ext3, avec un espace réservé à root de 1% (-m1).
mkfs.ext3 -L raid5 -m1 /dev/vg_raid5/lv_raid5
On crée le point de montage.
mkdir /raid5
On l'ajoute à /etc/fstab.
/dev/vg_raid5/lv_raid5 /raid5 ext3 defaults,errors=remount-ro 0 0
On peut maintenant le monter avec un simple mount -a
Reste plus qu'a étendre le volume à la taille voulue, pour moi 600Go, on laisse de l'espace pour les snapshots.
Pour ce, on démonte la partition.
umount /raid5
On étend le volume logique.
lvextend -L+599g /dev/vg_raid5/lv_raid5
On vérifie le système de fichier(nécéssaire avant de le retailler).
e2fsck -f -y -C0 /dev/vg_raid5/lv_raid5
Et on l'agrandit avec la commande resize2fs.
resize2fs /dev/vg_raid5/lv_raid5
On remonte la partition.
mount /raid5
La suite avec l'utilisation de snapshot ... à suivre ...