Este exemplo temos um computador cujo disco principal tem algum espaço livre (veja a saída de parted abaixo) e queremos alocá-lo para a partição de root (/). Contudo o acesso que temos ao computador é remoto via ssh. O que fazer?
Como está o nosso servidor
h3dema@station01:~$ df
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 59G 35G 21G 63% /
/dev/sda2 512M 6.1M 506M 2% /boot/efi
Observação: Removi da saída acima as linhas com tempfs.
h3dema@station01:~$ sudo parted /dev/sda
GNU Parted 3.4
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print free
Model: QEMU QEMU HARDDISK (scsi)
Disk /dev/sda: 85.9GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
17.4kB 1049kB 1031kB Free Space
1 1049kB 2097kB 1049kB bios_grub
2 2097kB 540MB 538MB fat32 EFI System Partition boot, esp
3 540MB 64.4GB 63.9GB ext4
64.4GB 85.9GB 21.5GB Free Space
Vemos que temos um espaço livre de ~21GB no disco. Este espaço pode ser alocado para sda3. Note que tivemos que utilizar "print free" para ver também o espaço livre de disco. O comando "print" só mostra as partições criadas (isto é, 1, 2, e 3 mostrado acima).
Fazendo a alteração da partição
Podemos fazer a alteração utilizando o parted:
h3dema@station01:~$ sudo parted /dev/sda
GNU Parted 3.4
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) resizepart 3 100%
Warning: Partition /dev/sda3 is being used. Are you sure you want to continue?
Yes/No? yes
(parted) print
Model: QEMU QEMU HARDDISK (scsi)
Disk /dev/sda: 85.9GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 2097kB 1049kB bios_grub
2 2097kB 540MB 538MB fat32 EFI System Partition boot, esp
3 540MB 85.9GB 85.4GB ext4
Você precisa reiniciar o computador.
Crescer o sistema de arquivos
Contudo ao reiniciar você irá notar que a partição cresceu, por exemplo, usando parted, você irá notar que agora tem ~80GB.
Contudo se você usar novamente "df " para ver o espaço em disco verá que o espaço não foi todo preenchido (a saída ainda irá mostrar 59GB como antes).
Para ilustrar melhor o problema, vamos abrir a versão gráfica de parted -- chamada gparted.
Lembre-se que deveríamos estar alterando um servidor remoto via SSH e que não tem uma interface gráfica.
Na tela do gparted notamos uma exclamação em vermelho na partição /dev/sda3.
Se solicitamos informações sobre esta partição, gparted irá mostrar a seguinte mensagem:
Ou seja, ainda precisamos crescer o sistema de arquivos. É por isto que "df" não mostra o tamanho que esperávamos.
Gparted ou parted não permitem crescer o sistema de arquivos de uma partição montada.
Contudo temos um outro recurso: resize2fs.
Com ele podemos fazer esta alteração como mostrado abaixo.
h3dema@station01:~$ sudo resize2fs /dev/sda3
resize2fs 1.46.5 (30-Dec-2021)
Filesystem at /dev/sda3 is mounted on /; on-line resizing required
old_desc_blocks = 8, new_desc_blocks = 10
The filesystem on /dev/sda3 is now 20839675 (4k) blocks long.
As partições agora ficaram (note que removi as linhas com tempfs):
h3dema@station01:~$ df
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 78G 35G 40G 47% /
/dev/sda2 512M 6.1M 506M 2% /boot/efi
Apesar da alteração estar sendo mostrada, recomendo que você reinicie o computador novamente.
Resumindo:
- Use parted para alterar o tamanho da partição
- Use resize2fs para crescer o tamanho do sistema de arquivos e ocupar todo o espaço que você adicionou com parted.
Observações
1- Você pode solicitar ao parted a informação de disco livre sem ter que usar o modo iterativo mostrado acima. O comando é
sudo parted -s -a opt /dev/sda "print free"
2- Se você for alterar uma partição que pode ser desmontada (não é nosso caso neste exemplo), você também pode
sudo parted -s -a opt /dev/sda "resizepart 3 100%"
No nosso exemplo, o comando acima irá tentar executar, mas não será capaz de emitir a mensagem para alterar uma partição em uso (que aparece no modo iterativo).
3- Note que não informamos no comando resize2fs qual o tamanho desejamos crescer o sistema de arquivos. Assim, ele irá crescer até 100 % do tamanho da partição. Você pode especificar um tamanho. Leia mais aqui.
Comentários
Postar um comentário