Então, meu problema estava em como eu estava fazendo a exclusão e a recriação da partição. Eu estava ficando desarmado por fdisk
e o fato de que ele estava mostrando o local de partida não em setores. Quando eu invoco corretamente fdisk
da seguinte forma:
$ sudo fdisk -c -u /dev/vda
Command (m for help): p
Disk /dev/vda: 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: 0x0004064e
Device Boot Start End Blocks Id System
/dev/vda1 * 2048 31459327 15728640 83 Linux
Era óbvio que eu não estava mantendo o setor inicial alinhado quando criei a nova partição.
Da orientação de uso do fdisk:
Options:
-c switch off DOS-compatible mode
-u <size> give sizes in sectors instead of cylinders
Então, simplesmente prestando atenção especial a esse detalhe, e eu pude fazer o seguinte processo para estender a partição da minha VM usando todo o espaço disponível no disco rígido.
Processo para redimensionar
Para excluir a partição existente:
Command (m for help): d
Selected partition 1
Agora adicione o novo:
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First sector (2048-83886079, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-83886079, default 83886079):
Using default value 83886079
Torne-o inicializável:
Command (m for help): a
Partition number (1-4): p
Partition number (1-4): 1
E confirme tudo isto:
Command (m for help): p
Disk /dev/vda: 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: 0x0004064e
Device Boot Start End Blocks Id System
/dev/vda1 * 2048 83886079 41942016 83 Linux
Confirme com o HDD:
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.
Agora reinicie o sistema e faça um resize2fs, se necessário:
$ sudo resize2fs /dev/vda1
resize2fs 1.41.12 (17-May-2010)
The filesystem is already 10485504 blocks long. Nothing to do!
E confirme:
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 40G 807M 37G 3% /
tmpfs 1.9G 0 1.9G 0% /dev/shm