Como gerenciar e usar o LVM (Logical Volume Management) no Ubuntu
Em nosso artigo anterior, dissemos a você o que é o LVM e para o que você pode usá-lo, e hoje vamos orientá-lo em algumas das principais ferramentas de gerenciamento do LVM, para que você tenha confiança ao configurar ou expandir sua instalação.
Como dito 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 não estão mais presos aos discos rígidos e partições em que residem. Em vez disso, os discos rígidos e partições que seu sistema operacional vê podem ser qualquer número de discos rígidos separados reunidos em conjunto ou em um software RAID..
Para gerenciar o LVM, existem ferramentas de GUI disponíveis, mas para realmente entender o que está acontecendo com sua configuração de LVM, provavelmente é melhor saber quais são as ferramentas de linha de comando. Isso será especialmente útil se você estiver gerenciando LVM em um servidor ou distribuição que não ofereça ferramentas GUI.
A maioria dos comandos no LVM são muito semelhantes entre si. Cada comando válido é precedido por um dos seguintes:
- Volume Físico = pv
- Grupo de Volume = vg
- Volume Lógico = lv
Os comandos de volume físico são para adicionar ou remover discos rígidos em grupos de volumes. Os comandos do grupo de volumes são para alterar o conjunto abstraído de partições físicas que são apresentadas ao seu funcionamento em volumes lógicos. Os comandos de volume lógico apresentarão os grupos de volumes como partições para que o sistema operacional possa usar o espaço designado.
Cheat sheet para download da LVM
Para ajudar você a entender quais comandos estão disponíveis para cada prefixo, fizemos uma folha de dicas do LVM. Vamos cobrir alguns dos comandos deste artigo, mas ainda há muito o que fazer que não será coberto aqui.
Todos os comandos nesta lista precisarão ser executados como root porque você está alterando as configurações do sistema que afetarão toda a máquina.
(Clique na miniatura para uma imagem em tamanho completo)
Como exibir informações atuais do LVM
A primeira coisa que você precisa fazer é verificar como seu LVM está configurado. o s
e exibição
os comandos funcionam com volumes físicos (pv), grupos de volumes (vg) e volumes lógicos (lv), portanto, é um bom lugar para começar ao tentar descobrir as configurações atuais.
o exibição
comando irá formatar as informações para que seja mais fácil de entender do que o s
comando. Para cada comando, você verá o nome e o caminho do pv / vg e também deverá fornecer informações sobre o 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
Volumes lógicos são as partições que seu sistema operacional usa no LVM. Para criar um volume lógico, primeiro precisamos ter um volume físico e um grupo de volumes. Aqui estão todos os passos necessários para criar um novo volume lógico.
Criar volume físico
Vamos começar do zero com um novo disco rígido sem partições ou informações sobre ele. Comece encontrando com qual disco você estará trabalhando. (/ dev / sda, sdb, etc.)
Nota: Lembre-se de que todos os comandos precisarão ser executados como root ou adicionando 'sudo' ao início do comando.
fdisk -l
Se o seu disco rígido nunca foi formatado ou particionado antes você provavelmente verá algo assim na saída do fdisk. Isso é completamente bom porque vamos criar as partições necessárias nas próximas etapas.
Nosso novo disco está localizado em / dev / sdb, então vamos usar 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 o Gparted, mas como já temos o terminal aberto, usaremos o fdisk para criar a partição necessária.
De um terminal, digite os seguintes comandos:
fdisk / dev / sdb
Isto irá colocá-lo em um prompt especial do fdisk.
Digite os comandos na ordem indicada para criar uma nova partição primária que use 100% do novo disco rígido e esteja pronta para o LVM. Se você precisar alterar o tamanho da partição ou desejar várias parções, sugiro usar o GParted ou ler sobre o fdisk sozinho.
Aviso: as etapas a seguir irão formatar seu disco rígido. Certifique-se de não ter nenhuma informação sobre este disco rígido antes de seguir estas etapas.
n
= criar nova partiçãop
= cria partição primária1
= torna a partição a primeira no disco
Pressione enter duas vezes para aceitar o primeiro cilindro padrão e o último cilindro.
Para preparar a partição a ser usada pelo LVM, use os dois comandos a seguir.
t
= alterar o tipo de partição8e
= mudanças no tipo de partição LVM
Verificar e gravar as informações no disco rígido.
p
= visualizar a configuração da partição para que possamos revisar antes de gravar as alterações no discoW
= gravar alterações no disco
Após esses comandos, o prompt do fdisk deve sair e você voltará ao prompt bash do seu terminal.
Entrar pvcreate / dev / sdb1
para criar um volume físico LVM na partição que acabamos de criar.
Você pode estar se perguntando por que não formatamos a partição com um sistema de arquivos, mas não se preocupe, essa etapa vem depois.
Criar grupo de volumes
Agora que temos uma partição designada e um volume físico criado, precisamos criar o grupo de volumes. Felizmente isso só leva um comando.
vgcreate vgpool / dev / sdb1
Vgpool é o nome do novo grupo de volumes que criamos. Você pode nomear o que quiser, mas é recomendado colocar vg na frente do rótulo, então se você fizer referência a ele mais tarde, saberá que é um grupo de volume.
Criar 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 o volume. O Vgpool é referenciado para que o comando lvcreate saiba de qual volume obter o espaço de.
Formatar e montar o volume lógico
Uma etapa final é formatar o novo volume lógico com um sistema de arquivos. Se você quiser ajudar a escolher um sistema de arquivos Linux, leia nosso como isso pode ajudá-lo a escolher o melhor sistema de arquivos para suas necessidades.
mkfs -t ext3 / dev / vgpool / lvstuff
Crie um ponto de montagem e monte o volume em algum lugar onde você possa usá-lo.
mkdir / mnt / stuff
montar -t ext3 / dev / vgpool / lvstuff / mnt / stuff
Redimensionando um volume lógico
Um dos benefícios dos volumes lógicos é que você pode tornar seus compartilhamentos fisicamente 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 volumes rapidamente. Ou se você tiver um disco rígido que não é usado, você pode removê-lo do grupo de volume para reduzir seu volume lógico.
Existem três ferramentas básicas para tornar volumes físicos, grupos de volumes e volumes lógicos maiores ou menores.
Nota: Cada um desses comandos precisará ser precedido por pv, vg ou lv dependendo do que você está trabalhando.
redimensionar
- pode reduzir ou expandir volumes físicos e volumes lógicos, mas não grupos de volumesampliar
- pode tornar grupos de volumes e volumes lógicos maiores, mas não menoresreduzir
- pode tornar grupos de volumes e volumes lógicos menores, mas não maiores
Vamos percorrer um exemplo de como adicionar um novo disco rígido ao volume lógico “lvstuff” que acabamos de criar.
Instalar e formatar novo disco rígido
Para instalar um novo disco rígido, siga os passos acima para criar uma nova partição e adicione a mudança do seu tipo de partição para LVM (8e). Em seguida, use o pvcreate para criar um volume físico que o LVM possa reconhecer.
Adicionar novo disco rígido ao grupo de volume
Para adicionar o novo disco rígido a um grupo de volumes, você só precisa saber qual é a sua nova partição, / dev / sdc1 em nosso caso, e o nome do grupo de volumes ao qual você deseja adicioná-la.
Isso adicionará o novo volume físico ao grupo de volumes existente.
vgextend vgpool / dev / sdc1
Estenda o volume lógico
Para redimensionar o volume lógico, precisamos dizer quanto queremos ampliar por tamanho em vez de por dispositivo. No nosso exemplo, adicionamos um disco rígido de 8 GB ao nosso vgpool de 3 GB. Para tornar esse espaço utilizável, 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 é de 11 GB de tamanho.
Estender o 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 os 11 GB disponíveis, você deve usar o comando resize2fs. Apenas aponte resize2fs para o volume lógico de 11 GB e ele fará a mágica para você.
resize2fs / dev / vgpool / lvstuff
Nota: Se você estiver usando um sistema de arquivos diferente do ext3 / 4, consulte suas ferramentas de redimensionamento de sistemas de arquivos..
Diminuir o Volume Lógico
Se você quisesse remover um disco rígido de um grupo de volumes, você precisaria seguir as etapas acima na ordem inversa e usar lvreduce e vgreduce.
- redimensionar o sistema de arquivos (lembre-se de mover os arquivos para uma área segura do disco rígido antes de redimensionar)
- reduzir o volume lógico (em vez de + para estender você também pode usar - para reduzir por tamanho)
- remova o disco rígido do grupo de volume com vgreduce
Fazendo backup de um volume lógico
Snapshots é um recurso que alguns sistemas de arquivos avançados mais recentes vêm com, mas ext3 / 4 não tem a capacidade de fazer snapshots em tempo real. Uma das coisas mais legais sobre os instantâneos do LVM é que o sistema de arquivos nunca fica offline e você pode ter quantos desejar sem ocupar espaço extra no disco rígido.
Quando o LVM faz um instantâneo, é tirada uma fotografia de como exatamente o volume lógico se parece e a imagem pode ser usada para fazer uma cópia em um disco rígido diferente. Enquanto uma cópia está sendo feita, qualquer informação nova que precise ser adicionada ao volume lógico é gravada no disco como normalmente, 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 armazenar qualquer nova informação que será gravada no volume lógico enquanto fazemos um backup. Se a unidade não estiver sendo ativamente gravada, você poderá usar uma quantidade muito pequena de armazenamento. Quando terminarmos o backup, basta remover o volume lógico temporário e o volume lógico original continuará normalmente..
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 nós criamos um volume lógico com apenas 512 MB porque o drive não está sendo usado ativamente. Os 512 MB armazenam novas gravações enquanto fazemos nosso backup.
Monte o novo instantâneo
Assim como antes, precisamos criar um ponto de montagem e montar o novo instantâneo para que possamos copiar arquivos dele.
mkdir / mnt / lvstuffbackup
montar / dev / vgpool / lvstuffbackup / mnt / lvstuffbackup
Copiar Instantâneo e Excluir Volume Lógico
Tudo o que resta a fazer é copiar todos os arquivos de / mnt / lvstuffbackup / para um disco rígido externo ou tar-lo para que tudo seja em um arquivo.
Nota: tar -c criará um arquivo e -f dirá o local e o nome do arquivo. Para obter ajuda com o uso do comando tar tar homem
no terminal.
tar -cf / home / rothgar / Cópia de segurança / lvstuff-ss / mnt / lvstuffbackup /
Lembre-se de que, enquanto o backup estiver ocorrendo, todos os arquivos que seriam gravados no lvstuff serão rastreados no volume lógico temporário que criamos anteriormente. Verifique se você tem 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, primeiro é necessário garantir que o volume seja desmontado e, em seguida, você pode usar lvremove para excluí-lo. Você também pode remover um grupo de volumes depois que os volumes lógicos forem excluídos e um volume físico depois que o grupo de volumes for excluído.
Aqui estão todos os comandos usando 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, não deixe de compartilhar sua sabedoria nos comentários.