Siglas e denominações
- PV - Physical Volume - Quando você aloca uma partição do
tipo LVM (8e do fdisk) de um disco.
- VG - Volume Grupo - Um volume nomeado onde podemos agrupar
mais de um PV.
- LV - Logical Volume - Um volume lógico pode ser definido a
partir do VG criado, podendo inclusive dividir o valor do VG em mais de um LV para ser entregue
para o sistema operacional e usar com filesystem.
Comandos úteis:
·
fdisk /dev/hxx
opções:
p - print partições
n
- adicionar/criar nova partição
t
- alterar o tipo da partição
w
- escreve as alterações, salva a configuração e sai do fdisk.
·
pvscan – busca por todos os discos para PVs,
identificando todos os "device blocks" LVM no sistema.
·
pvcreate - para criar um physical volume.
# pvcreate /dev/hxx1
·
pvdisplay - exibe os physical volumes.
·
vgcreate - Cria o Volume Group, ainda pode usar
as opções -a y
-a para habilitar
o VG ou volume lógico, ou seja, faz o volume lógico ser reconhecido ou não pelo
kernel.
#vgcreate -a y
/dev/hxx1
·
vgdisplay - exibe os atributos de volume groups.
·
vgextend - para estender o tamanho de um volume
group.
·
·
mkfs -t
/dev/mapper//
·
e2fsck - força a verificação do filesystem.
#-f /dev//
·
resize2fs redimenciona o filesystem
# resize2fs /dev//
·
lvcreate - cria um volume lógico de um
VolumeGroup existente.
-L para alocar o tamanho do lógical volume,
pode ser K(kilobyte) M(megabyte),
G(gigabyte), T(terabyte), P(petabyte) e
E(exabyte).
# lvcreate -L 2048M
·
lvchange
-a n /dev/mapper/VG--xx--LVxx
·
lvremove
/dev//
·
lvextend para extender o Logical Volume.
# lvextend -L +1G
/dev//
·
lvreduce - para reduzir o tamanho do Logical
Volume
# lvreduce -L -50M
/dev//
·
vgchange -a n para desabilitar o Volume Group
·
vgremove para remover o
Volume Group
·
vgextend - para extender o tamanho do VG
adicionando uma device já incluída como PV.
# vgextend
/dev/hxx1
Exemplos práticos:
Criando um LVM novo.
Neste exemplo o tamanho do disco usado é de 2GB e to feito
em um ambiente virtual
usando XenServer (Citrix) com Linux Debian 5.0.6.
O pacote e dependências do LVM2 tiveram que ser instalados e
neste caso em
particular, outros pacotes foram atuallizados.
1- Identificar o disco a ser usado, formatar usando fdisk e
criar a partição ou
partições do tipo
8e (LVM).
fdisk /dev/hdb
n ,p
(primary) e 1 (tamanho total de 2GB)
t 8e (lvm)
w
2- pvcreate
/dev/hdb1
3- vgcreate VG-00 /dev/hdb1
4- lvcreate -L 1.995GB VG-00 -n LV-00 (usei 1.995 para deixar 512Mb alocado
para sistema).
5- mkfs -t ext3 /dev/mapper/VG--00-LV--00
6- mkdir
/data
7- mount -t
ext3 /dev/mapper/VG--00-LV--00 /data
Para remover um Logical Volume (LV) e um Volume Group (VG)
1- lvchange -a n /dev/mapper/VG--00-LV--00
2- lvremove /dev/VG-00/lv-00
3- vgchange --monitor n VG-00
4- vgchange -a n VG-00
5- vgremove VG-00
Aumentando um LVM
Para esse caso vou criar um disco físico no XenServer e
adicionar a VM que
estou usando para estes testes. Desconsidere o exemplo de
remocção de LV e VG,
vamos manter a configuração inicial (Criando um LVM novo).
1- Identificar o disco a ser usado, formatar usando fdisk e
criar a partição ou
partições do tipo
8e (LVM).
fdisk /dev/hdc
n ,p
(primary) e 1 (tamanho total de 2GB)
t 8e (lvm)
w
2- pvcreate
/dev/hdc1
3- umont
/data ou umount /dev/mapper/VG--00-LV--00
4- verificar o espaço disponível para extender a LV,
vgdisplay
terá um
paramêtro Free PE / Size 638/2.49GB (exemplo)
então
você poderá estender o LV-00 com mais 2.49GB.
5- lvextend
-L +2.49GB /dev/VG-00/LV-00
Temos que verificar se o filesystem tem erro e reparar se
necessário, pois não
pode haver nenhum bloco com problemas, senão, poderá nã
conseguir redimensionar
o sistema de arquivos e/ou corromper o filesystem, então, o
próximo passo é
de extrema importância.
6- e2fsck -f /dev/VG-00/LV-00
7- resize2fs /dev/VG-00/LV-00
8- mount /dev/VG-00/LV-00 /data
9- df -h -T
Filesystem Type
Size Used Avail Use% Mounted on
/dev/hdb2 ext3
191G 1.2G 181G
1% /
tmpfs tmpfs
251M 0 251M
0% /lib/init/rw
udev tmpfs 10M
640K 9.4M 7% /dev
tmpfs tmpfs 251M
0 251M 0% /dev/shm
/dev/mapper/VG--00-LV--00
ext3 4.0G
36M 3.7G 1% /data
Pronto file systems com 4.0GB de tamanho.
Para diminuir o tamanho de um LV.
1- umount /data
Temos que verificar se o filesystem tem erro e reparar se
necessário, pois não
pode haver nenhum bloco com problemas, senão, poderá nã
conseguir redimensionar
o sistema de arquivos e/ou corromper o filesystem.
2- e2fsck
-f /dev/VG-00/LV-00
e2fsck 1.41.3 (12-Oct-2008)
Pass 1: Checking inodes, blocks,
and sizes
Pass 2: Checking directory
structure
Pass 3: Checking directory
connectivity
Pass 4: Checking reference
counts
Pass 5: Checking group summary
information
/dev/VG-00/LV-00: 20/262144
files (0.0% non-contiguous), 25573/1046528 blocks
Para diminuir 50MB podemos usar a notação em bytes de 524288
ou apenas
indicar 50M, verifique o man do comando resize2fs.
Em nosso caso vamos diminur 2.0GB.
3-
resize2fs /dev/VG-00/LV-00 2G
resize2fs 1.41.3 (12-Oct-2008)
Resizing the filesystem on
/dev/VG-00/LV-00 to 524288 (4k) blocks.
The filesystem on
/dev/VG-00/LV-00 is now 524288 blocks long.
4- lvreduce
-L 2G /dev/VG-00/LV-00
WARNING: Reducing active logical volume to 2.00 GiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce
LV-00? [y/n]: y
Reducing logical volume LV-00 to 2.00 GiB
Logical volume LV-00 successfully resized
5- mount
/dev/VG-00/LV-00 /mnt
6- df -h -T
Filesystem Type
Size Used Avail Use% Mounted on
/dev/hdb2 ext3
191G 1.2G 181G
1% /
tmpfs tmpfs
251M 0 251M
0% /lib/init/rw
udev tmpfs 10M
640K 9.4M 7% /dev
tmpfs tmpfs
251M 0 251M
0% /dev/shm
/dev/mapper/VG--00-LV--00
ext3
2.0G 35M 1.9G
2% /mnt
Pronto filesystem reduzido para 2.0GB.
Referências:
http://www.vivaolinux.com.br/artigo/LVM-completo-e-sem-misterios/
http://www.vivaolinux.com.br/artigo/Entendendo-e-configurando-o-LVM-manualmente/
Linux
Server Hacks, Vol2 - O'Reilly - William von Hagen & Brian K. Jones.
Nenhum comentário:
Postar um comentário