Outils pour utilisateurs

Outils du site


lvm:start

LVM

Logical Volume Manager

Créer un nouveau volume

Récupérer le nom du volume groupe auquel ajouter le nouveau volume logique :

vgdisplay | grep "VG Name"
  VG Name               tl-debian8-vg

Créer une nouvelle partition physique avec l'espace ajouté précédemment :

pvcreate /dev/sda4

Agrandir le groupe de volume avec l’espace ajouté précédemment :

vgextend debian8-vg /dev/sda4

Créer le nouveau volume logique : ( ici on ajoute le nouveau volume logique nommé “home” au volume groupe nommé tl-debian8-vg, en utilisant 100% de son espace libre )

lvcreate -l 100%FREE -n home debian8-vg

Enfin, redimensionner le système de fichiers :

  • Pour “ext” :
mkfs -t ext4 /dev/mapper/debian8--vg-home
  • Pour “xfs” :
mkfs -t xfs /dev/mapper/debian8--vg-home

Pour monter le volume à la main (pour copier des données par exemple) :

mount /dev/mapper/debian8--vg-home /home

Pour l'ajouter au démarrage, éditer fstab :

vim /etc/fstab

Et ajouter une ligne de la forme suivante, par exemple :

/dev/mapper/debian8--vg-home /home          ext4    errors=remount-ro 0       1

Pour finir, redémarrer la machine :

reboot

Supprimer un volume

Les manipulations doivent être effectuées sur une partition démontée :

umount /opt/mapartitiondetest

Personnellement, si ce n'est pas un montage distant que je maitrise, je préfère effectuer cette intervention à froid.
Booter sur un liveCD, ouvrir un terminal et monter toutes les partitions LVM disponibles :

vgchange -a y

Supprimer la partition :

lvremove /dev/mapper/metamorph--vg-mapartitiondetest

Étendre un volume à froid

À revoir Après avoir agrandit la taille de la partition, de la “coquille”, d'un serveur virtuelle par exemple via gparted-live.
Ajouter l'espace disque supplémentaire au groupe logique :

lvresize -l +100%FREE /dev/osname/part

Enfin, redimensionner le système de fichiers :

  • Pour “ext” :
resize2fs /dev/mapper/debian--vg-root
  • Pour “xfs” :
xfs_growfs /dev/mapper/debian--vg-root

Étendre un volume à chaud

Ajouter l'espace disque au groupe logique

En ligne de commande sur le serveur, vérifier qu'il y a bien l'espace disponible, non prit en charge pour l'instant avec la commande fdisk :

fdisk -l
 
Disque /dev/sda : 200 GiB, 214748364800 octets, 419430400 secteurs
[...]
Device     Boot    Start       End   Sectors  Size Id Type
/dev/sda1  *        2048    499711    497664  243M 83 Linux
/dev/sda2         501758  20969471  20467714  9,8G  5 Extended
/dev/sda5         501760  20969471  20467712  9,8G 8e Linux LVM
[...]

On voit ici qu'il y a 200Go de disponible mais qu'il n'y qu'une partition sda5 qui ne fait que 9,8Go. Les 200Go sont sur la partition sda, on édite alors cette partition avec fdisk :

fdisk /dev/sda

Notez ici qu'il n'y a pas de numéro après sda !

Le “help” peut être appelé avec la lettre “m”.
Créer une nouvelle partition avec la lettre “n”, puis sélectionner “primary partition” avec la lettre “p”, enfin, choisir le numéro de la partition, généralement la suite logique ( ici sda3 ) mais il arrive qu'une partition de 1Mo existe, créer alors sda4 à la suite, de la même façon afin de prendre en charge les 190Go souhaités ( ici dans l'exemple ), et ignorer l'étape d'après pour sda3 :
NB : Laisser par défaut aux question de début et fin de bloc.

Command (m for help): n
Command action
   l   logical (5 or over)
   p   primary partition (1-4)
p
Partition number (1-4): 3
First cylinder (499712-501756, default 499712): "enter"
Using default value 499712
Last cylinder, +cylinders or +size{K,M,G} (499713-501757, default 501757): "enter"
Using default value 501757

Modifier la partition nouvellement créée avec la lettre “t”, afin de la déclarer comme partition LVM avec le numéro de code “8e” :

Command (m for help): t
Partition number (1-5): 3
Hex code (type L to list codes): 8e
Changed system type of partition 3 to 8e (Linux LVM)

Pour écrire les modifications, entrer la lettre “w” :

Command (m for help): w
The partition table has been altered!
 
Calling ioctl() to re-read partition table.
 
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

Pour éviter de redémarre la machine, entrer la commande suivante :

partprobe

Pour RedHat 6.5 et dérivées :

partx -v -a /dev/sda

Agrandir le volume logique

Créer un volume physique LVM avec la nouvelle partition :

pvcreate /dev/sda3
  Physical volume "/dev/sda3" successfully created

Récupérer le nom du volume logique que l'on souhaite agrandir :

vgdisplay | grep "VG Name"
  VG Name               debian

Étendre ce volume groupe au nouveau volume physique :

vgextend debian-vg /dev/sda3
  Volume group "debian8-vg" successfully extended

Étendre le volume logique :

lvextend /dev/debian-vg/root /dev/sda3
  Extending logical volume root to 50 GiB
  Logical volume root successfully resized

Enfin, redimensionner le système de fichiers :

  • Pour “ext” :
resize2fs /dev/mapper/debian--vg-root
  • Pour “xfs” :
xfs_growfs /dev/mapper/debian--vg-root

Réduire un volume

Exemple, retirer 10Go à la partition /home :

df -h | head -1 && df -h | grep home
Sys. de fichiers                Taille Utilisé Dispo Uti% Monté sur
/dev/mapper/metamorph--vg-home   197G     74M  187G   1% /home

Les manipulations doivent être effectuées sur une partition démontée :

umount /opt/mapartitiondetest

Personnellement, si ce n'est pas un montage que je maitrise, je préfère effectuer cette intervention à froid.
Booter sur un liveCD, ouvrir un terminal et monter toutes les partitions LVM disponibles :

vgscan -c --mknodes
vgchange -a y

Vérifier la partition qui va être manipulée, par exemple pour extX :

e2fsck /dev/mapper/metamorph--vg-home

Ou directement corriger les éventuelles erreurs sans poser de questions :

fsck -y /dev/mapper/metamorph--vg-home

Puis réduire la partition de “-10Go” (le moins est important!) par exemple :

lvreduce -rL -10G /dev/mapper/metamorph--vg-home

Les options utilisées :

-L, --size [-]LogicalVolumeSize[bBsSkKmMgGtTpPeE]
    Reduce or set the logical volume size in units of megabytes. A size suffix of k for
    kilobyte, m for megabyte, g for gigabytes, t for terabytes, p for petabytes or e for
    exabytes is optional. With the - sign the value will be subtracted from the logical
    volume's actual size and without it it will be taken as an absolute size. 
-r, --resizefs
    Resize underlying filesystem together with the logical volume using fsadm(8).
fsadm utility checks or resizes the filesystem on a device. It tries to use the same API
for ext2, ext3, ext4, ReiserFS and XFS filesystem. 
Ce site web utilise des cookies. En utilisant le site Web, vous acceptez le stockage de cookies sur votre ordinateur. Si vous n'êtes pas d'accord, quittez le site.En savoir plus
lvm/start.txt · Dernière modification : de 127.0.0.1