Posted on: December 03, 2019 12:18 PM
Posted by: Renato
Categories: linux postgresql Docker aws
Views: 1610
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:
- Aumentar o tamanho da unidade EBS no console da Amazon
- 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 ubuntu@ip-servidor-ec2-amazon
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:
ubuntu@ip-172-31-45-171:~$ 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:
ubuntu@ip-172-31-45-171:~$ 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/1000
Copiar
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 1
Copiar
Teremos algo como isto:
ubuntu@ip-172-31-45-171:~$ sudo growpart /dev/xvda 1
CHANGED: partition=1 start=2048 old: size=16775135 end=16777183 new: size=67106783,end=67108831
Copiar
E, finalmente, executamos o seguinte comando para instruir o sistema de arquivos a usar esse novo espaço disponível:
sudo resize2fs /dev/xvda1
Copiar
Receberemos uma mensagem como esta:
ubuntu@ip-172-31-45-171:~$ 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:
ubuntu@ip-172-31-45-171:~$ 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:
ubuntu@ip-172-31-45-171:~$ 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/1000
Copiar
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:
Renato de Oliveira Lucena - 03/12/2019
Donate to Site
Renato
Developer