Hoje iremos redimensionar os discos em Logical Volume Manager (LVM), esta atividade é parte do nosso cotidiano, antes de mostrar como redimensionar, vamos entender a arquitetura e o funcionamento do LVM.
O lvm nada mais é do que um gerenciador inteligente de discos que trabalha através de volumes gerenciados pelo kernel linux, seu objetivo é a flexibilidade para que possamos adicionar, remover ou redimensionar volumes hotswap, ele pode trabalhar agrupando vários discos criando um ou vários volumes semelhante ao que estamos acostumados com storage usando RAID 0 ou RAID 1.
- Estrutura do LVM
- Definições
1- Physical Volumes: Disco fisco utilizado para criação dos volumes, pode ser um disco físico ou uma partição.
2 – Volume Groups: Utilizado para criação de grupos que podem conter um ou vários discos PVS.
3 – Logical Volumes: Volumes lógicos que são associados a um volume group e são formatados de acordo com o file system usado, xfs ou ext4.
Agora que já conhecemos o básico do LVM, iremos redimensionar um disco físico e em seguida redimensionar o ponto de montagem /backup usado no LVM.
- Verificando discos e volumes do LVM
# Disco com tamanho atual de 30gb e que iremos expandir para 50gb.
[root@localhost /]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 836M 0 836M 0% /dev
tmpfs 850M 0 850M 0% /dev/shm
tmpfs 850M 8.8M 841M 2% /run
tmpfs 850M 0 850M 0% /sys/fs/cgroup
/dev/mapper/ol-root 17G 2.5G 15G 15% /
/dev/sda1 1014M 184M 831M 19% /boot
tmpfs 170M 0 170M 0% /run/user/0
/dev/mapper/vg00-vol_backup 30G 33M 30G 1% /backup <== Disco a ser expandido.
ShellScriptIremos verificar se o disco usado no LVM não esta particionado.
[root@localhost ~]# fdisk -l | grep "/dev/s"
Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 41943039 19921920 8e Linux LVM
Disk /dev/sdb: 53.7 GB, 53687091200 bytes, 104857600 sectors
[root@localhost ~]#
[root@localhost ~]# fdisk -l /dev/sdb
Disk /dev/sdb: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
ShellScriptAgora iremos levantar as informações do LVM para que possamos redimensionar o /backup.
Listando os volumes físicos usado.
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 ol lvm2 a-- <19.00g 0
/dev/sdb vg00 lvm2 a-- <30.00g 0 <= Disco físico usado que iremos redimensionar.
ShellScript[root@localhost ~]# lvs -o lv_name,lv_path,vg_name,lv_size
LV Path VG LSize
root /dev/ol/root ol <17.00g
swap /dev/ol/swap ol 2.00g
vol_backup /dev/vg00/vol_backup vg00 <30.00g <= Volume que iremos redimensionar.
ShellScriptRedimensionando Physical Volumes (Volume físico usado).
[root@localhost ~]# pvresize /dev/sdb
Physical volume "/dev/sdb" changed
1 physical volume(s) resized or updated / 0 physical volume(s) not resized
ShellScriptVerificando que o redimensionamento foi aplicado de 30g para 50g.
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 ol lvm2 a-- <19.00g 0
/dev/sdb vg00 lvm2 a-- <50.00g 20.00g <= Volume com 50g
ShellScriptEstender o volume logico.
[root@localhost ~]# lvextend -l +100%FREE /dev/vg00/vol_backup
Size of logical volume vg00/vol_backup changed from <30.00 GiB (7679 extents) to <50.00 GiB (12799 extents).
Logical volume vg00/vol_backup successfully resized.
ShellScriptEstender o file system que neste caso é xfs.
[root@localhost ~]# xfs_growfs /dev/mapper/vg00-vol_backup
meta-data=/dev/mapper/vg00-vol_backup isize=256 agcount=4, agsize=1965824 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0 finobt=0 spinodes=0
data = bsize=4096 blocks=7863296, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=3839, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 7863296 to 13106176
ShellScriptVerificando o novo espaço em disco do /backup.
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 836M 0 836M 0% /dev
tmpfs 850M 0 850M 0% /dev/shm
tmpfs 850M 8.8M 841M 2% /run
tmpfs 850M 0 850M 0% /sys/fs/cgroup
/dev/mapper/ol-root 17G 2.5G 15G 15% /
/dev/sda1 1014M 184M 831M 19% /boot
tmpfs 170M 0 170M 0% /run/user/0
/dev/mapper/vg00-vol_backup 50G 33M 50G 1% /backup <= 50g
ShellScript