GNU/Linux >> Linux Esercitazione >  >> Linux

Come ridimensionare la partizione LVM all'interno di una partizione estesa

Il ridimensionamento di un volume logico in Linux non è molto difficile e può essere ottenuto attraverso un approccio molto semplice. Ecco i soliti passaggi:

  1. Crea una nuova partizione sul disco rigido.
  2. Aggiungi la partizione che hai appena creato come volume fisico.
  3. Aggiungi il nuovo volume fisico al gruppo di volumi.
  4. Assegna spazio dal gruppo di volumi al volume logico.
  5. Ridimensiona il filesystem.

Ma in questo scenario, hai il filesystem di root (come partizione LVM) montato sotto una partizione estesa, non all'interno di una partizione primaria. Hai solo una partizione primaria che è montata su /boot e tutto lo spazio a riposo fa parte di quella partizione estesa.

Suona fastidioso? Lascia che ti mostri come ridimensionare LVM all'interno della partizione estesa.

Ridimensionamento della partizione LVM all'interno della partizione estesa

Sto usando un Linux installato nella macchina virtuale in questo tutorial.

Tieni presente che dovresti stare molto attento mentre gestisci le partizioni del disco.

Passaggio 1: Spegni la tua VM e aumenta le dimensioni del disco

Innanzitutto, spegni la VM e aumenta le dimensioni del disco. Qui, ho aumentato la dimensione del disco /dev/sda di 20 GB a circa 40 GB. Quindi avvia la tua VM e vai alla console.

Dai un'occhiata alle nostre partizioni del disco.

[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

Se analizzi lo spazio su disco con il comando df, ecco cosa mostra per me:

[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

Qui, l'obiettivo è aumentare la dimensione della partizione /dev/dm-0 che è montata su /dev/sda5.

Permettetemi di mostrare anche lo stato corrente dei volumi fisici, dei gruppi di volumi e dei volumi logici:

[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

Tutti hanno circa 20 GB di spazio di archiviazione assegnato loro.

Fase 2:inizia il processo di ridimensionamento LVM

Ecco i passaggi per ridimensionare la partizione LVM:

Apri l'utilità fdisk e guarda le partizioni:

[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

Elimina la partizione estesa (/dev/sda2) usando il comando d , che cancellerà automaticamente la partizione LVM sottostante che è /dev/sda5.

Command (m for help): d
Partition number (1-5): 2

Crea di nuovo una nuova partizione estesa usando il comando n con valori di inizio e fine cilindro predefiniti.

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

Crea una partizione logica (dev/sda5) utilizzando i valori di inizio e fine cilindro predefiniti.

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

Passa alla modalità esperto premendo x .

Command (m for help): x

Esegui il comando esperto b per regolare l'inizio della partizione (questo cambia la dimensione della partizione, non dove finisce). Immettere il valore iniziale come era prima prima di eliminare le partizioni. Ecco 501760.

Expert command (m for help): b
Partition number (1-5): 5
New beginning of data (499713-83886079, default 501760): 501760

Quindi esegui r per tornare al menu principale.

Expert command (m for help): r

Controlla il numero di partizione solo per essere sicuro.

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

Ora cambia il tipo di partizione in LVM premendo t comando e scegli il tipo 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)

Premi w per scrivere tutte le modifiche sul disco.

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.

Fase 3:apporta modifiche manuali al volume fisico e logico

Esegui il comando partprobe per informare il sistema operativo sulle modifiche alla tabella delle partizioni:

[email protected]:~# partprobe /dev/sda

Esegui il comando lsblk per vedere che /dev/sda5 ora ha una dimensione di circa 40 GB (per me).

[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  

Esegui il comando df e noterai che /dev/dm-0  mostra ancora i vecchi dettagli sulla dimensione:

[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

Lo stesso vale per i volumi fisici, i gruppi di volumi e i volumi logici:

[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

Dovrai fare un po' di lavoro manuale qui.

Ridimensiona il volume fisico:

[email protected]:~# pvresize /dev/sda5 
Physical volume "/dev/sda5" changed
1 physical volume(s) resized / 0 physical volume(s) not resized

Ora controlla il volume fisico e lo stato del gruppo del volume e verifica che mostri correttamente la nuova dimensione:

[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

Allo stesso modo, ridimensiona il volume logico:

[email protected]:~# lvextend -l +100%FREE /dev/ubuntu14-vg/root
  Extending logical volume root to 38.76 GiB
  Logical volume root successfully resized

Infine, ridimensiona il filesystem:

[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.

Verifica lo stato del disco e verifica che LVM sia ora ridimensionato correttamente:

[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

È tutto! Hai ridimensionato con successo la partizione LVM all'interno di una partizione estesa.

Domande o suggerimenti? Lascia un commento qui sotto.


Linux
  1. Come creare partizioni all'interno del dispositivo di loopback

  2. CentOS / RHEL:come aggiungere volume fisico (PV) a un gruppo di volumi (VG) in LVM

  3. Linux / UNIX:come creare una partizione estesa usando fdisk

  4. Come spostare lo scambio dalla partizione del disco al volume LVM in Linux

  5. Come ridimensionare (estendere) un file system basato su partizioni in Linux

Come estendere la partizione radice XFS senza LVM in Linux

Come creare o ridimensionare in sicurezza le partizioni in Linux usando GParted

Come ridimensionare un volume logico con 5 semplici comandi LVM

Come ridimensionare la partizione che si trova all'interno della partizione "linux Lvm"?

Come estendere una partizione di swap LVM in Linux

Gparted non può ridimensionare la partizione estesa o LVM