quinta-feira, 24 de setembro de 2009

Logical Volume Manager



objetivos

  • Com o LVM podemos gerenciar, criar, aumentar tamanho, diminuir tamanho entre as partições existentes no LVM.
  • O LVM é bastante utilizado em sistemas virtualizados, onde há grande necessidade de várias partições.

Introdução teórica.

A sigla LVM significa: Logical Volume Manager. Ele é um gerenciador de discos que trabalha com camadas lógicas, que podem ser redimensionadas, aumentando ou diminuindo sem prejudicar o funcionamento do sistema.
A necessidade de se usar LVM é para que possamos aproveitar ao máximo o tamanho do HD ou de vários HD's.


Como funciona o LVM

O LVM é usado para agrupar vários discos de forma que o gerenciamento dos mesmos seja viável em um servidor de produção que não pode ficar desligado.
Vamos imaginar que temos 3 HD's em nossa máquina, e gostariamos de aproveitar ao máximo de seus tamanhos.

Para não ter que se preocupar com o tamanho das partições logo de imediato, iremos usar o LVM para que possamos gerenciar os tamanhos das partições sem precisar fazer as famosas “gambiarras”. Para trabalhar com LVM as partições precisam estar formatadas com o tipo LVM. O LVM Físico do LVM. Esses volumes físicos serão divididos em vários Volumes lógicos como se fossem uma divisão de um disco (partição) para alocar o determinado ponto de montagem, e isso vai trazer a flexibilidade para redimensionar a determinada partição.
Com mais detalhes vejamos as seguintes camadas que o LVM trabalha:

PV Physical Volume (Volume Físico): Os PV's são as partições que serão usadas para compor um disco no formato LVM, eles servem para dar um UUID, que é número de identificação de cada disco.

VG Volume Group (Grupo de Volume): Os VG's são um agrupamento de PV's, podemos ter vários VG's. Um exemplo é que podemos pegar a partições hd3 e hdb4 que estão declaradas como PV's e dizer que eles são o VG01, nisso podemos dividir esse grupo em vários pedaços com tamanhos específicos para ser associados a um diretório. Podemos utilizar todo o tamanho ou podemos deixar um espaço sobrando para quando precisar, aumentar os pedaços.

LV Logical Volume (Volume Lógico): Os Lvs são os pedaços que falamos agora pouco, podemos classifica-los como sendo as partições de um disco, e VG sendo o disco. Eles são as partes que podem ser acessadas pelos usuários e que serão associados a um ponto de montagem específicos. Um exemplo é falar que o PV01 será montado no diretório /home.


PE Physical (Extensão Fisica): Quando um PV é inserido em um VG o LVM o divide em várias partes de igual tamanho e essas partes são associadas a uma LE (Logical Extent), o menor valor de alocação dentro de um VG ( do ponto de vista do LVM). No AIX são conhecidos como PP (Physical Partition) e LP (Logical Partition), respectivamente.


VGDA (Volume Group Descriptor Area): Essa área é uma tabela de alocação do VG. Nela há todos os dados do VG. É dividida em quatro partes básicas: descritor de PV, descritor de VG, descritor de LV e vários descritores de PE e LE.

Definindo as Partições
Antes de criamos as partições LVM, temos que ter em mente nossa tabela de particionamento:

# cat /etc/fstab

Agora iremos ver nossas partições:

# cat /proc/partitions

Partições Livres:


1 – Nas partições para realização deste trabalho, defina o tipo das partições como 8E, e utilize o cfdisk para realização desta tarefa. Não esqueça de reiniciar o computador.

# cfdisk /dev/hda


Pratica Dirigida


1 – Verifique os pacotes necessários ao LVM.

# dpkg -l Lvm2

Caso não tenha:

# aptitude install lvm2

2 – Gere o arquivo de configuração do LVM, utilize o comando vgscan.

# vgscan

3 – Defina as novas partições como o PV (Phisical Volume ou Volume Físico).

# pvcreate /dev/sda11

# pvcreate /dev/sda12

4 – Verifique que as novas partições já estão utilizando LVM com sucesso:


# pvscan

O pvscan, vai mostrar o dispositivo, o tamanho de cada partição, e a soma das duas partições:

5 – Defina um Grupo de Volumes com os volumes físicos criados, nosso caso será o vg001:

# vgcreate vg001 /dev/sda11 /dev/sda12

6 – Consultando o Grupo de Volumes (VG).

# vgdisplay

# vgdisplay -v vg001

7 – Criando um Volume Lógico (LV) denominando teste:

# lvcreate -L 512 -n lv01 vg001

8 – Listando informações do Volume Lógico (LV):

# vgdisplay -v /dev/vg001/lv01

9 – Consultando o Grupo de Volumes (VG), Repare que agora também temos os detalhe do “LV teste”:

# vgdisplay -v vg001

10 – Listando o device do LV criado:

# ls -l /dev/vg001/lv01

11 – Verificando os Lvs criados:

# lvs

12 – Criando um sistema de arquivo EXT3 no Volume Lógico:

# mkfs -t ext3 /dev/vg001/lv01


Usando o LVM

1 – Criando um ponto de montagem para o LVM (caso seja necessário):

# mkdir /lvm

2 – Montando manualmente o sistema LVM criado:

# mount -t ext3 /dev/vg001/lv01 /lvm

3 – Verificando se o dispositivo está montado:

# df -h
# mount

Administrando o LVM

1 – Desmonte o LVM:

# umount /lvm

2 – Redimensione o Volume Lógico (LV)>

# lvextend -L +256mb /dev/vg001/lv01

3 – Verifique o volume:

# e2fsck -f /dev/vg001/lv01

Essa verificação é muito importante, faz a verificação no disco. Caso houver algum erro, é necessário fazer um “restauração”.

Caso aconteça isso, podemos re-estruturar a partição:

4 – Reestruturando o sistema de arquivos do Volume Lógico (LV):

# resize2fs /dev/vg001/lv01

5 – Montando o LV:

# mount -t ext3 /dev/vg001/lv01 /lvm

6 – Verificando a tabela de partições montadas:

# df -h

7 – Desmonte o volume LVM:

# umount /lvm

Troubleshooting

Troubleshooting é a forma com a qual iremos resolver o problema,

1 – Reduzindo o LV. Em toda redução de espaço, há risco de perda de dados. Se quiser, para executar este procedimento, execute um backup da área de disco:

# lvreduce – L -256mb /dev/vg001/lv01

2 – Reestruturando o sistema de arquivos do Volume Lógico (LV):

# resize2fs /dev/vg001/lv01

3 – Montando o LV:

# mount -t ext3 /dev/vg001/kv01 /lvm

4 – Verificando a tabela de partições montadas:

# df -h

Você ira perceber que o tamanho da partição realmente diminui:

5 – Desmonte o volume LVM:

# umount /lvm

6 – Removendo o LV:

# lvremove /dev/vg001/lv01

Caso a partição esteja montada, não vai ser possível remover.

7 – Após a remoção, verifique que não à mais o LV teste:

# lvs

8 – Removendo o grupo:

# vgremove vg001

9 – O comando vgdisplay não ira mostrar mais nada:

# vgdisplay

Exercicios teóricos

Como eu faço para extender uma partição?
Como eu faço para remover uma partição?
Eu posso formatar a partição da LVM, mesmo que ela contenha dados já criados nela?

0 comentários:

Postar um comentário