LVM (v2)
CRÉATION
- gparted 0x8e lvm (ne pas formater)
- pvcreate /dev/sdb4
- vgcreate VG_BKP_sdb4 /dev/sdb4
- lvcreate —size 500g —name LV_BKP VG_BKP_sdb4
- lvdisplay | egrep sdb4 ( affiche le nom de la partition virtuelle à formater )
- mkfs.xfs /dev/VG_BKP_sdb4/LV_BKP
Liens
Cet aide-mémoire personnel de novice est largement inspiré par « Administration Linux à 200%, Tome2 -avril 2006 [feu O’Reilly France] » ( merci aux auteurs[Bill von Hagen et Brian K.Jones] et traducteurs[Sandrine Burriel et François Cerbelle] )
Commandes
Aide mémoire de lvm
Principe
- Partitionner le(s) disque(s) voir « Outils de partitionnement »
Ox8e - Utiliser des partitions comme Volumes Physiques ( PV ) :
1 PARTITION == 1 Volume Physique (PV)
pvcreate /dev/hdd2 - Assigner des « extent » physiques (PE ) de un ou plusieurs PV en 1 Groupe de volume ( VG ) :
vgcreate nom_du_VG /dev/hdd2 - Créer un volume logique ( LV )
1 ou plusieurs volumes logiques (LV) par Groupe de Volumes (VG)
Dimension exprimée en Physiques Extends (PE) dans la limite des PE Libres ( Fee PE)
lvcreate -l nombre_de_PE nom_du_VG -n nom_du_LV - Formater le VL ( système de fichier ici : XFS )
mkfs -t xfs /dev/nom_du_VG/nom_du_LV - montage :
mount -t xfs /dev/nom_du_VG/nom_du_LV/ /repertoire de montage/ - fstab :
/dev/nom_du_VG/nom_du_LV/ /repertoire de montage/ xfs defaults,noatime 0 0
Partitionner le disque
pvcreate
vgcreate
lvcreate
- lvcreate -l 71525 GV_home_9 -n VL_home
- lvcreate —logical GV_home_9 —name VL_home
- Ici un volume logique VL_home est créé dans le groupe de volumes GV_home_9.
- On lui alloue tous les Extents disponibles.
Autre possibilité :
- lvcreate —size 2g —name VL_home GV_home_9
- Ici sa taille serait de 2 Go (comme LVM nous permet d’étendre à volonté la taille des volumes logiques, il n’est pas nécessaire d’utilisez tout l’espace disponible dans le groupe de volumes)
/dev/Groupe_de_Volumes/Volume_logique
formater le volume logique
Formatage
L’article 1 recommande XFS
mkfs -t xfs /dev/GV_xx/LV_xy
monter le volume logique
mount..
mount -t xfs /dev/GV_home_9/VL_home /home
fstab
fstab
L’article propose l’option noatime
ne pas mettre à jour l’inode à chaque accès fichier est un gain ( minime ) de temps et surtout une économie d’usure du disque dur.
Snapshot
snapshot
EN RÉSUMÉ :
- lvcreate —snapshot —size 100M —name nom_de_l_image /dev/nomVG/nomLV/
- mkdir /point_de_montage
- mount -t xfs /dev/nomVG/nomLV/ /point_de_montage -o nouuid,ro
- Action ( par exemple sauvegarde pendant les modifications )
- umount /point_de_montage
- lvremove /dev/nomVG/nomLV/
PRÉREQUIS : nécessite le module kernel : dm_snapshot
- sur etch : lsmod | grep -i dm_snapshot donne :
- dm_snapshot 15904 0
- dm_mod 50776 13 dm_mirror,dm_snapshot
- Créer une « image instantanée » : lvcreate -s -L 100M -n nom_de_l_image /dev/nomVG/nomLV/
- plus compréhensible : lvcreate —snapshot —size 100M —name nom_de_l_image /dev/nomVG/nomLV/
-L 100M alloue 100M pour les modifications à venir - Monter l’instantané :
mount /dev/nomVG/nomLV/ /montage - lvs = ne pas attendre que l’instantané soit rempli à 100% ( débordement d’instantané ! )
Dans ce cas la prévention ( de perte de données ) est pire que le mal : à partir de 100 %, plus aucune modification n’est prise en compte !
Mais, en cas de perte de fichier il suffit de le recopier à partir du LV figé . - lvremove Supprimer une image instantanée ( = mettre à jour les modifications et perdre l’archive initiale )
Autres commandes
- lvs pour s’informer
- lvextend pour agrandir
- lvreduce pour supprimer
- pvmove /dev/hdd2 pour déplacer les extends de /dev/hdd2 vers les autres volume physiques (PV) du même groupe de volumes (VG) ,
par exemple avant d’enlever ou remplacer /dev/hdd (ATTENTION c’est TRÈS LENT) - lvresize
Toutes les commandes
- avec lvm help
- Commandes d’information : [1]
lvmdiskscan
EN BREF
COMMENCER
Aide mémoire de lvm
Principe
- Partitionner le(s) disque(s)
- Utiliser des partitions comme Volumes Physiques ( PV ) : pvcreate /dev/hdd2
- Assigner des « extent » physiques (PE ) de un ou plusieurs PV en 1 Groupe de volume ( VG ) : vgcreate nom_du_VG /dev/hdd2
- Créer un volume logique ( LV ) lvcreate -l nombre_de_PE nom_du_VG -n nom_du_LV
- Formater le VL ( système de fichier ) mkfs -t xfs /dev/nom_du_VG/nom_du_LV
- montage : mount -t xfs /dev/nom_du_VG/nom_du_LV/ /repertoire de montage/
- fstab : /dev/nom_du_VG/nom_du_LV/ /repertoire de montage/ xfs defaults,noatime 0 0
EN BREF : ENSUITE
- Enlever un groupe de volumes ( VG)
Désactiver : vgchange -a n mon_groupe_de_volumes.
Supprimer : vgremove mon_groupe_de_volumes. - Ajouter un volume physique ( PV) à un groupe de volumes (VG)
vgextend mon_groupe_de_volumes /dev/hdd10 - Étendre un volume logique ( LV ) :
TAILLE FINALE
( en octets ) lvextend -L12G /dev/monvg/homevol
(en extents) lvextend -l10280 /dev/monvg/homevol
TAILLE AJOUTÉE
( en octets ) lvextend -L+1G /dev/monvg/homevol
(en extents) lvextend -l+12801G /dev/monvg/homevol - Étendre ( ajuster ) la taille du système de fichiers :
xfs (système monté) => xfs_growfs /home/backup/
ext2/ext3 (démonté) => ext2resize /dev/monvg/homevol
reiserfs ( indifférent) => resize_reiserfs -f /dev/monvg/homevol
Partitionner le disque
Préserver une partition / (racine) et une partition /boot sur un système de fichier « direct » ( ext2/ext3 par exemple ) pour assurer le démarrage du système.
formatage inutile : attribution lvm.
Préférer de nombreuses partitions : en cas de crash disque, moins de dégats, moins de difficultés à récupérer les données.
pvcreate
vgcreate
lvcreate
formater le volume logique
monter le volume logique
fstab
snapshot
RÉSUMÉ
- lvcreate —snapshot —size 100M —name nom_de_l_image /dev/nomVG/nomLV/
- mkfs -t xfs /dev/nomVG/nomLV/
- mkdir /point_de_montage
- mount -t xfs /dev/nomVG/nomLV/ /point_de_montage -o nouuid,ro
- Action ( par exemple sauvegarde pendant les modifications )
- umount /point_de_montage
- lvremove /dev/nomVG/nomLV/
PRÉREQUIS : nécessite le module kernel : dm_snapshot
- sur etch : lsmod | grep -i dm_snapshot donne :
- dm_snapshot 15904 0
- dm_mod 50776 13 dm_mirror,dm_snapshot
- Créer une « image instantanée » : lvcreate -s -L 100M -n nom_de_l_image /dev/nomVG/nomLV/
- plus compréhensible : lvcreate —snapshot —size 100M —name nom_de_l_image /dev/nomVG/nomLV/
-L 100M alloue 100M pour les modifications à venir - Monter l’instantané :
mount /dev/nomVG/nomLV/ /montage - lvs = ne pas attendre que l’instantané soit rempli à 100% ( débordement d’instantané ! )
Dans ce cas la prévention ( de perte de données ) est pire que le mal : à partir de 100 %, plus aucune modification n’est prise en compte !
Mais, en cas de perte de fichier il suffit de le recopier à partir du LV figé . - lvremove Supprimer une image instantanée ( = mettre à jour les modifications et perdre l’archive initiale )
Autres commandes
- lvextend pour agrandir
- lvreduce pour supprimer
- pvmove /dev/hdd2 pour déplacer les extends de /dev/hdd2 vers les autres volume physiques (PV) du même groupe de volumes (VG) , par exemple avant d’enlever ou remplacer /dev/hdd (ATTENTION ! c’est TRÈS LENT)
Options
Il est possible de définir la taille des physical extents :
- 4Mo ( = 256 Go pour 1 VG de 65534 PE ) par défaut , et sur Debian
- 32 Mo ( = 2 To pour 1 VG ) sur Fedora, RHEL et dérivés.
Script
Projet : script interactif pour
- agrandir un volume logique
- créer, surveiller et supprimer un snapshot ( photo instantanée )
- Affichage des données utiles à a tache demandée
- Lancement de la commande ( avec confirmation ) ou informations complémentaires ou renoncement.
lvextend
Agrandir un volume logique
À chaud : [2] Sous XFS le volume logique doit être monté pour être redimensionné.
- soit lvextend -L+1G /dev/vg_name/lv_name = agrandir un volume logique d’ 1G supplémentaire
- soit lvextend -L12G /dev/vg_name/lv_name = agrandir un volume logique jusqu’à 12G
Ensuite la taille du système de fichier doit être ajustée :
- xfs_growfs /point/de/montage pour XFS [3]
EXEMPLE
agrandir /home, monté sur /dev/mapper/VG_tout-home
VÉRIFICATION PRÉALABLE
* /home est-il bien monté ? ( mount, ou mieux: df )
* VG_tout dispose-t-il d'espace libre à la mesure du besoin ? ( vgdisplay )
ACTION
lvextend /dev/mapper/VG_tout/home
xfs_growfs /homeet c’est tout !
lvextend -L+1G /dev/
[1] http://www.joseph-tux.fr/INFORMATIO...
[2] encore un avantage de XFS
[3] autres systèmes : à voir
webmaster
Articles de cet auteur
fr
GNU, LINUX, BSD, LL
AIDES GNU/LINUX
Administration disques
?
