Cyrille BORNE : Gestion par volumes logiques : LVM pour tous
vendredi 12 décembre 2014 à 18:00Ce howto est à l'usage des débutants et va utiliser essentiellement une interface graphique. Si vous le suivez n'oubliez pas de faire des sauvegardes de vos données sensibles.
Il peut être interessant dans certains cas pour ses systèmes de fichiers, ses partitions, d'utiliser une gestion de volumes logiques, en abrégé LVM. Le gros avantage du lvm est de clarifier l'usage de certains points de montage et, surtout, d'en assouplir la place disponible car il est alors facile si le besoin se fait sentir d'agréger au fur et à mesure des besoins d'autres partitions ou d'autres disques sans avoir à refaire ses partitions ou ses systèmes de fichiers.
Composition d'un lvm : Nous avons un ou des volumes physiques, c'est à dire une ou plusieurs partitions, portant un ou plusieurs groupes de volumes eux-mêmes contennant à leur tout un ou des volumes logiques.
Pour schématiser je vais
- créer un volume physique regroupant /dev/sdb3 et /dev/sdb4
- y créer un groupe de volumes appelé nav
- à l'interieur de nav créer les volumes logiques Routes et Gribs
Attention tout de même, dans l'interface graphique on va appliquer des changements sur les systèmes de fichiers et, dans le cas présent, pour certaines commandes celles-ci vont entrainer la perte des données lors des créations. L'interface graphique n'est ni plus ni moins dangereuse que la ligne de commandes, il faut juste savoir ce que l'on fait et faire des sauvegardes auparavant, tout comme avec des commandes dans un terminal.
Pour faire ces procédures en interface graphique je vais utiliser le programme system-config-lvm qui est un produit développé par Redhat mais disponible dans les dépôts officiels Debian, Ubuntu, et sur pratiquement toutes les distributions. Il nous faut auparavant installer les programmes system-config-lvm lvm2 dmeventd. Donc sur Debian et dérivées :
~ $ sudo aptitude install system-config-lvm lvm2 dmeventd
Il est aussi préférable de mettre le drapeau lvm sur les partitions qui seront utilisées. Pour cela on peut utiliser gparted soit en ligne de commande si on a installé parted et par la commande :
~ $ sudo parted -s /dev/sdb set 3 lvm on
pour le positionner sur /dev/sdb3. On aura alors comme situation de départ :
~ $ sudo parted /dev/sdb print
Disque /dev/sdb : 200GB
Table de partitions : gpt
Numéro Début Fin Taille Système de fichiers Nom Fanions
1 1049kB 53,5MB 52,4MB ext2 bios_grub
2 53,5MB 52,5GB 52,4GB ext4
3 52,5GB 106GB 53,2GB ext4 lvm (gestionnaire de volumes logiques)
4 106GB 160GB 54,1GB ext4 lvm (gestionnaire de volumes logiques)
5 160GB 200GB 40,3GB btrfs
On va maintenant créer le volume physique. Pour cela j'ai besoin une dernière fois de la ligne de commande pour regrouper /dev/sdb3 et /dev/sdb4. Je rappelle que j'aurais pu simplement configurer /dev/sdb3.
~ $ sudo pvcreate /dev/sdb3 /dev/sdb4
Physical volume "/dev/sdb3" successfully created
Physical volume "/dev/sdb4" successfully created
On peut maintenant utiliser l'interface graphique system-config-lvm alias Gestionnaire de Volumes Logiques
On séléctionne /dev/sdb3 puis le bouton Créer un nouveau groupe de volumes. Sur la fenêtre on donne un nom au groupe, par exemple nav.
On séléctionne ensuite Vue logique puis le bouton Créer un nouveau Volume Logique
Dans la nouvelle boite de dialogues on donne cette fois un nom au volume logique, par exemple Routes, puis la taille du volume, le système de fichiers, savoir s'il faut le monter tout de suite ou au redémarrage et le point de montage, qui sera créé s'il n'existe pas. Je choisis de le monter au redémarrage car je n'ai pas terminé avec les volumes pour le besoin de ce tuto. Ne pas oublier que l'on va créer un système de fichiers et les données présentes seront détruites.
Je vais créer maintenant un autre volume, le volume gribs occupant le reste de la partition /dev/sdb3
Imaginons maintenant que je n'ai plus de place sur mon volume Routes. Il m'est allors possible d'ajouter la partition /dev/sdb4 grace au bouton Ajouter au groupe de volumes existant :
Je séléctionne ensuite Routes puis Éditer les propriétés On voit qu'il fait 15 Go et je dispose donc de 50 Go pour le porter à 65 Go. Je vais le porter à 30 Go pour me réserver de la place disponible.
Voilà, c'est terminé. Une partie de Routes se trouve sur la partition /dev/sdb3 et l'autre sur /dev/sdb4 mais en réalité ils forment un seul et même volume logique utilisable sur un seul point de montage.
Si je regarde mon fichier fstab je vois qu'il a été modifié en conséquence.
~ $ grep "nav" /etc/fstab
/dev/nav/Routes /media/cep/Routes ext4 defaults 1 2
/dev/nav/Gribs /media/cep/Gribs ext4 defaults 1 2
Il me suffit donc soit de redémarrer soit de passer la commande mount -a pour que les volumes soient disponibles.~ $ sudo mount -a -v
/dev/mapper/nav-Routes on /media/cep/Routes type ext4 (rw)
/dev/mapper/nav-Gribs on /media/cep/Gribs type ext4 (rw)
~ $ grep mapper /etc/mtab
/dev/mapper/nav-Routes /media/cep/Routes ext4 rw 0 0
/dev/mapper/nav-Gribs /media/cep/Gribs ext4 rw 0 0
Il me suffira ensuite de régler les droits sur les points de montage pour cep
~ $ sudo chown -R cep:cep /media/cep/Routes /media/cep/Gribs
~ $
La commande lsblk résume la situation : ~ $ lsblk /dev/sdb
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 0 186,3G 0 disk
├─sdb1 8:17 0 50M 0 part
├─sdb2 8:18 0 48,8G 0 part
├─sdb3 8:19 0 49,6G 0 part
│ ├─nav-Routes (dm-0) 252:0 0 30G 0 lvm /media/cep/Routes
│ └─nav-Gribs (dm-1) 252:1 0 34,6G 0 lvm /media/cep/Gribs
├─sdb4 8:20 0 50,4G 0 part
│ └─nav-Routes (dm-0) 252:0 0 30G 0 lvm /media/cep/Routes
└─sdb5 8:21 0 37,5G 0 part
cep
p.s. Pour plus de détails sur lvm voir l'article wikipédia
Pour l'équivalent en lignes de commandes voir le wiki Ubuntu
Pour d'autres renseignements sur system-config-lvm voir le site de Redhat
Original post of Cyrille BORNE.Votez pour ce billet sur Planet Libre.
Articles similaires
- Yannig : Utilisation de Puppet sous AIX pour la gestion des logicals volumes (22/07/2013)
- Yannig : Comparaison de la gestion des FS avec Puppet et Ansible (09/10/2014)