Redimensionar Disco No VMware Com LVM Utilizando RHEL/CentOS - on the Fly
Uma das demandas que executo diariamente está relacionado a expansão de disco em máquinas virtuais. Muitas vezes a máquina não pode ser reiniciada e todo procedimento precisa ser executado em produção.
Sempre execute um snapshot da VM antes de executar os procedimentos abaixo.
Primeiro passo temos que aumentando nosso disco, no Vmware.
Selecione a VM no seu vSphere depois, vá em “Edit Settings”, selecione o “Virtual Disk” que deseje aumentar. No meu caso aumentarei 20G.
Verificando as partições do sistema:
# df -h
FilesystemSize Used Avail Use% Mounted on
/dev/mapper/vg_web01-lv_root 45G 1.5G 42G 4% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
/dev/sda1 477M 78M 374M 18% /boot
Partição que sera expandida (/dev/mapper/vg_web01-lv_root)
Todo procedimento será realizado com a VM ligada e a partição montada.
Vamos agora realizar um procedimento para que o seu Linux reconheça o novo espaço adicionado sem precisar do reboot.
# ls /sys/class/scsi_device/
0:0:0:0 2:0:0:0
# echo 1 > /sys/class/scsi_device/0\:0\:0\:0/device/rescan
No meu caso tenho duas controladoras e meu disco se encontra na primeira. Pronto agora quando for executar o cfdisk ou fdisk você já consegue visualizar o espaço adicionado no Vmware, no meu caso foi criado o /dev/sda3.
Caso seja um novo Virutal Disk, execute os comando abaixo para identificar o novo device no seu ambiente sem precisar realizar o reboot.
Buscando host bus number # grep mpt /sys/class/scsi_host/host?/proc_name /sys/class/scsi_host/host0/proc_name:mptspi Execute o comando abaixo no host encontrado # echo "- - -" > /sys/class/scsi_host/host0/scan
Vamos utilizar o cfdisk para criar uma nova partição com o espaço disponível do tipo LVM(8e)
# cfdisk /dev/sda3 (a utilização do cfdisk não será abordada passo-a-passo)
Após a criação da nova partição, execute o comando abaixo
# partprobe /dev/sda (RHEL7)
# partx -a /dev/sda (RHEL6)
Podemos visualizar com o comando abaixo a nova partição reconhecida pelo sistema chamada sda3
# cat /proc/partitions
major minor #blocks name
80 73400320 sda
81 512000 sda1
82 51915776 sda2
83 20971520 sda3
2530 47849472 dm-0
25314063232 dm-1
Após a nova partição ser reconhecida vamos adiciona ao LVM.
# pvcreate /dev/sda3
Physical volume "/dev/sda3" successfully created
Expandindo grupo vg_web01
# vgextend vg_web01 /dev/sda3
Volume group "vg_web01" successfully extended
Expandindo Partição vg_web01-lv_root
# lvextend -L+20GB /dev/mapper/vg_web01-lv_root
Size of logical volume vg_web01/lv_root changed from 45.63 GiB (11682 extents) to 65.63 GiB (16546 extents).
Logical volume lv_root successfully resized.
Redimensionar sistema de arquivo ext4
# resize2fs /dev/vg_web01/lv_root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/vg_web01/lv_root is mounted on /; on-line resizing required
old desc_blocks = 3, new_desc_blocks = 5
Performing an on-line resize of /dev/vg_web01/lv_root to 16943104 (4k) blocks.
The filesystem on /dev/vg_web01/lv_root is now 16943104 blocks long.
Podemos agora verificar que a partição foi redimensionada para 65G sem precisar reiniciar ou muito menos desmontar.
# df -h
FilesystemSize Used Avail Use% Mounted on
/dev/mapper/vg_web01-lv_root 65G 1.5G 59G 3% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
/dev/sda1 477M 78M 374M 18% /boot
Caso sua partição seja xfs basta executar o seguinte comando
# xfs_growfs /dev/vg_web01/lv_root