GNU/Linux >> Tutoriels Linux >  >> Linux

Comment redimensionner une partition LVM à l'intérieur d'une partition étendue

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 :

  1. Créer une nouvelle partition sur le disque dur.
  2. Ajoutez la partition que vous venez de créer en tant que volume physique.
  3. Ajoutez le nouveau volume physique au groupe de volumes.
  4. Attribuez de l'espace du groupe de volumes au volume logique.
  5. 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.


Linux
  1. Comment utiliser GParted pour créer et redimensionner facilement des partitions

  2. Lum – Comment étendre une partition avec un LVM et le volume physique contenu et le volume logique ?

  3. Comment étendre une partition swap LVM sous Linux

  4. Comment changer un système de partition physique en LVM ?

  5. Redimensionner LVM sans perte de données

Comment étendre la partition racine XFS sans LVM sous Linux

Comment créer ou redimensionner en toute sécurité des partitions sous Linux à l'aide de GParted

Comment redimensionner un volume logique avec 5 commandes LVM simples

Comment redimensionner la partition qui se trouve à l'intérieur de la partition "linux Lvm" ?

Comment redimensionner (étendre) un système de fichiers basé sur des partitions sous Linux

Gparted ne peut pas redimensionner la partition étendue ou LVM