Gestion LVM

De wikiGite

Création

Créer un Physical Volume

Créer une partition sur la place libre d'un disque existant :

fdisk /dev/sda
(choisir si on veut créer une partition primaire s'il rester des numéros disponibles, ou une partition étendue)
n (entrer un numéro libre de partition, puis tout par défaut)
t (entrer le numéro de la partition, puis 8e pour la passer en Linux LVM)
w

ou sur un nouveau disque (exemple: /dev/sdb)

fdisk /dev/sdb
n (choisir partition primaire, et 1 comme numéro de partition, puis tout par défaut)
t (entrer le numéro de la partition, puis 8e pour la passer en Linux LVM)
w

Créer un PV sur cette partition (exemple avec la partition 1 du nouveau disque)

pvcreate /dev/sdb1

Créer un Volum Group

Créer un volume group sur ce nouveau PV

vgcreate VolGroup00 /dev/sdb1

Vérifier la VGsize par vgdisplay

Créer des Logical Volums

Créer des volumes logiques

lvcreate -n Vol00 -L 10g VolGroup00

Etendre un volume groupe, un volume logique et son filesystem

Ajouter un disque (ou étendre le disque virtuel sur une VM).

Créer une partition type LVM sur ce disque.

Créer un PV sur cette partition :

pvcreate /dev/sdb1

Etendre le volume group (vgdiplay pour avoir son nom) sur ce nouveau PV

vgextend VolGroup00 /dev/sdb1

Vérifier la VGsize par vgdisplay

Etendre un volume logique. Réperer son nom par df puis éventuellement par lvdisplay pour avoir le chemin exact

lvextend -L +160G /dev/VolGroup00/home #(prendre la Free PE / Size de vgdisplay)

Puis étendre le filesystem

df #pour repérer le device
umount /dev/VolGroup00/home #(lsof s'il ne veut pas le démonter)
e2fsck -f /dev/VolGroup00/home #(obligatoire avant resize)
resize2fs /dev/VolGroup00/home

Reboot pour la forme.

Réduire un volume logique (pour en créer un à côté, par exemple)

Stopper tous les services qui peuvent utiliser le système de fichier, puis :

umount /home
fsck -f /dev/VolGroup00/home
resize2fs /dev/VolGroup00/home 850G # nouvelle taille en M ou G
lvreduce -L 900G /dev/VolGroup00/home # idem
resize2fs /dev/VolGroup00/home
mount /home

Comme on peut le constater, pour éviter les pertes de données, on réduit le système de fichier plus que le LV. Puis après avoir réduit le LV, on retaille le système de fichier pour qu'il reprenne toute la place disponible dans le LV. C'est clair ?

Extension ou réduction : Gestion des quotas

En cas de modification de taille d'un file system (à l'intérieur d'un LV ou non, aucune importance) assujetti aux quotas, il ne faut pas oublier de recalculer ces quotas :

/sbin/quotaoff -u /home/
/sbin/quotacheck /home/ -m
/sbin/quotaon -u /home/

Sur BlueOnyx, pour mettre à jour les nouveaux quotas dans l'interface, voir BlueOnyx - Recalcul des quotas