## Manual Expansão de Disco Postgres 16 > > Neste processo, iremos expandir o disco do banco de dados PostgreSQL 16 sem necessidade de adicionar um novo disco no VMWARE e também sem a necessidade de reiniciar o servidor. > ### Expansão do disco no VMWARE Primeiramente será necessário realizar a expansão do disco no VMWARE. Basta selecionar a VM desejada e informar o novo valor para os discos: Neste exemplo, iremos ampliar o Hard disk 1 e 2 referentes ao Indice e Dados do PostgreSQL 16 ![Configuracao_Padrao](../img/disco_vmware.png) IMPORTANTE: Abaixo a descrição sobre cada disco e sua função dentro da estrutura do banco de dados: Hard disk 1 - Sempre será relacionado ao sistema operacional Hard disk 2 - Sempre será relacionado a partição Indice do Postgres Hard disk 3 - Sempre será relacionado a partição Dados do Postgres Hard disk 4 - Sempre será relacionado a partição Archived (Onde é armazenado dos arquivos/anexos no banco de dados) Para expandir o disco, deve-se seguir o padrão de partições do PostgreSQL 16 conforme documentado: * [Partições - PostgreSQL 16.3](https://documentos.ipm.com.br/data-center/padroes/src/branch/master/docs/partition-bdp-1600.md) Após expandido o disco no VMWARE, iremos realizar a expansão diretamente no Linux ### Expansão do disco no Linux Execute o comando para verificar os discos no Linux lsblk Retorno: NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 100G 0 disk ├─sda1 8:1 0 1G 0 part /boot/efi ├─sda2 8:2 0 2G 0 part /boot └─sda3 8:3 0 96,9G 0 part ├─ubuntu--vg-ubuntu--lv 253:3 0 40G 0 lvm / ├─ubuntu--vg-lv--var--log 253:4 0 40G 0 lvm /var/log ├─ubuntu--vg-lv--swap 253:5 0 6G 0 lvm [SWAP] └─ubuntu--vg-lv--home 253:6 0 10G 0 lvm /home sdb 8:16 0 120G 0 disk └─postgresql--vg01-lv--indice 253:2 0 120G 0 lvm /var/lib/postgresql/16/tablespaces/indice sdc 8:32 0 180G 0 disk └─postgresql--vg02-lv--dados 253:1 0 180G 0 lvm /var/lib/postgresql sdd 8:48 0 300G 0 disk └─postgresql--vg03-lv--archived 253:0 0 300G 0 lvm /var/lib/postgresql/16/tablespaces/archived sr0 11:0 1 1024M 0 rom Verifique o disco que você ampliou no VMWARE para realizar o rescan no Linux: Esse comando irá rescanear os disco sdb e sdc referente ao indice e dados do SGDB sem a necessidade de reiniciar o sistema operacional echo 1 > /sys/class/block/sdb/device/rescan echo 1 > /sys/class/block/sdc/device/rescan echo 1 > /sys/class/block/sdd/device/rescan Após a execução do rescan, já podemos verificar que os discos tiveram alterações de tamanho: lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 100G 0 disk ├─sda1 8:1 0 1G 0 part /boot/efi ├─sda2 8:2 0 2G 0 part /boot └─sda3 8:3 0 96,9G 0 part ├─ubuntu--vg-ubuntu--lv 253:3 0 40G 0 lvm / ├─ubuntu--vg-lv--var--log 253:4 0 40G 0 lvm /var/log ├─ubuntu--vg-lv--swap 253:5 0 6G 0 lvm [SWAP] └─ubuntu--vg-lv--home 253:6 0 10G 0 lvm /home sdb 8:16 0 160G 0 disk └─postgresql--vg01-lv--indice 253:2 0 120G 0 lvm /var/lib/postgresql/16/tablespaces/indice sdc 8:32 0 240G 0 disk └─postgresql--vg02-lv--dados 253:1 0 180G 0 lvm /var/lib/postgresql sdd 8:48 0 300G 0 disk └─postgresql--vg03-lv--archived 253:0 0 300G 0 lvm /var/lib/postgresql/16/tablespaces/archived sr0 11:0 1 1024M 0 rom Após isso, basta realizarmos o resize dos mesmos: pvresize /dev/sdb pvresize /dev/sdc pvresize /dev/sdd Depois iremos expandir o volume lógico lvextend -l +100%FREE /dev/postgresql-vg01/lv-indice lvextend -l +100%FREE /dev/postgresql-vg02/lv-dados lvextend -l +100%FREE /dev/postgresql-vg03/lv-archived Em seguida iremos expandir o sistema de arquivos: xfs_growfs /var/lib/postgresql xfs_growfs /var/lib/postgresql/16/tablespaces/indice xfs_growfs /var/lib/postgresql/16/tablespaces/archived Após os procedimento, através do comando lsblk já conseguimos verificar que o lvm já esta com o mesmo tamanho alocado no disco do servidor, ou seja, o disco já esta ampliado e disponível para uso: lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 100G 0 disk ├─sda1 8:1 0 1G 0 part /boot/efi ├─sda2 8:2 0 2G 0 part /boot └─sda3 8:3 0 96,9G 0 part ├─ubuntu--vg-ubuntu--lv 253:3 0 40G 0 lvm / ├─ubuntu--vg-lv--var--log 253:4 0 40G 0 lvm /var/log ├─ubuntu--vg-lv--swap 253:5 0 6G 0 lvm [SWAP] └─ubuntu--vg-lv--home 253:6 0 10G 0 lvm /home sdb 8:16 0 160G 0 disk └─postgresql--vg01-lv--indice 253:2 0 160G 0 lvm /var/lib/postgresql/16/tablespaces/indice sdc 8:32 0 240G 0 disk └─postgresql--vg02-lv--dados 253:1 0 240G 0 lvm /var/lib/postgresql sdd 8:48 0 300G 0 disk └─postgresql--vg03-lv--archived 253:0 0 300G 0 lvm /var/lib/postgresql/16/tablespaces/archived sr0 11:0 1 1024M 0 rom Executando o df -h podemos verificar os pontos de montagem no sistema operacional já com o novo tamanho: df -h Filesystem Size Used Avail Use% Mounted on tmpfs 589M 2,5M 587M 1% /run /dev/mapper/ubuntu--vg-ubuntu--lv 40G 6,2G 34G 16% / tmpfs 2,9G 14M 2,9G 1% /dev/shm tmpfs 5,0M 0 5,0M 0% /run/lock /dev/sda2 2,0G 300M 1,7G 15% /boot /dev/sda1 1,1G 6,1M 1,1G 1% /boot/efi /dev/mapper/ubuntu--vg-lv--var--log 40G 4,4G 36G 11% /var/log /dev/mapper/postgresql--vg02-lv--dados 240G 153G 88G 64% /var/lib/postgresql /dev/mapper/ubuntu--vg-lv--home 10G 104M 9,9G 2% /home /dev/mapper/postgresql--vg01-lv--indice 160G 47G 114G 29% /var/lib/postgresql/16/tablespaces/indice /dev/mapper/postgresql--vg03-lv--archived 300G 2,3G 298G 1% /var/lib/postgresql/16/tablespaces/archived tmpfs 589M 0 589M 0% /run/user/1000 ### Observação No manual acima, expandimos as partições sdb e sdc referentes ao disco do Indice e Dados do Postgres. Caso deseja ampliar o disco do Archive o processo é basicamente o mesmo, somente informando o disco referente a função! - [`Voltar`](../README.md)