Configurando Dispositivos de Armazenamento

LinuxBeginner
Pratique Agora

Introdução

Bem-vindo ao laboratório sobre configuração de dispositivos de armazenamento no Linux. Gerenciar armazenamento é uma habilidade fundamental para qualquer administrador de sistemas Linux. Quando você adiciona um novo disco rígido ou uma unidade de estado sólido (SSD) a um sistema, ele não fica disponível para uso imediatamente. Você deve primeiro prepará-lo criando um sistema de arquivos e, em seguida, torná-lo acessível conectando-o à árvore de diretórios.

Neste laboratório, você percorrerá todo o ciclo de vida da adição de um novo dispositivo de armazenamento. Você aprenderá como:

  • Identificar um disco recém-conectado.
  • Criar um sistema de arquivos Linux padrão (ext4) no disco.
  • Montar o disco em um diretório para torná-lo acessível.
  • Verificar o uso e gravar dados nele.
  • Desmontar e desconectar o disco com segurança.

Utilizaremos comandos como lsblk, mkfs.ext4, mount, df e umount. Ao final deste laboratório, você terá uma compreensão sólida de como gerenciar dispositivos de armazenamento básicos em um ambiente Linux.

Conectar Disco Virtual

Neste ambiente de laboratório, um disco virtual foi criado para você por meio de um processo de configuração automatizado. Isso simula a adição de um novo dispositivo de armazenamento a um sistema. O script de configuração cria um arquivo de disco virtual de 100 MB e o associa a um dispositivo de loop, criando então um link simbólico /dev/sdb para consistência.

Sua primeira tarefa é confirmar se o sistema operacional consegue visualizar este novo disco. O comando lsblk (listar dispositivos de bloco) é perfeito para isso. Ele exibe informações sobre todos os dispositivos de bloco disponíveis em um formato de árvore.

Execute o seguinte comando no seu terminal para listar os dispositivos de bloco:

lsblk

Você deverá ver uma saída semelhante à seguinte. Procure por um dispositivo de loop de 100 MB (ele pode ser chamado de loop4, loop14 ou outro número de dispositivo de loop disponível) que não esteja montado e não tenha pontos de montagem listados.

NAME  MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
loop0    7:0    0     4K  1 loop /snap/bare/5
loop1    7:1    0  91.4M  1 loop /snap/lxd/35819
...
loop4    7:4    0   100M  0 loop
...
vda    252:0    0    40G  0 disk
├─vda1 252:1    0     1M  0 part
├─vda2 252:2    0   200M  0 part /boot/efi
└─vda3 252:3    0  39.8G  0 part /

Isso confirma que o disco é reconhecido pelo sistema e está pronto para o próximo passo: a formatação.

Se você não visualizar o dispositivo de loop, pode executar o seguinte comando para criá-lo:

## Create a 100MB file to act as our virtual disk
dd if=/dev/zero of=/tmp/disk.img bs=1M count=100 &> /dev/null
## Find the next available loop device
LOOP_DEVICE=$(sudo losetup -f)
## Associate the file with a loop device, simulating a physical disk
sudo losetup $LOOP_DEVICE /tmp/disk.img
## Create a symbolic link for consistency in the lab
sudo ln -sf $LOOP_DEVICE /dev/sdb

Em seguida, execute o comando lsblk novamente para confirmar que o dispositivo de loop foi criado.

Formatar Disco com o Comando mkfs.ext4 /dev/sdb

Nesta etapa, você formatará o novo disco. Um disco não formatado é como uma folha em branco; o sistema operacional não sabe como armazenar arquivos nele. A formatação, também conhecida como criação de um sistema de arquivos, grava uma estrutura de dados no disco que permite organizar e armazenar arquivos.

Usaremos o sistema de arquivos ext4, que é um padrão confiável e amplamente utilizado para sistemas Linux. O comando para criar um sistema de arquivos ext4 é mkfs.ext4.

Aviso: Este comando é destrutivo. Ele apagará todos os dados no dispositivo especificado. Sempre verifique duas vezes o nome do dispositivo antes de executá-lo.

Agora, formate o disco /dev/sdb. Como esta é uma operação privilegiada que modifica um dispositivo, você deve usar sudo.

sudo mkfs.ext4 /dev/sdb

O comando exibirá informações sobre o sistema de arquivos que está sendo criado, incluindo o número de inodes e blocos. A saída será algo como isto:

mke2fs 1.46.5 (30-Dec-2021)
Creating filesystem with 25600 4k blocks and 25600 inodes

Allocating group tables: done
Writing inode tables: done
Creating journal (1024 blocks): done
Writing superblocks and filesystem accounting information: done

O disco /dev/sdb agora está formatado com um sistema de arquivos ext4 e está pronto para ser montado.

Montar Disco no Diretório /mnt/data

Nesta etapa, você tornará o disco formatado acessível ao sistema de arquivos. Esse processo é chamado de "montagem" (mounting). A montagem anexa o sistema de arquivos de um dispositivo a um diretório específico, conhecido como "ponto de montagem". Uma vez montado, você pode ler e gravar no dispositivo acessando o diretório do ponto de montagem.

Primeiro, precisamos criar um diretório para servir como ponto de montagem. É uma convenção comum usar subdiretórios dentro de /mnt para montagens temporárias. Vamos criar um diretório chamado /mnt/data.

sudo mkdir /mnt/data

Agora, use o comando mount para anexar o dispositivo /dev/sdb ao diretório /mnt/data. A sintaxe é sudo mount [dispositivo] [ponto_de_montagem].

sudo mount /dev/sdb /mnt/data

O comando deve ser executado sem nenhuma saída se for bem-sucedido. Para verificar se o disco está montado, você pode usar o comando lsblk novamente.

lsblk

Observe na saída abaixo que o dispositivo de loop (ao qual /dev/sdb aponta) agora mostra /mnt/data como seu MOUNTPOINT.

NAME  MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
loop0    7:0    0     4K  1 loop /snap/bare/5
loop1    7:1    0  91.4M  1 loop /snap/lxd/35819
...
loop4    7:4    0   100M  0 loop /mnt/data
...
vda    252:0    0    40G  0 disk
├─vda1 252:1    0     1M  0 part
├─vda2 252:2    0   200M  0 part /boot/efi
└─vda3 252:3    0  39.8G  0 part /

O disco agora está pronto para uso.

Verificar Uso do Disco com o Comando df -h

Nesta etapa, você verificará se o disco montado está utilizável e checará seu espaço disponível. O comando df (disk free) é usado para relatar o uso de espaço em disco do sistema de arquivos. O uso da flag -h (--human-readable) torna a saída mais fácil de ler, exibindo os tamanhos em potências de 1024 (por exemplo, K, M, G).

Execute o comando df -h para ver todos os sistemas de arquivos montados, incluindo o nosso novo:

df -h

Procure a linha correspondente a /dev/sdb na saída. Ela mostrará o tamanho total, espaço usado, espaço disponível e o ponto de montagem.

Filesystem      Size  Used Avail Use% Mounted on
...
/dev/sdb         98M  2.5M   89M   3% /mnt/data
...

Agora que o disco está montado, o diretório /mnt/data atua como a raiz do novo disco. Vamos gravar um arquivo nele para confirmar que está funcionando. Usaremos tee com sudo porque o ponto de montagem pertence ao root.

echo "Hello LabEx" | sudo tee /mnt/data/test.txt

Você pode verificar se o arquivo foi criado listando o conteúdo do diretório:

ls /mnt/data

A saída deve mostrar seu novo arquivo:

test.txt

Você formatou, montou e gravou dados com sucesso em seu novo dispositivo de armazenamento.

Desmontar e Desconectar o Disco

Nesta etapa final, você aprenderá como desmontar e desconectar o dispositivo de armazenamento com segurança. É fundamental desmontar um sistema de arquivos antes que o dispositivo subjacente seja removido do sistema. Isso garante que todos os dados pendentes sejam gravados no disco, evitando perda ou corrupção de dados.

O comando para desmontar um sistema de arquivos é umount. Você pode especificar o nome do dispositivo ou o ponto de montagem. Usaremos o ponto de montagem.

sudo umount /mnt/data

Para confirmar que o disco foi desmontado, execute lsblk mais uma vez. Você verá que o dispositivo de loop não possui mais um ponto de montagem associado a ele.

lsblk
NAME  MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
loop0    7:0    0     4K  1 loop /snap/bare/5
loop1    7:1    0  91.4M  1 loop /snap/lxd/35819
...
loop4    7:4    0   100M  0 loop
...
vda    252:0    0    40G  0 disk
├─vda1 252:1    0     1M  0 part
├─vda2 252:2    0   200M  0 part /boot/efi
└─vda3 252:3    0  39.8G  0 part /

Agora que o sistema de arquivos está desmontado, podemos "desconectar" o disco virtual. Em nosso ambiente simulado, isso significa dissociar o dispositivo de loop. Como /dev/sdb é um link simbólico para o dispositivo de loop real, precisamos resolvê-lo para o caminho real do dispositivo para desconectá-lo corretamente.

## Detach the loop device by resolving the symbolic link
sudo losetup -d $(readlink -f /dev/sdb)
## Remove the symbolic link
sudo rm /dev/sdb

Finalmente, vamos limpar removendo o diretório do ponto de montagem que criamos.

sudo rmdir /mnt/data

Você concluiu com sucesso o ciclo completo de adição, uso e remoção de um dispositivo de armazenamento.

Resumo

Parabéns por concluir o laboratório! Você aprendeu com sucesso o fluxo de trabalho essencial para configurar um novo dispositivo de armazenamento em um ambiente Linux.

Neste laboratório, você praticou as seguintes habilidades principais:

  • Identificar novos dispositivos de bloco usando o comando lsblk.
  • Criar um sistema de arquivos em um disco bruto com mkfs.ext4.
  • Criar um ponto de montagem com mkdir.
  • Montar um sistema de arquivos para torná-lo acessível usando o comando mount.
  • Verificar o uso do disco com df -h.
  • Desmontar um sistema de arquivos com segurança com o comando umount.
  • Desconectar um dispositivo de loop com losetup -d para simular a remoção do disco.

Estas são operações fundamentais para gerenciar armazenamento em qualquer servidor ou estação de trabalho Linux. Agora você pode aplicar esse conhecimento para gerenciar discos rígidos reais, SSDs ou unidades USB. Encorajamos você a continuar explorando tópicos de armazenamento mais avançados, como Gerenciamento de Volumes Lógicos (LVM), RAID e diferentes tipos de sistemas de arquivos.