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
Dernière révision Les deux révisions suivantes
lvm [Le 11/01/2019, 17:26]
46.165.230.5 [Interface graphique pour LVM] MAJ 18.04
lvm [Le 21/09/2021, 15:31]
geole [Volume logique]
Ligne 17: Ligne 17:
   * 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 30: Ligne 31:
  
 [[gestionnaire_de_paquets|Installez]] le paquet [[apt://​lvm2|lvm2]]. [[gestionnaire_de_paquets|Installez]] le paquet [[apt://​lvm2|lvm2]].
-Ok j'​avoue,​ c'​était la partie la plus facile. Maintenant, avant d'​utiliser ​réellement ​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 38:
  
 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 50:
 </​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 76:
 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 90:
 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 223:
  
 ==== 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 234:
  
   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 254:
 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 268:
 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 280:
  
 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 295:
   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 301:
  
 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 321:
 **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 429:
   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 428: Ligne 457:
 Bien qu'il soit possible de partitionner le raid ''/​dev/​md0''​ comme n'​importe quel disque ordinaire (ce qui permet d'​obtenir des devices de la forme /dev/md0p1, /dev/md0p2 etc), je vous le déconseille vivement. En effet le but est bien d'​utiliser LVM pour découper l'​espace,​ et plus l'​ancienne notion de partition physique. De plus, l'​utilisation de ces partitions nécessiterait des changements dans la configuration de LVM (filter dans /​etc/​lvm/​lvm.conf). Bref, C'est se donner du mal pour pas grand chose. Bien qu'il soit possible de partitionner le raid ''/​dev/​md0''​ comme n'​importe quel disque ordinaire (ce qui permet d'​obtenir des devices de la forme /dev/md0p1, /dev/md0p2 etc), je vous le déconseille vivement. En effet le but est bien d'​utiliser LVM pour découper l'​espace,​ et plus l'​ancienne notion de partition physique. De plus, l'​utilisation de ces partitions nécessiterait des changements dans la configuration de LVM (filter dans /​etc/​lvm/​lvm.conf). Bref, C'est se donner du mal pour pas grand chose.
  
-Donc comme le montre la commande plus haut, le mieux est de donner l'​intégralité du RAID. Un exemple de création de RAID est donné sur la [[:​raid_logiciel|page ​ad hoc]].+Donc comme le montre la commande plus haut, le mieux est de donner l'​intégralité du RAID. Un exemple de création de RAID est donné sur la [[:​raid_logiciel|page ​raid logiciel]].
  
 Vous pouvez aussi aller voir le tutoriel [[tutoriel:​installation_raid_lvm]] Vous pouvez aussi aller voir le tutoriel [[tutoriel:​installation_raid_lvm]]
Ligne 450: Ligne 479:
 ==== Interface graphique pour LVM === ==== Interface graphique pour LVM ===
  
-Il existe une interface graphique pour LVM, qui permet de manipuler les volumes logiques : system-config-lvm. (disponible dans les dépôts de la 11.04).  ​Cet intereface ​n'est pas disponible avec la version[[https://​launchpad.net/​ubuntu/​+source/​system-config-lvm| 18.04]]+Il existe une interface graphique pour LVM, qui permet de manipuler les volumes logiques : system-config-lvm. (disponible dans les dépôts de la 11.04).  ​Cette interface ​n'est pas disponible avec la version[[https://​launchpad.net/​ubuntu/​+source/​system-config-lvm| 18.04]]
  
 Attention néanmoins, celle-ci applique DIRECTEMENT les changements,​ vérifiez donc bien ce que vous faites, ainsi que le disque sur lequel vous appliquez vos modifications,​ sans quoi vous risquez de perdre irrémédiablement vos données. Attention néanmoins, celle-ci applique DIRECTEMENT les changements,​ vérifiez donc bien ce que vous faites, ainsi que le disque sur lequel vous appliquez vos modifications,​ sans quoi vous risquez de perdre irrémédiablement vos données.
Ligne 505: Ligne 534:
   * [[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.txt
  • Dernière modification: Le 21/09/2021, 16:02
  • par 86.215.34.61