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 30/06/2019, 20:10]
88.182.40.86 [Chapitre spécial pour ceux qui ont décidé d'installer UBUNTU sur la totalité de leur disque en le chiffrant]
lvm [Le 22/08/2023, 15:31] (Version actuelle)
193.247.130.253 [Système de fichiers]
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. 
- 
  
 +Il permet notamment de redimensionner les partitions de disques sans reformatage.
 +Il permet également de rajouter des disques à la volée.\\
 ==== Avantages de LVM ==== ==== Avantages de LVM ====
  
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 29: Ligne 30:
 ===== Installation ===== ===== Installation =====
  
-[[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 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 192: Ligne 203:
 > Pourquoi est-il écrit ''/​dev/​mapper/​mvg-Vol1''​ et non ''/​dev/​mvg/​Vol1''​ ? > Pourquoi est-il écrit ''/​dev/​mapper/​mvg-Vol1''​ et non ''/​dev/​mvg/​Vol1''​ ?
  
-Avec LVM en version 1, c'est bien ''/​dev/​mvg/​Vol1''​ qui aurait été affiché. Depuis la version 2, LVM utilise le périphérique //mapper//, ce qui permet pas mal de choses (comme chiffrer les volumes logiques, etc.). Pour simplifier, disons que ces deux notations « /​dev/​mvg/​Vol1 » et « /dev/mapper/mvg-Vol1 » sont synonymes. Dans la pratique, il est conseillé quand même d'​utiliser plutôt la forme « /​dev/​mvg/​Vol1 », certaines commandes ne passeront pas autrement.+Avec LVM en version 1, c'est bien ''/​dev/​mvg/​Vol1''​ qui aurait été affiché. Depuis la version 2, LVM utilise le périphérique //mapper//, ce qui permet pas mal de choses (comme chiffrer les volumes logiques, etc.). Pour simplifier, disons que ces deux notations « /​dev/​mvg/​Vol1 » et « /dev/mappfer/mvg-Vol1 » sont synonymes. Dans la pratique, il est conseillé quand même d'​utiliser plutôt la forme « /​dev/​mvg/​Vol1 », certaines commandes ne passeront pas autrement.
  
  
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 LV 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 249: Ligne 264:
   lvresize --resizefs --size +5G /​dev/​mvg/​Vol2   lvresize --resizefs --size +5G /​dev/​mvg/​Vol2
   ​   ​
-<note important>​Le paramètre ''​--resizefs''​ ne fonctionne pas avec tous les systèmes de fichiers (voir [[http://​linux.die.net/​man/​8/​fsadm|ici]]).</​note>​+<note important>​Le paramètre ''​​%%--%%resizefs''​ ne fonctionne pas avec tous les systèmes de fichiers (voir [[https://​linux.die.net/​man/​8/​fsadm|ici]]).</​note>​
  
 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.
  
-<note important>​Tous les systèmes de fichiers ne supportent pas d'​être redimensionnés (voir [[http://​linux.die.net/​man/​8/​fsadm|ici]])</​note>​+<note important>​Tous les systèmes de fichiers ne supportent pas d'​être redimensionnés (voir [[https://​linux.die.net/​man/​8/​fsadm|ici]])</​note>​
  
 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
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
-===== Chapitre spécial pour ceux qui ont décidé d'​installer UBUNTU sur la totalité de leur disque en le chiffrant ​ ===== 
- Le premier utilisateur devra savoir que la procédure en mode réel n'a pas encore été exécutée dans le forum UBUNTU. ​ Le principe retenu est de diminuer la  taille du répertoire ROOT tel que décrit au-dessus, de laisser le répertoire swap en état  et d'​utiliser gparted pour faire le rétrécissement physique afin de libérer un espace ​ disque ​ destiné à devenir une nouvelle partition ou être ajouté à la partition de boot existante. 
-Tout ce traitement se fera quasiment en ligne de commande et surtout __à partir du support d'​installation__ car certaines séquences obligent à démonter la partition. 
- 
-==== Découvrir ce que contient la partition physique ==== 
-La partition ​ est assez facile ​ à trouver en utilisant **GPARTED** ou **Disques**. ​ C'est la seule qui est formatée en EXT4. Les autres sont au format EXT2 ou FAT32. ​   Il est aussi possible d'​utiliser la commande <​code>​sudo pvdisplay </​code> ​ qui indiquera aussi  la valeur de l'​unité d'​allocation de l'​espace logique. Il y a toutes les chances qu'​elle soit de **4 Mo**. 
-Dans ce chapitre, il est nommé sda35 car c'est une fabrication et pas le vrai volume. 
- 
-Le nom du conteneur sera trouvé avec la commande <​code>​sudo vgdisplay | grep Name</​code>​ Cela sera certainement **ubuntu-vg**. 
- 
-La liste des volumes logiques contenus dans la partition est disponible ​ avec l'​application **Disques**. Ils sont appelés **Périphériques bloc.** Cette liste peut aussi être obtenue avec la commande suivante ​  <​code>​sudo lvdisplay | grep "LV Name"</​code>​ 
-On y trouvera certainement la partition **root** ainsi que la partition **swap**. 
- 
-Pour libérer de l'​espace dans la partition physique, il faut d'​abord qu'il y ait de l'​espace libre dans les partitions logiques. S'il n'y en a pas suffisamment,​ cela doit se faire en amont avec l'​instance UBUNTU opérationnelle. ​ Normalement l'​espace à libérer se trouve dans la structure root. 
-==== Libération de l'​espace dans la partition logique. ==== 
-Cette opération peut inquiéter mais elle est sans risque car le logiciel contrôle que la valeur ne dépasse pas le maxima de l'​espace alloué pour la partition et n'est jamais inférieure au minima nécessaire déjà utilisé par le stockage des données. 
- 
-Elle peut être lancée plusieurs fois  avec un paramétrage pouvant dire en valeur absolue ou en valeur relative. 
- 
-Il est possible de faire un agrandissement avec une partition utilisée. Il faut obligatoirement que la partition soit démontée pour une diminution de taille. Cela nécessite d'​opérer à partir d'un support d'​installation. ​ 
- 
-Il est nécessaire de commencer par un contrôle de la qualité de la partition <​code>​ sudo e2fsck ​ -f /​dev/​ubuntu-vg/​root </​code>​ 
- 
-Puis on demande de rétrécir avec cette commande 
-   sudo resize2fs -p    /​dev/​ubuntu-vg/​root ​ 1g 
-              resize2fs 1.44.1 (24-Mar-2018) 
-              resize2fs: La nouvelle taille est plus petite que le minimum (1234929) ​             ​ 
-Il reste alors à faire le calcul 1234929*4/​1024 et proposer la nouvelle commande 
-   sudo resize2fs -p    /​dev/​ubuntu-vg/​root 4824g 
-              resize2fs 1.44.1 (24-Mar-2018) 
-              La partition (ou le périphérique) contenante n'a que 1234944 (4k) blocs. 
-              Vous avez demandé une nouvelle taille de 1264582656 blocs. 
-Sans se tromper d'​unités. On voit  alors le recadrage s'​exécuter et les X s'​ajouter au fur et à mesure 
- 
-        sudo resize2fs -p    /​dev/​ubuntu-vg/​root ​ 4824m 
-              resize2fs 1.44.1 (24-Mar-2018) 
-              En train de redimensionner le système de fichiers sur /​dev/​ubuntu-vg/​root à 1234944 (4k) blocs. 
-              Début de la passe 2 (max = 336431) 
-              Relocalisation de blocs       ​XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 
-              Début de la passe 3 (max = 48) 
-              Examen de la table d'​i-noeuds XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 
-              Le système de fichiers sur /​dev/​ubuntu-vg/​root a maintenant une taille de 1234944 blocs (4k). 
-Dans cet exemple, le système de fichier a été rétréci au maxima. ​ En pratique, il faut beaucoup moins rétrécir. Lorsque ce rétrécissement est fait, il ne faut surtout pas oublier d'en informer l'​enveloppe logique en  mettant de préférence la même valeur. 
-      sudo lvresize ​ -v    /​dev/​ubuntu-vg/​root --resizefs --size 4824m 
-              Executing: /sbin/fsadm --verbose check /​dev/​ubuntu-vg/​root 
-              fsadm: "​ext4"​ filesystem found on "/​dev/​mapper/​ubuntu--vg-root"​. 
-              fsadm: Skipping filesystem check for device "/​dev/​mapper/​ubuntu--vg-root"​ as the filesystem is mounted on /mnt/ROOT 
-              /sbin/fsadm failed: 3 
-              Executing: /sbin/fsadm --verbose resize /​dev/​ubuntu-vg/​root 4939776K 
-              fsadm: "​ext4"​ filesystem found on "/​dev/​mapper/​ubuntu--vg-root"​. 
-              fsadm: Device "/​dev/​mapper/​ubuntu--vg-root"​ size is 6442450944 bytes 
-              fsadm: Parsing tune2fs -l "/​dev/​mapper/​ubuntu--vg-root"​ 
-              fsadm: Resizing filesystem on device "/​dev/​mapper/​ubuntu--vg-root"​ to 5058330624 bytes (1234944 -> 1234944 blocks of 4096 bytes) 
-              fsadm: Executing resize2fs /​dev/​mapper/​ubuntu--vg-root 1234944 
-              resize2fs 1.44.1 (24-Mar-2018) 
-              Le système de fichiers a déjà 1234944 blocs (4k). Rien à faire ! 
-              Archiving volume group "​ubuntu-vg"​ metadata (seqno 6). 
-              Reducing logical volume ubuntu-vg/​root to 4,71 GiB 
-              Size of logical volume ubuntu-vg/​root changed from 6,00 GiB (1536 extents) to 4,71 GiB (1206 extents). 
-              Loading ubuntu--vg-root table (253:1) 
-              Suspending ubuntu--vg-root (253:1) with device flush 
-              Resuming ubuntu--vg-root (253:1) 
-              Creating volume group backup "/​etc/​lvm/​backup/​ubuntu-vg"​ (seqno 7). 
-              Logical volume ubuntu-vg/​root successfully resized. 
- 
-Dans cet exemple, on voit que la commande inclut la fonction de retaillage du système de fichier. Mais si on a besoin d'un retaillage, on n'a pas de suivi de l'​évolution et si le retaillage est très important , on peut se mettre à douter. 
- 
-La fonction de plantage en cas de retaillage n'a pas été essayée. 
- 
-On peut aussi se tromper dans les valeurs. 
- 
-   sudo lvresize ​ -v    /​dev/​ubuntu-vg/​root --resizefs --size 5120g 
-        Executing: /sbin/fsadm --verbose check /​dev/​ubuntu-vg/​root 
-        fsadm: "​ext4"​ filesystem found on "/​dev/​mapper/​ubuntu--vg-root"​. 
-        fsadm: Skipping filesystem check for device "/​dev/​mapper/​ubuntu--vg-root"​ as the filesystem is mounted on /mnt/ROOT 
-        /sbin/fsadm failed: 3 
-        Archiving volume group "​ubuntu-vg"​ metadata (seqno 6). 
-        Extending logical volume ubuntu-vg/​root to 5,00 TiB 
-        Insufficient free space: 1309184 extents needed, but only 0 available 
-        ​ 
-    
-  sudo lvresize ​ -v    /​dev/​ubuntu-vg/​root --resizefs --size 5m 
-        Rounding size to boundary between physical extents: 8,00 MiB. 
-        Executing: /sbin/fsadm --verbose check /​dev/​ubuntu-vg/​root 
-        fsadm: "​ext4"​ filesystem found on "/​dev/​mapper/​ubuntu--vg-root"​. 
-        fsadm: Skipping filesystem check for device "/​dev/​mapper/​ubuntu--vg-root"​ as the filesystem is mounted on /mnt/ROOT 
-        /sbin/fsadm failed: 3 
-        Executing: /sbin/fsadm --verbose resize /​dev/​ubuntu-vg/​root 8192K 
-        fsadm: "​ext4"​ filesystem found on "/​dev/​mapper/​ubuntu--vg-root"​. 
-        fsadm: Device "/​dev/​mapper/​ubuntu--vg-root"​ size is 6442450944 bytes 
-        fsadm: Parsing tune2fs -l "/​dev/​mapper/​ubuntu--vg-root"​ 
-        fsadm: resize2fs needs unmounted filesystem 
-        Do you want to unmount "/​mnt/​ROOT"​ ? [Y|n] y 
-        fsadm: Executing umount /mnt/ROOT 
-        fsadm: Executing fsck -f -p /​dev/​mapper/​ubuntu--vg-root 
-        fsck de util-linux 2.31.1 
-        /​dev/​mapper/​ubuntu--vg-root :​ 14/311296 fichiers (7.1% non contigus), 757372/​1234944 blocs 
-        fsadm: Resizing filesystem on device "/​dev/​mapper/​ubuntu--vg-root"​ to 8388608 bytes (1234944 -> 2048 blocks of 4096 bytes) 
-        fsadm: Executing resize2fs /​dev/​mapper/​ubuntu--vg-root 2048 
-        resize2fs 1.44.1 (24-Mar-2018) 
-        resize2fs: La nouvelle taille est plus petite que le minimum (1234254) ​   ​ 
-        fsadm: Resize ext4 failed. 
-        fsadm: Remounting unmounted filesystem back 
-        fsadm: Executing mount /​dev/​mapper/​ubuntu--vg-root /mnt/ROOT 
-        /sbin/fsadm failed: 1 
-        Filesystem resize failed. ​   
-On y voit la demande de démontage de la partition. ​ 
- 
-==== Opération rebouchage des trous ==== 
-Si on  lance gparted pour rétrécir la partition physique, Cela ne fonctionnera pas très bien sauf exception. 
-Son message sera du style 
-   lvm pvresize -v --yes --setphysicalvolumesize 10711040K '/​dev/​sda35' ​ 00:​00:​01 ​   ( ERREUR )     
-         0 physical volume(s) resized / 1 physical volume(s) not resized 
-         ​Wiping internal VG cache 
-         ​Wiping cache of LVM-capable devices 
-         ​Archiving volume group "​ubuntu-vg"​ metadata (seqno 9). 
-          WARNING: /dev/sda35: Pretending size is 21422080 not 31457280 sectors. 
-         ​Resizing volume "/​dev/​sda35"​ to 21422080 sectors. 
-         ​Resizing physical volume /dev/sda35 from 3839 to 2614 extents. 
-         /​dev/​sda35:​ cannot resize to 2614 extents as later ones are allocated. 
-Pour éviter cette erreur, il est nécessaire de vérifier que toutes les données sont bien tassées dans la partition physique avec cette commande ​ qui est la clé de voute de l'​opération. 
-    sudo pvs -v --segments /dev/sda35 
-         ​Wiping internal VG cache 
-         ​Wiping cache of LVM-capable devices 
-         ​PV ​        ​VG ​       Fmt  Attr PSize   ​PFree ​ Start SSize LV     Start Type   PE Ranges ​           
-        /dev/sda35 ubuntu-vg lvm2 a--  <15,00g <​4,​79g ​    ​0 ​  385 swap_1 ​    0 linear /​dev/​sda35:​0-384 ​   ​ 
-        /dev/sda35 ubuntu-vg lvm2 a--  <15,00g <​4,​79g ​  ​385 ​  ​895 ​           0 free                        
-        /dev/sda35 ubuntu-vg lvm2 a--  <15,00g <​4,​79g ​ 1280  1206 root       0 linear /​dev/​sda35:​1280-2485 
-        /dev/sda35 ubuntu-vg lvm2 a--  <15,00g <​4,​79g ​ 2486   ​330 ​           0 free                        
-        /dev/sda35 ubuntu-vg lvm2 a--  <15,00g <​4,​79g ​ 2816  1023 swap_2 ​    0 linear /​dev/​sda35:​2816-3838 
-On constate qu'il y a des trous au milieu. il n'en faut absolument pas.  Il est nécessaire que toute la fin   ​soit ​ en état free. La commande suivante est à faire  
-   sudo pvmove -v  --alloc anywhere /​dev/​sda35:​3327-3838 
-        Executing: /​sbin/​modprobe dm-mirror 
-        Cluster mirror log daemon is not running. 
-        Wiping internal VG cache 
-        Wiping cache of LVM-capable devices 
-        Archiving volume group "​ubuntu-vg"​ metadata (seqno 9). 
-        Creating logical volume pvmove0 
-        Moving 1023 extents of logical volume ubuntu-vg/​swap_2. 
-        activation/​volume_list configuration setting not defined: Checking only host tags for ubuntu-vg/​swap_2. 
-        Creating ubuntu--vg-swap_2 
-        Loading ubuntu--vg-swap_2 table (253:0) 
-        Resuming ubuntu--vg-swap_2 (253:0) 
-        Setting up pvmove in on-disk volume group metadata. 
-        Creating ubuntu--vg-pvmove0 
-        Loading ubuntu--vg-pvmove0 table (253:1) 
-        Loading ubuntu--vg-swap_2 table (253:0) 
-        Suspending ubuntu--vg-swap_2 (253:0) with device flush 
-        activation/​volume_list configuration setting not defined: Checking only host tags for ubuntu-vg/​pvmove0. 
-        Resuming ubuntu--vg-pvmove0 (253:1) 
-        Loading ubuntu--vg-pvmove0 table (253:1) 
-        Suppressed ubuntu--vg-pvmove0 (253:1) identical table reload. 
-        Resuming ubuntu--vg-swap_2 (253:0) 
-        Creating volume group backup "/​etc/​lvm/​backup/​ubuntu-vg"​ (seqno 10). 
-        Checking progress before waiting every 15 seconds. 
-        /dev/sda35: Moved: 0,10% 
-        /dev/sda35: Moved: 8,31% 
-        /dev/sda35: Moved: 16,42% 
-        /dev/sda35: Moved: 24,73% 
-        /dev/sda35: Moved: 32,94% 
-        /dev/sda35: Moved: 41,15% 
-        /dev/sda35: Moved: 49,46% 
-        /dev/sda35: Moved: 57,87% 
-        /dev/sda35: Moved: 66,18% 
-        /dev/sda35: Moved: 74,58% 
-        /dev/sda35: Moved: 82,99% 
-        /dev/sda35: Moved: 87,49% 
-        /dev/sda35: Moved: 95,60% 
-        /dev/sda35: Moved: 100,00% 
-        Polling finished successfully. 
-On vérifie quand même que tout est enfin correct 
-   sudo pvs -v --segments /dev/sda35 
-        Wiping internal VG cache 
-        Wiping cache of LVM-capable devices 
-        PV         ​VG ​       Fmt  Attr PSize   ​PFree ​ Start SSize LV     Start Type   PE Ranges ​           
-       /​dev/​sda35 ubuntu-vg lvm2 a--  <15,00g <​4,​79g ​    ​0 ​  385 swap_1 ​    0 linear /​dev/​sda35:​0-384 ​   ​ 
-       /​dev/​sda35 ubuntu-vg lvm2 a--  <15,00g <​4,​79g ​  ​385 ​  895 swap_2 ​    0 linear /​dev/​sda35:​385-1279 ​ 
-       /​dev/​sda35 ubuntu-vg lvm2 a--  <15,00g <​4,​79g ​ 1280  1206 root       0 linear /​dev/​sda35:​1280-2485 
-       /​dev/​sda35 ubuntu-vg lvm2 a--  <15,00g <​4,​79g ​ 2486   128 swap_2 ​  895 linear /​dev/​sda35:​2486-2613 
-       /​dev/​sda35 ubuntu-vg lvm2 a--  <15,00g <​4,​79g ​ 2614  1225            0 free  
-C'est bien le cas, on pourra continuer avec gparted. 
-  
-A noter un problème: Lorsqu'​on libère très peu  de place, par exemple ​ 100 unités et que la dernière partition logique est de taille plus importante, dans ce cas, il ne faut prendre que les 100 dernières unités de la partition. La codification de la commande devient ​ alors: 
-       sudo pvmove -v  --alloc anywhere /​dev/​sda35:​3739-3838 ​               
-==== Finalisation avec gparted ​   ==== 
-Il faut penser ​ à démonter les partitions logiques au cas où elles auraient été montées pour vérifier ​ quelques informations. ​ 
- 
-Il faut  libérer la structure LVM que gparted gère mal.    C'est à faire pour la totalité des partitions logiques de la partition physique. La déactivation est à faire avec ces commandes: 
-   sudo lvchange -v /​dev/​ubuntu-vg/​root ​    ​--activate n 
-   sudo lvchange -v /​dev/​ubuntu-vg/​swap_1 ​  ​--activate n 
-   sudo lvchange -v /​dev/​ubuntu-vg/​swap_2 ​  ​--activate n 
-Gparted pourra alors modifier la taille de l'​enveloppe physique. ​ Il propose une valeur minima et une valeur maxima. 
-Voici un exemple de réalisation:​ 
-    GParted 0.30.0 --enable-libparted-dmraid --enable-online-resize 
-    Libparted 3.2 
-    Réduire /dev/sda35 de 15.00 Gio à 10.21 Gio  00:​00:​36 ​   ( SUCCÈS )  
-    calibrer /​dev/​sda35 ​ 00:​00:​12 ​   ( SUCCÈS )   
-    chemin : /dev/sda35 (partition) 
-    début : 584894464 
-    fin : 616351743 
-    taille : 31457280 (15.00 Gio) 
-    vérifier le système de fichiers sur /dev/sda35 et corriger les problèmes (si possible) ​ 00:​00:​00 ​   ( SUCCÈS )  
-    lvm pvck -v '/​dev/​sda35' ​ 00:​00:​00 ​   ( SUCCÈS )     
-    Found label on /dev/sda35, sector 1, type=LVM2 001 
-    Found text metadata area: offset=4096,​ size=1044480 
-    Scanning /dev/sda35 
-    Found LVM2 metadata record at offset=24064,​ size=2048, offset2=0 size2=0 
-    Found LVM2 metadata record at offset=21504,​ size=2560, offset2=0 size2=0 
-    Found LVM2 metadata record at offset=18944,​ size=2560, offset2=0 size2=0 
-    Found LVM2 metadata record at offset=12288,​ size=6656, offset2=0 size2=0 
-    Found LVM2 metadata record at offset=10752,​ size=1536, offset2=0 size2=0 
-    réduire le système de fichiers ​ 00:​00:​01 ​   ( SUCCÈS )   
-    lvm pvresize -v --yes --setphysicalvolumesize 10711040K '/​dev/​sda35' ​ 00:​00:​01 ​   ( SUCCÈS )     
-    Physical volume "/​dev/​sda35"​ changed 
-    1 physical volume(s) resized / 0 physical volume(s) not resized 
-    Wiping internal VG cache 
-    Wiping cache of LVM-capable devices 
-    Archiving volume group "​ubuntu-vg"​ metadata (seqno 13). 
-    WARNING: /dev/sda35: Pretending size is 21422080 not 31457280 sectors. 
-    Resizing volume "/​dev/​sda35"​ to 21422080 sectors. 
-    Resizing physical volume /dev/sda35 from 3839 to 2614 extents. 
-    Updating physical volume "/​dev/​sda35"​ 
-    Creating volume group backup "/​etc/​lvm/​backup/​ubuntu-vg"​ (seqno 14). 
-    réduire la partition de 15.00 Gio à 10.21 Gio  00:​00:​23 ​   ( SUCCÈS )  
-    ancien début : 584894464 
-    ancienne fin : 616351743 
-    ancienne taille : 31457280 (15.00 Gio) 
-    nouveau début : 584894464 
-    nouvelle fin : 606316543 
-    nouvelle taille : 21422080 (10.21 Gio) 
-    ======================================== 
- 
-Lorsque cette opération est faite, La partition peut être manipulée ​ avec gparted comme toutes les autres. 
- 
-Décalage vers la droite, vers la gauche, ​ agrandissement ​ et pourquoi pas un copier/​coller (cette dernière action n'a pas été vérifiée. 
- 
-Lorsque le travail de gparted est fini, il faut  réactiver les volumes logiques avec ces commandes 
-   sudo lvchange -v /​dev/​ubuntu-vg/​root ​    ​--activate a 
-   sudo lvchange -v /​dev/​ubuntu-vg/​swap_1 ​  ​--activate a 
-   sudo lvchange -v /​dev/​ubuntu-vg/​swap_2 ​  ​--activate a        ​ 
- 
-    
   ​   ​
 +<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>​
        
- +<note tip>De même, il est possible de rétrécir une partition logique chiffrée. La procédure est un peu plus longue. Un exemple est disponible ​ [[https://​forum.ubuntu-fr.org/​viewtopic.php?​pid=22639556#​p22639556|ici.]]</​note> ​  
-          +
- +
- +
- +
- +
-  +
- +
- +
 ===== Snapshot ===== ===== Snapshot =====
-__Comprendre la magie du Snapshot LVM :__ +__Comprendre la magie du Snapshot LVM :__
  
 //Pourquoi donner une taille au snapshot ? Tout simplement parce que celui-ci est intelligent,​ donc il ne va pas copier l'​intégralité du LV original. Au contraire, il ne va stocker que les différences. C'est pourquoi il est instantané et commence avec une occupation taille nulle. La commande lvdisplay permet de voir l'​évolution de la taille.// //Pourquoi donner une taille au snapshot ? Tout simplement parce que celui-ci est intelligent,​ donc il ne va pas copier l'​intégralité du LV original. Au contraire, il ne va stocker que les différences. C'est pourquoi il est instantané et commence avec une occupation taille nulle. La commande lvdisplay permet de voir l'​évolution de la taille.//
Ligne 558: Ligne 323:
 **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 [[https://​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>​
 Va créer un snapshot du LV "​**lv_test**"​ à la taille de **10Go** qui va avoir comme nom "​**lv_test_20110617**"​. Va créer un snapshot du LV "​**lv_test**"​ à la taille de **10Go** qui va avoir comme nom "​**lv_test_20110617**"​.
-Attention, la taille d'​utilisation du snapshot évolue avec l'​utilisation. Si ce snapshot se retrouve rempli à 100%, il devient alors inutilisable (état "​INACTIVE"​) mais pas d’inquiétude car il n'y a pas d’impact pour le LV d'​origine. ​+Attention, la taille d'​utilisation du snapshot évolue avec l'​utilisation. Si ce snapshot se retrouve rempli à 100%, il devient alors inutilisable (état "​INACTIVE"​) mais pas d’inquiétude car il n'y a pas d’impact pour le LV d'​origine.
  
  
Ligne 589: Ligne 355:
 ==== Avec GParted ==== ==== Avec GParted ====
  
-Lancez Gparted (Système -> Administration -> Editeur de partitions GParted).  +Lancez Gparted (Système -> Administration -> Editeur de partitions GParted). 
-Les partitions de votre disque /dev/sda s'​affichent. Notez la taille de /dev/sda1, ainsi que son filesystem (ext2/​ext3/​ext4). ​+Les partitions de votre disque /dev/sda s'​affichent. Notez la taille de /dev/sda1, ainsi que son filesystem (ext2/​ext3/​ext4).
  
 Passez au disque /dev/sdb. Créez-y une nouvelle partition primaire /dev/sdb1, de taille légèrement supérieure à celle de /dev/sda1. "​Appliquez"​ pour que la création soit effective, puis modifiez (par clic droit) les drapeaux de /dev/sdb1 pour rendre cette partition bootable. Créez une partition étendue /dev/sdb2, occupant le reste du disque. Sur cette partition, créez une partition logique /dev/sdb5 non formatée. "​Appliquez"​ pour que vos créations soient effectives. Passez au disque /dev/sdb. Créez-y une nouvelle partition primaire /dev/sdb1, de taille légèrement supérieure à celle de /dev/sda1. "​Appliquez"​ pour que la création soit effective, puis modifiez (par clic droit) les drapeaux de /dev/sdb1 pour rendre cette partition bootable. Créez une partition étendue /dev/sdb2, occupant le reste du disque. Sur cette partition, créez une partition logique /dev/sdb5 non formatée. "​Appliquez"​ pour que vos créations soient effectives.
Ligne 598: Ligne 364:
 ==== En ligne de commande ==== ==== En ligne de commande ====
  
-Remontez votre partition de boot : +Remontez votre partition de boot :
   sudo mount /boot   sudo mount /boot
  
Ligne 665: Ligne 431:
   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 725: Ligne 491:
 lvm vgscan lvm vgscan
 </​code>​ </​code>​
-=== Obtenir la liste des partitions === +=== Obtenir la liste des partitions ===
 <​code>​ <​code>​
 lvm lvs lvm lvs
 </​code>​ </​code>​
-=== Rendre la partition disponible === +=== Rendre la partition disponible ===
 <​code>​ <​code>​
 lvm lvchange -ay /​dev/​VolGroup01/​LogVol00 lvm lvchange -ay /​dev/​VolGroup01/​LogVol00
Ligne 738: Ligne 504:
 mount /​dev/​VolGroup01/​LogVol00 /​media/​user/​point_de_montage mount /​dev/​VolGroup01/​LogVol00 /​media/​user/​point_de_montage
 </​code>​ </​code>​
-===  Exemple === +===  Exemple ===
 <​code>​ <​code>​
 user@ubuntu:​~$ sudo lvm vgscan user@ubuntu:​~$ sudo lvm vgscan
Ligne 763: Ligne 529:
 </​code>​ </​code>​
 ==== Références ==== ==== Références ====
-  * [[http://​hoper.dnsalias.net/​tdc/​index.php?​pages/​Documentation-LVM|l'​origine de cette page ]] par [[utilisateurs:​Hoper]]+  * [[http://​hoper.dnsalias.net/​tdc/​index.php?​pages/​Documentation-LVM|l'​origine de cette page ]] par [[utilisateurs:​Hoper]]--lien mort
   * [[http://​www.lea-linux.org/​documentations/​index.php/​Leapro-pro_sys-lvm|Article de Léa Linux]] un peu vieux (LVM 1) mais plus complet que le mien…   * [[http://​www.lea-linux.org/​documentations/​index.php/​Leapro-pro_sys-lvm|Article de Léa Linux]] un peu vieux (LVM 1) mais plus complet que le mien…
   * [[http://​linux.developpez.com/​lvm/#​L4.1.1|Article de developpez.com]] excellent aussi (attention, sauf la partie réduction !)   * [[http://​linux.developpez.com/​lvm/#​L4.1.1|Article de developpez.com]] excellent aussi (attention, sauf la partie réduction !)
-  * [[http://​tldp.org/​HOWTO/​LVM-HOWTO/​|LVM HOW TO (en)]] un how to assez complet en anglais+  * [[https://​tldp.org/​HOWTO/​LVM-HOWTO/​|LVM HOW TO (en)]] un how to assez complet en anglais
   * [[http://​www.traduc.org/​Guides_pratiques/​Suivi/​LVM-HOWTO/​Document| Guide pratique de LVM (fr)]] un guide assez complet en français   * [[http://​www.traduc.org/​Guides_pratiques/​Suivi/​LVM-HOWTO/​Document| Guide pratique de LVM (fr)]] un guide assez complet en français
   * [[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+  * [[https://​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.1561918222.txt.gz
  • Dernière modification: Le 30/06/2019, 20:10
  • par 88.182.40.86