Como formatar e montar volumes na Magalu Cloud?
Como formatar e montar volumes na Magalu Cloud
Após você criar um novo volume, você precisa formatá-lo. Essa formatação é necessária apenas para criar um sistema de arquivos no volume, ou seja, só é preciso fazer essa operação quando criar um volume novo.
Porém, toda vez que você for anexar um volume a uma instância, incluindo a primeira vez, é necessário obrigatoriamente montá-lo. A montagem de um volume formatado adiciona o sistema de arquivos do volume à hierarquia de arquivos existente da sua instância. Dessa forma, você torna o volume acessível ao sistema operacional da instância que está anexando.
Como formatar o seu volume
Ao criar um volume do Block Storage na Magalu Cloud e anexá-lo à sua instância, um novo dispositivo de armazenamento será automaticamente apresentado à instância e você poderá verificar seu nome rodando:
# fdisk -l
O resultado desse comando é a listagem de todos os discos apresentados à sua VM. É necessário nesse momento identificar o novo dispositivo anexado. Pode ser necessário em alguns casos rodar o comando fdisk -l antes e depois da criação do novo volume para ter certeza de qual será o novo dispositivo criado.
No exemplo a seguir, foi criado um novo volume de 20GB e anexado à instância "wb2":
ubuntu@wb2:/$ sudo fdisk -l
Disk /dev/vda: 25 GiB, 26843545600 bytes, 52428800 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 3EF40063-A663-4162-A2BC-33F2D6D51E54
Device Start End Sectors Size Type
/dev/vda1 227328 52428766 52201439 24.9G Linux filesystem
/dev/vda14 2048 10239 8192 4M BIOS boot
/dev/vda15 10240 227327 217088 106M EFI System
Partition table entries are not in disk order.
Disk /dev/vdb: 20 GiB, 21474836480 bytes, 41943040 sectors <<-- volume novo
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
ubuntu@wb2:/$
O novo volume nesse caso é portanto o /dev/vdb e caso você adicione mais volumes, verá que a última letra do nome do dispositivo é que será incrementada em sequência, como /dev/vdc, /dev/vdd, etc.
Com o utilitário fdisk, você cria a tabela de partição do volume. Nesse exemplo, vamos particionar esse volume em apenas uma partição primária de 20GB (total do volume):
ubuntu@wb2:/$ sudo fdisk /dev/vdb
Welcome to fdisk (util-linux 2.34).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x3ea6225b.
Command (m for help): n << tecle n para nova partição
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p << tecle p para primária
Partition number (1-4, default 1): 1 << escolha 1 como primeira partição
First sector (2048-41943039, default 2048): << tecle ENTER para valores default
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-41943039, default 41943039):
<< tecle ENTER para valores default
Created a new partition 1 of type 'Linux' and of size 20 GiB.
Command (m for help): p << tecle p para imprimir a nova lista de partições
Disk /dev/vdb: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x3ea6225b
Device Boot Start End Sectors Size Id Type
/dev/vdb1 2048 41943039 41940992 20G 83 Linux
Command (m for help): w << w para gravar e sair do fdisk
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
Agora sua nova partição dentro do volume é a /dev/vdb1 com tamanho de 20GB. Para formatar o volume, é necessário usar o comando mkfs.ext4, neste caso selecionando o sistema de arquivos ext4 do Linux, disponível em todas as distribuições:
ubuntu@wb2:/$ sudo mkfs.ext4 /dev/vdb1
mke2fs 1.45.5 (07-Jan-2020)
Discarding device blocks: done
Creating filesystem with 5242624 4k blocks and 1310720 inodes
Filesystem UUID: 13daa7c2-70f8-43c8-aae7-fca35468ffc1
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
ubuntu@wb2:/$
Seu novo volume está pronto para montagem e uso, basta agora criar um ponto de montagem para ele, por exemplo em /mnt/vdb1:
ubuntu@wb2:/$ sudo mkdir -p /mnt/vdb1
ubuntu@wb2:/$
E finalmente a montagem do volume com o mount:
ubuntu@wb2:/$ sudo mount /dev/vdb1 /mnt/vdb1
Pronto! seu novo volume está montado e pronto para uso.
Para mantê-lo sempre montado após o restart da VM, é necessário incluir esse dispositivo e ponto de montagem no arquivo /etc/fstab, editando o arquivo e incluindo a linha no final:
ubuntu@wb2:/$ sudo nano /etc/fstab
[...]
/dev/vdb1 /mnt/vdb1 ext4 defaults 0 1
Salve o arquivo e pronto!
Como montar o seu volume formatado
Para montar um volume formatado, primeiro escolha um ponto de montagem, que é o diretório onde o sistema de arquivos do volume deve ser anexado. É aqui que você acessa os arquivos do volume depois de montado.
Recomendamos criar um novo diretório /mnt para usar como ponto de montagem:
sudo mkdir /mnt/example_mount_point
Em seguida, use mount para montar o sistema de arquivos do volume no ponto de montagem.
sudo mount -o defaults,nofail,discard,noatime /dev/disk/by-id/scsi-example /mnt/example_mount_point
Essas opções incluem acesso de leitura/gravação, execução de programas, supressão de erros para dispositivos inexistentes e TRIM contínuo.
Você pode verificar se a montagem em si foi bem-sucedida passando o ponto de montagem para findmnt:
findmnt /mnt/use_your_mount_point
Você deve ver a saída indicando que está montada no momento:
TARGET SOURCE FSTYPE OPTIONS
/mnt/example_mount_point /dev/sda1 ext4 rw,noatime,discard,data=ordered