PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

Cyrille BORNE : Gestion par volumes logiques : LVM pour tous

vendredi 12 décembre 2014 à 18:00

Ce 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

lvm1

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

lvm3

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.

lvm4

Je vais créer maintenant un autre volume, le volume gribs occupant le reste de la partition /dev/sdb3

lvm5

lvm6

lvm7

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 :

lvm8

lvm9

lvm10

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.

lvm12

lvm13

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.

lvm14

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

 

Gravatar de Cyrille BORNE
Original post of Cyrille BORNE.Votez pour ce billet sur Planet Libre.