domingo, 5 de maio de 2013

LVM (Logical Volume Manager)

LVM (Logical Volume Manager)

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.
Linux: LVM (Logical Volume Manager)

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

Nenhum comentário:

Postar um comentário