Pesquisa de site

Como criar armazenamento em disco com LVM no Linux – Parte 1


O Gerenciamento de Volume Lógico (LVM) é uma ferramenta poderosa que simplifica muito o gerenciamento do espaço em disco. Com o LVM, a tarefa de alocar espaço adicional para um sistema de arquivos torna-se fácil.

Sempre que um sistema de arquivos exigir mais espaço, ele poderá extrair facilmente do espaço livre disponível em seu grupo de volumes correspondente. Como resultado, os sistemas de arquivos podem ser redimensionados dinamicamente para acomodar nossas necessidades específicas.

Além disso, o LVM oferece proteção robusta de dados em caso de falhas no disco. Se um disco começar a mostrar sinais de falha, poderemos integrar perfeitamente um disco substituto ao grupo de volumes como um novo volume físico.

Ao fazer isso, os volumes lógicos podem ser migrados com eficiência para o disco novo, garantindo a continuidade e protegendo contra qualquer potencial perda de dados.

Em essência, o LVM capacita os administradores a lidar com a alocação e o gerenciamento de espaço em disco com flexibilidade e resiliência incomparáveis. Seus recursos de redimensionamento dinâmico e recursos de redundância integrados tornam-no um recurso indispensável para otimizar a utilização do armazenamento e aprimorar a integridade dos dados em qualquer configuração de sistema.

Apresentando a série abrangente “Preparação para configurar o LVM (Logical Volume Management)“, cuidadosamente elaborada nas Partes 1 a 6, com uma exploração aprofundada dos seguintes tópicos essenciais:

Antes de prosseguir com a configuração do LVM, considere os seguintes pré-requisitos:

Configuração do meu servidor – Requisitos
  • SO – RHEL 9 com instalação LVM
  • IP – 192.168.0.200
  • Discos – 3 discos com 20GB cada.

Verifique o armazenamento em disco LVM no Linux

1. Para obter informações sobre nossa configuração de LVM, podemos utilizar os seguintes comandos para revelar os componentes distintos: Volume físico (PV), Grupo de Volume (VG) e Volume Lógico (LV).

pvs 
vgs
lvs

Aqui está a descrição de cada parâmetro mostrado na imagem acima.

  • Tamanho do disco físico (tamanho PV)
  • O disco utilizado foi o Disco Virtual sda.
  • Tamanho do grupo de volumes (tamanho VG)
  • Nome do grupo de volumes (vg_tecmint)
  • Nome do volume lógico (LogVol00, LogVol01)
  • LogVol00 Atribuído para uma troca com tamanho de 956 MB
  • LogVol01 Atribuído para/com 18,63 GB

Então, a partir daqui ficamos sabendo que não há espaço livre suficiente no disco VDA.

Crie um novo grupo de volumes no LVM

2. Para criar um novo Grupo de Volumes, precisamos adicionar mais 3 discos rígidos a este servidor. Porém, não é obrigatório o uso de 3 drives; apenas 1 é suficiente para criar um novo VG e LV (Volume Lógico) dentro desse VG.

Estou adicionando os três discos a seguir aqui para fins de demonstração e para fornecer mais explicações sobre comandos de recursos.

sdb, sdc, sdd

3. Para listar todos os discos e suas partições, como nome do disco, tamanho, tipo de partição, setores inicial e final e muito mais, use o utilitário fdisk conforme mostrado.

fdisk -l

Aqui está a descrição de cada disco mostrado na imagem acima.

  • O disco padrão usado para o sistema operacional é RHEL 9.
  • As partições definidas no disco padrão são as seguintes: (sda1=boot), (sda2=/).
  • Além disso, os discos adicionados são mencionados como Disco1, Disco2 e Disco3.

Cada disco tem 20 GB de tamanho.

4. Agora execute o comando vgdisplay para visualizar informações detalhadas sobre todos os grupos de volumes presentes no sistema, incluindo nome, tamanho, espaço livre, volume físico (PV) informações e muito mais.

vgdisplay

Aqui está a descrição de cada parâmetro mostrado na imagem acima.

  • Nome VG – Um nome de grupo de volumes.
  • Formato – Arquitetura LVM usada lvm2.
  • Acesso VG – O Grupo de Volume está no modo de leitura e gravação e pronto para uso.
  • Status VG – O grupo de volumes pode ser redimensionado. Podemos expandi-lo se precisarmos adicionar mais espaço.
  • Cur LV – Atualmente, existem 2 volumes lógicos neste grupo de volumes.
  • CurPV e Act PV – Atualmente, o disco físico em uso é 1 (vda) e está ativo. Então, podemos usar este grupo de volumes.
  • Tamanho PE – As extensões físicas (PEs) e o tamanho de um disco podem ser definidos usando o tamanho PE ou GB. O tamanho PE padrão do LVM é 4 MB. Por exemplo, se precisarmos criar um volume lógico de 5 GB, podemos usar uma soma de 1280 PEs. Você entende o que eu estou dizendo?

Aqui está a explicação: 1 GB é igual a 1.024 MB, então 1.024 MB x 5=5.120 PE=5 GB. Agora, divida 5120 por 4=1280. 4 é o tamanho PE padrão.

  • PE total – Este grupo de volume possui.
  • Aloc PE – PE total usado, PE completo já usado, 5.008 x 4PE=2.0032.
  • PE grátis – Aqui já é usado então não havia PE grátis.

5. Agora liste as informações de espaço em disco do sistema de arquivos, aqui apenas sda é usado com /boot, /, e swap no disco físico sda usando LVM. Não há espaço restante neste disco.

df -TH

A imagem acima mostra o ponto de montagem que estamos usando, e os 19GB são totalmente usados para o root, portanto não há espaço livre disponível.

Crie uma partição de disco

6. Então, vamos criar um novo volume físico (PV) e um novo grupo de volumes (VG) chamado tecmint_add_vg e criar volumes lógicos (LVs) dentro dele. Aqui podemos criar 4 volumes lógicos com os nomes tecmint_documents, tecmint_manager e tecmint_public.

Podemos estender o Grupo de Volumes do VG usado atualmente para obter mais espaço. Porém, neste caso, vamos criar um novo Grupo de Volumes e experimentá-lo. Posteriormente, poderemos ver como estender os sistemas de arquivos do Grupo de Volumes que está em uso atualmente.

Antes de usar um novo disco, precisamos particionar o disco usando o comando fdisk conforme mostrado.

fdisk -c /dev/sdb

A seguir, siga as etapas abaixo para criar uma nova partição.

  • Escolha n para criar um novo.
  • Escolha p para criar uma partição primária.
  • Escolha qual número de partições precisamos criar.
  • Pressione enter duas vezes para usar todo o espaço do disco.
  • Precisamos alterar o tipo de partição recém-criada t.
  • Qual número de partição precisa ser alterado, escolha o número que criamos seu 1.
  • Aqui precisamos mudar o tipo, precisamos criar o LVM então vamos usar o código do tipo do LVM como 8e, se não soubermos o código do tipo Pressione L para listar todos os tipos de códigos.
  • Imprima a partição que criamos apenas para confirmar.
  • Aqui podemos ver o ID como 8e LINUX LVM.
  • Escreva as alterações e saia do fdisk.

7. Execute as etapas acima para os outros 2 discos sdc e sdd para criar novas partições. Em seguida, reinicie a máquina para verificar a tabela de partições usando o comando fdisk.

fdisk -l

Criar volume físico LVM

8. Agora é hora de criar volumes físicos usando todos os três discos. Aqui, listei os discos físicos usando o comando ‘pvs’ e agora apenas um PV padrão está listado.

pvs

9. Em seguida, crie os novos discos físicos e confirme os discos físicos recém-criados.

pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1
pvs

Criando grupos de volumes LVM

10. Crie um grupo de volume chamado tecmint_add_vg usando o PV gratuito disponível e um tamanho PE de 32. Para exibir nos grupos de volumes atuais, podemos ver que há um grupo de volumes com 1 PV em uso.

vgs

11. Isso criará o grupo de volumes chamado tecmint_add_vg usando um tamanho de 32MB PE e os 3 volumes físicos que criamos nas últimas etapas.

vgcreate -s 32M tecmint_add_vg /dev/sdb1 /dev/sdc1 /dev/sdd1

12. Em seguida, verifique o grupo de volumes executando o comando vgs novamente.

vgs

Compreendendo a saída do comando vgs:

  • Nome do grupo de volumes.
  • Volumes físicos usados neste grupo de volumes.
  • Mostra o espaço livre disponível neste grupo de volumes.
  • Tamanho total do grupo de volumes.
  • Volumes lógicos dentro deste grupo de volumes, aqui ainda não criamos, então há 0.
  • SN=Número de instantâneos que o grupo de volumes contém. (Mais tarde podemos criar um instantâneo).
  • Status do grupo de volumes como gravável, legível, redimensionável, exportado, parcial e clusterizado. Aqui é wz–n- que significa w=gravável, z=redimensionável.
  • Número de Volume Físico (PV) usado neste Grupo de Volume.

13. Para exibir mais informações sobre o grupo de volumes, use o comando.

vgs -v

14. Para obter mais informações sobre grupos de volumes recém-criados, execute o comando a seguir.

vgdisplay tecmint_add_vg

Aqui está a descrição de cada parâmetro mostrado na imagem acima.

  • Nome do grupo de volumes
  • Arquitetura LVM usada.
  • Pode ser lido e escrito, pronto para uso.
  • Este grupo de volumes pode ser redimensionável.
  • Nenhum disco físico foi usado e eles estão ativos.
  • Tamanho total do grupo de volumes.
  • Um tamanho único de PE era 32 aqui.
  • Número total de PE disponíveis neste grupo de volumes.
  • Atualmente não criamos nenhum LV dentro deste VG, então é totalmente gratuito.
  • UUID deste grupo de volumes.

Criando volumes lógicos LVM

15. Agora, crie 3 volumes lógicos chamados tecmint_documents, tecmint_manager e tecmint_public. Aqui, demonstraremos como criar volumes lógicos usando tamanho PE e tamanho GB.

Primeiro, liste os volumes lógicos atuais usando o seguinte comando.

lvs

16. Esses volumes lógicos estão no grupo de volumes vg_tecmint. Para ver quanto espaço livre está disponível para criar volumes lógicos, liste o grupo de volumes e os volumes físicos disponíveis usando o comando ‘vgs’.

vgs

O tamanho do grupo de volumes é de quase 60 GB e não é utilizado, portanto podemos criar LVs nele. Vamos dividir o grupo de volumes em tamanhos iguais para criar 3 volumes lógicos. Isso significa 60 GB/3=20 GB. Cada volume lógico terá 20 GB de tamanho após a criação.

Método 1: Criando volumes lógicos usando tamanho PE

Primeiro, vamos criar volumes lógicos usando o tamanho da extensão física (PE). Precisamos saber o tamanho padrão do PE atribuído a este Grupo de Volumes e o total de PEs disponíveis para criar novos Volumes Lógicos.

Execute o seguinte comando para obter essas informações.

vgdisplay tecmint_add_vg

  • O PE padrão atribuído para este VG é 32 MB. Aqui, o tamanho do PE único será 32 MB.
  • O PE total disponível é 1917.

Basta fazer e ver um pequeno cálculo usando o comando bc.

bc
1917PE/3 = 639 PE. 
639 PE x 32MB = 20448 --> 20GB

Pressione CRTL+D para sair de bc.

Vamos agora criar 3 volumes lógicos usando 639 PE’s. Aqui -l é usado para estender o tamanho e -n para atribuir um nome de volume lógico.

lvcreate -l 639 -n tecmint_documents tecmint_add_vg
lvcreate -l 639 -n tecmint_manager tecmint_add_vg
lvcreate -l 639 -n tecmint_public tecmint_add_vg

Liste os volumes lógicos criados usando o comando lvs.

lvs

Método 2: Criando volumes lógicos usando tamanho GB

Ao criar um volume lógico usando o tamanho GB, não podemos obter o tamanho exato. Então, a melhor maneira é criar usando extend.

lvcreate -L 20G -n tecmint_documents tecmint_add_vg
lvcreate -L 20G -n tecmint_manager tecmint_add_vg
lvcreate -L 20G -n tecmint_public tecmint_add_vg
lvcreate -L 20G -n tecmint_public tecmint_add_vg

Liste os volumes lógicos criados usando o comando lvs.

lvs

Aqui, podemos ver que ao criar o terceiro LV não podemos arredondar para 20 GB, é por causa de pequenas mudanças no tamanho, mas esse problema será ignorado ao criar o LV usando o tamanho estendido.

Criando sistema de arquivos

17. Para usar os volumes lógicos que precisamos formatar. Aqui estou usando o sistema de arquivos ext4 para criar os volumes e montá-los em /mnt/.

mkfs.ext4 /dev/tecmint_add_vg/tecmint_documents
mkfs.ext4 /dev/tecmint_add_vg/tecmint_public
mkfs.ext4 /dev/tecmint_add_vg/tecmint_manager

18. Vamos criar diretórios em /mnt e montar os volumes lógicos que criamos no sistema de arquivos.

mount /dev/tecmint_add_vg/tecmint_documents /mnt/tecmint_documents/
mount /dev/tecmint_add_vg/tecmint_public /mnt/tecmint_public/
mount /dev/tecmint_add_vg/tecmint_manager /mnt/tecmint_manager/

19. Liste e confirme o ponto de montagem usando.

 
df -h

Montagem Permanente de Volumes Lógicos

20. Agora está montado temporariamente, para montagem permanente, precisamos adicionar a entrada em fstab, para isso vamos obter a entrada de montagem do mtab usando

cat /etc/mtab

21. Precisamos fazer pequenas alterações na entrada fstab ao inserir as cópias do conteúdo da entrada de montagem do mtab, precisamos alterar o rw para os padrões

vi /etc/fstab

Nossas entradas fstab devem ser semelhantes ao exemplo abaixo.

/dev/mapper/tecmint_add_vg-tecmint_documents    /mnt/tecmint_documents  ext4    defaults 0 0
/dev/mapper/tecmint_add_vg-tecmint_public       /mnt/tecmint_public     ext4    defaults 0 0
/dev/mapper/tecmint_add_vg-tecmint_manager      /mnt/tecmint_manager    ext4    defaults 0 0

22. Finalmente, execute o comando mount -a para verificar a entrada fstab antes de reiniciar.

mount -av

Aqui vimos como configurar o armazenamento flexível com volumes lógicos usando disco físico para volume físico, volume físico para grupo de volumes e grupo de volumes para volumes lógicos.

Em meus próximos artigos, verei como estender o grupo de volumes e os volumes lógicos, reduzir o volume lógico, tirar snapshots e restaurar a partir de snapshots. Até então, fique atualizado com o TecMint para mais artigos incríveis.