Como expandir o espaço em disco no Linux - LVM?

Como expandir o espaço em disco no Linux - LVM?

Após adquirir mais espaço em disco, é necessário fazer seu sistema reconhecer o espaço adicional, para isso siga os passos abaixo:

Passo 1


IMPORTANTE: Por segurança, antes de realizar qualquer alteração no seu sistema operacional, faça um Snapshot do seu Cloud Server. Caso ocorra um erro de operação, o Snapshot poderá ser usado para reverter o servidor ao estado funcional anterior ao procedimento. Para instruções de como fazer um Snapshot acesse Como fazer Snapshots no Painel do Cloud Server?.


Passo 2


  • Acesse seu servidor via SSH, digite usuário e senha e execute a sequência de comandos abaixo:

(Em negrito são as linhas do shell)

# fdisk -l /dev/sda 'Pressione Enter'

  • Será exibido o tamanho atual do disco, verifique se este tamanho está de acordo com a nova contratação.
Disk /dev/sda:  53.7 GB, 53687091200 bytes  (Exemplo de um disco com 50GB)

  • Caso o valor apresentado seja o mesmo de antes da contratação do upgrade, reiniciei o sistema operacional e execute o comando novamente, se mesmo assim o novo espaço em disco não for apresentado, entre em contato com nossa equipe.
  • Em seguida, é necessário remover a partição expandida para que seja criada uma nova com o novo espaço:
# fdisk /dev/sda 'Pressione Enter'

Comando (m para ajuda): p (Digite 'p' e pressione Enter)

<omitido>
Dispositivo Boot      Start         End     	 Blocks	   Id 	 System 
/dev/sda1   *         	    1           13  	            104391 	   83	 Linux
/dev/sda2            	  14       6527           52323705   	   8e      Linux LVM
/dev/sda3                  6528       7744           9775552+   	     5 	 Linux

  • Identifique a partição a ser expandida e a exclua;
Comando (m para ajuda): d (Digite 'd' e pressione Enter)
Número da partição (1-4): 3

  • Agora iremos criar novamente a partição. Na linha abaixo digite 'n', para inserir uma nova partição;
Comando (m para ajuda): n (Digite 'n' e pressione Enter)

  • Na linha abaixo digite 'p' e pressione Enter, para adicionar uma partição primária;
Comando - ação
  e   estendida
  p   partição primária (1-4)
Comando (m para ajuda): p (Digite 'p' e pressione Enter)

  • Em número da partição, digite o número da partição excluída anteriormente e pressione Enter;

Número da partição (1-4): 3 (Digite '3' e pressione Enter)

  • Pressione Enter para default para o primeiro e último cilindro (os números de cilindro podem variar);
Primeiro cilindro (6528-13054, default 6528): 'Pressione Enter'
Using default value 6528
Last cilindro, +cilindros or +size{K,M,G} (6528-13054, default 13054): 'Pressione Enter'
Using default value 13054 

  • Digite p para visualizar a nova partição criada, geralmente a última é a criada para adicionar ao LVM, no caso “sda3”. Anote essa partição, pois será necessário informar posteriormente ao LVM a nova partição criada;
Dispositivo Boot      Start         End      Blocks 	  Id   System
/dev/sda1   *          	 1             13         104391   	  83   Linux
/dev/sda2              	14           6527     52323705     8e   Linux LVM
/dev/sda3            	6528       7744     9775552+     83   Linux

  • Digite w para salvar e aplicar as alterações no disco;
Comando (m para ajuda): w (Digite 'w' e pressione Enter)

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.
Sincronizando discos.

Nota: Surgirá uma mensagem de Warning, avisando que as alterações só serão aplicadas ao reiniciar o computador.

  • Em seguida reinicie o servidor com o comando 'reboot' para o sistema reconhecer as novas partições;
# reboot (Digite 'reboot' e pressione Enter)


Passo 3


Após reiniciar o servidor, será necessário adicionar as partições ao LVM, para isso execute os comandos abaixo:

  • Redimensione a nova partição no LVM executando o comando abaixo;
# pvresize /dev/sda3
 Physical volume "/dev/sda3" changed
 1 physical volume(s) resized / 0 physical volume(s) not resized 

(o 3 é o número da partição criada no primeiro passo)

  • Liste os volumes lógicos para identificar o volume a ser expandido;
#lvscan
 ACTIVE            '/dev/lvm1/root' [47,88 GB] inherit
 ACTIVE            '/dev/lvm1/swap1' [2,00 GB] inherit

(lista os volumes lógicos)

  • Estendemos o volume lógico da LVM com o valor contratado a mais;
#lvextend -l +100%FREE /dev/lvm1/root
 Extending logical volume root to 57,19 GB
 Logical volume root successfully resized

NOTA: Caso seu sistema operacional seja CentOS 7.x, utilize o comando #lvextend -l +100%FREE /dev/centos/root.

(assumindo que o VG se chama lvm1 e o volume lógico a ser expandido se chama root, o -l +100%FREE deve ser usado para usar todo o espaço disponível para expansão)

  • Redimensionamos o sistema de arquivos da partição /lvm/root;
#resize2fs /dev/lvm1/root (assumindo que o VG se chama lvm1 e o volume lógico a ser expandido se chama root)
 resize2fs 1.39 (29-May-2006)
 Filesystem at /dev/lvm1/root is mounted on /; on-line resizing required
 Performing an on-line resize of /dev/lvm1/root to 14991360 (4k) blocks.
 The filesystem on /dev/lvm1/root is now 14991360 blocks long.

NOTA: Caso seu sistema operacional seja CentOS 7.x, utilize o comando #xfs_growfs /dev/centos/root.

  • Digite o comando df -h e verifique se o campo “Total” apresenta a nova quantidade de espaço em disco contratada.
  • Caso não apareça reinicie o servidor novamente com o comando reboot.