Le redimensionnement d'un volume logique sous Linux n'est pas très difficile et peut être réalisé grâce à une approche très simple. Voici les étapes habituelles :
- Créer une nouvelle partition sur le disque dur.
- Ajoutez la partition que vous venez de créer en tant que volume physique.
- Ajoutez le nouveau volume physique au groupe de volumes.
- Attribuez de l'espace du groupe de volumes au volume logique.
- Redimensionner le système de fichiers.
Mais dans ce scénario, vous avez le système de fichiers racine (en tant que partition LVM) monté sous une partition étendue, et non dans une partition principale. Vous n'avez qu'une seule partition principale qui est montée sur /boot et tout l'espace fait partie de cette partition étendue.
Cela semble gênant ? Laissez-moi vous montrer comment redimensionner LVM dans une partition étendue.
Redimensionner la partition LVM à l'intérieur de la partition étendue
J'utilise un Linux installé dans une machine virtuelle dans ce tutoriel.
Veuillez garder à l'esprit que vous devez être très prudent lorsque vous manipulez des partitions de disque.Étape 1 : Éteignez votre VM et augmentez la taille du disque
Tout d'abord, arrêtez votre machine virtuelle et augmentez la taille du disque. Ici, j'ai augmenté la taille du disque /dev/sda de 20 Go à environ 40 Go. Ensuite, démarrez votre VM et accédez à la console.
Jetez un œil à nos partitions de disque.
[email protected]:~# fdisk -l
Disk /dev/sda: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders, total 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000a975f
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 499711 248832 83 Linux
/dev/sda2 501758 41940991 20719617 5 Extended
/dev/sda5 501760 41940991 20719616 8e Linux LVM
Si vous analysez l'espace disque avec la commande df, voici ce que cela me montre :
[email protected]:~# df -hT
Filesystem Type Size Used Avail Use% Mounted on
udev devtmpfs 989M 4.0K 989M 1% /dev
tmpfs tmpfs 201M 716K 200M 1% /run
/dev/dm-0 ext4 19G 1.5G 16G 9% /
none tmpfs 4.0K 0 4.0K 0% /sys/fs/cgroup
none tmpfs 5.0M 0 5.0M 0% /run/lock
none tmpfs 1001M 0 1001M 0% /run/shm
none tmpfs 100M 0 100M 0% /run/user
/dev/sda1 ext2 236M 40M 184M 18% /boot
Ici, le but est d'augmenter la taille de la partition /dev/dm-0 qui est montée sur /dev/sda5.
Permettez-moi également d'afficher l'état actuel des volumes physiques, des groupes de volumes et des volumes logiques :
[email protected]:~# lvs
LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert
root ubuntu14-vg -wi-ao--- 18.74g
swap_1 ubuntu14-vg -wi-ao--- 1020.00m
[email protected]:~# pvs
PV VG Fmt Attr PSize PFree
/dev/sda5 ubuntu14-vg lvm2 a-- 19.76g 20.00m
[email protected]:~# vgs
VG #PV #LV #SN Attr VSize VFree
ubuntu14-vg 1 2 0 wz--n- 19.76g 20.00m
Ils disposent tous d'environ 20 Go d'espace de stockage qui leur sont attribués.
Étape 2 :Commencer le processus de redimensionnement LVM
Voici les étapes pour redimensionner la partition LVM :
Ouvrez l'utilitaire fdisk et regardez les partitions :
[email protected]:~# fdisk /dev/sda
Command (m for help): p
Disk /dev/sda: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders, total 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000a975f
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 499711 248832 83 Linux
/dev/sda2 501758 41940991 20719617 5 Extended
/dev/sda5 501760 41940991 20719616 8e Linux LVM
Supprimez la partition étendue (/dev/sda2) à l'aide de la commande d
, qui supprimera automatiquement la partition LVM sous-jacente qui est /dev/sda5.
Command (m for help): d
Partition number (1-5): 2
Créez à nouveau une nouvelle partition étendue à l'aide de la commande n
avec des valeurs de cylindre de début et de fin par défaut.
Command (m for help): n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): e
Partition number (1-4, default 2):
Using default value 2
First sector (499712-83886079, default 499712):
Using default value 499712
Last sector, +sectors or +size{K,M,G} (499712-83886079, default 83886079):
Using default value 83886079
Command (m for help): p
Disk /dev/sda: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders, total 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000a975f
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 499711 248832 83 Linux
/dev/sda2 499712 83886079 41693184 5 Extended
Créez une partition logique (dev/sda5) en utilisant les valeurs de cylindre de début et de fin par défaut.
Command (m for help): n
Partition type:
p primary (1 primary, 1 extended, 2 free)
l logical (numbered from 5)
Select (default p): l
Adding logical partition 5
First sector (501760-83886079, default 501760):
Using default value 501760
Last sector, +sectors or +size{K,M,G} (501760-83886079, default 83886079):
Using default value 83886079
Passez en mode expert en appuyant sur x
.
Command (m for help): x
Exécutez la commande experte b
pour ajuster le début de la partition (cela change la taille de la partition, pas où elle se termine). Entrez la valeur de départ telle qu'elle était avant la suppression des partitions. Ici c'est 501760.
Expert command (m for help): b
Partition number (1-5): 5
New beginning of data (499713-83886079, default 501760): 501760
Ensuite, exécutez r
pour revenir au menu principal.
Expert command (m for help): r
Vérifiez le numéro de partition juste pour vous en assurer.
Command (m for help): p
Disk /dev/sda: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders, total 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000a975f
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 499711 248832 83 Linux
/dev/sda2 499712 83886079 41693184 5 Extended
/dev/sda5 501760 83886079 41692160 83 Linux
Changez maintenant le type de partition en LVM en appuyant sur t
commande et choisissez le type 8e
.
Command (m for help): t
Partition number (1-5): 5
Hex code (type L to list codes): 8e
Changed system type of partition 5 to 8e (Linux LVM)
Appuyez sur w
pour écrire toutes les modifications sur le disque.
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
Étape 3 :Apporter des modifications manuelles au volume physique et logique
Exécutez la commande partprobe pour informer le système d'exploitation des modifications de la table de partition :
[email protected]:~# partprobe /dev/sda
Exécutez la commande lsblk pour voir que /dev/sda5 a maintenant une taille d'environ 40 Go (pour moi).
[email protected]:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 243M 0 part /boot
├─sda2 8:2 0 1K 0 part
└─sda5 8:5 0 39.8G 0 part
├─ubuntu14--vg-root (dm-0) 252:0 0 18.8G 0 lvm /
└─ubuntu14--vg-swap_1 (dm-1) 252:1 0 1020M 0 lvm [SWAP]
sr0 11:0 1 1024M 0 rom
Exécutez la commande df et vous remarquerez que /dev/dm-0 affiche toujours les détails de l'ancienne taille :
[email protected]:~# df -hT
Filesystem Type Size Used Avail Use% Mounted on
udev devtmpfs 989M 4.0K 989M 1% /dev
tmpfs tmpfs 201M 716K 200M 1% /run
/dev/dm-0 ext4 19G 1.5G 16G 9% /
none tmpfs 4.0K 0 4.0K 0% /sys/fs/cgroup
none tmpfs 5.0M 0 5.0M 0% /run/lock
none tmpfs 1001M 0 1001M 0% /run/shm
none tmpfs 100M 0 100M 0% /run/user
/dev/sda1 ext2 236M 40M 184M 18% /boot
Il en va de même pour les volumes physiques, les groupes de volumes et les volumes logiques :
[email protected]:~# lvs
LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert
root ubuntu14-vg -wi-ao--- 18.74g
swap_1 ubuntu14-vg -wi-ao--- 1020.00m
[email protected]:~# pvs
PV VG Fmt Attr PSize PFree
/dev/sda5 ubuntu14-vg lvm2 a-- 19.76g 20.00m
[email protected]:~# vgs
VG #PV #LV #SN Attr VSize VFree
ubuntu14-vg 1 2 0 wz--n- 19.76g 20.00m
Vous devrez faire un effort manuel ici.
Redimensionnez le volume physique :
[email protected]:~# pvresize /dev/sda5
Physical volume "/dev/sda5" changed
1 physical volume(s) resized / 0 physical volume(s) not resized
Vérifiez maintenant l'état du volume physique et du groupe de volumes et vérifiez qu'il affiche correctement la nouvelle taille :
[email protected]:~# pvs
PV VG Fmt Attr PSize PFree
/dev/sda5 ubuntu14-vg lvm2 a-- 39.76g 20.02g
[email protected]:~# vgs
VG #PV #LV #SN Attr VSize VFree
ubuntu14-vg 1 2 0 wz--n- 39.76g 20.02g
De même, redimensionnez le volume logique :
[email protected]:~# lvextend -l +100%FREE /dev/ubuntu14-vg/root
Extending logical volume root to 38.76 GiB
Logical volume root successfully resized
Enfin, redimensionnez le système de fichiers :
[email protected]:~# resize2fs /dev/ubuntu14-vg/root
resize2fs 1.42.9 (4-Feb-2014)
Filesystem at /dev/ubuntu14-vg/root is mounted on /; on-line resizing required
old_desc_blocks = 2, new_desc_blocks = 3
The filesystem on /dev/ubuntu14-vg/root is now 10161152 blocks long.
Vérifiez l'état du disque et voyez que LVM est maintenant redimensionné correctement :
[email protected]:~# df -hT
Filesystem Type Size Used Avail Use% Mounted on
udev devtmpfs 989M 4.0K 989M 1% /dev
tmpfs tmpfs 201M 716K 200M 1% /run
/dev/dm-0 ext4 39G 1.5G 35G 4% /
none tmpfs 4.0K 0 4.0K 0% /sys/fs/cgroup
none tmpfs 5.0M 0 5.0M 0% /run/lock
none tmpfs 1001M 0 1001M 0% /run/shm
none tmpfs 100M 0 100M 0% /run/user
/dev/sda1 ext2 236M 40M 184M 18% /boot
C'est tout! Vous avez redimensionné avec succès la partition LVM à l'intérieur d'une partition étendue.
Question ou suggestion ? Laissez un commentaire ci-dessous.