LVM : gestion de l’espace disque
- Qu’est ce que LVM
LVM est un gestionnaire de Volume Logique ; son fonctionnement pourrait être assimilé à une recette de gâteau : vous mélangez tous les ingrédients (disque dur) ensemble, et une fois cuisiné vous faites des parts (Volume Logique) de la taille que vous voulez et vous les servez aux invités (applications) comme vous le souhaitez. Par la suite, si certains de vos invités n’ont pas eu assez de gâteau, que d’autres en ont trop ou bien qu’il vous en reste encore dans le plat vous pourrez répartir à votre convenance.
C’est une manière un peu simpliste, mais le principe est là.
Pour aller un peu plus au fond des choses, regardez le schéma ci-dessous :
Image issue du site http://doc.ubuntu-fr.org/lvm
Donc, lors de l’installation du système si vous avez suivi mon conseil pour la taille de la partition root, vous devriez pouvoir rapidement dimensionner les Volume Logique dont vous avez besoin, sinon il vous faudra vous munir d’un Live CD pour la redimensionner.
Pour vous expliquer mon raisonnement, je vais vous exposer un exemple de configuration de disque dur :
- HDD1 : 120 Go
- HDD2 : 80 Go
Groupe de Volume 1 : 200 Go (120 + 80)
- Volume Logique root (/) : 10 Go
- Volume Logique home (/home) : 1Go (amplement suffisant, ce n’est qu’un serveur)
- Volume Logique FTP ( /home/ftp) : 174 Go
- Volume Logique VM (/home/VMWare) : 15Go
Ces différents Volume Logique sont crées en prévision des différentes applications que l’on désire installer et limiter en taille.
Du fait du fonctionnement du système de montage de partition sur Linux, que les répertoires utilisés pour les applications soient de vrais répertoires ou des points de montage, cela est transparent au niveau du système de fichiers ; grâce à LVM, si j’estime que la taille du Volume Logique alloué aux machines virtuelles est trop faible, il me faudra juste récupérer un peu d’espace sur la partie FTP et la redistribué sur le Volume Logique VMWare, sans avoir à copier ni réinstaller le système.
- Création/Extension d’un Groupe de Volume
- Création d’un Groupe de Volume
La première étape à réaliser pour l’utilisation de LVM est de créer un Groupe de Volume :
vgcreate VolumeGroupeName VolumePhysique
ex :
vgcreate MyVG /dev/sda /dev/sdb2
Note : Il est possible de définir plusieurs disques et/ou partition dés la création du Groupe de Volume.
- Extension d’un Groupe de Volume
Si vous manquez de place, vous pouvez étendre le Groupe de Volume en ajoutant un autre disque dur ou en incluant des partitions encore non attribués. Il faudra toutefois initialiser le périphérique avant de l’utiliser :
pvcreate /dev/sdc
Puis vous pourrez l’incorporez dans le Groupe de Volume :
vgextend MyVG /dev/sdc
Une fois exécuté, vous pouvez vérifier le résultat avec la commande vgdisplay
- Les Volumes Logique
Maintenant que vous avez un Groupe de Volume adapté à votre besoin, il va falloir s’en servir pour créer des Volume Logique qui, eux, pourront contenir vos données.
- Création d’un Volume Logique
Pour chaque Volume logique que vous souhaiterez créer, il faudra indiquer trois paramètres indispensables :
- Son nom (-n)
- Sa taille (-L)
- Le Groupe de Volume auquel il est rattaché
Par exemple, pour créer un Volume Logique « FTP » d’une taille de 100 Go dans le Groupe de Volume MyVG, il faudra saisir :
lvcreate –n FTP –L 100g MyVG
Une fois ce Volume Logique créé, vous pourrez y accéder facilement dans le répertoire système /dev/MyVG/FTP
Il ne vous restera plus qu’a le formater, de préférence en ext4, pour pouvoir le monter et l’utiliser :
mkfs.ext4 /dev/MyVG/FTP
Et créer son point de montage :
mkdir /home/FTP
A ce stade, votre Volume Logique est prêt à être monté sur votre système.
Pour être sur qu’il sera monté à chaque démarrage, éditer le fichier /etc/fstab
et insérer la ligne correspondante à votre Volume Logique ; dans notre exemple, cela donnerait :
Ajout de la ligne la ligne :
- Editez
/etc/fstab
:
nano /etc/fstab
- Ajoutez la ligne suivante :
/dev/MyVG/FTP /home /FTP ext4 errors=remount-ro 0 1
- Enregistrer les modifications
- Executer la commande :
mount –a
Votre Volume Logique est monté, il ne vous reste plus qu’à l’exploiter.
- Redimensionnement d’un Volume Logique
Quelles que soit le Volume Logique que vous désirez redimensionner, le principe reste le même :
- Démontage du Volume Logique,
- Vérifier le système de fichier
- Redimensionner le Volume Logique et le système de fichiers (ATTENTION l’ordre diffère si vous agrandissez ou si vous diminuer la taille)
- Remonter le Volume Logique
- Particularités du Volume Logique root
Le Volume Logique où est située la racine du système de fichiers ne peut être démonté.
Donc, si vous voulez redimensionner ce système de fichiers, il vous faudra procéder de la manière suivante :
- Télécharger l’image ISO d’un Live CD, de préférence basé sur une distribution Debian
- Graver l’image et booter dessus,
- Une fois le système démarré, ouvrez une console root,
- Installer le paquet lvm2 :
apt-get install lvm2
- A partir de ce point, la procédure redevient standard
- Une fois redimensionné, vous pouvez redémarrer votre serveur
- Réduction de taille d’un Volume Logique
La réduction de taille est l’opération la plus sensible car si vous redimensionner votre Volume Logique à une taille inférieure aux données contenu sur votre système de fichiers, il sera irrémédiablement perdu.
Pour éviter tout risque d’erreur, il est préférable de s’assurer de la quantité de données contenu dans le système de fichiers avant d’opérer le rétrécissement.
- Vérifier la taille des données :
df –h
- Vous devriez obtenir une réponse dans ce genre :
Sys. de fich. Tail. Occ. Disp. %Occ. Monté sur /dev/MyVG/root 9,9G 1,9G 7,5G 20% / none 750M 284K 749M 1% /dev none 754M 0 754M 0% /dev/shm none 754M 344K 754M 1% /var/run none 754M 0 754M 0% /var/lock none 754M 0 754M 0% /lib/init/rw none 9,9G 1,9G 7,5G 20% /var/lib/ureadahead/debugfs /dev/sda1 228M 31M 185M 15% /boot /dev/MyVG/Home 1008M 69M 888M 8% /home /dev/MyVG/FTP 143G 147M 136G 1% /home/ftp /dev/MyVG/VMWare 15G 141M 14G 1% /home/VMWare
- Supposons que vous vouliez réduire le Volume Logique FTP de 10 Go, pour obtenir 133Go
- Démonter le Volume Logique :
umount /home/ftp
- Vérifiez le Volume Logique :
e2fsck -f /dev/MyVG/FTP
- Redimensionne le système de fichier, il faudra indiquer la taille obtenu, mais en la diminuant légèrement par rapport à la taille finale du Volume Logique que vous souhaiter augmenter :
resize2fs -p /dev/MyVG/FTP 132G
- Il faut maintenant réduire la taille du Volume Logique, mais attention la taille que l’on indique correspond à la taille que l’on retire, et non pas celle désiré
lvresize -L -10G /dev/MyVG/FTP
- On va maintenant indiquer au système de fichier qu’il peut s’étendre comme il le veut sur la place restante par la commande suivante
resize2fs /dev/svg/ca
- En procédant de cette manière, vous ne courez aucun risque de détruire vos données, il ne reste plus qu’a remonter votre système de fichiers :
mount -a
- Partage de fichier entre Samba, Docker et SELinux – 29/11/2017
- Mise à jour vers Windows 10 : Pas assez de mémoire vive… – 24/08/2015
- Améliorer les performances RAID – 15/05/2015