Différences entre les versions de « Lv resize »
De BlaxWiki
Aller à la navigationAller à la recherche| Ligne 34 : | Ligne 34 : | ||
</pre> | </pre> | ||
== Augmentation de la taille du LV d'origine == | === Augmentation de la taille du LV d'origine === | ||
<pre> | <pre> | ||
Version du 19 septembre 2019 à 09:44
Extend LV sur KVM
On a ici une vm sous un hyperviseur KVM dont nous devons étendre la partition (cela est valable pour la partition système ou n'importe quelle autre partition). Les disques de la vm sont des LV, mais c'est le même principe si les disques de la VM sont des fichiers Attention, le volume logique LV est une boite, le système de fichier FS est le contenu de la boite. Augmenter la taille du contenu sans augmenter la taille de la boîte peut poser des problèmes.
Sauvegarde du disque d'origine
'''!! IMPORTANT : il faut éteindre la VM avant un faire un backup du LV !!'''
Si on a la place, il est préférable de faire une sauvegarde du disque qui sera à dupliquer. Dans le cas d'un disque en LV, sur le KVM hébergeant la machine virtuelle, vérifier la taille du LV de la VM en lançant la commande :
# lvdisplay /dev/vol_kvm1/vitrine-www2.ecomobilier.fr_root
--- Logical volume ---
LV Path /dev/vol_kvm1/vitrine-www2.ecomobilier.fr_root
LV Name vitrine-www2.ecomobilier.fr_root
VG Name vol_kvm1
LV UUID 3mK4HX-yA4C-LWEy-tA3Y-VgyO-lLCu-Q16aVt
LV Write Access read/write
LV Creation host, time kvm1.ecomobilier.fr, 2015-09-04 16:25:59 +0200
LV Status available
# open 1
LV Size 70.00 GiB
Récupérer la taille du LV (LV Size), vérifier qu il reste assez de place sur le volume en question (commande {{{vgs}}}) et créer le LV de destination : lvcreate -L$TAILLE -n $NOMDULV $NOMDUVG
Il est impératif de créer le LV de destination avant de faire le dd pour la copie. Vérifier avec la commande {{{pvs}}} que l'on ait bien la place sur le VG ou se trouvera le LV de backup.
Si on n'a pas la place sur un PV pour copier la VM, on peut la copier dans un fichier sur une partition locale : {{{dd if=/dev/vol_kvm1/vitrine-www2.ecomobilier.fr_root of=/root/vitrine-www2.ecomobilier.fr_root_backup bs=4M}}}.
* Création du LV de backup : On le créé de la même taille que le LV d'origine avec la commande : {{{lvcreate -L70G -n vitrine-www2.ecomobilier.fr_root_backup vol_kvm1}}}
* Copie du LV (la commande bs à la fin de la ligne est très important sinon cela va prendre des heures) : {{{dd if=/dev/vol_kvm1/vitrine-www2.ecomobilier.fr_root of=/dev/vol_kvm1/vitrine-www2.ecomobilier.fr_root_backup bs=4M}}}
Augmentation de la taille du LV d'origine
Augmentation de la partition volume pour atteindre une taille cible de 100 Gb (taille d'origine 70 Gb) :
lvextend -L +30G /dev/vol_kvm/rfs1-ppr.grdf.fr_data2-ppr.grdf.fr_data
/!\ Ici il y a une étape très importante pour voir qu'elle est le premier secteur du disque. Il faut faire un fdisk -u -l sur le LV : le -u sert à spécifier que l'on veut un affichage en mode secteur :
[root@] fdisk -u -l /dev/vol_kvm1/vitrine-www2.ecomobilier.fr_root
Device Boot Start End Blocks Id System
/dev/vol_kvm1/vitrine-www2.ecomobilier.fr_root1 2048 209715199 104856576 83 Linux
On voit bien que le secteur de "Start" est à 2048. Lorsque l'on va recréer la partition il faudra bien remettre le même nombre.
/!\ Il arrive parfois que des vieilles partitions apparaissent avec un secteur de départ à 63 et que fdisk force une re-création au 2048. Si vous validez ça sur un disque système, vous pétez la MBR.
Pour passer outre ce problème il faut lancer fdisk en forçant le secteur à 63. ex : {{{ fdisk -c -u -S 63 /dev/xxxxxxx }}}
* Si ca ne passe pas avec Fdisk qui dit que le "First sector" à 63 est out of range, on utilise parted :
[root@hv2.ants.interieur.gouv.fr mnt]# parted /dev/vol_hv2/xxxx
unit s (pour passer en sector)
print (pour afficher la table)
Model: Linux device-mapper (linear) (dm)
Disk /dev/dm-0: 754974720s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 63s 587202559s 587202497s primary ext3
rm 1 (pour supprimer la 1ere partition)
mkpart (pour créer)
Partition type? primary/extended? primary
File system type? [ext2]? ext4
Start? 63
End? 100%
(ici on a mis 100% pour lui dire qu il prenne toute la place possible)
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? I
(parted) print
Number Start End Size Type File system Flags
1 63s 754974719s 754974657s primary ext3
Suppression et recréation de la partition :
# fdisk -u /dev/vol_kvm/rfs2-ppr.grdf.fr_data }}}
/!\ On va supprimer la partition principale, puis recréer une partition primary, EN METTANT COMME PREMIER SECTEUR CELUI QU ON A RÉCUPÉRÉ CI DESSUS. Pour le dernier secteur, laisser celui par défaut.
Filesystem en Ext4
Fsck & resize2fs On "ouvre" les sous partitions du LV : kpartx -av /dev/vol_kvm1/vitrine-www2.ecomobilier.fr_root On fait un fsck sur la partition du LV : fsck -f /dev/mapper/vol_kvm1-vitrine--www2.ecomobilier.fr_root1 On resize la partition (cela est valable uniquement pour les linux, pour les windows ce n'est pas nécessaire) : resize2fs /dev/mapper/vol_kvm1-vitrine--www2.ecomobilier.fr_root1 On refait un fsck sur la partition du LV : fsck -f /dev/mapper/vol_kvm1-vitrine--www2.ecomobilier.fr_root1 On "referme" les sous partitions du LV : kpartx -d /dev/vol_kvm1/vitrine-www2.ecomobilier.fr_root Il ne reste plus qu'à redémarrer la VM et vérifier que l'on ait bien la bonne taille
Filesystem en Xfs
Augmentation de la partition volume pour atteindre une taille cible de 100 Gb (taille d'origine 70 Gb) :
lvextend -L +30G /dev/vol_kvm/rfs1-ppr.grdf.fr_data2-ppr.grdf.fr_data }}}
/!\ Ici il y a une étape très importante pour voir qu'elle est le premier secteur du disque. Il faut faire un fdisk -u -l sur le LV : le -u sert à spécifier que l'on veut un affichage en mode secteur
[root@] fdisk -u -l /dev/vol_kvm1/vitrine-www2.ecomobilier.fr_root
Device Boot Start End Blocks Id System
/dev/vol_kvm1/vitrine-www2.ecomobilier.fr_root1 2048 209715199 104856576 83 Linux
On voit bien que le secteur de "Start" est à 2048. Lorsque l'on va recréer la partition il faudra bien remettre le même nombre.
/!\ Il arrive parfois que des vieilles partitions apparaissent avec un secteur de départ à 63 et que fdisk force une re-création au 2048. Si vous validez ça sur un disque système, vous pétez la MBR.
Pour passer outre ce problème il faut lancer fdisk en forçant le secteur à 63. ex : {{{ fdisk -c=dos -u -S 63 /dev/xxxxxxx }}}
Suppression et recréation de la partition
# fdisk -u /dev/vol_kvm/rfs2-ppr.grdf.fr_data }}}
/!\ On va supprimer la partition principale, puis recréer une partition primary, EN METTANT COMME PREMIER SECTEUR CELUI QU ON A RÉCUPÉRÉ CI DESSUS. Pour le dernier secteur, laisser celui par défaut.
Surtout PAS de "Fsck & resize2fs" pour les Filesystem en XFS !!!!
On "ouvre" les sous partitions du LV :
kpartx -av /dev/vol_kvm/rfs2-ppr.grdf.fr_data
On fait un xfs_growfs sur le point de montage et non pas sur le driver directement !!
# mkdir -p /mnt/rfs2-ppr.grdf.fr_data
# mount /dev/mapper/vol_kvm-rfs2--ppr.grdf.fr_data1 /mnt/rfs2-ppr.grdf.fr_data
# xfs_growfs /mnt/rfs2-ppr.grdf.fr_data
# umount /opt/rfs2-ppr.grdf.fr_data
On "referme" les sous partitions du LV :
kpartx -d /dev/vol_kvm/rfs2-ppr.grdf.fr_data
Il ne reste plus qu'à redémarrer la VM et vérifier que l'on ait bien la bonne taille