informatique:systeme:matos:lvm

Ceci est une ancienne révision du document !


LVM

  • Si votre PV est une partition d'un block-device, il faut commencer par étendre cette partition. Pour cela, utiliser la commande fdisk pour supprimer et recréer la partition avec les mêmes paramètres excepté la taille que vous définirez au maximum. Pour appliquer cette modification, il faudra redémarrer votre machine.
  • Utiliser ensuite la commande suivante pour redimensionner votre PV :
    pvresize [device]

Avec :

  • [device] : Le block-device du PV (exemple : /dev/sda)
  • Commencer par déterminer la taille minimale du PV possible. Redéfinissez ensuite la taille du PV :
    pvresize --setphysicalvolumesize [size] [device]
  • Avec :
    • [size] : la nouvelle taille du PV (exemple : 30G)
    • [device]] : le block-device correspondant au PV
  • Si votre PV est une partition et que vous souhaitez le block-device sous cette partition, il faudra également réduire cette partition. Il est conseillé de réduire cette partition également plus que nécessaire et de l'étendre au maximum une fois la réduction effectuez. Prévoyez cependant un peu plus que la taille à laquelle vous avez réduit votre PV. Une fois cette taille déterminer, il vous faut supprimer la partition et la récréer à l'identique exceptée sa taille. Pour cela vous pouvez utiliser la commande fdisk. Une fois la taille de la nouvelle partition définie, il faudra rebooter la machine pour que cette modification soit prise en compte.
  • Si vous devez réduire physiquement la taille du disque (cas du disque d'une machine virtuelle par exemple), c'est ici qu'il faut le faire, machiné éteinte.
  • Si votre PV est une partition et que vous l'avez réduit précédemment plus que nécessaire, il faut maintenant l'agrandir au maximum offert par le block-device. Pour cela supprimer et recréer à nouveau la partition avec fdisk et rebooter la machine pour prendre en compte la modification
  • Redimensionner ensuite le PV à la taille du block-device :
    pvresize [device]

Pour un système de fichiers EXT3/EXT4 :

  • On démonte si nécessaire le LV
umount /dev/vg/lv
  • On check le FS (obligatoire)
e2fsck -f /dev/vg/lv
  • On resize au minimum le FS
resize2fs -M /dev/vg/lv
  • On mount le FS pour voir si çà c'est bien passé
mount /dev/vg/lv
  • df non indique sa nouvelle taille
/dev/mapper/vg-lv   578M  578M     0 100% /mount/path
  • On démonte le LV
umount /dev/vg/lv
  • On resize le LV à la taille voulue
lvreduce -L 5G /dev/vg/lv
  • On check le FS (obligatoire)
e2fsck -f /dev/vg/lv
  • On resize le FS à la taille du LV
resize2fs /dev/vg/lv
  • On remonte le LV
mount /dev/vg/lv

Très pratique ! Cela permet de faire un copie instantanée d'un LV sans pour autant ré-alloué la totalité de l'espace disque. Un snapshot est juste un composant de LVM stockant uniquement les modifications fait sur un LV qui on lieu entre le moment ou le snapshot est fait et le moment présent. Vous avez donc un copie du système du LV accessible en lecture seule uniquement. Tout l'intérêt est de faire en une fraction de seconde un copie du LV sans ré-alloué. Cette copie est en outre volatile et disparaitra au prochain reboot. La taille allouée doit être dimensionnée en fonction de volume de modifications qui auront lieu pendant votre utilisation de la copie.

Très pratique pour les sauvegardes d'un système dont les services doivent être arrêtés pour sauvegarder leurs données. La création d'un snapshot prend une fraction de seconde alors que la sauvegarde complète du système prend beaucoup plus. Il ainsi possible d'arrêter les services le temps de faire un snapshot puis de les redémarrer et de faire ensuite une sauvegarde à partir du snapshot.

Procédures

  • Création d'un snapshot du LV tmp du VG vg_1
lvcreate -s -L 100M -n snapdetmp /dev/vg_1/tmp
mount /dev/vg_1/snapdetmp /mnt/tmp
  • Suppression d'un snapshot
unmout /dev/vg_1/snapdetmp
lvremove /dev/vg_1/snapdetmp
  • informatique/systeme/matos/lvm.1385498281.txt.gz
  • Dernière modification : 2013/11/26 20:38
  • de bn8