Olá, pessoal! Esse é meu primeiro post por aqui, e o objetivo é compartilhar um pouco das experiências e do conhecimento que venho adquirindo na área de SRE/DevOps. A relato de hoje é um exemplo de mostrar como encarar desafios técnicos que parecem simples, mas são cheios de nuances. Vou falar sobre como fiz para aumentar o armazenamento da minha pasta /home
usando block storage. Para quem está no início dessa jornada, essa é uma experiência prática que traz muito aprendizado.
Por que Adicionar um Volume de Armazenamento em Bloco?
Um dia, percebi que meu diretório /home
estava perto de atingir o limite de armazenamento disponível. Precisava de uma solução que pudesse integrar de forma eficiente com o sistema operacional e ser fácil de gerenciar. Optar por um volume de armazenamento em bloco foi uma solução direta para adicionar espaço sem grandes complicações e sem precisar configurar novos servidores.
Armazenamento em bloco é útil para ampliar rapidamente o espaço e, diferentemente de sistemas de arquivos de rede (como NFS), oferece a vantagem de ser “plug-and-play” em servidores específicos. Esse processo me levou a explorar a configuração e o gerenciamento de partições e sistemas de arquivos, além de me ajudar a entender os fundamentos do armazenamento.
Criando o Volume de Armazenamento
O primeiro passo foi criar o volume de armazenamento em bloco. No caso, eu naveguei até o painel de gerenciamento do meu provedor, mas esse processo é semelhante em várias plataformas.
- Escolha do tipo de armazenamento (HDD ou SSD, por exemplo).
- Escolha da localização (certifique-se de que o volume e a instância do servidor estejam na mesma região para evitar problemas de latência).
- Definição do tamanho e etiqueta do volume.
- Após confirmar, aguarde o volume estar “Ativo” antes de seguir com o próximo passo.
Ao término, o volume de armazenamento estava pronto para ser anexado à instância.
Anexando o Volume à Instância do Servidor
Para vincular o volume ao servidor:
- No painel de gerenciamento, selecione o volume criado e, em seguida, o servidor desejado.
- O volume será exibido como um novo dispositivo no sistema operacional.
Nesse ponto, o volume está pronto para ser montado no sistema, mas ainda precisa ser configurado.
Montando o Armazenamento em Bloco no Linux
A configuração de um novo volume no Linux exige que a partição seja preparada para armazenamento. Lembrando que essas etapas são para volumes recém-criados sem dados, então tenha sempre backup de qualquer informação crítica antes de proceder.
Verifique o Nome do Dispositivo: O primeiro volume em um servidor geralmente aparece como /dev/vda
. Podemos usar o comando lsblk
para verificar o nome exato do dispositivo:
$ lsblk
Criação de Rótulo de Disco e Partição: O parted foi a ferramenta que usei para criar um rótulo de disco e uma partição no novo volume. Isso permite que o volume seja acessado pelo sistema de arquivos, no exemplo abaixo /vdb
é o meu novo dispositivo:
$ sudo parted -s /dev/vdb mklabel gpt
$ sudo parted -s /dev/vdb unit mib mkpart primary 0% 100%
Formatação da Partição: Utilizei o sistema de arquivos EXT4, que é confiável e compatível com a maioria dos sistemas Linux:
$ mkfs.ext4 /dev/vdb1
Movendo a Pasta /home
para o Novo Disco
Com o volume configurado e formatado, o próximo passo foi transferir o conteúdo da pasta /home
para o novo armazenamento.
Montagem Temporária: Primeiro, monte o volume no diretório onde você deseja armazenar os dados de /home
:
$ sudo mkdir /mnt/newhome
$ sudo mount /dev/vdb1 /mnt/newhome
Cópia dos Dados: Para preservar as permissões e propriedades, copiei os dados com o comando cp -Rp
:
$ sudo cp -Rp /home/* /mnt/newhome
Backup e Configuração de Montagem Automática: Renomeei a pasta atual /home
para /home.backup
, criei uma nova /home
e adicionei uma entrada no arquivo /etc/fstab
para que o sistema monte o volume automaticamente ao iniciar:
$ sudo mv /home /home.backup
$ sudo mkdir /home
$ sudo vim /etc/fstab
Adicionei a seguinte linha para garantir a montagem automática:
/dev/vdb1 /home ext4 defaults 0 2
Testando e Validando: Depois, usei o comando mount -a para confirmar a configuração do fstab, reiniciando o servidor para garantir que /home
fosse montado conforme esperado.
$ sudo umount /dev/vdb1
$ sudo mount -a
$ sudo reboot
Aprendizados e Reflexões
Esse processo foi uma ótima introdução ao gerenciamento de armazenamento no Linux, uma habilidade essencial para quem trabalha com DevOps e administração de sistemas. Foi desafiador no começo, pois cada comando precisava ser pensado e executado com cautela, principalmente ao mexer no diretório /home
. Mesmo que pareça uma tarefa básica, esses passos ajudam a fortalecer o entendimento sobre montagem, partições e sistemas de arquivos, preparando-nos para desafios mais complexos no futuro.
Espero que este conteúdo ajude quem também estiver precisando expandir o armazenamento e tiver interesse em praticar essas técnicas. Obrigado pela leitura, e até o próximo post!