O sistema operacional Linux é amplamente conhecido por sua flexibilidade e controle sobre o armazenamento, e uma das áreas em que isso brilha é o gerenciamento de discos e partições. Neste artigo, abordaremos diversos tópicos relacionados ao armazenamento no Linux, desde a criação de partições de disco até o uso de ferramentas como LVM, Cockpit e gdu para gerenciar e monitorar o espaço em disco.
Criando Partições de Disco
As partições de disco são divisões lógicas de um disco rígido ou dispositivo de armazenamento, permitindo a organização e o isolamento de dados. No Linux, você pode criar partições usando ferramentas como fdisk, parted ou gdisk. Vamos focar na criação de partições com o gdisk.
O gdisk é uma ferramenta para a manipulação de partições GPT (Tabela de Partição GUID). Para criar uma partição com o gdisk, siga os seguintes passos:
1. Abra um terminal e execute o comando gdisk seguido do dispositivo de armazenamento desejado. Por exemplo, sudo gdisk /dev/sdX, onde /dev/sdX é o seu dispositivo de armazenamento.
2. No menu do gdisk, digite n para criar uma nova partição.
3. Especifique o número da partição, o primeiro setor e o último setor.
4. Defina o tipo da partição se necessário.
5. Finalize com w para salvar as mudanças.
Outros comandos úteis no gerenciamento de partições (observe a sequência de comandos abaixo):
fdisk -l
Quando executado sem um argumento de dispositivo, este comando lista as partições em todos os dispositivos conhecidos no sistema. Isso é útil para obter uma visão geral das partições em todos os discos disponíveis.
fdisk -l /dev/sda
Este comando exibe informações sobre as partições no dispositivo de bloco /dev/sda. A opção -l é usada para listar as partições. Isso é útil para verificar a tabela de partições e a geometria do disco.
fdisk -c -u /dev/sdb
Este comando inicia o utilitário fdisk no dispositivo /dev/sdb com a opção -c (para ativar a compatibilidade com o DOS) e a opção -u (para exibir as unidades em setores em vez de cilindros). Isso permite criar, editar e gerenciar partições em /dev/sdb.
mkdir -p /teste
Este comando cria um diretório chamado “teste” no diretório atual. A opção -p faz com que o comando crie automaticamente diretórios pai, se eles ainda não existirem. Portanto, se o diretório atual não existir, ele será criado junto com o diretório “teste”.
mount /dev/sdb1 /teste/
Este comando monta a partição /dev/sdb1 no diretório /teste. Isso torna o conteúdo da partição acessível no diretório /teste.
df -h /teste/
Este comando exibe informações sobre o sistema de arquivos associado ao diretório /teste. A opção -h torna as informações mais legíveis para os humanos, mostrando os tamanhos de armazenamento em um formato mais fácil de entender.
umount /dev/sdb1
Este comando desmonta (remove) a partição /dev/sdb1. A desmontagem é necessária antes de desconectar ou trabalhar com um dispositivo de armazenamento, como um disco rígido, para evitar a perda de dados e garantir que não esteja em uso.
Lembre-se de que a execução de comandos que afetam dispositivos de armazenamento e partições pode ser arriscada e potencialmente levar à perda de dados. Certifique-se de saber o que está fazendo e tenha cuidado ao usar comandos relacionados ao armazenamento em seu sistema.
Usando Partições LVM
O Logical Volume Manager (LVM) é uma tecnologia que permite criar volumes lógicos em cima de partições físicas, oferecendo flexibilidade no gerenciamento de armazenamento. Aqui estão os passos básicos para criar um volume lógico usando LVM:
1. Criar um grupo de volume: Use o comando vgcreate para criar um grupo de volume.
sudo vgcreate nome-do-grupo /dev/sdX
2. Criar um volume lógico: Use o comando lvcreate para criar um volume lógico dentro do grupo de volume.
sudo lvcreate -n nome-do-volume -L tamanho-do-volume nome-do-grupo
3. Formatar e montar o volume lógico: Formate o volume lógico e monte-o em um diretório.
sudo mkfs.ext4 /dev/nome-do-grupo/nome-do-volume sudo mount /dev/nome-do-grupo/nome-do-volume /pasta-de-montagem
Aumentando os Volumes Lógicos
Um dos principais benefícios do LVM é a capacidade de redimensionar volumes lógicos. Para aumentar um volume lógico, siga estes passos:
1. Aumente o tamanho do volume físico: Adicione espaço ao dispositivo de armazenamento subjacente (por exemplo, um disco) usando gdisk ou outras ferramentas.
2. Detecte o novo espaço: Use lvextend para aumentar o tamanho do volume lógico.
sudo lvextend -l +100%FREE /dev/nome-do-grupo/nome-do-volume
3. Redimensione o sistema de arquivos: Use resize2fs (para sistemas de arquivos ext) para redimensionar o sistema de arquivos no volume lógico.
sudo resize2fs /dev/nome-do-grupo/nome-do-volume
Gerenciando o Armazenamento com Cockpit
O Cockpit é uma interface de gerenciamento de servidor baseada na web que simplifica muitas tarefas administrativas, incluindo o gerenciamento de armazenamento. Para começar a usar o Cockpit, siga estas etapas:
1. Instale o Cockpit: Use seu gerenciador de pacotes para instalar o Cockpit.
sudo apt install cockpit
2. Inicie o serviço: Inicie e habilite o serviço Cockpit.
sudo systemctl start cockpit sudo systemctl enable cockpit
3. Acesse o painel do Cockpit: Abra um navegador da web e acesse
https://seu-servidor:9090.
4. Faça login: Use suas credenciais de administrador para fazer login e começar a gerenciar o armazenamento.
https://cockpit-project.org/guide/latest/feature-storaged
Verificando o Espaço do Sistema
Para verificar o espaço disponível no sistema, você pode usar o comando df e também o comando du. A diferença entre os dois é que o comando df mostrara as partições e espaços (disponíveis e utilizados em cada uma delas) enquanto o comando du mostrada o tamanho de forma individualizado de cada pasta e subpasta.
Adicionalmente os comandos abaixo podem ser bastante úteis neste contexto:
df
Este comando exibe informações sobre o espaço em disco disponível em todos os sistemas de arquivos montados no sistema. Ele mostra o espaço total, usado e disponível em cada sistema de arquivos.
df -h
Essa é uma variação do comando df que exibe as informações no formato “humano”, tornando os tamanhos mais legíveis para os humanos, como GB ou MB, em vez de blocos.
df -x tmpfs -x devtmpfs
Este comando lista informações sobre o espaço em disco, excluindo os sistemas de arquivos tmpfs e devtmpfs. Pode ser útil para verificar o espaço em disco em sistemas de arquivos reais, excluindo sistemas de arquivos temporários.
du /home/roberto
O comando du é usado para calcular o uso de espaço em disco em um diretório ou arquivo específico. Neste caso, ele está sendo usado para calcular o espaço usado no diretório /home/roberto.
du /var
Similar ao comando anterior, este comando calcula o uso de espaço em disco no diretório /var.
du -h /home/mz2
Este comando calcula o uso de espaço em disco no diretório /home/mz2 e exibe os tamanhos no formato “humano” para facilitar a leitura.
find / -xdev -user roberto -print | xargs ls -ldS > /tmp/mz2
Este comando inicia uma pesquisa recursiva em todo o sistema de arquivos (/) a partir da raiz, excluindo sistemas de arquivos montados adicionais com a opção -xdev. Ele procura por arquivos e diretórios que pertencem ao usuário “roberto” e os lista com informações detalhadas de listagem (ls -ldS). O resultado é redirecionado para o arquivo /tmp/roberto.
find / -xdev -size +100M | xargs ls -ldS > /tmp/size
Similar ao comando anterior, mas em vez de procurar por arquivos de um usuário específico, este procura por arquivos maiores que 100 megabytes (100M) em todo o sistema de arquivos. Os resultados também são redirecionados para o arquivo /tmp/size.
cat /tmp/roberto
Este comando exibe o conteúdo do arquivo /tmp/roberto, que contém a listagem de arquivos e diretórios pertencentes ao usuário “roberto”.
cat /tmp/size
Este comando exibe o conteúdo do arquivo /tmp/size, que contém a listagem de arquivos maiores que 100 megabytes encontrados no sistema de arquivos.
Observe que os comandos iniciados com “#” indicam que são executados como superusuário (root) devido ao uso do símbolo “#”. Tenha cuidado ao executar comandos como root, pois eles podem afetar o sistema e os dados. Certifique-se de ter as permissões apropriadas e entender o que cada comando faz antes de executá-los.
Verificando os Espaços dos Discos com Gdu
O Gdu (Go Disk Usage) é uma ferramenta gráfica de linha de comando para visualizar o uso de disco em seu sistema. Para usá-lo, siga estas etapas:
https://github.com/dundee/gdu
Este é um URL que aponta para o repositório do GitHub do “gdu”, onde você pode encontrar informações sobre o projeto e os arquivos de lançamento.
curl -L https://github.com/dundee/gdu/releases/latest/download/gdu_linux_amd64.tgz | tar xz
Este comando faz o download do arquivo de lançamento mais recente do “gdu” para a plataforma Linux em formato tarball (tgz), extrai o conteúdo do arquivo e o descompacta. Isso instala o “gdu” no sistema.
chmod +x gdu_linux_amd64
Este comando torna o arquivo “gdu_linux_amd64” executável, permitindo que ele seja executado como um programa.
mv gdu_linux_amd64 /usr/bin/gdu
Aqui, o arquivo executável “gdu_linux_amd64” é movido para a pasta “/usr/bin” e renomeado para “gdu”, tornando-o disponível no sistema como um comando executável chamado “gdu”.
gdu
Este é o comando principal para executar o “gdu”. Quando você executa o “gdu” sem argumentos, ele analisa o sistema de arquivos raiz (“/”) e exibe informações sobre o uso de espaço em disco.
gdu /home
Este comando executa o “gdu” no diretório “/home” e exibe informações sobre o uso de espaço em disco no diretório “/home”.
gdu /
Aqui, o “gdu” é executado no sistema de arquivos raiz (“/”) novamente, exibindo informações sobre o uso de espaço em disco no diretório raiz.
gdu -c /etc/systemd
O comando “gdu” é usado para analisar o diretório “/etc/systemd” e exibir informações sobre o uso de espaço em disco. A opção “-c” pode ser usada para limitar a profundidade da análise.
gdu -n ~
Este comando executa o “gdu” no diretório pessoal do usuário atual (~) e exibe informações sobre o uso de espaço em disco. A opção “-n” exclui links simbólicos da análise.
O “gdu” é uma ferramenta útil para verificar o uso de espaço em disco em diferentes partes do sistema de arquivos. Certifique-se de ter permissões adequadas para acessar os diretórios que deseja analisar.
Com essas ferramentas e técnicas, você estará bem equipado para criar, gerenciar e monitorar seu armazenamento no sistema operacional Linux. Lembre-se de ter cuidado ao fazer alterações no armazenamento, pois elas podem afetar a integridade de seus dados. Sempre faça backup e teste em ambientes de teste antes de aplicar alterações em produção.