LFCS: Como Gerenciar e Criar LVM Usando os Comandos vgcreate, lvcreate e lvextend – Parte 11

Devido às mudanças nas exigências do exame LFCS eficazes a Feb. 2, 2016, estamos adicionando os tópicos necessários à série LFCS publicada aqui. Para se preparar para este exame, você é altamente encorajado a usar a série LFCE também.

LFCS: Manage LVM and Create LVM Partition – Part 11

Uma das decisões mais importantes enquanto instala um sistema Linux é a quantidade de espaço de armazenamento a ser alocado para arquivos do sistema, diretórios pessoais e outros. Se você cometer um erro nesse ponto, alargar uma partição que acabou de espaço pode ser difícil e um pouco arriscado.

Gerenciamento de Volumes Lógicos (também conhecido como LVM), que tornou-se padrão para a instalação de quase todas (se não todas) as distribuições Linux, tem inúmeras vantagens em relação ao gerenciamento tradicional de particionamento. Talvez a característica mais distintiva do LVM seja que ele permite que divisões lógicas sejam redimensionadas (reduzidas ou aumentadas) à vontade sem muitos problemas.

A estrutura do LVM consiste em:

  1. Um ou mais discos inteiros ou partições inteiras são configurados como volumes físicos (PVs).
  2. A volume group (VG) is created using one or more physical volumes. You can think of a volume group as a single storage unit.
  3. Então, múltiplos volumes lógicos podem ser criados em um grupo de volumes. Cada volume lógico é um pouco equivalente a uma partição tradicional – com a vantagem de que pode ser redimensionado à vontade, como mencionamos anteriormente.

Neste artigo, vamos usar três discos de 8 GB cada (/dev/sdb, /dev/sdc e /dev/sdd) para criar três volumes físicos. Você pode criar os PVs diretamente no dispositivo ou particioná-lo primeiro.

Embora tenhamos optado pelo primeiro método, se decidir usar o segundo (conforme explicado em Parte 4 – Criar Partições e Sistemas de Arquivos no Linux desta série), certifique-se de configurar cada partição como tipo 8e.

Criando Volumes Físicos, Grupos de Volumes e Volumes Lógicos

Para criar volumes físicos em cima de /dev/sdb, /dev/sdc e /dev/sdd, faça:

# pvcreate /dev/sdb /dev/sdc /dev/sdd

Você pode listar os PVs recém-criados com:

# pvs

e obter informações detalhadas sobre cada PV com:

# pvdisplay /dev/sdX

(onde X é b, c ou d)

Se omitir /dev/sdX como parâmetro, você obterá informações sobre todos os PVs.

Para criar um grupo de volumes chamado vg00 usando /dev/sdb e /dev/sdc (vamos deixar /dev/sdd para mais tarde para ilustrar a possibilidade de adicionar outros dispositivos para expandir a capacidade de armazenamento quando necessário):

# vgcreate vg00 /dev/sdb /dev/sdc

Assim como no caso dos volumes físicos, você também pode visualizar informações sobre esse grupo de volumes emitindo:

# vgdisplay vg00

Como vg00 é formado por dois discos de 8 GB, ele aparecerá como uma única unidade de 16 GB:

List LVM Volume Groups

Quando se trata de criar volumes lógicos, a distribuição de espaço deve levar em consideração as necessidades atuais e futuras. Considera-se prática padrão nomear cada volume lógico de acordo com seu uso previsto.

Por exemplo, vamos criar dois LVs chamados vol_projects (10 GB) e vol_backups (espaço restante), que podemos usar para armazenar documentações de projetos e cópias de segurança do sistema, respectivamente.

A opção -n é usada para indicar um nome para o LV, enquanto a -L define um tamanho fixo e a -l (letra minúscula L) é usada para indicar uma porcentagem do espaço restante no contêiner VG.

# lvcreate -n vol_projects -L 10G vg00
# lvcreate -n vol_backups -l 100%FREE vg00

Como antes, você pode visualizar a lista de LVs e informações básicas com:

# lvs

e informações detalhadas com

# lvdisplay

Para visualizar informações sobre um LV único, use lvdisplay com os parâmetros VG e LV, conforme mostrado abaixo:

# lvdisplay vg00/vol_projects
List Logical Volume

Na imagem acima, podemos ver que os LVs foram criados como dispositivos de armazenamento (refira-se à linha LV Path). Antes de cada volume lógico poder ser usado, precisamos criar um sistema de arquivos sobre ele.

Neste exemplo, usaremos ext4 já que permite aumentar e reduzir o tamanho de cada LV (enquanto o xfs permite apenas aumentar o tamanho):

# mkfs.ext4 /dev/vg00/vol_projects
# mkfs.ext4 /dev/vg00/vol_backups

Na próxima seção, explicaremos como redimensionar volumes lógicos e adicionar espaço de armazenamento físico extra quando o necessário for fazer isso.

Redimensionando Volumes Lógicos e Estendendo Grupos de Volume

Agora imaginem o seguinte cenário. você está começando a ficar sem espaço em vol_backups, enquanto você tem muito espaço disponível em vol_projects. Devido à natureza de LVM, podemos facilmente reduzir o tamanho do último (digamos 2,5 GB) e alocá-lo para o primeiro, enquanto redimensionamos cada sistema de arquivos ao mesmo tempo.

Felizmente, isso é tão fácil fazer quanto:

# lvreduce -L -2.5G -r /dev/vg00/vol_projects
# lvextend -l +100%FREE -r /dev/vg00/vol_backups
Resize Reduce Logical Volume and Volume Group

É importante incluir os símbolos de menos (-) ou mais (+) enquanto redimensionando um volume lógico. Caso contrário, você está definindo um tamanho fixo para o LV em vez de redimensioná-lo.

Pode acontecer que você chegue a um ponto em que a redimensionação de volumes lógicos já não pode resolver seus necessidades de armazenamento e você precisar comprar um dispositivo de armazenamento extra. Para manter simples, você precisará de outro disco. Vamos simular essa situação adicionando o PV restante do nosso configuração inicial (/dev/sdd).

Para adicionar /dev/sdd a vg00, faça

# vgextend vg00 /dev/sdd

Se você executar vgdisplay vg00 antes e depois do comando anterior, você verá o aumento no tamanho do VG:

# vgdisplay vg00
Check Volume Group Disk Size

Agora você pode usar o espaço adicionado para redimensionar os LVs existentes de acordo com suas necessidades, ou criar outros conforme necessário.

Montagem de volumes lógicos em Boot e em Demanda

Claro, não haveria sentido em criar volumes lógicos se não íamos usá-los mesmo! Para melhor identificar um volume lógico, precisaremos descobrir qual é seu UUID (um atributo não mudável que identifica de forma única um dispositivo de armazenamento formatado).

Para fazer isso, use blkid seguido do caminho para cada dispositivo:

# blkid /dev/vg00/vol_projects
# blkid /dev/vg00/vol_backups
Find Logical Volume UUID

Crie pontos de montagem para cada LV:

# mkdir /home/projects
# mkdir /home/backups

e insira as entradas correspondentes em /etc/fstab (certifique-se de usar os UUIDs obtidos antes):

UUID=b85df913-580f-461c-844f-546d8cde4646 /home/projects	ext4 defaults 0 0
UUID=e1929239-5087-44b1-9396-53e09db6eb9e /home/backups ext4	defaults 0 0

Então, salve as alterações e monte os LVs:

# mount -a
# mount | grep home
Mount Logical Volumes on Linux

Quando se tratar de usar os LVs, você precisará atribuir permissões ugo+rwx apropriadas, conforme explicado em Parte 8 – Gerenciar Usuários e Grupos no Linux desta série.

Resumo

Neste artigo, nós introduzimos o Gerenciamento de Volume Lógico (LVM), uma ferramenta versátil para gerenciar dispositivos de armazenamento que oferece escalabilidade. Quando combinado com RAID (que nós explicamos em Parte 6 – Criar e Gerenciar RAID no Linux desta série), você pode desfrutar não só de escalabilidade (fornecida por LVM) como também de redundância (ofertada por RAID).

Neste tipo de configuração, você encontrará normalmente LVM em cima de RAID, isto é, configure primeiro RAID e depois configure LVM em cima dele.

Se você tem questões sobre este artigo, ou sugestões para melhoria, sinta-se livre para entrar em contato conosco usando o formulário de comentários abaixo.

Source:
https://www.tecmint.com/manage-and-create-lvm-parition-using-vgcreate-lvcreate-and-lvextend/