Introdução ao LVM
O Gerenciador de volume lógico (LVM, na sigla em inglês) divide seus discos ou partições em unidades de extensões físicas (PEs, na sigla em inglês) com o mesmo tamanho ao criar uma camada lógica sobre os discos e as partições. Ele combina diferentes discos e partições no mesmo grupo de volume (VG, na sigla em inglês), para que você possa criar volumes lógicos (LVs, na sigla em inglês) no VG, e os sistemas de arquivos nos LVs.
Em comparação com o uso de partições de disco diretamente, o LVM permite o escalonamento elástico dos seus sistemas de arquivos.
O sistema de arquivos não está mais limitado pelo tamanho do disco físico. Na verdade, ele pode ser distribuído em vários discos:
Por exemplo, você pode adquirir 3 discos em nuvem elásticos de 4 TB e usar o LVM para criar um sistema de arquivos maior com até 12 TB.
Você pode redimensionar os LVs de forma dinâmica em vez de reparticionar seus discos.
Quando a capacidade do VG do LVM não consegue atender às suas necessidades, você pode adquirir um disco em nuvem elástico à parte, montá-lo na sua instância do CVM e escalonar seu VG adicionando o disco em nuvem a ele.
Criação do LVM
Nota:
Os exemplos a seguir usam 3 discos em nuvem elásticos para criar um sistema de arquivos redimensionável de forma dinâmica por meio do LVM:
Etapa 1: criar um volume físico (PV)
2. Execute o seguinte comando para criar os PVs:
pvcreate <disk path 1> ... <disk path N>
Use /dev/vdc, /dev/vdd e /dev/vde como exemplo e execute:
pvcreate /dev/vdc /dev/vdd /dev/vde
A figura a seguir mostra a saída do comando quando a criação obtém êxito:
3. Veja os volumes físicos no sistema atual com o comando:
Etapa 2: criar um grupo de volume (VG)
Execute o seguinte comando para criar um grupo de volume:
vgcreate [-s <specified PE size>] <VG name> <PV path>.
Considere que você queira criar um VG chamado “lvm_demo0” e execute:
vgcreate lvm_demo0 /dev/vdc /dev/vdd
A figura a seguir mostra a saída do comando quando a criação obtém êxito:
Quando a mensagem "Volume group successfully created (Grupo de volume criado com êxito)" for exibida, significa que seu VG foi criado com êxito.
Após a criação, você pode adicionar um novo PV ao VG com o comando:
vgextend VG name New PV path
A figura a seguir mostra a saída do comando quando a operação obtém êxito:
Após criado, você pode executar vgs, vgdisplay ou outros comandos para exibir os VGs no sistema atual, conforme mostrado abaixo:
Etapa 3: criar um volume lógico (LV)
Execute o seguinte comando para criar um LV:
lvcreate [-L <LV size>][-n <LV name>] <VG name>.
Considere que você queira criar um volume lógico de 8 GB chamado "lv_0" e execute:
lvcreate -L 8G -n lv_0 lvm_demo0.
A figura a seguir mostra a saída do comando quando a criação obtém êxito:
Nota:
Execute pvs e você verá que os 8 GB vêm apenas de /dev/vdc, conforme mostrado abaixo:
Etapa 4: criar e montar um sistema de arquivos
1. Crie um sistema de arquivos em um LV existente usando o comando:
mkfs.ext3 /dev/lvm_demo0/lv_0.
2. Monte o sistema de arquivos com o comando:
mount /dev/lvm_demo0/lv_0 vg0/.
A figura a seguir mostra a saída do comando quando a montagem obtém êxito:
Etapa 5: realizar escalonamento dinâmico no seu volume lógico e no sistema de arquivos
Atenção:
LVs podem ser escalonados de forma dinâmica apenas quando a capacidade do VG não está totalmente utilizada. Ao escalonar a capacidade de um LV, você também precisa escalonar o sistema de arquivos criado nesse LV.
1. Escalone um LV executando este comando:
lvextend [-L +/- <capacity amount>] <LV path>.
Considere que você queira aumentar a capacidade do LV chamado “lv_0” em 4 GB, então execute:
lvextend -L +4G /dev/lvm_demo0/lv_0.
A figura a seguir mostra a saída do comando quando o escalonamento obtém êxito:
Nota:
Execute pvs e você verá que /dev/vdc foi totalmente usado, e 2 GB foram usados de /dev/vdd, conforme mostrado abaixo:
2. Escalone o sistema de arquivos com o comando
resize2fs /dev/lvm_demo0/lv_0.
A figura a seguir mostra a saída do comando quando o escalonamento obtém êxito:
Após a conclusão, você pode executar o comando a seguir para ver se a capacidade do seu LV mudou para 12 GB: