Aide-mémoire LVM
Contenu
Voici une n-ième page sur internet comportant des commandes liées à LVM. Et des liens. Mon petit bloc-notes, ma petite aide-mémoire quoi.
Je ne vous ferai pas l’affront de vous présenter l’outil, ni de vous expliquer son fonctionnement. d’autres pages le font bien mieux que moi.
Rapide rappel :
- Volume physique (PV, Physical volume) : disque, partition, etc. pourvu que ça soit du stockage.
- Groupe de volumes (VG, Volume group) : Groupement de PVs vu comme un espace unique et qui va contenir des LV.
- Volume logiques (LV, Logical volume) : « partition » virtuelle reposant dans un VG qui va contenir un système de fichiers (à monter dans l’OS pour être utilisable).
Voir ses volumes
Ainsi que diverses informations utiles comme la taille actuelle, et la taille disponible si on veut agrandir des LV par exemple.
Physiques
pvs
pvscan
pvdisplay
Groupes
vgs
vgscan
vgdisplay
Logiques
lvs
lvscan
lvdisplay
Remarque : Les commandes *display
prennent en argument optionel le nom du volume pour n’afficher que celui demandé au lieu de tous les afficher.
Volumes physiques
Agrandir : pvresize
Après avoir agrandi une partition, utiliser simplement pvresize /dev/partition
. Exemple :
pvresize /dev/sda2
Il est possible que le système n’ai pas détecté le changement de taille, chose courante dans une augmentation à chaud sur une machine virtuelle. Dans ce cas, il faut forcer le scan SCSI :
echo "1" > /sys/class/block/sdX/device/rescan
# ou bien, avec les numéros de bus SCSI :
echo "1" > /sys/class/scsi_device/2:0:0:0/device/rescan
Pour identifier ses disques :
lsblk
pour avoir les étiquettes classiques type/dev/sdX
.lsblk -S
,lsscsi
oulshw
pour les étiquettes SCSI.
À noter, pour rescanner les disques,
il y a aussi la commande rescan-scsi-bus.sh --forcerescan
sous Red Hat, via le paquet sg3_utils
.
Volumes logiques
Créer : lvcreate
Il faut d’abord s’assurer que le volume group contient assez d’espace. Ensuite
lvcreate -LxxG -n nom_nouveau_lv nom_du_vg
Puis on formate le volume logique :
mkfs -t [type de FS] /dev/mapper/le_volume_qui_correspond
À partir de là le nouveau volume peut être monté, à la main pour tests, puis rajouté dans /etc/fstab
Retailler : lvresize
On peut facilement les étendre à chaud (en tant que root) :
# Identifier les volumes
df # ou bien : df -h, df -Pm, ...
# Vérifier que l'on dispose d'assez de place dans le groupe :
vgs
# Augmenter la taille du volume
lvresize -r -L +XXG /dev/mapper/le_volume_qui_correspond
# Augmenter le volume en prenant toute la place disponible
lvresize -r -l +100%FREE /dev/mapper/le_volume_qui_correspond
L’option -r
(--resizefs
) est là pour retailler le volume pour prendre en compte la nouvelle taille immédiatement.
Sans ça, il faut passer manuellement un coup de resize2fs
(si vous êtes en ext) ou de xfs_growfs
(dans le cas d’un système de fichiers XFS) après coup sur le volume modifié.
L’argument -L
attend la taille qu’on veut avoir.
Préfixer avec +
pour rajouter de l’espace, au lieu d’avoir à calculer à la main la taille totale finale.
Rajouter un suffixe pour l’unité.
Souvent cela sera G
.
La véritable forme du -L
est (extrait du manuel de lvresize) :
-L|--size [+|-]Size[m|UNIT] Specifies the new size of the LV. The --size and --extents options are alternate methods of specifying size. The total number of physical extents used will be greater when redundant data is needed for RAID levels. When the plus + or minus - prefix is used, the value is not an absolute size, but is relative and added or subtracted from the current size.
À noter que resize2fs
et xfs_growfs
s’utilisent de la même manière :
resize2fs /dev/mapper/le_volume_qui_correspond
xfs_growfs /dev/mapper/le_volume_qui_correspond
Reportez-vous aux manuels correspondants pour les éventuelles options. La forme basique suffit dans la plupart des cas.
Liens
Pour approfondir encore plus, le manuel de LVM sera une bonne source. Sinon le wiki de votre distribution. Enfin, d’autres sites que vous pourrez trouvez sur internet.