Como aumentar o tamanho do disco rígido no amazon-aws-ec2-sem-reiniciar

Vamos ver como aumentar o tamanho de um disco rígido sem precisar reiniciar o computador em uma instância do Amazon AWS EC2. Recentemente, tive a necessidade de expandir o tamanho de uma instância do EC2 e procurar no Google as únicas opções que existiam: o tipo: desligar o computador, desvincular o disco rígido, criar um instantâneo, criar outro drive EBS, etc … achei que teria que há algo mais recente e que permitiria um redimensionamento sem reiniciar o computador, algo mais simples!

Então, aqui estão os passos que você deve seguir:

  1. Aumentar o tamanho da unidade EBS no console da Amazon
  2. Configure o sistema operacional para aplicar o novo tamanho da unidade

Para este exemplo, criei uma instância do EC2 t2.micro com 8 GB de espaço com o sistema operacional Ubuntu Server 16.04 LTS (HVM), SSD Volume Type. O objetivo é expandi-lo para 32 GB.

Aumentar o tamanho da unidade EBS no console da Amazon

A primeira é do próprio painel da AWS até a seção “ELASTIC BLOCK STORE” e clique em “Volumes”. Lá teremos as unidades EBS que temos. Caso você tenha vários, certifique-se de selecionar a unidade EBS associada à instância do EC2.

Clique com o botão direito do mouse na unidade EBS e clique na opção “Modify Volume”.

Clicar em abrirá uma janela modal onde você poderá inserir o novo tamanho desejado, no nosso caso, foi 8 e colocamos 32 para obter os 32GB desejados:

Após a introdução do novo tamanho, clique em “Modificar” para aplicar as alterações. Mas primeiro obteremos a seguinte janela de confirmação:

Isso nos alerta que pode levar algum tempo para fazer essa alteração, lembre-se de que, se você já possui um disco rígido com muitas coisas ou um projeto em produção, essa pode não ser a melhor maneira de fazer a alteração.

Clique em Sim e ele nos notificará que o processo foi iniciado. Isso pode demorar um pouco, dependendo do tamanho inicial e desejado. No nosso caso, demos o ícone para atualizar o estado e já o vemos indicado com o novo tamanho:

Com isso, finalizamos a primeira parte, que é aumentar o tamanho da unidade EBS.

Configure o sistema operacional para aplicar o novo tamanho da unidade

Nesta etapa, temos que configurar o sistema operacional, neste caso o Ubuntu, para que ele detecte o novo tamanho, executaremos os seguintes comandos.

Primeiro, conectamos por ssh à instância do EC2:

ssh -i clave.pem [email protected]Copiar

Uma vez conectado, podemos executar o comando  lsblk para ver o status do espaçamento da unidade, no nosso caso, temos algo parecido com isto:

[email protected]:~$ lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  32G  0 disk
└─xvda1 202:1    0   8G  0 part /Copiar

Podemos ver que o xvda tem 32 GB, mas no xvda1 estamos usando apenas o 8G que originalmente possuímos.Se rodarmos df -h para ver o espaço atual:

[email protected]:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            488M     0  488M   0% /dev
tmpfs           100M  3.1M   97M   4% /run
/dev/xvda1      7.7G  846M  6.9G  11% /
tmpfs           496M     0  496M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           496M     0  496M   0% /sys/fs/cgroup
tmpfs           100M     0  100M   0% /run/user/1000Copiar

Agora, executaremos o seguinte comando para estender a unidade, neste caso xvda1, ao máximo possível (atenção ao espaço em branco entre xvda e 1):

sudo growpart /dev/xvda 1Copiar

Teremos algo como isto:

[email protected]:~$ sudo growpart /dev/xvda 1
CHANGED: partition=1 start=2048 old: size=16775135 end=16777183 new: size=67106783,end=67108831Copiar

E, finalmente, executamos o seguinte comando para instruir o sistema de arquivos a usar esse novo espaço disponível:

sudo resize2fs /dev/xvda1Copiar

Receberemos uma mensagem como esta:

[email protected]:~$ sudo resize2fs /dev/xvda1
resize2fs 1.42.13 (17-May-2015)
Filesystem at /dev/xvda1 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 2
The filesystem on /dev/xvda1 is now 8388347 (4k) blocks long.Copiar

Isso é tudo! Para verificar se tudo funcionou corretamente, podemos executar novamente o comando  lsblk:

[email protected]:~$ lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  32G  0 disk
└─xvda1 202:1    0  32G  0 part /Copiar

E o comando df -h:

[email protected]:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            488M     0  488M   0% /dev
tmpfs           100M  3.1M   97M   4% /run
/dev/xvda1       31G  848M   31G   3% /
tmpfs           496M     0  496M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           496M     0  496M   0% /sys/fs/cgroup
tmpfs           100M     0  100M   0% /run/user/1000Copiar

Você já tem mais espaço no disco rígido! 

Loguei no meu banco de dados no docker, e não perdi nada que estava gravado.

Espero que você ache útil! Se você conhece algum outro método ou alguma outra dica / truque, deixe-me um comentário!

Referências utilizadas:

  1. http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/recognize-expanded-volume-linux.html
Resultado de imagem para aumentar disco ec2 linux aws

Renato de Oliveira Lucena – 03/12/2019

Renato Lucena

Developer PHP, Laravel. Goiania-GO https://www.linkedin.com/in/renato-de-oliveira-lucena-33777133/

Você pode gostar...