[LVM] – Gerenciamento de Volumes Lógicos "na unha"!!!
Um dos maiores desafios de montar uma estratégia de armazenamento é definir o espaço que será necessário para atender a todo o volume de dados do servidor, principalmente quando se trata de servidores de arquivos ou servidores FTP ou Web.
Uma das muitas estratégias válidas para tornar um armazenamento dinamicamente expansível é utilizar o LVM (Logical Volume Manager).
Antes de sair implementando a solução o ideal é entender rapidamente com as coisas funcionam:
Volume Group
Um grupo de volumes é composto por Volumes Físicos (que são os discos) e, na prática, abastece os volumes lógicos que serão criados. Na necessidade de crescimento de um ou mais volumes, este VG pode receber mais um disco e os volumes podem ser redimensionados de forma rápida e eficiente.
Um VG pode conter diversos LVs e PVs.
Logical Volume
É, propriamente dito, o volume que será formatado e montado. Ele pode ser redimensionado rapidamente sem que o volume precise ser desmontado.
Mão na massa então!!
No laboratório vamos utilizar um servidor Debian6-x86_64 com 2 discos extras, um de 40GB e outro de 50GB, que serão utilizados para compor o Grupo de Volumes.
Criação das partições
Primeiramente, é preciso criar partições em cada um dos 2 discos. As partições precisam ser do tipo 8e. Vamos primeiro visualizar a lista de partições existentes:
#fdisk -l
Criando a partição no primeiro disco:
Vamos criar uma partição apenas em cada um dos 2 discos. Cada uma delas deve ter o espaço inteiro do disco como tamanho.
#fdisk /dev/sdb
Salve com a opção w .
Agora, mudando o tipo da partição para 8e (Linux LVM):
REPETIR TODO ESTE PROCEDIMENTO NO OUTRO DISCO
Para o particionamento ser aplicado sem que o servidor seja reiniciado, é ideal instalar o particionador parted , que tem a ferramenta partprobe que faz isso. Aproveitando, instale o pacote lvm2 também:
#apt-get update
#apt-get install lvm2 parted
#partprobe /dev/sdb
#partprobe /dev/sdc
Confira para ver se as partições foram reconhecidas pelo Kernel Linux:
#cat /proc/partitions
Vamos agora criar os Phisical Volumes que irão compor o Grupo de Volumes:
#pvcreate /dev/sdb1 /dev/sdc1
Vamos criar um Volume Group contendo os 2 discos. Este grupo vai se chamar “DISCOS”:
#vgcreate “DISCOS” /dev/sdb1 /dev/sdc1
Exibindo os detalhes do Volume Group:
#vgdisplay
É importante reparar o campo VG Size, que demonstra o tamanho total do VG (90GB).
Ok! Grupo de Volumes criado. Falta agora a criação dos Volumes Lógicos. Vamos criar 2, “backup” e “fileserver”, o primeiro com 20GB e o segundo com 30GB:
#lvcreate “DISCOS” -n “backup” -L +20GB
#lvcreate “DISCOS” -n “fileserver” -L +30GB
Volumes criados!! Agora vamos formatá-los como ext4:
#mkfs -t ext4 -L “BKP” /dev/mapper/DISCOS-backup
#mkfs -t ext4 -L “SAMBA” /dev/mapper/DISCOS-fileserver
Reparou que utilizamos o diretório /dev/mapper?? Pois é, o LVM utiliza o dispositivo de bloco /dev/mapper para mapear os grupos de volumes e volumes lógicos.
Volumes formatados!! OK!! Vamos montá-los agora. O ideal sempre é configurar os volumes no arquivo /etc/fstab para que eles possam montar automaticamente no boot:
#vim /etc/fstab
Criando os diretórios que vão servidor de mount points:
#mkdir /dados /backup
Montando todo mundo:
#mount -av
Verificando o espaço em disco (repare bem no tamanho do LV chamado backup):
#df -h
Vamos fazer uma “mágica” aqui: redimensionar o LV backup adicionando 10GB :
#lvresize /dev/mapper/DISCOS-backup -L +10GB
Aplicando o redimensionamento:
#resize2fs /dev/mapper/DISCOS-backup
Conferindo como ficou o tamanho do Volume Lógico:
Pronto!! Implementamos o LVM e ainda redimensionamos o volumes.
Até mais galera!!
Linux é o poder!!
www.brunoodon.com.br
Administrador e coordenador do site!
Odom, sensacional o post. Simples e efetivo.
Valeu!!
Obrigado Rodolfo!!
Muito bom o artigo Bruno, parabéns!
Apenas acrescentando, no X dá pra instalar o “system-config-lvm” que ajuda a compreender melhor o funcionamento, já que visualmente fica mais simples ver funcionando.
Vlw Ricardo!! Aliás…acho que você também tem muito conteúdo para postar. Vamos lá mano!! Abraço!!
Parabéns pelo artigo, o assunto fica de fácil de compreensão com a didática utilizada pelo autor.
Seria uma honra!
Se esse post tivesse sido criado mês passado eu acho que não teria perdido tantos fios de cabelo quanto perdi com um servidor que parou de funcionar e não conseguia acessar os dados do LVM. =S
Mais como sempre a comunidade me ajudou e consegui resolver meu problema e com este tópico acabei descobrindo muito mais sobre o LVM e tirar algumas duvidas que tinha sobre o mesmo.
Fico feliz por ter ajudado!!
Continue acompanhando os posts porque tem muita coisa muito boa vindo por aí.