© 2019 by Douglas.

Created with Wix.com

  • Branca ícone do YouTube
  • Branca Ícone LinkedIn
  • White Facebook Icon
  • White Instagram Icon

APLICANDO SOLUÇÕES INTELIGENTES

Como diminuir EBS root drive de servidores LINUX na AWS

    É muito comum, na hora de dimensionar um servidor para uma nova aplicação, os administradores alocarem muito mais recursos do que realmente é necessário e depois de deixar a aplicação rodando por determinado tempo muitas vezes nota-se que o servidor foi superdimensionado.

    Como você já deve saber, com as facilidades da virtualização é muito fácil alterar o tamanho de memória e CPU de um servidor, mas você já pensou sobre diminuir tamanho de um volume? 

 

   Quando essa pergunta vem à tona eu sempre ouço coisas do tipo : Aumentar dá mas diminuir não, não da pra garantir a integridade dos dados, tem que ter coragem pra fazer isso, não é possível.. e mais algumas desculpas...

 

   Hoje eu quero mostrar pra vocês como reduzir um volume EBS dentro da AWS. Mas não um simples volume de dados que qualquer cp e rsync resolve, mas sim o volume do sistema operacional... Então vamos lá !

 

1- Primeiro de tudo gere um snapshot do seu EBS root drive que você deseja reduzir (/dev/xvda1 ou /dev/sda1)

 

2 - Quando seu snapshot estiver criado gere um volume EBS do snapshot, isso será necessário para você mover os dados sem editar o volume de produção.

 

3 - Quando o volume estiver criado, anexe ele no seu servidor. Mas anexe ele como um volume adicional. No meu exemplo ele será o /dev/xvdf.

   ** Não é obrigado ser no mesmo servidor, mas ele será necessário na hora de reinstalar o grub no volume. Caso você faça esse procedimento em outro servidor ele pode instalar módulos e configurações diferentes no seu volume. E isso fará com que o servidor não ligue! **

 

4- Monte seu volume de backup no /dev/xvdf :

   4.1 mkdir /volume_original

   4.2 mount /dev/xvdf1 /volume_original

 

5 - Agora crie um novo volume com o tamanho novo que você quer, lembrando que o tamanho será inferior. Se for pra ser superior nada desse post é necessário!

 

6 - Anexe o volume novo no servidor que você anexou o volume do item 3. No meu caso esse volume novo foi anexado como /dev/xvdg

 

7 - Formate seu volume novo. Eu vou usar ext4 pois meu servidor é ubuntu, porém ext4 já irá funcionar e todas versões. Minha sugestão é seguir a mesma versão do seu SO. caso você não saiba o comando "cat /etc/fstab" irá mostrar.

    7.1 mkfs.ext4 /dev/xvdg

 

8 - Monte o volume no seu sistema operacional:

    8.1 mkdir /volume_novo

    8.2 mount /dev/xvdg /volume_novo

 

9 - Execute uma cópia dos dados. Eu não conheco ferramenta melhor que o rsync pra fazer isso. ele já é nativo e irá te ajudar.

    9.1 rsync -avx /volume_original/ /volume_novo/

 

10 - Dependendo o tipo de volume que você estiver usando pode demorar MUITO para finalizar o rsync.. então utilize o seguinte script pra te ajudar a ter uma estimativa de quanto tempo isso vai levar :

11 - Quando finalizar a cópia . Copie o LABEL do volume backup para o novo.

      11.1 - e2label /dev/xvdf1     #copie o label que ele mostrar. por exemplo : cloudimg-rootfs

      11.2 - e2label /dev/xvdg <label_do_11.1>

 

12 - Reinstale o grub no seu novo volume.

      12.1 - grub-install --root-directory=/volume_novo/ --force /dev/xvdf

      12.2 - dependendo a sua versão de SO ele pode falhar, se for o caso execute : grub-install --root-directory=/volume_novo/ /dev/xvdg

 

      13.1 - umount /volume_novo

 

14 - Altere o UUID do seu volume_novo igual o volume_original:

      14.1 - blkid | grep -i /dev/xvdf   #Pegue o UUID do volume_original

      14.2 - tune2fs -U <uuid_do_passo_14.1> /dev/xvdg

 

15 - Pronto seu volume está pronto. Agora você precisa desatachar ele da instância atual e anexar onde você quizer como root drive! Lembre-se ele precisa ser o /dev/sda1 ou /dev/xvda1 da sua futura instância.

     

Quer aprender mais sobre AWS e SHELL Scripting ? visite mugnos-it.com/treinamentos

 

 

 

 

Share on Facebook
Share on Twitter
Please reload

Posts Recentes
Please reload

Procurar por tags
Please reload