Linux na Web

Como utilizar o LVM no Linux

Tempo de leitura: 9 minutos

Neste artigo irei ensinar como utilizar o LVM – Lógical Volume Manager, como a própria sigla diz o LVM é gerenciador de volumes lógicos. Ao contrário do método tradicional de particionamento, a implementação LVM cria um grande disco virtual, que pode inclusive ter mais de um dispositivo de armazenamento (HD/SSD), e divide em partições virtuais. A grande vantagem é permitir o redimensionamento das áreas de modo dinâmico, ou seja, com o sistema operacional sendo utilizado, sem precisar desligar.

Estrutura LVM

Para compreendermos como funciona o LVM primeiro precisamos conhecer a sua estrutura e como funciona, logo abaixo irei explicar a sua estrutura.

PV – Physical Volumes (Volumes Físicos) – São partições locadas para LVM. No Linux é necessário criar a partição e alterar o tipo para “Linux LVM”, tipo 8e do fdisk, para que ela possa ser utilizada no LVM;

VG – Volume Group (Grupo de Volume) – Um conjunto de PV podem ser necessários para criar filesystems maiores que a limitação física de um disco rígido. Esses PV são agrupados em um VG;

PE – (Physical Extent) – Quando um PV é inserido em um VG o LVM o divide em várias partes de tamanho igual e essas partes são associadas a uma LE (Logical Extent), o menor valor de alocação dentro de um VG (do ponto de vista do LVM);

LV – Logical Volume (Volume Lógico) – São volumes lógicos que você pode redimensionar a capacidade de forma dinâmica. Esse elemento é uma área de alocação das LE, na qual criamos o filesystem, que podemos manipular ou criar o sistema de arquivos, já criado ele nos atribuí um device para que possamos montar, e segue a seguinte lógica: /dev/nome-do-vg/nome-do-lv;

Estrutura visual do LVM

Estrutura LVM

Estrutura simplificada do LVM

Estrutura LVM

Quando é necessário utilizar? Imagine que você tem um compartilhamento em Samba que é o servidor de arquivos da sua empresa, se o disco desse compartilhamento encher, você terá que trocar o disco por um de capacidade maior e restaurar o backup para o disco novo, imagine o transtorno. Agora se utilizar o LVM, e esse disco encher basta você aumentar o tamanho da capacidade do armazenamento lógico dele, lembrando que você precisa ter disco disponível em seu servidor ou no seu storage, isso seria muito mais fácil não é?

Lembrando que esse artigo serve para qualquer distribuição linux!

Utilizando o LVM

Crie as partições que serão utilizadas no LVM
Você pode adicionar um disco virtual em seu virtualbox ou outro hypervisor que esteja utilizando.

Liste os discos existentes utilizando o fdisk:

Irei adicionar um disco extra de 10GB, estou utilizando o VirtualBox.

Abaixo listei os discos e suas partições usando o comando lsblk, repare que o disco de 10GB é o sdb e está sem nenhuma partição.

Criando a partição Linux LVM

Iremos utilizar o fdisk novamente só que dessa vez para criar a partição, conforme eu citei no começo do artigo, a partição precisa ser do tipo Linux LVM, o código dela no disk é 8e.

Execute novamente o comando fdisk para conferir se a partição foi criada:

Criando Volume Físico (Physical Volume)

Agora iremos criar o Volume Físico, que será o volume que será adicionado no grupo do LVM.

Liste o Physical Volume criado

Criando Grupo de Volumes (Volume Group)

Crie o Grupo de Volumes, onde iremos atribuir o Volume Físico que acabamos de criar.

Habilite o Volume Group (Grupo de Volume) com o comando vgchange.

Liste os grupos existentes, vc pode utilizar o vgscan que exibe somente os grupos criados ou use o vgdisplay para exibir com mais detalhes.

Criando Volume Lógico (Logical Volume)

Agora iremos criar um Logical Volume (Volume Lógico) onde iremos definir um sistema de arquivos para armazenar os dados.

Vamos listar os nosso Logical Volume com o comando lvdisplay, se quiser listar de forma mais detalhada utilize o comando: vgdisplay -v backup-vg.

Nota!

Quando vc cria um volume group, ele cria dentro do diretório /dev um subdiretório com o nome do seu volume group, ficando dessa forma: /dev/backup-vg/ e dentro do diretório do seu volume group fica os devices dos seus volumes lógicos, ficando dessa forma: /dev/backup-vg/backup-lv.

Criando o sistema de arquivos EXT4.

Crie um sistema de arquivos no seu Volume Lógico:

Crie o diretório onde iremos montar o nosso Volume Lógico e monte em seguida:

Após montado execute o comando df, para exibir as partições montadas.

Agora que aprendemos a criar um Volume Físico, Grupo de Volume e Volume Lógico, vamos aprender a expandir o nosso Volume Lógico, em um cenário real, isso ocorreria se o seu volume enchesse e precisasse aumentar o armazenamento desse volume, em nosso cenário irei acrescentar mais 2 Gigas.

Aumentando a capacidade do seu Volume Lógico.

Desmonte o sua partição:

Aumente mais 2GB do seu volume lógico.

Vamos checar o nosso LV com o comando e2fsck.

Agora vamos aumentar a partição ext4

Monte a partição novamente.

Liste as partições

Diminuindo o tamanho do seu Volume Lógico.

Diminuindo o Volume Lógico.

Cheque novamente a partição novamente

Irei diminuir para 5GB

Diminuir a partição ext4 em 5Gigas.

Nota:

Cuidado ao reduzir a sua partição, tenha certeza que irá não irá reduzir pra um tamanho menor do que a quantidade de dados armazenados na partição.

Verifique a partição novamente:

Rode novamente o comando resize2fs para ter certeza que sua partição vai ficar do mesmo tamanho do Volume Lógico.

Cheque novamente.

Agora monte novamente a sua partição:

Vamos verificar se o disco foi redimensionado para 5 Gigas.

Pronto! agora vc aprendeu como utilizar o LVM, criação de grupos, definir o sistema de arquivos para um Volume Lógico, aumentar e diminuir uma partição.

Para montar a partição automático, acesse o artigo sobre fstab.

Acredito que irá ajudar bastante gente, fiquei ausente devido algumas mudanças na minha carreira, acredito que agora eu volte com muito conteúdo para vcs!

Até a próxima, não esqueça de compartilhar e curtir as nossas redes sociais: @linuxnaweb.

Referências:

redhat.com/resize2fs | redhat.com/lvm | vivaolinux | gutocarvalho

Sobre: 
SysOps - Entusiasta por Linux, fundou o site Linux na Web no intuito de ajudar a comunidade Linux com artigos que possa ajudar no dia-dia do profissional de TI, trabalho em um ambiente com práticas DevOps para automatizar e agilizar nas tarefas diárias. - Amo o que eu faço... Gosto de tudo que é relacionado a Tecnologia, principalmente se for Open Source hehe e Amo a minha Família!

2 Comentários

  1. Paulo Junior

    08/05/2019 - 06:52

    Muito bom o artigo. Parabéns Gerson.
    Já estou utilizando, me ajudou muito.
    Abraço

  2. Gerson

    08/05/2019 - 21:49

    Valeu Junior, fico feliz que tenha ajudado! 🙂

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

%d blogueiros gostam disto: