LVM
Gestion du disque linux :
Afficher les volumes physiques :
pvdisplay
Afficher le groupe :
vgdisplay
Afficher les volumes logiques :
lvdisplay
Augmenter la taille d'un volume :
# Taille définie :
lvextend -L '+9G' /dev/vg0/lib
# Taille relative :
lvextend -l '+100%FREE' /dev/vg0/lib
Affecter la nouvelle taille :
# POUR DU XFS
xfs_growfs /var/lib
# POUR DU DOS ou du EXT4
e2fsck -f /dev/vg0/lib
resize2fs /dev/vg0/lib
Supprimer un volume récalsitrant :
# Eteindre le volume.
lvchange -an -v /dev/vg0/lib
# Afficher les process qui utilisent le volume
lsof | grep /var/lib
# Si besoin de debug : Afficher les processus cachés qui utilisent le volume
grep -l /var/lib /proc/*/mountinfo
# --> Cette commande nous retounre des PID. Faire : ps -aux | grep <PID_ID> ; pour connaitre les service qui continuent d'utiliser le volume.
# Maintenant que nous avons éteinds tous les services qui posent problème, nous pouvons supprimer le volume.
lvremove -f vg0/lib
lvcreate -n lib -l 100%FREE vg0
mkfs.xfs /dev/vg0/lib
Procédure pour augmenter la SWAP :
free -h
swapoff /dev/vg0/swap
lvextend -L '+6G' /dev/vg0/swap
mkswap /dev/vg0/swap
swapon /dev/vg0/swap
free -h
Procédure pour supprimer un volume "100%FREE" qui nous empéche forcément de créer un volume /home de 20 Go :
# Démonter /var/lib ; sauvegarder ; préparer au redémarrage
cp -pR /home /root/
cp -pR /var/lib /root/
umount /var/lib
cp -pR /root/lib/* /var/lib/
############################
############################
COMMENER LE /ETC/FSTAB (ligne lib) :
#/dev/vg0/lib /var/lib xfs rw,noatime,logbufs=8,logbsize=256k,inode64 1 2
############################
############################
Reboot
############################
############################
# Supprimer le volume
lvremove -f vg0/lib
##############################
# Créer les volumes qu'il faut
lvcreate -n home -L "20G" vg0
mkfs.xfs /dev/vg0/home
#...
lvcreate -n lib -l 100%FREE vg0
mkfs.xfs /dev/vg0/lib
##############################
# supprimer les données résiduelles avant remontage
rm -r /var/lib/*
rm -r /home/*
############################
DECOMMENTER LE /ETC/FSTAB !
+
AJOUTER LES MONTAGES neccessaires :
/dev/vg0/lib /var/lib xfs rw,noatime,logbufs=8,logbsize=256k,inode64 1 2
/dev/vg0/home /home xfs rw,noatime,logbufs=8,logbsize=256k,inode64 1 2
############################
mount -a
# VERIFIER
mount | grep /home
mount | grep /var/lib
# Réimporter les datas dans les volumes
cp -pR /root/lib/* /var/lib/
cp -pR /root/home/* /home/
# Reboot
reboot
# vérification
ls -lisa /var/lib
ls -lisa /home
# suppression des données dupliquées
rm /root/home -r
rm /root/lib -r
Initialiser du LVM sur un serveur qui n'en possède pas + déplacer un dossier de prod loud dans le volume logique :
/deb/sdb
systemclt stop docker containerd docker*
initialiser LVM sur mon disque
sudo apt-get install lvm2
##########################
PV --> Lié à un disque
VG --> POOL de stockage
LV --> POOL de stockage
sudo pvcreate /dev/sdb
sudo vgcreate vg0 /dev/sdb
lvcreate -n lib_docker -l 100%FREE vg0
mkfs.xfs /dev/vg0/lib
Procédure pour réduire la taille d'un volume :
MERCI DE SAUVEGARDER VOS DONNES AU PREALABLE !
Démontage :
sudo umount /home
Verification de la bonne santé de la partition :
sudo e2fsck -f /dev/mapper/nehemie--vg-home
On réduit la taille de la partition :
sudo resize2fs /dev/mapper/nehemie--vg-home 95G
On informe LVM que la taille à changée :
sudo lvreduce -L 95G /dev/mapper/nehemie--vg-home
On remonte :
sudo mount /home
Résultat :
--- Logical volume ---
LV Path /dev/nehemie-vg/home
LV Name home
VG Name nehemie-vg
LV UUID DzsBje-cD11-d4tW-MkJt-0D9R-r2xF-UH9q1I
LV Write Access read/write
LV Creation host, time nehemie, 2024-10-23 15:23:08 +0200
LV Status available
# open 1
LV Size 95,00 GiB
Current LE 24320
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 254:5
root@SRV:/home/nehemie# sudo vgdisplay
--- Volume group ---
VG Name nehemie-vg
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 7
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 5
Open LV 5
Max PV 0
Cur PV 1
Act PV 1
VG Size <475,95 GiB
PE Size 4,00 MiB
Total PE 121842
Alloc PE / Size 33384 / <130,41 GiB
Free PE / Size 88458 / <345,54 GiB
VG UUID SVs151-LB0o-floZ-Qr74-qyYH-DgbE-APC8SP
--> De l'espace est désormais disponible
Procédure Installer LVM sur un nouveau serveur && monter un disque :
initialiser LVM sur mon disque
/deb/sdb --> Existe & vide
sudo apt-get install lvm2
##########################
PV --> Lié à un disque
VG --> POOL de stockage
LV --> POOL de stockage
sudo pvcreate /dev/sdb
sudo vgcreate vg0 /dev/sdb
lvcreate -n lib_docker -l 100%FREE vg0
mkfs.xfs /dev/vg0/lib
No Comments