EXPANDINDO PARTIÇÃO EM LVM NO CENTOS 7
Nesse artigo vou demostrar como expandir uma partição LVM (Logical Volume Manager), sendo que
estou utilizando um servidor virtual, cujo seu hospedeiro é a VMware, ESXi.
Recentemente passei por essa situação e decidi compartilhar com vocês...
No meu cenário, utilizo o CentOS 7 em um servidor virtual. Eu gerencio as VMs pelo VMware
vSphere Client(criação/templates etc.).
Precisei aumentar a minha partição "/" pois chegou no limite.
Meu cenário é o seguinte:
sda1 - partição: / - boot
sda2 - partição: / - Raiz
Ao subir o servidor virtual, foi definido 30 GB de disco e eu precisei expandi-lo ao longo do tempo
para 160 GB.
1. Acesse o seu servidor.
2. Dê o comando abaixo para listar seus discos/partições e saber quanto de disco temos para
expandir:
Obs.: repare que em dispositivos, temos o sda1 e o sda2, iremos expandir o sda2 que é onde está a
partição /.
# fdisk -l
Disk /dev/sda: 171.8 GB, 171798691840 bytes, 335544320 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
Disk label type: dos
Disk identifier: 0x000a4fb4
Dispositivo Boot Start End Blocks Id System
/dev/sda1 * 2048 1026047 512000 83 Linux
/dev/sda2 1026048 62914559 30944256 8e Linux LVM
[30 GB atualmente montado no sda2]
Disk /dev/mapper/centos-swap: 2164 MB, 2164260864 bytes, 4227072 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
Disk /dev/mapper/centos-root: 29.5 GB, 29519511552 bytes, 57655296 sectors
[Iremos expandir essa partição]
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Vamos acessar nosso dispositivo sda:
# fdisk /dev/sda
Vamos listar as tabelas de partições com o comando "p".
a. Com o comando "m" você lista todas as opções possíveis a serem usadas:
Comando (m para ajuda): p
Disk /dev/sda: 171.8 GB, 171798691840 bytes, 335544320 sectors
[Total de GB disponível em nosso Disco]
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000a4fb4
Dispositivo Boot Start End Blocks Id System
/dev/sda1 * 2048 1026047 512000 83 Linux
/dev/sda2 1026048 62914559 30944256 8e Linux LVM
[Tamanho atual de nossa partição sda2: 30 GB, iremos expandir]
b. Com o comando "d" vamos deletar a partição sda2:
Comando (m para ajuda): d
Número da partição (1,2, default 2): 2
Partition 2 is deleted
c. Vamos criar uma nova partição com o comando "n" e selecionar "p" de primary e o número da
partição "2":
Comando (m para ajuda): n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p
Número da partição (2-4, default 2): 2
Primeiro sector (1026048-335544319, default 1026048):
Using default value 1026048
Last sector, +sectors or +size{K,M,G} (1026048-335544319, default 335544319):
Using default value 335544319
Partition 2 of type Linux and of size 159,5 GiB is set
d. Vamos informar que essa partição "2" é uma LVM com o comando "t", após, escolhemos a opção
8e (você pode listar as opções com o comando "L"):
Comando (m para ajuda): t
Número da partição (1,2, default 2): 2
Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'
e. Vamos salvar e sair das configurações do disco com o comando "w":
Comando (m para ajuda): w
A tabela de partições foi alterada!
Chamando ioctl() para reler tabela de partições.
WARNING: Re-reading the partition table failed with error 16: Dispositivo ou recurso está ocupado.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Sincronizando discos.
3. A mensagem acima informa que deu falha para reler as tabelas das informações da partição, pois
o dispositivo está ocupado.
Vamos reiniciar o servidor:
# init 6
Dica: não é necessário o reboot na máquina quando criar uma nova partição, pode ser usado o
pacote "parted".
# yum install parted -y
Depois executamos o comando partprobe:
# partprobe
Esse comando irá reler as tabelas de partições do sistema e a nova partição ficará disponível para
ser formatada.
4. Como você reiniciou seu servidor, se você estiver acessando-o remotamente irá perder a
conexão, então, reinicie sua sessão, conectando novamente no servidor após o boot.
5. Vamos checar nossas partições e tamanho.
Podemos observar que continua com os 30 GB:
# df -h
Sist. Arq. Tam. Usado Disp. Uso% Montado em
/dev/mapper/centos-root 28G 1,1G 27G 4% /
devtmpfs 915M 0 915M 0% /dev
tmpfs 921M 0 921M 0% /dev/shm
tmpfs 921M 8,4M 913M 1% /run
tmpfs 921M 0 921M 0% /sys/fs/cgroup
/dev/sda1 497M 96M 402M 20% /boot
6. Vamos efetuar o grep no vgdisplay (volume group) para verificar se temos espaço disponível para
alocar:
# vgdisplay | grep "Free"
Free PE / Size 0 / 0
Não possuímos espaço disponível ainda.
7. Agora com o comando pvresize (PV=phisical Volume) iremos disponibilizar o espaço para o nosso
dispositivo sda2:
# pvresize /dev/sda2
Physical volume "/dev/sda2" changed
1 physical volume(s) resized / 0 physical volume(s) not resized
8. Com o mesmo comando no passo 6, vamos novamente efetuar o grep para ver se disponibilizou o
espaço que precisamos:
# vgdisplay | grep "Free"
Free PE / Size 33280 / 130,00 GiB
Agora temos 130 GB disponíveis.
9. Agora com o comando lvextend (LV= Logical Volume), iremos estender nossa partição do / que
está montada no arquivo /etc/fstab:
# lvextend -L+130GB /dev/mapper/centos-root
Extending logical volume root to 157,49 GiB
Logical volume root successfully resized
Podemos observar na mensagem acima que foi estendido com sucesso!
10. Com o comando xfs_growfs iremos redimensionar a partição do / para os 130 GB disponíveis
agora:
Observação: em minha distribuição (CentOS 7) estou utilizando o sistema de arquivo XFS, por isso o
comando xfs_growfs, caso seja outro sistema de arquivo: ext1, 2, 3 ou 4, você deve usar o comando
resize2fs.
# xfs_growfs /dev/mapper/centos-root -D 167259136
meta-data=/dev/mapper/centos-root isize=256 agcount=4, agsize=1801728 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0
data = bsize=4096 blocks=7206912, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal bsize=4096 blocks=3519, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data size 167259136 too large, maximum is 41285632
Eu inseri um número fictício para ver a saída da mensagem e a mesma informa qual é o tamanho
máximo de dados.
11. Repito o comando com o número máximo de dados apresentados acima:
# xfs_growfs /dev/mapper/centos-root -D 41285632
meta-data=/dev/mapper/centos-root isize=256 agcount=4, agsize=1801728 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0
data = bsize=4096 blocks=7206912, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal bsize=4096 blocks=3519, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 7206912 to 41285632
Na mensagem acima, podemos observar que foi alterado com sucesso!
12. Vamos verificar o espaço de nossa partições com o comando "df -h":
# df -h
Sist. Arq. Tam. Usado Disp. Uso% Montado em
/dev/mapper/centos-root 158G 1,1G 157G 1% /
devtmpfs 915M 0 915M 0% /dev
tmpfs 921M 0 921M 0% /dev/shm
tmpfs 921M 8,4M 913M 1% /run
tmpfs 921M 0 921M 0% /sys/fs/cgroup
/dev/sda1 497M 96M 402M 20% /boot
Podemos certificar que nossa partição / foi alterada conforme nosso planejamento.
Espero ter ajudado.
https://www.vivaolinux.com.br/artigo/Expandindo-particao-em-LVM