Pular para o conteúdo principal

Alterar o tamanho da partição root no Ubuntu via linha de comando.

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

Postagens mais visitadas deste blog

Como colocar o PyCharm no launcher do Ubuntu

Atualizei recentemente meu pycharm para a versão 2018.1. A atualização basicamente consiste em baixar do site da Jetbrains  dedicado ao PyCharm, e depois do download basta descompactar e mover o diretório criado para você você achar mais adequado. No meu caso está em ~/bin/pycharm. Para rodar o pycharm é só executar o script pycharm.sh que está no diretório bin dentro do diretório do pycharm, isto é, no meu caso ~/bin/pycharm/bin/pycharm.sh. Eu queria ter o ícone do pycharm no launcher (aquela barra lateral do Ubuntu) para ficar mais fácil chamá-lo. O PyCharm pode criar seu próprio ícone de lançador, contudo ele não é cria por padrão. A gente tem que executar alguns comandos: 1) Comece chamando o PyCharm em um terminal. 2) No menu Ferramentas, selecione "Criar entrada da área de trabalho ..." 3) Se você já tem o PyCharm, ele irá perguntar se você quer reaproveitar as configurações da versão anterior: 4) Marque a caixa correspondente, se você quiser o lanç...

Configurar a ação do Ubuntu 20 ao fechar a tela do notebook

Este post mostra como alterar a ação quando a tampa do laptop é fechada no Ubuntu 20.04 - por exemplo, desligar, hibernar, não fazer nada ou travar a tela. A ação padrão do Ubuntu é suspender a atividade do notebook. Até onde eu sei, até o momento deste post não existe uma opção gráfica para fazer esta configuração, portanto você precisa editar o arquivo logind.conf para alterar a ação. Esta configuração deve funcionar em instalações tipo desktop ou servidor do Ubuntu. Você precisa abrir o terminal (normalmente isto pode ser feito pressionando simultaneamente Ctrl + Alt + T). Com o terminal aberto você pode utilizar um editor para alterar as linhas que controlam a ação. Por exemplo, digite na linha de comando: sudo vi /etc/systemd/logind.conf No arquivo procure a linha (note the # indica que a linha está comentada) # HandleLidSwitch = suspend e altere-a para uma das seguintes opções (note que agora a linha não começa mais com #) - trava o desktop quando a tampa está fechada: HandleLidS...

Resetando a senha do administrador local no Windows Server 2012

Existem diversas formas de redefinir a senha em seu servidor Windows 2012 quando você esqueceu ela. Neste post mostraremos como alterar a senha do usuário administrador, quando você tem acesso físico à ele. Você precisará do DVD de instalação do Windows para fazer isto. São os seguintes passos: 1-) Reinicie o seu computador dando boot pelo DVD do Microsoft Windows Server 2012 (pode ser outra versão) 2-) No menu Instalação do Windows (mostrado abaixo), clique em "Avançar". 3-) Selecione "Reparar seu computador" Como estamos utilizando o DVD do Windows 2008 para reparar um Windows 2012, o seguinte aviso é mostrado. Concorde clicando em Next. 4-) Clique em "Aviso de comando" para abrir uma janela de comandos. 5-) No prompt de comando, execute os seguintes comandos: d: cd windows\system32 ren Utilman.exe Utilman.exe.old copy cmd.exe Utilman.exe 5-) Feche o prompt de comando e clique em "Reiniciar". 6-) O serv...