Criar, aumentar e reduzir partições LVM by Vitor Panizza
Fala pessoal, tudo bem?
Hoje vamos aprender como criar e gerenciar uma LVM, vamos ao que interessa:
supondo que temos inserimos dois discos vazios no seu servidor físico ou virtual, ou até mesmo na nuvem (que é o meu caso), vamos identificar se eles já foram reconhecidos pelo SO, vamos dar o comando fdisk -l
Hoje vamos aprender como criar e gerenciar uma LVM, vamos ao que interessa:
supondo que temos inserimos dois discos vazios no seu servidor físico ou virtual, ou até mesmo na nuvem (que é o meu caso), vamos identificar se eles já foram reconhecidos pelo SO, vamos dar o comando fdisk -l
Disk /dev/sdd: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000
Disk /dev/sdc: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000
Disk /dev/sdc: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000
no meu caso, apenas listei os discos novos que foram detectados, veja que nos mostra o caminho da pasta /dev ao qual está referenciando nossos discos (sdc e sdd).
Primeiro vamos criar os volumes fisicos
pvcreate /dev/sdc && pvcreate /dev/sdd
Resultado:
Physical volume "/dev/sdc" successfully created
Physical volume "/dev/sdd" successfully created
depois de criado os volumes físicos, vamos criar o grupo de volumes ao qual vai somar o tamanho de todos os discos, daremos o nome dele de LVM.
vgcreate LVM /dev/sdc /dev/sdd
Resultado:
Volume group "LVM" successfully created
daremos o comando vgdisplay para listar os detalhes do VG
vgdisplay
Resultado:
--- Volume group ---
VG Name LVM
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size 19.99 GiB
PE Size 4.00 MiB
Total PE 5118
Alloc PE / Size 0 / 0
Free PE / Size 5118 / 19.99 GiB
VG UUID dT26ye-ztf6-9cdj-RlGG-LLBq-0bS5-TsyV6s
Veja que o tamanho é de 20GB, a soma dos dois discos de 10GB
agora vamos criar os volumes lógicos LV chamado PART1 e PART2, essas são as partições que o sistema irá reconhecer, vamos criar dois volumes de 700M e depois vamos aumentar, para simular a vida real, quando se tem um disco que está cheio e precisa ser aumentado.
lvcreate -L +700M LVM -n PART1
lvcreate -L +700M LVM -n PART2
agora temos que criar o sistema de arquivos nos volumes criados
mkfs.ext4 /dev/LVM/PART1 $$ mkfs.ext4 /dev/LVM/PART2
lvdisplay
Resultado:
--- Logical volume ---
LV Path /dev/LVM/PART1
LV Name PART1
VG Name LVM
LV UUID nBfHpg-mbQZ-cah1-MVDz-eOVU-ooig-ckQrH0
LV Write Access read/write
LV Creation host, time page, 2017-11-03 12:23:46 +0000
LV Status available
# open 0
LV Size 700.00 MiB
Current LE 175
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
--- Logical volume ---
LV Path /dev/LVM/PART2
LV Name PART2
VG Name LVM
LV UUID BJqsyl-7f0x-Letj-2Acf-DmDr-0CIV-z5GE6p
LV Write Access read/write
LV Creation host, time page, 2017-11-03 12:23:58 +0000
LV Status available
# open 0
LV Size 700.00 MiB
Current LE 175
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:1
/dev/mapper/LVM-PART2
então vamos usar o comando resize2fs + caminho da partição:
resize2fs /dev/mapper/LVM-PART1
resize2fs /dev/mapper/LVM-PART2
Resultado:
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/mapper/LVM-PART1 is mounted on /home/vitor/PASTA1; on-line re sizing required
old desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/mapper/LVM-PART1 to 441344 (4k) blocks.
The filesystem on /dev/mapper/LVM-PART1 is now 441344 blocks long.
lvcreate -L +700M LVM -n PART2
agora temos que criar o sistema de arquivos nos volumes criados
mkfs.ext4 /dev/LVM/PART1 $$ mkfs.ext4 /dev/LVM/PART2
lvdisplay
Resultado:
--- Logical volume ---
LV Path /dev/LVM/PART1
LV Name PART1
VG Name LVM
LV UUID nBfHpg-mbQZ-cah1-MVDz-eOVU-ooig-ckQrH0
LV Write Access read/write
LV Creation host, time page, 2017-11-03 12:23:46 +0000
LV Status available
# open 0
LV Size 700.00 MiB
Current LE 175
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
--- Logical volume ---
LV Path /dev/LVM/PART2
LV Name PART2
VG Name LVM
LV UUID BJqsyl-7f0x-Letj-2Acf-DmDr-0CIV-z5GE6p
LV Write Access read/write
LV Creation host, time page, 2017-11-03 12:23:58 +0000
LV Status available
# open 0
LV Size 700.00 MiB
Current LE 175
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:1
feito isso basta montar, vamos criar duas pastas, PASTA1 e PASTA2 e vamos montar nossas partições nelas:
mkdir PASTA1 PASTA2
mount -t ext4 /dev/LVM/PART1 PASTA1
mount -t ext4 /dev/LVM/PART2 PASTA2
mkdir PASTA1 PASTA2
mount -t ext4 /dev/LVM/PART1 PASTA1
mount -t ext4 /dev/LVM/PART2 PASTA2
agora vamos ver a partição montada no sistema:
df -h
Resultado:
/dev/mapper/LVM-PART1
673M 712K 638M 1% /home/vitor/PASTA1
/dev/mapper/LVM-PART2
673M 712K 638M 1% /home/vitor/PASTA2
Veja que o caminho da partição montada é o /dev/mapper/* esse é o arquivo que referência a partição LVM montada, isso será importante quando formos redimensionar a partição.
Redimensionando a partição
Vamos agora aumentar as partições, não há necessidade de desmontar a partição, iremos fazer com ela online.
primeiro teremos que extender o LV
lvextend -L+1G /dev/LVM/PART1
Resultado:
Size of logical volume LVM/PART1 changed from 700.00 MiB (175 extents) to 1.68 GiB (431 extents).
Logical volume PART1 successfully resized.
lvextend -L+1G /dev/LVM/PART2
Resultado:
Size of logical volume LVM/PART2 changed from 700.00 MiB (175 extents) to 1.68 GiB (431 extents).
Logical volume PART2 successfully resized.
Agora o pulo do gato, se você simplesmente der um df -h verá que a partição continua sendo de 700M, isso porque a partição que foi instanciada possui um arquivo de configuração independente, depois que aumentamos o LV basta agora aumentarmos a partição em si, o arquivo da partição fica em:
/dev/mapper/LVM-PART1
/dev/mapper/LVM-PART2
então vamos usar o comando resize2fs + caminho da partição:
resize2fs /dev/mapper/LVM-PART1
resize2fs /dev/mapper/LVM-PART2
Resultado:
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/mapper/LVM-PART1 is mounted on /home/vitor/PASTA1; on-line re sizing required
old desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/mapper/LVM-PART1 to 441344 (4k) blocks.
The filesystem on /dev/mapper/LVM-PART1 is now 441344 blocks long.
[root@page vitor]# resize2fs /dev/mapper/LVM-PART2
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/mapper/LVM-PART2 is mounted on /home/vitor/PASTA2; on-line re sizing required
old desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/mapper/LVM-PART2 to 441344 (4k) blocks.
The filesystem on /dev/mapper/LVM-PART2 is now 441344 blocks long.
Vamos conferir com df -h
/dev/mapper/LVM-PART1
1.7G 1.1M 1.6G 1% /home/vitor/PASTA1
/dev/mapper/LVM-PART2
1.7G 1.1M 1.6G 1% /home/vitor/PASTA2
/dev/mapper/LVM-PART1
1.7G 1.1M 1.6G 1% /home/vitor/PASTA1
/dev/mapper/LVM-PART2
1.7G 1.1M 1.6G 1% /home/vitor/PASTA2
Pronto a partição está aumentada.
Agora vamos diminuir a partição, uma tarefa que pode vir a ser necessária no dia-a-dia
antes de reduzir, é extremamente necessário desfragmentar o disco em questão, isso pode gerar perdas, antes de fazer isso, efetue um backup, exitem ótimos comandos para isso como o DD ou até mesmo o CPIO, não iremos abordar isso aqui.
****DESMONTE AS PARTIÇÕES******
umount /home/vitor/PASTA1
umount /home/vitor/PASTA2
Vamos checar os partições para ver se tem erros:
e2fsck /dev/mapper/LVM-PART1
e2fsck /dev/mapper/LVM-PART2
Resultado:
e2fsck 1.41.12 (17-May-2010)
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
11 inodes used (0.01%)
0 non-contiguous files (0.0%)
0 non-contiguous directories (0.0%)
# of inodes with ind/dind/tind blocks: 0/0/0
Extent depth histogram: 1
10938 blocks used (2.48%)
0 bad blocks
1 large file
0 regular files
2 directories
0 character device files
0 block device files
0 fifos
0 links
0 symbolic links (0 fast symbolic links)
0 sockets
--------
2 files
e2fsck -f -v /dev/mapper/LVM-PART2
e2fsck 1.41.12 (17-May-2010)
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
11 inodes used (0.01%)
0 non-contiguous files (0.0%)
0 non-contiguous directories (0.0%)
# of inodes with ind/dind/tind blocks: 0/0/0
Extent depth histogram: 1
10938 blocks used (2.48%)
0 bad blocks
1 large file
0 regular files
2 directories
0 character device files
0 block device files
0 fifos
0 links
0 symbolic links (0 fast symbolic links)
0 sockets
--------
2 files
Vamos primeiro reduzir o tamanho da partição montada, temos que indicar o tamanho final da partição no final do comando, lembre-se, o tamanho deve ser superior ao tamanho utilizado.
resize2fs /dev/mapper/LVM-PART1 700M
resize2fs /dev/mapper/LVM-PART2 700M
Monte novamente as partições e de um df -h para ver os novos tamanhos:
/dev/mapper/LVM-PART1
673M 712K 639M 1% /home/vitor/PASTA1
/dev/mapper/LVM-PART2
673M 712K 639M 1% /home/vitor/PASTA2
Nesse momento, a partição está diminuida, porém o LV continua com o tamanho original, precisamos diminuir ele também.
Vamos diminuir o LV agora:
O processo é o mesmo que aumentar porém ao invés de usarmos o lvextend vamos usar o lvreduce:
lvreduce -L -1G /dev/LVM/PART1
WARNING: Reducing active and open logical volume to 700.00 MiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce LVM/PART1? [y/n]: y
Size of logical volume LVM/PART1 changed from 1.68 GiB (431 extents) to 700.00 MiB (175 extents).
Logical volume PART1 successfully resized.
lvreduce -L -1G /dev/LVM/PART2
WARNING: Reducing active and open logical volume to 700.00 MiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce LVM/PART2? [y/n]: y
Size of logical volume LVM/PART2 changed from 1.68 GiB (431 extents) to 700.00 MiB (175 extents).
Logical volume PART2 successfully resized.
pronto, vamos rodar o lvscan para ver o resultado final:
lvscan
Resultado:
ACTIVE '/dev/LVM/PART1' [700.00 MiB] inherit
ACTIVE '/dev/LVM/PART2' [700.00 MiB] inherit
Com isso terminamos o nosso trabalho, nos vemos no próximo episódio , FLWWWWWW
Autor: Vitor Hugo Panizza dos Santos
Contato: victorhs557@hotmail.com
Projetos:1198201-8551
Godevops Seu canal no youtube
Comentários
Postar um comentário