Redimensionando partições de disco no Linux

Recomendo usar o utilitário “parted”, pois o “fdisk” precisa remover e recriar a partição. O risco é muito maior de dar problema.

No exemplo abaixo vamos redimencionar a partição 2 do disco /dev/sda para ocupar todo o espaço livre existente no disco. Esse espaço foi gerado quando o disco foi aumentado no VMware (ou outro virtualizador qualquer) ou quando fez um clone para um disco maior.

# parted /dev/sda
GNU Parted 3.2
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Model: VMware Virtual disk (scsi)
Disk /dev/sda: 268GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number Start End Size Type File system Flags
1 1049kB 1075MB 1074MB primary ext4 boot
2 1075MB 172GB 171GB primary lvm

(parted) resizepart 2 100%
(parted) print
Model: VMware Virtual disk (scsi)
Disk /dev/sda: 268GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number Start End Size Type File system Flags
1 1049kB 1075MB 1074MB primary ext4 boot
2 1075MB 268GB 267GB primary lvm

(parted) quit
Information: You may need to update /etc/fstab.

Depois disso, sendo a partição um LVM, basta expandir o PV:

# pvresize /dev/sda2
Physical volume "/dev/sda2" changed
1 physical volume(s) resized or updated / 0 physical volume(s) not resized

Depois disso o procedimento para expandir o volume logico LV é o mesmo de quando é feita adição de novos discos.

# lvextend -r -l +100%FREE /dev/cl_aplprd01dc/root
Size of logical volume cl_aplprd01dc/root changed from <151.00 GiB (38655 extents) to <241.00 GiB (61695 extents).
Logical volume cl_aplprd01dc/root successfully resized.
meta-data=/dev/mapper/cl_aplprd01dc-root isize=512 agcount=4, agsize=9895680 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=39582720, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=19327, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 39582720 to 63175680