Expandindo partição em LVM
Esse artigo tem o objetivo de orientar como expandir uma partição LVM no CentOS 7 com o sistema de arquivo XFS. Também deixei comentado para o sistema de arquivo ext1, 2, 3 ou 4.
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:
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
# 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:
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
# vgdisplay | grep "Free"
7. Agora com o comando pvresize (PV=phisical Volume) iremos disponibilizar o espaço para o nosso dispositivo sda2:
# pvresize /dev/sda2
# vgdisplay | grep "Free"
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
11. Repito o comando com o número máximo de dados apresentados acima:
# xfs_growfs /dev/mapper/centos-root -D 41285632
12. Vamos verificar o espaço de nossa partições com o comando "df -h":
# df -h
Espero ter ajudado.
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 deletedc. 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% /boot6. 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 / 0Nã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 resized8. 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 GiBAgora 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 41285632Eu 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 41285632Na 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% /bootPodemos certificar que nossa partição / foi alterada conforme nosso planejamento.
Espero ter ajudado.
O artigo tá bom, mas só a execução do partprobe não seria necessário um reboot na máquina.