Il ridimensionamento di un volume logico in Linux non è molto difficile e può essere ottenuto attraverso un approccio molto semplice. Ecco i soliti passaggi:
- Crea una nuova partizione sul disco rigido.
- Aggiungi la partizione che hai appena creato come volume fisico.
- Aggiungi il nuovo volume fisico al gruppo di volumi.
- Assegna spazio dal gruppo di volumi al volume logico.
- 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.