fbpx
Whatsapp (31) 3069-8315
atendimento@certificacaolinux.com.br
Logical Volume Manager – LVM no Linux

O LVM é útil para gerir os discos de forma inteligente através de volumes. Conheça essa tecnologia usada em muitas distribuições

O LVM é um gerenciador de discos do Kernel do Linux. Ele permite que discos sejam trocados sem interrupção do serviço (hotswap), alterar o tamanho dos volumes, criar backup de imagens dos volumes, criar um volume único a partir de vários discos (similar ao RAID 0) ou criar volumes espelhados em mais de um disco (similar ao RAID 1).

O LVM possibilita ampliar o sistema de arquivos que tradicionalmente é visto como um conjunto de discos físicos e partições. Seu objetivo é permitir uma flexibilidade grande para o administrador no gerenciamento dos discos.

Imagine que o usuário tenha o seguinte esquema de partições sem o LVM:

/boot   /dev/hda1 50 Megabytes

swap    /dev/hda2 256 Megabytes

/            /dev/hda3 2 Gigabytes

/home                    /dev/hda4 6 Gigabytes

Neste exemplo, se o usuário desejar aumentar a partição raiz, ele teria que reformatar seu disco, ou mesmo mover parte dos dados para outro disco e montar a nova partição como um diretório do raiz.

Ao passo que, se o usuário utilizar o LVM, ele poderia simplesmente diminuir o tamanho do /home e aumentar o raiz, ou mesmo adicionar outro disco e aumentar o raiz, sem precisar fazer backup dos dados, formatar a partição e copiar os dados de volta.

Observe o mesmo exemplo utilizando volumes:

/boot    /dev/hda1  50Mb

swap              /dev/vg00/swap          256Mb

/             /dev/vg00/root             2 Gigabytes

/home            /dev/vg00/home          6 Gigabytes

Em grandes sistemas com muitos discos, é praticamente inviável gerenciar os discos sem o uso do LVM.

É importante que você saiba que existem duas versões do LVM: 1 e 2. A versão 2 é suportada pelo Kernel 2.6 e 3.x, e pelo Kernel 2.4 com aplicação de alguns patches.

A única partição que não pode ser utilizada com o gerenciador de volumes é a /boot.

Terminologia do LVM

  • Volume Físico: É um disco ou algum hardware que se comporte como um disco (como um storage que use RAID);
  • Volume Group: É uma abstração do LVM que congrega volumes lógicos e volumes físicos em uma mesma unidade administrativa;
  • Volume Lógico: É o equivalente a uma partição em um sistema não-LVM.

Passo a passo para trabalhar com o LVM

Para trabalhar com o LVM é preciso fazer os seguintes passos:

  1. Se for utilizar apenas uma partição de um disco, é preciso criá-la com o fdisk e mudar o seu tipo;
  2. Inicializar os volumes físicos (partições ou discos) com o comando pvcreate;
  3. Criar um volume group com o comando vgcreate;
  4. Ativar um volume group com o comando vgchange;
  5. Criar um volume lógico com o comando lvcreate;
  6. Formatar o volume lógico com o sistema de arquivos desejado.

Preparar as partições para o LVM com fdisk

Se você não deseja utilizar todo o disco como LVM, pode usar o fdisk para criar uma ou mais partições tipo LVM.

Para criar uma partição LVM com o fdisk, você cria a partição normalmente e altera o tipo dela para 8e.

Para exemplificar, imaginemos que  o sistema foi instalado no disco sda. E serão utilizados dois discos para o LVM:  sdb e sdc que não estão particionados.

Antes de adicionar um disco ou partição como um volume físico do LVM é preciso inicializá-lo com o comando pvcreate.

Inicializar volumes físicos com o pvcreate

Para inicializar volumes físicos de discos inteiros o comando é o pvcreate e o caminho completo da partição ou disco:

# pvcreate /dev/sdb

Physical volume “/dev/sdb” successfully created

# pvcreate /dev/sdc

Physical volume “/dev/sdc” successfully created

Lembre-se de antes trocar o tipo das partições com o fdisk para 8e.

Criando um volume group com vgcreate

Depois de inicializadas, é preciso criar um grupo de volume com os discos com o comando vgcreate:

# vgcreate meuvolume /dev/sdb /dev/sdc

  Volume group “meuvolume” successfully created

Ativando um volume group com vgchange

Após criar o volume group, é necessário ativá-lo com o comando vgchange:

# vgchange -a y meuvolume

  0 logical volume(s) in volume group “meuvolume” now active

Após o reboot do sistema é necessário ativar o volume group novamente. Então, faz-se necessário incluir esse comando nos scripts de carga do sistema.

Remover um volume group com o vgremove

Para remover um volume group não pode haver volumes lógicos dentro do grupo.

O comando para remover volumes é o vgremove e o volume precisa estar desativado:

# vgchange -a n meuvolume

# vgremove meuvolume

Adicionar novos “volumes físicos  ao volume group com vgextend

Novos discos podem ser adicionados ao volume group com o comando:

# vgextend meuvolume   /dev/sdd

Remover volumes “físicos do volume group” com vgreduce

Discos podem ser removidos do volume group com o comando vgreduce.

Você precisa ter certeza de que não há nenhum volume lógico no volume físico, que pode ser migrado para outro disco.

# vgreduce meuvolume /dev/sdd

Criar volumes lógicos com o lvcreate

O comando lvcreate cria volumes lógicos. No exemplo será criado  um volume lógico de 1GB chamado logico1 no volume meuvolume:

# lvcreate -L 1000 -n logico1 meuvolume

Logical volume “logico1” created

Como o sdb e sdc têm 2GB cada um, é possível criar até 4 volumes de 1GB cada, ou 1 só volume lógico de 4GB, como no exemplo abaixo:

# lvcreate -L 4000 -n logico1 meuvolume

  Logical volume “logico1” created

Ativar o volume lógico com lvchange

O comando lvchange ativa / desativa o volume lógico para uso:

ATIVAR:

# lvchange -a y /dev/meuvolume/logico1

DESATIVAR:

# lvchange -a n /dev/meuvolume/logico1

Formatar o volume lógico com o mkfs

Qualquer sistema de arquivos pode ser usado para formatar o volume lógico:

# mkfs.ext4 /dev/meuvolume/logico1

mke2fs 1.41.14 (22-Dec-2010)

Filesystem label=

OS type: Linux

(…)

Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 25 mounts or

180 days, whichever comes first.  Use tune2fs -c or -i to override.

Depois de formatar o volume lógico, é necessário montá-lo:

# mount /dev/meuvolume/logico1 /dados

Após esses passos o volume lógico estará pronto para uso.

Aumentar o tamanho do volume

Primeiro é necessário criar o volume físico:

# pvcreate /dev/hda8

Atribuí-lo ao grupo:

# vgextend meugrupo /dev/hda8

Desmonte o volume lógico:

# umount /dev/meuvolume/logico1

Aumente o grupo de volume lógico:

# lvextend -L +13090M /dev/meuvolume/logico1

Procurar por erro e reparação do mesmo:

# e2fsck -f /dev/meuvolume/logico1

Finalmente, redimensionamos:

# resize2fs /dev/meuvolume/logico1

Agora basta montar:

# mount /dev/meuvolume/logico1 /dados

Diminuindo o tamanho do volume

Desmontar o sistema de arquivos:

# umount /dev/meuvolume/logico1

Checar o volume lógico contra erros:

# e2fsck -f /dev/meuvolume/logico1

Diminuir a partição:

# resize2fs /dev/meuvolume/logico1 524288

Diminuir o volume lógico:

# lvreduce -L -50M //dev/meuvolume/logico1

Remontar o sistema de arquivos:

# mount /dev/meuvolume/logico1 /dados

Aprenda muito mais sobre Linux em nosso curso online. Você pode fazer a matrícula aqui com trial de 7 dias grátis. Se você já tem uma conta, pode acessar aqui.

Gostou? Compartilhe 🙂

Por que todo mundo é louco pelo ZFS?

Vamos dar uma olhada no OpenZFS que é um poderoso sistema de arquivos.  Não confundam com o ZFS (desenvolvido pela Oracle).

O OpenZFS (Z File System) foi criado por Matthew Ahrens e Jeff Bonwick em 2001.

Ele foi projetado para ser um sistema de arquivos de última geração para o OpenSolaris da Sun Microsystems. Em 2008, o ZFS foi portado para o FreeBSD.

No mesmo ano, um projeto foi iniciado para portar o ZFS para o Linux. No entanto, como o ZFS é licenciado sob a Licença de Desenvolvimento e Distribuição Comum, que é incompatível com a Licença Pública Geral GNU, ele não pode ser incluído no kernel do Linux.

Para contornar este problema, a maioria das distribuições Linux oferece métodos para instalar o ZFS.

Pouco depois de a Oracle ter comprado a Sun Microsystems,  o desenvolvimento adicional do ZFS tornou-se fechado.

Muitos dos desenvolvedores do ZFS ficaram insatisfeitos com esse rumo dos acontecimentos e dois terços dos devedores principais do ZFS, incluindo Ahrens e Bonwick, deixaram a Oracle e se juntaram a outras empresas para criaram o projeto OpenZFS em setembro de 2013.

O que é o ZFS? Quais são suas características?

As principais características do ZFE são:

  • Armazenamento agrupado
  • Copy-on-write
  • Instantâneos (snapshots)
  • Verificação de integridade de dados e reparo automático
  • RAID-Z
  • Tamanho máximo do arquivo de 16 exabytes
  • Armazenamento máximo de 256 quatrilhões de zettabytes

Em um primeiro momento, essas características parecem grego. Vamos explicar:

Armazenamento agrupado

Ao contrário da maioria dos sistemas de arquivos, o ZFS combina os recursos de um sistema de arquivos e de um gerenciador de volumes.

Isso significa que, diferentemente de outros sistemas de arquivos, o ZFS pode criar um sistema de arquivos que abrange uma série de unidades ou um pool.

Não só isso, mas você pode adicionar armazenamento a um pool, adicionando outra unidade.

O ZFS manipulará o particionamento e a formatação. Isso significa que ele faz um gerenciamento de volumes integrado.

Você não precisa do LVM e usar ferramentas complicadas para diminuir ou expandir um disco lógico.

zfs Por que todo mundo é louco pelo ZFS?

Copy-on-write

Na maioria dos sistemas de arquivos, quando os dados são sobrescritos, eles são perdidos para sempre.

No ZFS, as novas informações são gravadas em um bloco diferente. Quando a gravação estiver concluída, os metadados dos sistemas de arquivos serão atualizados para apontar para as novas informações.

Isso garante que, se o sistema travar (ou queda de energia) enquanto a gravação estiver ocorrendo, os dados antigos serão preservados. Isso também significa que o sistema não precisa executar o fsck após uma falha no sistema.

Instantâneos (snapshots)

A cópia na gravação leva a outro recurso do ZFS: instantâneos. O ZFS usa instantâneos para controlar as alterações no sistema de arquivos.

“O instantâneo contém a versão original do sistema de arquivos e o sistema de arquivos ao vivo contém as alterações feitas desde que o instantâneo foi tirado. Nenhum espaço adicional é usado. Conforme novos dados são gravados no sistema de arquivos ao vivo, novos blocos são alocados para armazenar esses dados. ”

Um arquivo é excluído, a referência de captura instantânea também é removida. Portanto, os snapshots são projetados principalmente para rastrear alterações em arquivos, mas não a adição e criação de arquivos.

Os instantâneos podem ser montados como somente leitura para recuperar uma versão passada de um arquivo. Também é possível reverter o sistema ao vivo para um instantâneo anterior. 

Verificação de integridade de dados e reparo automático

Sempre que novos dados são gravados no ZFS, eles criam uma soma de verificação para esses dados.

Quando esses dados são lidos, a soma de verificação é verificada. Se a soma de verificação não corresponder, o ZFS sabe que um erro foi detectado. O ZFS tentará corrigir automaticamente o erro.

RAID-Z

O ZFS pode manipular o RAID sem precisar de nenhum software ou hardware extra.

Não é novidade que o ZFS tem sua própria implementação de RAID: RAID-Z. O RAID-Z é na verdade uma variação do RAID-5.

No entanto, ele foi projetado para superar o erro do furo de gravação RAID-5, “no qual os dados e informações de paridade se tornam inconsistentes após uma reinicialização inesperada”.

Para usar o nível básico de RAID-Z (RAID-Z1) você precisa de pelo menos dois discos para armazenamento e um para paridade.

O RAID-Z2 exigia pelo menos duas unidades de armazenamento e duas unidades para paridade. O RAID-Z3 requer pelo menos duas unidades de armazenamento e três unidades para paridade.

Quando as unidades são adicionadas aos conjuntos RAID-Z, elas precisam ser adicionadas em múltiplos de dois.

Potencial enorme de armazenamento

Quando o ZFS foi criado, ele foi projetado para ser a última palavra em sistemas de arquivos.

No momento em que a maioria dos sistemas de arquivos era de 64 bits, os criadores do ZFS decidiram ir direto ao teste de 128 bits para torná-lo mais seguro.

Isso significa que o ZFS “oferece 16 bilhões de bilhões de vezes a capacidade de sistemas de 32 ou 64 bits”.

Na verdade, Jeff Bonwick (um dos criadores) disse que alimentar um “preenchimento total de um pool de armazenamento de 128 bits exigiria, literalmente, mais energia do que ferver os oceanos”.

Como instalar o ZFS

O FreeBSD tem suporte nativo ao ZFS. E é uma das principais razões pelas quais alguns usuários experientes do Linux optam pelo BSD.

Se você quiser experimentar o ZFS no Linux, o Linux permite seu uso, mas não como o sistema raiz (/).

Se você estiver interessado em experimentar o ZFS no Linux, o projeto ZFS no Linux possui vários tutoriais sobre como fazer isso.

Aprenda muito mais sobre Linux em nosso curso online. Você pode fazer a matrícula aqui com trial de 7 dias grátis. Se você já tem uma conta, pode acessar aqui.

Gostou? Compartilhe 🙂

Open chat