Como anexar um volume de Block Storage à sua VM Linux na Magalu Cloud (via CLI)
Source: Dev.to
Introdução
Quando começamos a usar nuvem, é comum pensar na máquina virtual como “o computador inteiro”: CPU, memória e o disco onde o sistema operacional está instalado. Esse disco de sistema, em muitos provedores, é efêmero: se você recriar a VM, trocar o tipo, apagar a instância ou houver um incidente, o armazenamento pode desaparecer. Para ambientes de teste isso pode ser tolerável, mas para dados importantes não.
É aqui que entra o Block Storage. Ele entrega um disco em blocos, exposto à VM como se fosse um segundo HD ou SSD, independente da vida da máquina virtual. Você administra o sistema de arquivos (ext4, XFS, etc.) dentro do SO, enquanto a nuvem cuida da performance, replicação e disponibilidade.
Na Magalu Cloud, os volumes são oferecidos em perfis otimizados para diferentes cargas, baseados em NVMe e baixa latência, adequados para bancos de dados, sistemas de arquivos compartilhados, aplicações intensivas em I/O e para separar responsabilidades (ex.: volume para banco, outro para uploads, outro para logs).
Casos de uso típicos
- Banco de dados que não pode sumir ao recriar a VM.
- Diretório de uploads de um e‑commerce que precisa crescer independentemente da VM.
- Conjunto de logs de aplicação armazenado em disco resiliente para análise posterior.
- Volumes dedicados a ambientes de homologação, criados a partir de snapshots de produção.
O objetivo deste artigo é mostrar, passo a passo, como criar um volume de Block Storage, anexá‑lo a uma VM Linux na Magalu Cloud e prepará‑lo para uso, usando a CLI mgc.
Criando e usando um volume de Block Storage na Magalu Cloud
Suponha que você já tenha uma VM Linux na Magalu Cloud, tenha instalado a CLI mgc, autenticado na sua conta e precise de um novo disco de 10 GiB.
Importante: volume e VM precisam estar na mesma região e Zona de Disponibilidade (AZ). O volume é fisicamente associado a uma infraestrutura específica; tentar anexá‑lo a uma VM em outra zona não funciona.
O fluxo natural é:
- Criar o volume na região/AZ correta.
- Anexar o volume à VM.
- Dentro da VM, formatar o dispositivo e montar em um diretório.
- Tornar a montagem persistente entre reboots.
Criando o volume pela CLI
mgc block-storage volumes create \
--name volume-app-prod \
--size 10 \
--type.name cloud_nvme1k
--nameidentifica o volume dentro da região (rótulo lógico).--sizedefine o tamanho em GiB.--type.nameseleciona o perfil de IOPS/latência (ex.:cloud_nvme1k).
Após a criação, verifique o status:
mgc block-storage volumes list
O volume recém‑criado deve aparecer com o status available, indicando que está pronto para ser anexado.
Anexando o volume à máquina virtual
Com o ID da VM e do volume em mãos, execute:
mgc block-storage volumes attach \
--id vol-1234567890abcdef \
--virtual-machine-id vm-abcdef1234567890
Aguarde alguns instantes; o status do volume mudará de available para in-use, confirmando a associação com a VM. Embora a plataforma permita anexar volumes a VMs em execução, é recomendável desligar a instância em ambientes críticos.
Preparando o volume dentro da VM
Dentro da VM, o novo volume aparece como um dispositivo de bloco, tipicamente /dev/vdb. Liste os dispositivos:
lsblk
A saída mostrará o disco de sistema (vda) e o novo volume (vdb) sem partição nem sistema de arquivos.
Criando o sistema de arquivos
Se o volume for novo, crie um sistema de arquivos (ex.: ext4):
sudo mkfs.ext4 /dev/vdb
Atenção: se o volume foi criado a partir de um snapshot, ele já contém um sistema de arquivos e dados; não formate novamente.
Montando o volume em um diretório
Escolha um ponto de montagem, por exemplo /mnt/data:
sudo mkdir -p /mnt/data
sudo mount /dev/vdb /mnt/data
df -h | grep /mnt/data
A partir de agora, tudo gravado em /mnt/data será armazenado no volume de Block Storage.
Tornando a montagem persistente com /etc/fstab
Para que o volume seja remontado automaticamente após reboot, adicione uma entrada ao /etc/fstab. Use o UUID do sistema de arquivos, que é estável mesmo que a ordem dos dispositivos mude:
sudo blkid /dev/vdb
Exemplo de saída:
/dev/vdb: UUID="abcd-1234-ef56-7890" TYPE="ext4"
Edite o arquivo /etc/fstab:
sudo nano /etc/fstab
E adicione a linha abaixo (substitua abcd-1234-ef56-7890 pelo UUID real):
UUID=abcd-1234-ef56-7890 /mnt/data ext4 defaults,nofail 0 2
Salve o arquivo e teste a montagem:
sudo mount -a
df -h | grep /mnt/data
Se tudo estiver correto, o volume será montado automaticamente em todas as reinicializações.