18Aug

Como gerenciar e usar o LVM( Logical Volume Management) no Ubuntu

Em nosso artigo anterior, nós lhe dissemos o que é o LVM e para o qual você pode querer usá-lo, e hoje nós vamos encaminhá-lo através de algumas das ferramentas de gerenciamento de chaves da LVM para que você tenha certeza ao configurar ou expandir sua instalação.

Como mencionado anteriormente, o LVM é uma camada de abstração entre o seu sistema operacional e os discos rígidos físicos. O que isso significa é que seus discos rígidos físicos e partições já não estão ligados aos discos rígidos e às partições em que residem. Em vez disso, os discos rígidos e as partições que seu sistema operacional vê podem ser qualquer número de discos rígidos separados agrupados ou em um RAID de software.

Para gerenciar o LVM, existem ferramentas GUI disponíveis, mas para realmente entender o que está acontecendo com sua configuração LVM, provavelmente é melhor saber quais são as ferramentas de linha de comando. Isto será especialmente útil se você estiver gerenciando o LVM em um servidor ou distribuição que não ofereça ferramentas GUI.

A maioria dos comandos em LVM são muito semelhantes uns aos outros. Cada comando válido é precedido por um dos seguintes itens:

  • Volume Físico = pv
  • Volume Group = vg
  • Volume Lógico = lv

Os comandos de volume físico são para adicionar ou remover discos rígidos em grupos de volume. Os comandos do grupo de volumes são para alterar o conjunto abstraído de partições físicas apresentadas ao seu funcionamento em volumes lógicos. Os comandos de volume lógico apresentarão os grupos de volume como partições para que seu sistema operacional possa usar o espaço designado.

Folha Cheat LVM para download

Para ajudá-lo a entender quais comandos estão disponíveis para cada prefixo, fizemos uma folha de truques LVM.Vamos abordar alguns dos comandos neste artigo, mas ainda há muito que você pode fazer, que não será abordado aqui.

Todos os comandos nesta lista precisarão ser executados como root porque você está mudando as configurações do sistema que afetarão toda a máquina.

( Clique na miniatura para uma imagem em tamanho real)

Como visualizar informações atuais do LVM

A primeira coisa que você precisa fazer é verificar como seu LVM está configurado. Os comandos s e display funcionam com volumes físicos( pv), grupos de volume( vg) e volumes lógicos( lv), por isso é um bom local para começar quando tenta descobrir as configurações atuais.

O comando de exibição formatará as informações para que seja mais fácil de entender do que o comando s. Para cada comando, você verá o nome e o caminho do pv / vg e também deve fornecer informações sobre espaço livre e usado.

A informação mais importante será o nome do PV e o nome do VG.Com essas duas informações, podemos continuar trabalhando na configuração do LVM.

Criando um Volume Lógico

Os volumes lógicos são as partições que seu sistema operacional usa em LVM.Para criar um volume lógico, primeiro precisamos ter um volume físico e um grupo de volumes. Aqui estão todas as etapas necessárias para criar um novo volume lógico.

Criar volume físico

Começaremos do zero com um novo disco rígido sem partições ou informações sobre ele. Comece por descobrir qual disco você estará trabalhando.(/dev/ sda, sdb, etc.)

Nota: Lembre-se de todos os comandos precisarão ser executados como root ou adicionando 'sudo' ao início do comando.

fdisk -l

Se seu disco rígido nunca foi formatado ou particionado antes, provavelmente você verá algo assim na saída fdisk. Isso é completamente bom porque vamos criar as partições necessárias nas próximas etapas.

Nosso novo disco está localizado no /dev/ sdb, então, use o fdisk para criar uma nova partição na unidade.

Há uma infinidade de ferramentas que podem criar uma nova partição com uma GUI, incluindo Gparted, mas já que já temos o terminal aberto, usaremos o fdisk para criar a partição necessária.

De um tipo de terminal, os seguintes comandos:

fdisk /dev/ sdb

Isso o colocará em um prompt especial do fdisk.

Digite os comandos na ordem dada para criar uma nova partição primária que usa 100% do novo disco rígido e está pronta para o LVM.Se você precisar alterar o tamanho da partição ou desejar várias partições, sugiro usar GParted ou ler sobre o fdisk por conta própria.

Aviso: as etapas a seguir formatarão seu disco rígido. Certifique-se de que não possui informações sobre este disco rígido antes de seguir estas etapas.

  • n = criar nova partição
  • p = criar partição primária
  • 1 = faz partição a primeira no disco

Pressione Enter duas vezes para aceitar o primeiro cilindro e o último cilindro padrão.

Para preparar a partição a ser usada pelo LVM, use os dois comandos a seguir.

  • t = alterar o tipo de partição
  • 8e = alterações no tipo de partição LVM

Verifique e escreva as informações no disco rígido.

  • p = veja a configuração da partição para que possamos analisar antes de escrever alterações no disco
  • w = escrever alterações no disco

Após esses comandos, o prompt do fdisk deve sair e você estará de volta ao prompt do seu terminal.

Digite pvcreate /dev/ sdb1 para criar um volume físico LVM na partição que acabamos de criar.

Você pode estar perguntando por que não formatamos a partição com um sistema de arquivos, mas não se preocupe, esse passo vem mais tarde.


Criar volume Grupo

Agora que temos uma partição designada e o volume físico criado, precisamos criar o grupo de volume. Por sorte, isso só leva um comando.

vgcreate vgpool /dev/ sdb1

O Vgpool é o nome do novo grupo de volumes que criamos. Você pode nomeá-lo o que quiser, mas recomenda-se colocar vg na frente do rótulo, então, se você fizer referência mais tarde, você saberá que é um grupo de volume.

Crie o volume lógico

Para criar o volume lógico que o LVM usará:

lvcreate -L 3G -n lvstuff vgpool

O comando -L designa o tamanho do volume lógico, neste caso, 3 GB e o comando -n nomeia ovolume. O Vgpool é referenciado para que o comando lvcreate saiba do volume para obter o espaço.

Formato e montagem do volume logístico

Um passo final é formatar o novo volume lógico com um sistema de arquivos. Se você quer ajudar a escolher um sistema de arquivos Linux, leia nosso modo de ajudar a escolher o melhor sistema de arquivos para suas necessidades.

mkfs -t ext3 /dev/vgpool/ lvstuff

Crie um ponto de montagem e, em seguida, monte o volume em algum lugar que você possa usá-lo.

mkdir /mnt/ material
mount -t ext3 /dev/vgpool/ lvstuff /mnt/ material

Redimensionando um volume lógico

Um dos benefícios dos volumes lógicos é que você pode fazer suas partes físicas maiores ou menores sem ter que mover tudo para um disco rígido maior. Em vez disso, você pode adicionar um novo disco rígido e estender seu grupo de volume sobre a marcha. Ou se você tiver um disco rígido que não seja usado, você pode removê-lo do grupo de volume para reduzir seu volume lógico.

Existem três ferramentas básicas para fazer volumes físicos, grupos de volumes e volumes lógicos maiores ou menores.

Nota: Cada um desses comandos precisará ser precedido de pv, vg ou lv dependendo do que você está trabalhando.

  • redimensionam - podem encolher ou expandir volumes físicos e volumes lógicos, mas não grupos de volume
  • estender - pode fazer grupos de volumes e volumes lógicos maiores, mas não menores
  • reduzir - pode fazer grupos de volumes e volumes lógicos menores, mas não maiores

Vamos caminhar através de um exemplode como adicionar um novo disco rígido ao volume lógico "lvstuff" que acabamos de criar.

Instale e formate o novo disco rígido

Para instalar um novo disco rígido, siga as etapas acima para criar uma nova partição e adicione a alteração de seu tipo de partição para LVM( 8e).Em seguida, use o pvcreate para criar um volume físico que o LVM pode reconhecer.

Adicionar novo disco rígido ao grupo de volume

Para adicionar o novo disco rígido a um grupo de volume, você só precisa saber qual é sua nova partição, /dev/ sdc1 no nosso caso e o nome do grupo de volume ao qual você deseja adicioná-lo.

Isto irá adicionar o novo volume físico ao grupo de volume existente.

vgextend vgpool /dev/ sdc1

Estender o Volume Lógico

Para redimensionar o volume lógico, precisamos dizer o quanto queremos estender por tamanho em vez de por dispositivo. No nosso exemplo, acabamos de adicionar um disco rígido de 8 GB para o nosso vgpool de 3 GB.Para tornar esse espaço útil, podemos usar lvextend ou lvresize.

lvextend -L8G /dev/vgpool/ lvstuff

Enquanto este comando funcionará, você verá que ele realmente redimensionará nosso volume lógico para 8 GB em vez de adicionar 8 GB ao volume existente como queríamos. Para adicionar os últimos 3 gigabytes disponíveis, você precisa usar o seguinte comando.

lvextend -L + 3G /dev/vgpool/ lvstuff

Agora, nosso volume lógico tem 11 GB de tamanho.

Extensão do sistema de arquivos

O volume lógico é de 11 GB, mas o sistema de arquivos nesse volume ainda é de apenas 3 GB.Para fazer com que o sistema de arquivos use todos os 11 GB disponíveis, você deve usar o comando resize2fs. Basta resize2fs para o volume lógico de 11 GB e fará a magia para você.

resize2fs /dev/vgpool/ lvstuff

Nota: Se você estiver usando um sistema de arquivos diferente além do ext3 / 4, consulte as ferramentas de redimensionamento de seus sistemas de arquivos.

Volume lógico de encolher

Se você quisesse remover um disco rígido de um grupo de volume, você precisaria seguir as etapas acima na ordem inversa e usar lvreduce e vgreduce em vez disso.

  1. redimensiona o sistema de arquivos( certifique-se de mover os arquivos para uma área segura do disco rígido antes de redimensionar)
  2. reduz o volume lógico( em vez de + para estender você também pode usar - para reduzir por tamanho)
  3. remove o disco rígido do grupo de volume com vgreduce

Fazendo backup de um volume lógico

Snapshots é uma característica que alguns sistemas avançados de arquivos avançados vêm, mas o ext3 / 4 não possui a capacidade de fazer instantâneos na hora. Uma das coisas mais legais sobre os instantâneos do LVM é que seu sistema de arquivos nunca está conectado e você pode ter o máximo que quiser sem ocupar espaço extra no disco rígido.

Quando o LVM toma um instantâneo, é tirada uma imagem de como o volume lógico se parece e essa imagem pode ser usada para fazer uma cópia em um disco rígido diferente. Enquanto uma cópia está sendo feita, qualquer nova informação que precisa ser adicionada ao volume lógico é gravada no disco exatamente como normal, mas as alterações são rastreadas para que a imagem original nunca seja destruída.

Para criar um instantâneo, precisamos criar um novo volume lógico com espaço livre suficiente para manter qualquer nova informação que será gravada no volume lógico enquanto fazemos um backup. Se a unidade não estiver sendo escrita ativamente, você pode usar uma quantidade muito pequena de armazenamento. Uma vez que terminamos com o nosso backup, acabamos de remover o volume lógico temporário e o volume lógico original continuará como normal.

Criar novo instantâneo

Para criar um instantâneo do lvstuff use o comando lvcreate como antes, mas use o sinalizador -s.

lvcreate -L512M -s -n lvstuffbackup /dev/vgpool/ lvstuff

Aqui criamos um volume lógico com apenas 512 MB porque a unidade não está sendo usada ativamente. O 512 MB armazenará novas escritas enquanto fizermos o nosso backup.

Mount New Snapshot

Assim como antes precisamos criar um ponto de montagem e montar o novo instantâneo para que possamos copiar arquivos dele.

mkdir /mnt/ lvstuffbackup
montagem /dev/vgpool/ lvstuffbackup /mnt/ lvstuffbackup

Copiar Instantâneo e Apagar Volume Lógico

Tudo o que você precisa fazer é copiar todos os arquivos do /mnt/lvstuffbackup/ para um disco rígido externo ou alinhá-lo, então está tudo em um arquivo.

Nota: tar -c criará um arquivo e -f direcionará a localização e o nome do arquivo do arquivo. Para obter ajuda com o comando tar use man tar no terminal.

tar -cf /home/rothgar/Backup/ lvstuff-ss /mnt/lvstuffbackup/

Lembre-se de que, enquanto o backup está ocorrendo, todos os arquivos que seriam gravados no lvstuff estão sendo rastreados no volume lógico temporário que criamos anteriormente. Certifique-se de ter espaço livre suficiente enquanto o backup está acontecendo.

Quando o backup terminar, desmonte o volume e remova o instantâneo temporário.

umount /mnt/ lvstuffbackup
lvremove /dev/vgpool/lvstuffbackup/

Excluindo um Volume Lógico

Para excluir um volume lógico, você precisa primeiro verificar se o volume está desmontado e, em seguida, você pode usar o lvremove para excluí-lo. Você também pode remover um grupo de volume depois que os volumes lógicos foram excluídos e um volume físico após o grupo de volume ser excluído.

Aqui estão todos os comandos que utilizam os volumes e grupos que criamos.

umount /mnt/ lvstuff
lvremove /dev/vgpool/ lvstuff
vgremove vgpool
pvremove /dev/ sdb1 /dev/ sdc1

Isso deve cobrir a maior parte do que você precisa saber para usar o LVM.Se você tem alguma experiência sobre o assunto, certifique-se de compartilhar sua sabedoria nos comentários.