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.

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:
- Um ou mais discos inteiros ou partições inteiras são configurados como volumes físicos (PVs).
- A volume group (VG) is created using one or more physical volumes. You can think of a volume group as a single storage unit.
- 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:

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

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

É 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

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

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

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/