Introdução
O LVM (
Logical Volume Manager) é um recurso incluído no
kernel Linux a partir da versão 2.4, que cria uma camada de abstração entre o sistema operacional e os HDs.
Imagine que, no LVM, o sistema não vê HDs e partições, mas um ou mais volumes lógicos. Cada volume se comporta como se fosse uma partição, que é formatada e montada da forma usual.
Estes volumes são agrupados em um grupo de volumes lógicos (Logical Volume Group) que se comporta de forma similar a um HD.
O grupo de volumes lógicos pode combinar o espaço de vários HDs e ser modificados conforme necessário, incorporando mais HDs. Os volumes lógicos dentro dele, também podem ser redimensionados livremente, conforme for necessário.
Exemplo: se você precisa de mais espaço dentro do volume referente à pasta "/home", por exemplo, você poderia reduzir o tamanho de um dos outros volumes do sistema (que estivesse com espaço vago*) e aumentar o tamanho do volume referente ao /home, tudo isso com o servidor operante.
* Dica: não reduzir para um tamanho menor do que esteja em uso, caso isso aconteça, você perderá seus dados.
Logical Volume Manager
É importante enfatizar que o LVM é apenas uma mudança na forma como o sistema acessa os discos, ele não é um substituto para o RAID.
No LVM, você pode agrupar vários HDs em um único grupo de volumes lógicos, mas se um dos HDs apresentar defeito, o servidor ficará inoperante e você perderá os dados armazenados no disco afetado; diferente do RAID, onde você pode sacrificar parte do espaço para ter uma camada de redundância.
Baseado em:
Entendendo o LVM - Dicas
Instalação (PV, GV, LV)
No ambiente para esta dica, digamos que vamos criar um LVM adicionando 100 GB. E este disco será o "/dev/sdb1" (este "device/partição" é apenas um exemplo, poderia ser "sdc1", "sdd1", etc).
Vamos instalar o LVM2, o software que irá gerenciar os discos LVM.
Em distribuições baseadas no
Debian, execute:
# apt-get install lvm2
Inserindo o disco ao LVM:: Physical Volumes (PV):
# pvcreate /dev/sdb1
Este comando deve retornar:
Physical volume "/dev/sdb1" successfully created
Para visualizar o disco adicionado, usamos o comando
pv ou
pvscan:
# pvscan
PV /dev/sdb1 lvm2 [100,00 GiB]
Total: 1 [100,00 GiB] / in use: 0 [0 ] / in no VG: 1 [100,00 GiB]
# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 lvm2 a- 100,00g 100,00g
Acima, podemos observar que o PV lista o device (/dev/sdb1), mas ainda é preciso criar o VG (Volume Group).
Volume Group (VG)
É preciso dar um nome para o VG, com o comando:
# vgcreate nome_do_vg pv_device
Vamos criá-lo:
# vgcreate dados /dev/sdb1
Volume group "dados" successfully created
Logical Volumes (LV)
# lvcreate -L size -n nome_do_lv nome_do_vg
Onde:
- -L :: Tamanho do volume logical
- -n :: Nome do LV
Exemplo:
# lvcreate -L 100G -n cliente_x dados
Rounding up size to full physical extent 100,00 GiB
Logical volume "cliente_x" created
Para visualizar o LV, usado o
lvs ou
lvscan:
# lvs
LV VG Attr LSize
cliente_x dados -wi-a 100g
Com o
lvscan podemos ver ser o
LV esta ativo ou não:
# lvscan
ACTIVE "/dev/dados/cliente_x" [100 GiB] inherit
Após a criação do PV, VG e LV, precisamos formatar este disco novo:
# mkfs.ext4 /dev/samba_vg/samba_lv
Vamos montar o LV criado no servidor:
# mkdir /Arquivos
# mount /dev/mapper/dados-cliente_x /Arquivos
Visualizar o conteúdo dos sistemas de arquivos:
# df -h
Sist. Arq. Size Used Avail Use% Mounted on
/dev/sda1 77G 800M 73G 2% /
tmpfs 61M 0 61M 0% /lib/init/rw
udev 57M 164K 57M 1% /dev
tmpfs 61M 0 61M 0% /dev/shm
/dev/mapper/dados-cliente_x 100G 0M 100G 0% /Arquivos
fstab
Configurando o
fstab para quando iniciar a máquina, o volume já estiver montado.
Acrescentar na última linha do arquivo "/etc/fstab":
/dev/mapper/dados-cliente_x /Arquivos ext4 defaults 0 0
Exemplo:
# /etc/fstab: static file system information.
#
# Use "blkid" to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
# / was on /dev/sda1 during installation
UUID=31688aa8-a395-498a-bb10-524839a97665 / ext3 errors=remount-ro 0 1
# swap was on /dev/sda5 during installation
UUID=e4e960af-85b4-4453-96be-fb6590edbb95 none swap sw 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto 0 0
/dev/mapper/dados-cliente_x /Arquivos ext4 defaults 0 0
O LV (/dev/mappar/dados-cliente_x) será montado em "/Arquivos", e o sistema de arquivos está no formato
ext4.
Valeu pessoal, espero ter ajudado.
Dica também publicada em:
LVM (Logical Virtual Manager) « evandrofigueiredo.valogexpress.com.br