Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
lvm [Le 07/10/2019, 19:19]
L'Africain ancienne révision (Le 03/04/2019, 09:45) restaurée
lvm [Le 21/09/2021, 16:02] (Version actuelle)
86.215.34.61 [Introduction] system-config-lvm n'est plus dans les dépôts.
Ligne 8: Ligne 8:
  
 **LVM** (Logical Volume Manager, ou //​gestionnaire de volumes logiques// en français) permet la création et la gestion de volumes logiques sous Linux. L'​utilisation de volumes logiques remplace en quelque sorte le partitionnement des disques. C'est un système beaucoup plus souple, qui permet par exemple de diminuer la taille d'un système de fichier pour pouvoir en agrandir un autre, sans se préoccuper de leur emplacement sur le disque.\\ **LVM** (Logical Volume Manager, ou //​gestionnaire de volumes logiques// en français) permet la création et la gestion de volumes logiques sous Linux. L'​utilisation de volumes logiques remplace en quelque sorte le partitionnement des disques. C'est un système beaucoup plus souple, qui permet par exemple de diminuer la taille d'un système de fichier pour pouvoir en agrandir un autre, sans se préoccuper de leur emplacement sur le disque.\\
-Depuis Intrepid, il existe le paquet [[apt://​system-config-lvm|system-config-lvm]] dans les dépôts Universe, qui propose une interface graphique. 
  
  
Ligne 17: Ligne 16:
   * On peut conserver quelques giga-octets de libres pour pouvoir les ajouter n'​importe où et n'​importe quand.   * On peut conserver quelques giga-octets de libres pour pouvoir les ajouter n'​importe où et n'​importe quand.
   * Les opérations de redimensionnement deviennent quasiment sans risques, contrairement au redimensionnement des partitions.   * Les opérations de redimensionnement deviennent quasiment sans risques, contrairement au redimensionnement des partitions.
 +  * On peut créer des snapshots de volume sans perturber le fonctionnement de la machine et sans interruption de services.
  
 ==== Inconvénients de LVM ==== ==== Inconvénients de LVM ====
Ligne 31: Ligne 31:
 [[gestionnaire_de_paquets|Installez]] le paquet [[apt://​lvm2|lvm2]]. [[gestionnaire_de_paquets|Installez]] le paquet [[apt://​lvm2|lvm2]].
 Avant d'​utiliser LVM, il faut comprendre un peu de vocabulaire. Ne vous inquiétez pas si tout n'est pas encore très clair, ça viendra au fur et à mesure, en passant à la pratique. Avant d'​utiliser LVM, il faut comprendre un peu de vocabulaire. Ne vous inquiétez pas si tout n'est pas encore très clair, ça viendra au fur et à mesure, en passant à la pratique.
 +
 ===== Notions et vocabulaire ===== ===== Notions et vocabulaire =====
  
Ligne 36: Ligne 37:
  
 Un volume physique ou « PV » pour « //physical volume// » est tout simplement un disque ou une partition. Bref, c'est un espace de stockage bien réel (autrement dit un périphérique de la forme ''/​dev/​sda2''​ par exemple), que l'on va confier à LVM. Bien évidemment,​ tout ce qui était présent sur la partition sera effacé. Un volume physique ou « PV » pour « //physical volume// » est tout simplement un disque ou une partition. Bref, c'est un espace de stockage bien réel (autrement dit un périphérique de la forme ''/​dev/​sda2''​ par exemple), que l'on va confier à LVM. Bien évidemment,​ tout ce qui était présent sur la partition sera effacé.
-<note important>​avant de pouvoir définir le volume physique, il est nécessaire qu'une partition existe. Pour cela vous pouvez avoir recours à [[gparted|gparted]] sur un PC desktop.et à [[http://​www.gnu.org/​software/​parted/​manual/​parted.html|parted]] sur serveur</​note>​+<note important>​avant de pouvoir définir le volume physique, il est nécessaire qu'une partition existe. Pour cela vous pouvez avoir recours à [[gparted|gparted]] sur un PC desktop et à [[http://​www.gnu.org/​software/​parted/​manual/​parted.html|parted]] sur serveur</​note>​
  
 ==== Groupe de volumes ===== ==== Groupe de volumes =====
Ligne 48: Ligne 49:
 </​note>​ </​note>​
  
-On peut y mettre ​peu près tout … mais il vaut mieux éviter d'y mettre "/​boot"​. Techniquement,​ ça doit fonctionner à peu près correctement depuis Grub 2, mais cela est encore sensible suivant la configuration (et perdre la capacité de démarrer est … gênant), pour le moment il est vivement conseillé d'​avoir au moins une partition de l'​ancien temps avec "/​boot"​ (ou "/"​ si le dossier "/​boot"​ n'est pas séparé) pour éviter les ennuis.+On peut y mettre ​à peu près tout … mais il vaut mieux éviter d'y mettre "/​boot"​. Techniquement,​ ça doit fonctionner à peu près correctement depuis Grub 2, mais cela est encore sensible suivant la configuration (et perdre la capacité de démarrer est … gênant), pour le moment il est vivement conseillé d'​avoir au moins une partition de l'​ancien temps avec "/​boot"​ (ou "/"​ si le dossier "/​boot"​ n'est pas séparé) pour éviter les ennuis.
 ==== Synthèse graphique ==== ==== Synthèse graphique ====
  
Ligne 74: Ligne 75:
 Essayez la commande suivante pour connaître la liste des commandes disponibles pour les volumes physiques : Essayez la commande suivante pour connaître la liste des commandes disponibles pour les volumes physiques :
  
-  man -k ^pv+  man -k pv
   ​   ​
 Parmi toutes les commandes renvoyées, on remarque une « pvcreate », ça doit être celle-là… ;-) Cette astuce fonctionne avec toutes les commandes LVM et permet de les retrouver facilement. Parmi toutes les commandes renvoyées, on remarque une « pvcreate », ça doit être celle-là… ;-) Cette astuce fonctionne avec toutes les commandes LVM et permet de les retrouver facilement.
Ligne 88: Ligne 89:
 pvscan (8)           - scan all disks for physical volumes pvscan (8)           - scan all disks for physical volumes
 </​code>​ </​code>​
 +
 +Il faudra donc créer (plutôt initier) notre volume physique par la commande :
 +<​code>​
 +pvcreate /dev/sdc1
 +</​code>​
 +
 +Cela nous permettra de l'​utiliser dans notre groupe de volume
 +
 +//Noter que la création d'un volume physique avec un disque complet comme ''/​dev/​sdc''​ n'est pas recommandé : [[https://​tldp.org/​HOWTO/​LVM-HOWTO/​initdisks.html]]//​
 ==== Groupe de volumes ==== ==== Groupe de volumes ====
  
Ligne 212: Ligne 222:
  
 ==== Volume physique ==== ==== Volume physique ====
 +=== Agrandissement ===
  
 Imaginons maintenant que notre groupe de volume (mvg) n'ait plus suffisamment d'​espace libre. On souhaite donc lui rajouter un volume physique afin de rajouter de l'​espace libre. Ça tombe bien, on dispose d'un volume physique sdc2 que l'on va pouvoir ajouter à mvg : Imaginons maintenant que notre groupe de volume (mvg) n'ait plus suffisamment d'​espace libre. On souhaite donc lui rajouter un volume physique afin de rajouter de l'​espace libre. Ça tombe bien, on dispose d'un volume physique sdc2 que l'on va pouvoir ajouter à mvg :
Ligne 222: Ligne 233:
  
   vgextend mvg /dev/sdc2   vgextend mvg /dev/sdc2
 +  ​
 +=== Rétrécissement ===
 +Imaginons maintenant que la partition Boot soit devenue trop petite et que tout le reste du disque qui contient cette partition soit défini comme une partition ​ utilisée en LVM (/dev/sda2 dans l'​exemple). Il sera alors nécessaire de diminuer l'​espace ​ physique de ce groupe de volume (mvg).
  
  
 +En premier, il est nécessaire de rétrécir le ou les LVM qui sont définis dans ce volume-groupe. Voir ci-après.
  
 +Puis il faut rétrécir l'​enveloppe physique. Normalement c'est sans risque: Les commandes sont refusées si la demande est trop agressive.
 +
 +Commençons par vérifier l'​implantation physique des données dans la partition. Le but est de vérifier que la fin de la partition n'est pas utilisée. <code bash>​sudo pvs -v --segments /​dev/​sda2</​code>​ La dernière ligne de la réponse indique si la fin de la partition est libre  ou non.
 +Si la fin de la partition n'a pas suffisamment d'​espace libre, il est possible de procéder a une réorganisation physique.<​code bash>​sudo pvmove --alloc anywhere /​dev/​sda2:​88888888-9999999999 /​dev/​sda2:​0-88888887</​code>​ (les valeurs 88888887 et 88888888 sont à adapter en fonction de la réponse précédente notamment la quantité d'​espace libre en début de partition. ​
 +Lancer alors l'​[[gparted|éditeur de partitions]] . Indiquer alors la nouvelle taille de la partition. Le minima possible est exprimé en MiO et obtenu par la formule 88888888*4
  
  
Ligne 233: Ligne 253:
 Il est très facile d'​augmenter ou de diminuer la taille d'un volume logique. Mais attention, la taille d'un LV n'a pas de lien direct avec la taille de ce qu'il contient (//swap// ou système de fichier). Le LV est une boîte, le système de fichier est le contenu de la boîte. Augmenter la taille de la boîte sans augmenter la taille du contenu ne pose pas de problème, mais l'​inverse… Il est très facile d'​augmenter ou de diminuer la taille d'un volume logique. Mais attention, la taille d'un LV n'a pas de lien direct avec la taille de ce qu'il contient (//swap// ou système de fichier). Le LV est une boîte, le système de fichier est le contenu de la boîte. Augmenter la taille de la boîte sans augmenter la taille du contenu ne pose pas de problème, mais l'​inverse…
  
- +=== Agrandissement ===
- +
- +
- +
- +
- +
-==== Agrandissement ​====+
  
 Bien qu'il soit évidemment moins risqué d'​agrandir ou de diminuer la taille d'un système de fichiers après l'​avoir démonté, la plupart des formats (ext3, reisersfs, ext4...) supportent désormais cette modification "à chaud" (avec des données qui restent donc accessibles en lecture/​écriture durant toute l'​opération). Bien qu'il soit évidemment moins risqué d'​agrandir ou de diminuer la taille d'un système de fichiers après l'​avoir démonté, la plupart des formats (ext3, reisersfs, ext4...) supportent désormais cette modification "à chaud" (avec des données qui restent donc accessibles en lecture/​écriture durant toute l'​opération).
Ligne 253: Ligne 267:
 Une fois l'​opération terminée, le volume une fois monté a gagné 5Gio. Une fois l'​opération terminée, le volume une fois monté a gagné 5Gio.
  
-==== Rétrécissement ​====+Il est également possible d'​augmenter la taille du volume logique à l'​ensemble de l'​espace libre disponible sur le support en utilisant **lvextend -l +100%FREE**. 
 +<​code>​ 
 +usr@pc:~$ lvextend -l +100%FREE /​dev/​mvg/​Vol2 
 +</​code>​ 
 + 
 +=== Rétrécissement ===
  
 Diminuer la taille d'un système de fichier est un peu plus délicat. En effet, il faut dans un premier temps s'​assurer de pouvoir réduire d'​autant qu'on le souhaite. Diminuer la taille d'un système de fichier est un peu plus délicat. En effet, il faut dans un premier temps s'​assurer de pouvoir réduire d'​autant qu'on le souhaite.
Ligne 260: Ligne 279:
  
 Voyons d'​abord l'​espace du système de fichier : Voyons d'​abord l'​espace du système de fichier :
-  df -h | grep ca+  df -h -BM | grep ca
   /​dev/​mapper/​svg-ca ​   512M  230M  283M  45% /home/ca   /​dev/​mapper/​svg-ca ​   512M  230M  283M  45% /home/ca
  
-Les valeurs qui nous intéresses ​sont la deuxième et la quatrième, à savoir :+Les valeurs qui nous intéressent ​sont la deuxième et la quatrième, à savoir :
   * 512Mio d'​espace total   * 512Mio d'​espace total
   * 283Mio d'​espace libre   * 283Mio d'​espace libre
Ligne 275: Ligne 294:
   lvresize --resizefs --size -256M /​dev/​mapper/​svg-ca   lvresize --resizefs --size -256M /​dev/​mapper/​svg-ca
  
-<note tip>Si la partition n'est pas démonté, la commande propose de la démonter et s'​occupera de la remonter une fois le redimensionnement terminé.</​note>​+<note tip>Si la partition n'est pas démontée, la commande propose de la démonter et s'​occupera de la remonter une fois le redimensionnement terminé.</​note>​
  
 Le volume peut maintenant être monté : Le volume peut maintenant être monté :
Ligne 281: Ligne 300:
  
 Et on peut alors afficher sa nouvelle taille : Et on peut alors afficher sa nouvelle taille :
-  df -h | grep ca+  df -h -BM| grep ca
   /​dev/​mapper/​svg-ca ​   256M  230M   ​27M ​ 90% /home/ca   /​dev/​mapper/​svg-ca ​   256M  230M   ​27M ​ 90% /home/ca
 +  ​
 +<note warning>​Attention:​ Il est possible que le rétrécissement soit refusé suite à une dé-organisation qui se fait  pendant la vie du LVM car la demande est trop importante. Dans cas, voici la démarche à effectuer:
 +  -    Démonter le volume <code bash> sudo umount /​dev/​mapper/​svg-ca </​code>​
 +  -    Contrôler la qualité du volume <code bash> sudo e2fsck -f /​dev/​mapper/​svg-ca </​code>​
 +  -    Demander l'​espace réel minima nécessaire <code bash> sudo resize2fs -PM /​dev/​mapper/​svg-ca </​code>​
 +  -    Rétrécir à la taille minima indiquée. Mettre la valeur retournée par la commande précédente (ou une valeur plus importante) à la place de la valeur 123456789 de cette commande <code bash> sudo lvresize --resizefs --size $((123456789/​256+1))M ​ /​dev/​mapper/​svg-ca </​code>​
 +  - Remonter le volume ​ <code bash>​mount /​dev/​mapper/​svg-ca /​home/​ca</​code>​
 +   </​note>​
 ===== Snapshot ===== ===== Snapshot =====
 __Comprendre la magie du Snapshot LVM :__  __Comprendre la magie du Snapshot LVM :__ 
Ligne 293: Ligne 320:
 **Avec LVM 2**, les instantanés sont par défaut en lecture/​écriture. Le fonctionnement est similaire aux instantanés en lecture seule avec la possibilité supplémentaire d'​écrire sur l'​instantané : le bloc est alors marqué comme utilisé dans la table d'​exceptions et ne sera plus récupéré du volume source. Cela ouvre de nouvelles perspectives par rapport au fonctionnement en lecture seule de LVM 1. Par exemple, on peut faire l'​instantané d'un volume, le monter et tester un programme expérimental qui modifie les fichiers dessus. Si le résultat n'est pas satisfaisant,​ on peut le démonter, le supprimer et remonter le système de fichiers originel à la place. C'est aussi utile pour créer des volumes utilisés avec Xen. Vous pouvez créer une image disque et en faire un instantané que vous pourrez modifier avec une instance spécifique de domU. Vous pourrez ensuite créer un autre instantané de l'​image originale et le modifier avec une autre instance de domU. Comme les instantanés ne stockent que les blocs modifiés, la majeure partie du volume sera partagée entre les domUs. **Avec LVM 2**, les instantanés sont par défaut en lecture/​écriture. Le fonctionnement est similaire aux instantanés en lecture seule avec la possibilité supplémentaire d'​écrire sur l'​instantané : le bloc est alors marqué comme utilisé dans la table d'​exceptions et ne sera plus récupéré du volume source. Cela ouvre de nouvelles perspectives par rapport au fonctionnement en lecture seule de LVM 1. Par exemple, on peut faire l'​instantané d'un volume, le monter et tester un programme expérimental qui modifie les fichiers dessus. Si le résultat n'est pas satisfaisant,​ on peut le démonter, le supprimer et remonter le système de fichiers originel à la place. C'est aussi utile pour créer des volumes utilisés avec Xen. Vous pouvez créer une image disque et en faire un instantané que vous pourrez modifier avec une instance spécifique de domU. Vous pourrez ensuite créer un autre instantané de l'​image originale et le modifier avec une autre instance de domU. Comme les instantanés ne stockent que les blocs modifiés, la majeure partie du volume sera partagée entre les domUs.
  
 +Voir [[http://​doc.ubuntu-fr.org/​tutoriel/​sauvegarder_a_chaud|ici]] Pour sauvegarder son système à chaud avec LVM
 ==== Création d'un snapshot LVM ==== ==== Création d'un snapshot LVM ====
 <​code>​lvcreate -L 10g -s -n lv_test_20110617 /​dev/​vg_data/​lv_test</​code>​ <​code>​lvcreate -L 10g -s -n lv_test_20110617 /​dev/​vg_data/​lv_test</​code>​
Ligne 400: Ligne 428:
   sudo grub-install /dev/sdb   sudo grub-install /dev/sdb
  
-Eteignez ​votre ordinateur, enlevez l'​ancien disque et remplacez-le par le nouveau, au niveau des branchements.+Éteignez ​votre ordinateur, enlevez l'​ancien disque et remplacez-le par le nouveau, au niveau des branchements.
  
  
Ligne 505: Ligne 533:
   * [[http://​www.korben.info/​comment-chiffrer-une-partition-systeme-linux-ici-ubuntu.html#​comment-164907|Comment chiffrer une partition système Linux]]   * [[http://​www.korben.info/​comment-chiffrer-une-partition-systeme-linux-ici-ubuntu.html#​comment-164907|Comment chiffrer une partition système Linux]]
   * [[http://​www.it-connect.fr/​gestion-des-lvm-sous-linux/​|Gestion des LVM sous Linux]] sur IT-Connect.fr   * [[http://​www.it-connect.fr/​gestion-des-lvm-sous-linux/​|Gestion des LVM sous Linux]] sur IT-Connect.fr
 +  * [[https://​doc.ubuntu-fr.org/​lvm_tutorial_install|Mise en place LVM tout simplement]] ​
  
 ---- ----
 //​Contributeurs : Koshie-2.0, [[utilisateurs:​claudiux]] (remplacement disque défectueux),​ Alexandre LG ; merci à [[utilisateurs:​Ner0lph]] et à tous les autres correcteurs :)// //​Contributeurs : Koshie-2.0, [[utilisateurs:​claudiux]] (remplacement disque défectueux),​ Alexandre LG ; merci à [[utilisateurs:​Ner0lph]] et à tous les autres correcteurs :)//
  • lvm.1570468789.txt.gz
  • Dernière modification: Le 07/10/2019, 19:19
  • par L'Africain