Do not speak Portuguese? Translate this site with Google or Bing Translator
Aumentar o disco rígido no amazon-aws-ec2-sem-reiniciar

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:

 

  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 ubuntu@ip-servidor-ec2-amazonCopiar

 

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/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:

 

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=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:

 

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/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


2

Share

Donate to Site


About Author

Renato

Developer

Add a Comment
Comments 0 Comments

No comments yet! Be the first to comment

Blog Search


Categories

OUTROS (16) Variados (109) PHP (133) Laravel (171) Black Hat (3) front-end (29) linux (114) postgresql (39) Docker (28) rest (5) soap (1) webservice (6) October (1) CMS (2) node (7) backend (13) ubuntu (56) devops (25) nodejs (5) npm (3) nvm (1) git (8) firefox (1) react (7) reactnative (5) collections (1) javascript (7) reactjs (8) yarn (0) adb (1) Solid (2) blade (3) models (1) controllers (0) log (1) html (2) hardware (3) aws (14) Transcribe (2) transcription (1) google (4) ibm (1) nuance (1) PHP Swoole (5) mysql (31) macox (4) flutter (1) symfony (1) cor (1) colors (2) homeOffice (2) jobs (3) imagick (2) ec2 (1) sw (1) websocket (2) markdown (1) ckeditor (1) tecnologia (14) faceapp (1) eloquent (14) query (4) sql (40) ddd (3) nginx (9) apache (4) certbot (1) lets-encrypt (3) debian (12) liquid (1) magento (2) ruby (1) LETSENCRYPT (1) Fibonacci (1) wine (1) transaction (1) pendrive (1) boot (1) usb (1) prf (1) policia (2) federal (1) lucena (1) mongodb (4) paypal (1) payment (1) zend (1) vim (4) ciencia (6) js (1) nosql (1) java (1) JasperReports (1) phpjasper (1) covid19 (1) saude (1) athena (1) cinnamon (1) phpunit (2) binaural (1) mysqli (3) database (42) windows (6) vala (1) json (2) oracle (1) mariadb (4) dev (12) webdev (24) s3 (4) storage (1) kitematic (1) gnome (2) web (2) intel (3) piada (1) cron (2) dba (18) lumen (1) ffmpeg (2) android (2) aplicativo (1) fedora (2) shell (4) bash (3) script (3) lider (1) htm (1) csv (1) dropbox (1) db (3) combustivel (2) haru (1) presenter (1) gasolina (1) MeioAmbiente (1) Grunt (1) biologia (1) programming (22) performance (3) brain (1) smartphones (1) telefonia (1) privacidade (1) opensource (3) microg (1) iode (1) ssh (3) zsh (2) terminal (3) dracula (1) spaceship (1) mac (2) idiomas (1) laptop (2) developer (37) api (5) data (1) matematica (1) seguranca (2) 100DaysOfCode (9) hotfix (1) documentation (1) laravelphp (10) RabbitMQ (3) Elasticsearch (1) redis (2) Raspberry (4) Padrao de design (4) JQuery (1) angularjs (4) Dicas (43) Kubernetes (3) vscode (2) backup (1) angular (3) servers (2) pipelines (1) AppSec (1) DevSecOps (4) rust (1) RustLang (1) Mozilla (1) algoritimo (1) sqlite (1) Passport (2) jwt (5) security (2) translate (1) kube (2) iot (1) politica (2) bolsonaro (1) flow (1) podcast (1) Brasil (1) containers (3) traefik (1) networking (1) host (1) POO (2) microservices (2) bug (1) cqrs (1) arquitetura (3) Architecture (4) sail (3) militar (1) artigo (1) economia (1) forcas armadas (1) ffaa (1) autenticacao (2) autorizacao (2) authentication (4) authorization (3) NoCookies (1) wsl (4) memcached (1) macos (2) unix (2) kali-linux (1) linux-tools (5) apple (1) noticias (2) composer (1) rancher (1) k8s (1) escopos (1) orm (1) jenkins (4) github (5) gitlab (3) queue (1) Passwordless (1) sonarqube (1) phpswoole (1) laraveloctane (1) Swoole (1) Swoole (1) octane (1) Structurizr (1) Diagramas (1) c4 (1) c4-models (1) compactar (1) compression (1) messaging (1) restfull (1) eventdrive (1) services (1) http (1) Monolith (1) microservice (1) historia (1) educacao (1) cavalotroia (1) OOD (0) odd (1) chatgpt (1) openai (3) vicuna (1) llama (1) gpt (1) transformers (1) pytorch (1) tensorflow (1) akitando (1) ia (1) nvidia (1) agi (1) guard (1) multiple_authen (2) rpi (1) auth (1) auth (1) livros (2) ElonMusk (2) Oh My Zsh (1) Manjaro (1) BigLinux (2) ArchLinux (1) Migration (1) Error (1) Monitor (1) Filament (1) LaravelFilament (1) replication (1) phpfpm (1) cache (1) vpn (1) l2tp (1) zorin-os (1) optimization (1) scheduling (1) monitoring (2) linkedin (1) community (1) inteligencia-artificial (2) wsl2 (1) maps (1) API_KEY_GOOGLE_MAPS (1) repmgr (1) altadisponibilidade (1) banco (1) modelagemdedados (1) inteligenciadedados (4) governancadedados (1) bancodedados (2) Observability (1) picpay (1) ecommerce (1) Curisidades (1) Samurai (1) KubeCon (1) GitOps (1) Axios (1) Fetch (1) Deepin (1) vue (4) nuxt (1) PKCE (1) Oauth2 (2) webhook (1) TypeScript (1) tailwind (1) gource (2)

New Articles



Get Latest Updates by Email