« LVM » : différence entre les versions
De TwisterWiki
Ligne 127 : | Ligne 127 : | ||
resize2fs /dev/mapper/monVolumeGroup-monLogicalVolume | resize2fs /dev/mapper/monVolumeGroup-monLogicalVolume | ||
=== Exemple d'ajout d'espace === | === Exemple d'ajout d'espace sans reboot === | ||
* nous avons un disque de 16Go avec 2 VG (VG_root et VG_home) et une swap | * nous avons un disque de 16Go avec 2 VG (VG_root et VG_home) et une swap | ||
** /dev/sda1 : swap | ** /dev/sda1 : swap |
Version du 8 juillet 2020 à 08:09
LVM
LVM c'est quoi ?
- le LVM est une gestion des disques par des volumes logiques et modifiable à chaud
il y a trois termes à connaître
PV : Les disques durs, partitions de disques durs, volumes RAID ou unités logiques provenant d'un SAN forment des « volumes physiques » (physical volumes ou PV).
VG : On concatène les volumes physiques dans des « groupes de volumes » (volume groups ou VG). Ces VG sont équivalents à des pseudo-disques-durs.
LV : Des « volumes logiques » (logical volumes ou LV) sont alors découpés dans les groupes de volumes, puis formatés et montés dans des systèmes de fichiers ou utilisés en tant que raw devices. Les LV sont équivalents à des pseudo-partitions.
- schema explicatif
Les commandes utiles
- vgscan : scan les partitions LVM
root@debian:~# vgscan Reading all physical volumes. This may take a while... Found volume group "VG_home" using metadata type lvm2 Found volume group "VG_root" using metadata type lvm2
- vgchange -ay <monvolumeLVM> : permet d'activer la partition LVM voulue
- lvs : affiche le nom logique de la partition LVM
root@debian:~# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert home VG_home -wi-ao---- <2,96g root VG_root -wi-ao---- 11,17g
- vgdisplay: affiche des informations sur les VG
root@debian:~# vgdisplay --- Volume group --- VG Name VG_home System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 5 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 1 Max PV 0 Cur PV 2 Act PV 2 VG Size 10,95 GiB PE Size 4,00 MiB Total PE 2804 Alloc PE / Size 2804 / 10,95 GiB Free PE / Size 0 / 0 VG UUID 1CWo34-pSCo-xm7c-3oDe-Bm1g-ssZv-lc6l3l --- Volume group --- VG Name VG_root System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 2 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 1 Max PV 0 Cur PV 1 Act PV 1 VG Size 11,17 GiB PE Size 4,00 MiB Total PE 2860 Alloc PE / Size 2860 / 11,17 GiB Free PE / Size 0 / 0 VG UUID 0mBEyB-ulvn-uAlV-PLgX-Ukj0-Nyou-P75k1j
- lvdisplay : affiche des informations sur les LV
root@debian:~# lvdisplay --- Logical volume --- LV Path /dev/lv_home/home LV Name home VG Name lv_home LV UUID ksr3xP-1TMw-HmYl-i9bn-sbaV-D4xj-JEgQut LV Write Access read/write LV Creation host, time debian, 2020-06-25 11:56:28 +0200 LV Status available # open 1 LV Size 10,95 GiB Current LE 2804 Segments 2 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 254:1 --- Logical volume --- LV Path /dev/lv_root/root LV Name root VG Name lv_root LV UUID ebhyTn-QKjr-RZoc-AJob-o7FM-CidW-UMNtsw LV Write Access read/write LV Creation host, time debian, 2020-06-25 11:56:42 +0200 LV Status available # open 1 LV Size 11,17 GiB Current LE 2860 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 254:0
Ajouter de l'espace
- comment ajouter de l'espace à un volume LVM
il faut en premier lieu augmenter la taille du disque ou ajouter un nouveau disque
- exemple on ajoute une partition /dev/sda5
pvcreate /dev/sda5
- on agrandit le VG
vgextend monVolumeGroup /dev/sda5 et on créer un LVM dessus
- ajouter l'espace au volumeLogique
lvresize --size +500G /dev/mapper/monVolumeGroup-monLogicalVolume
- extension du VolumeLogique sur la partition ajoutée
lvextend /dev/mapper/monVolumeGroup-monLogicalVolume /dev/sda5
- agrandissement du file system
resize2fs /dev/mapper/monVolumeGroup-monLogicalVolume
Exemple d'ajout d'espace sans reboot
- nous avons un disque de 16Go avec 2 VG (VG_root et VG_home) et une swap
- /dev/sda1 : swap
- /dev/mapper/VG_root-root : 11,2 GiB (/dev/sda2)
- /dev/mapper/VG_home-home : 3 GiB (/dev/sda5)
root@debian:~# fdisk -l Disque /dev/sda : 16 GiB, 17179869184 octets, 33554432 secteurs Modèle de disque : VBOX HARDDISK Unités : secteur de 1 × 512 = 512 octets Taille de secteur (logique / physique) : 512 octets / 512 octets taille d'E/S (minimale / optimale) : 512 octets / 512 octets Type d'étiquette de disque : dos Identifiant de disque : 0xd741f2c0 Périphérique Amorçage Début Fin Secteurs Taille Id Type /dev/sda1 * 2048 3905535 3903488 1,9G 82 partition d'échange Linux / Solaris /dev/sda2 3905536 27342847 23437312 11,2G 8e LVM Linux /dev/sda3 27344894 33552383 6207490 3G 5 Étendue /dev/sda5 27344896 33552383 6207488 3G 8e LVM Linux Disque /dev/mapper/VG_root-root : 11,2 GiB, 11995709440 octets, 23429120 secteurs Unités : secteur de 1 × 512 = 512 octets Taille de secteur (logique / physique) : 512 octets / 512 octets taille d'E/S (minimale / optimale) : 512 octets / 512 octets Disque /dev/mapper/VG_home-home : 3 GiB, 3175088128 octets, 6201344 secteurs Unités : secteur de 1 × 512 = 512 octets Taille de secteur (logique / physique) : 512 octets / 512 octets taille d'E/S (minimale / optimale) : 512 octets / 512 octets
- Nous avons ajouter un second disque de 8Go pour étendre /home (sdb)
root@debian:~# fdisk -l Disque /dev/sda : 16 GiB, 17179869184 octets, 33554432 secteurs Modèle de disque : VBOX HARDDISK Unités : secteur de 1 × 512 = 512 octets Taille de secteur (logique / physique) : 512 octets / 512 octets taille d'E/S (minimale / optimale) : 512 octets / 512 octets Type d'étiquette de disque : dos Identifiant de disque : 0xd741f2c0 Périphérique Amorçage Début Fin Secteurs Taille Id Type /dev/sda1 * 2048 3905535 3903488 1,9G 82 partition d'échange Linux / Solaris /dev/sda2 3905536 27342847 23437312 11,2G 8e LVM Linux /dev/sda3 27344894 33552383 6207490 3G 5 Étendue /dev/sda5 27344896 33552383 6207488 3G 8e LVM Linux Disque /dev/sdb : 8 GiB, 8589934592 octets, 16777216 secteurs Modèle de disque : VBOX HARDDISK Unités : secteur de 1 × 512 = 512 octets Taille de secteur (logique / physique) : 512 octets / 512 octets taille d'E/S (minimale / optimale) : 512 octets / 512 octets Disque /dev/mapper/VG_root-root : 11,2 GiB, 11995709440 octets, 23429120 secteurs Unités : secteur de 1 × 512 = 512 octets Taille de secteur (logique / physique) : 512 octets / 512 octets taille d'E/S (minimale / optimale) : 512 octets / 512 octets Disque /dev/mapper/VG_home-home : 3 GiB, 3175088128 octets, 6201344 secteurs Unités : secteur de 1 × 512 = 512 octets Taille de secteur (logique / physique) : 512 octets / 512 octets taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Création de la partition sdb1
- on créer une partition primaire classique avec l'outils fdisk ou cfdisk
- on crée un volume physique lvm avec la commande pvcreate
root@debian:~# pvcreate /dev/sdb1 Physical volume "/dev/sdb1" successfully created. root@debian:~# pvs PV VG Fmt Attr PSize PFree /dev/sda2 VG_root lvm2 a-- 11,17g 0 /dev/sda5 VG_home lvm2 a-- <2,96g 0 /dev/sdb1 lvm2 --- <8,00g <8,00g
- on ajoute la partition /dev/sdb1 au volume group lv_home
root@debian:~# vgextend VG_home /dev/sdb1 Volume group "VG_home" successfully extended
- on agrandit la taille de /home
root@debian:~# lvresize --size +8G /dev/mapper/VG_home-home Insufficient free space: 2048 extents needed, but only 2047 available root@debian:~# lvresize --extents +2047 /dev/mapper/VG_home-home Size of logical volume VG_home/home changed from <2,96 GiB (757 extents) to 10,95 GiB (2804 extents). Logical volume VG_home/home successfully resized.
- on voit que le volume groupe à été augmenté de 8Go
root@debian:~# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert home VG_home -wi-ao---- 10,95g root VG_root -wi-ao---- 11,17g
- dernière étape on augmente la taille du file_system sur le LV
root@debian:~# resize2fs /dev/mapper/VG_home-home resize2fs 1.44.5 (15-Dec-2018) Filesystem at /dev/mapper/VG_home-home is mounted on /home; on-line resizing required old_desc_blocks = 1, new_desc_blocks = 2 The filesystem on /dev/mapper/VG_home-home is now 2871296 (4k) blocks long. root@debian:~# df -h Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur udev 983M 0 983M 0% /dev tmpfs 200M 3,0M 197M 2% /run /dev/mapper/VG_root-root 11G 1,5G 9,0G 14% / tmpfs 998M 0 998M 0% /dev/shm tmpfs 5,0M 0 5,0M 0% /run/lock tmpfs 998M 0 998M 0% /sys/fs/cgroup /dev/mapper/VG_home-home 11G 15M 11G 1% /home tmpfs 200M 0 200M 0% /run/user/0