Add doc for Raid with Lvm

This commit is contained in:
Romain de Laage 2020-11-05 12:55:48 +01:00
parent 5adef5703b
commit fa484fba8e
Signed by: rdelaage
GPG Key ID: 534845FADDF0C329
1 changed files with 51 additions and 0 deletions

View File

@ -0,0 +1,51 @@
# Mise en place d'un raid 1 avec LVM
Un raid 1 est un type de redondance sur le disque dur où les données se retrouvent dupliquées sur deux disques dur. Cela permet d'assurer l'accès au données même si un des deux disques tombe en panne.
On utilise ici LVM, c'est une abstraction qui permet de gérer des disques virtuels facilement, une option permet de créer de la redondance.
## Création d'un PV
La première chose à faire est de créer un physical volume, il s'agit d'un disque physique (ou une partition) qui sera intégralement utilisé par LVM pour faire des disques virtuels.
On commence par identifier le disque que l'on souhaite utiliser avec la commande `fdisk -l` (attention cette commande requiert une élévation des privilèges).
Une fois le disque identifié on crée le PV avec la commande `pvcreate /dev/sdX` où on remplace le `X` par la lettre correspondant au disque (il se peut que le disque ne se nomme pas ainsi notamment s'il s'agit d'un SSD nvme, dans ce cas il suffit de mettre le bon nom à la place de `sdX`).
Normalement le PV est créé, on peut s'en assurer avec la commande `pvs` ou avec `pvdisplay` qui donne plus d'informations.
## Création d'un VG
La deuxième étape est de créer un volume group. C'est un ensemble de physical volume (éventuellement un seul) utilisés pour créer des disques virtuels. Ils fonctionnent ensemble.
On va utiliser le physical volume créé précédemment pour créer notre VG en utilisant la commande `vgcreate <nom> /dev/sdX`.
On peut s'assurer que celui-ci est bien créé avec `vgs` ou encore `vgdisplay` qui donne plus d'informations.
## Création d'un LV
Il ne reste plus qu'à créer le disque virtuel aussi appelé logical volume. Celui-ci appartiendra à un volume group précis.
Pour créer le LV on lance la commande `lvcreate --name <nom-LV> --size <taille ex:10G> <nom-VG>`.
Si tout s'est bien passé en tapant `lvs` ou `lvdisplay` le LV devrait apparaître.
## Formater le LV
Il faut maintenant ajouter un système de fichiers au LV afin d'y stocker des données. Dans cet exemple on utilisera ext4 qui fonctionne très bien avec linux mais on aurait pu choisir NTFS par exemple.
On va donc utiliser `mkfs.ext4 /dev/<nom-VG>/<nom-LV>`. Il faut laisser le programme faire le travail puis quand il rend la main on peut monter le volume avec `mount /dev/<nom-VG>/<nom-LV> <chemin du point de montage>`.
## Migrer les données d'un autre volume (physique ou logique)
Pour migrer les données d'un autre disque il y a plusieurs manières de procéder, du simple `cp` au `rsync`.
rsync permet d'utiliser plein d'option et ainsi de garder les droits, ... On peut même lancer la migration depuis un volume accessible à distance par ssh. C'est pour cela que nous allons l'utiliser. Soit `/mnt/volume1` le point de montage de notre ancien volume et `/dev/volume2` le point de montage de notre volume de destination. On va simplement lancer `rsync -av /mnt/volume1/ /mnt/volume2/`.
## Mettre en place le RAID 1
Il faut d'abord créer un nouveau PV avec un autre disque (comme expliqué plus haut) puis l'ajouter au VG existant avec `vgextend <nom-vg> <chemin PV>`.
Ensuite il faudra modifier les options de notre LV pour lui ajouter le raid on peut lancer `man lvmraid` pour avoir quelques informations mais dans le cas d'un volume existant il faut faire `lvconvert --type raid1 <nom-LV>`.
On peut enfin lancer une vérification de la synchronisation des données avec `lvchange --syncaction check <nom-VG>/<nom-LV>`.