Procedimento para redimensionar um disco, após ter acrescentado espaço para ele em um virtualizador, no meu exemplo, fiz com VMWARE
Link de auxílio:
https://docs.freebsd.org/pt-br/books/handbook/disks/#disks-growing
1 - Primeiro passo, descobrir o nome do nosso disco:
A - Podemos ler o arquivo /var/run/dmesg.boot e procurar esta informação ou
B - Usar ler o arquivo /etc/fstab
root@zbx:/home/dhiemeson # more /etc/fstab # Device Mountpoint FStype Options Dump Pass# /dev/da0p2 / ufs rw 1 1 /dev/da0p3 none swap sw 0 0
Nesse exemplo, só tenho um disco que inicia com da0, portanto este é nosso disco.
2 - Listar as partições do disco e ver a configuração atual:
root@zbx:/home/dhiemeson # gpart show da0 => 40 25165751 da0 GPT (12G) 40 1024 1 freebsd-boot (512K) 1064 15934464 2 freebsd-ufs (7.6G) 15935528 839680 3 freebsd-swap (410M) 16775208 8390583 - free - (4.0G)
OBS: No meu caso, já possuía um disco de 8GB e acrescentei mais 4GB no vmware, totalizando 12GB. Na última linha é mostrado que esse disco possui 4GB livre (free).
Nota importante: Se o disco foi formatado com o esquema de particionamento GPT, ele pode ser exibido como “corrompido” porque a tabela de partições de backup GPT não está mais no final da unidade. Corrija a tabela de partições de backup com o gpart: Para corrigir usar o comando abaixo:
# gpart recover ada0
3 - Agora que já listamos as configurações do disco e já está sendo mostrado que temos 4GB livres, podemos expandir a partição:
OBS: As partições só podem ser redimensionadas para um espaço livre contíguo.
root@zbx:/home/dhiemeson # gpart show da0 => 40 25165751 da0 GPT (12G) 40 1024 1 freebsd-boot (512K) 1064 15934464 2 freebsd-ufs (7.6G) 15935528 839680 3 freebsd-swap (410M) 16775208 8390583 - free - (4.0G)
– No meu exemplo, minha última partição é o swap, mas a partição que temos que expandir é a segunda (2 freebsd-ufs (7.6G)). Vamos ter que excluir a partição swap e, em seguida, vamos expandir a 2 partição, e, por fim, reciamos o swap.
4 - Vamos desativar a partição swap:
root@zbx:/home/dhiemeson # swapoff /dev/da0p3
5 - Vamos excluir a terceira partição (swap, que já foi desativada), especificando pela flag -i, do disco da0:
root@zbx:/home/dhiemeson # gpart delete -i 3 da0 da0p3 deleted
6 - Vamos listar novamente as configurações do disco, para ver se excluímos realmente a partição swap:
root@zbx:/home/dhiemeson # gpart show da0 => 40 25165751 da0 GPT (12G) 40 1024 1 freebsd-boot (512K) 1064 15934464 2 freebsd-ufs (7.6G) 15935528 9230263 - free - (4.4G)
OBS IMPORTANTE: Existe o risco de perda de dados ao modificar a tabela de partições de um sistema de arquivos montado. É melhor executar as etapas a seguir em um sistema de arquivos desmontado durante a execução de um dispositivo CD-ROM ou USB live. No entanto, se for absolutamente necessário, um sistema de arquivos montado pode ser redimensionado depois de desativar os recursos de segurança do GEOM:
# sysctl kern.geom.debugflags=16
7 - No meu caso, estou testando, vou fazer com o sistema de arquivos montado, estou usando uma VM para testar, mas é bom seguir as recomendações:
root@zbx:/home/dhiemeson # sysctl kern.geom.debugflags=16 kern.geom.debugflags: 0 -> 16
8 - Vamos redimensionar a partição, deixando o espaço para recriar o SWAP do tamanho desejado. A partição a ser redimensionada é especificada com -i e o novo tamanho desejado com -s. Opcionalmente, o alinhamento da partição é controlado com -a. Isso só modifica o tamanho da partição. O sistema de arquivos na partição será expandido em uma etapa separada.
root@zbx:/home/dhiemeson # gpart resize -i 2 -s 11G da0 da0p2 resized
OBS: No meu caso não usei o passo opcional.
– Vamos listar as informações do disco:
root@zbx:/home/dhiemeson # gpart show da0 => 40 25165751 da0 GPT (12G) 40 1024 1 freebsd-boot (512K) 1064 23068672 2 freebsd-ufs (11G) 23069736 2096055 - free - (1.0G)
9 - Vamos recriar a partição swap e ativa-la. Se nenhum tamanho for especificado com -s, todo o espaço restante será usado:
root@zbx:/home/dhiemeson # gpart add -t freebsd-swap da0 da0p3 added
– Vamos listar novamente as informações do disco:
root@zbx:/home/dhiemeson # gpart show da0 => 40 25165751 da0 GPT (12G) 40 1024 1 freebsd-boot (512K) 1064 23068672 2 freebsd-ufs (11G) 23069736 2096055 3 freebsd-swap (1.0G)
10 - Precisamos aumentar o sistema de arquivos UFS para usar a nova capacidade da partição redimensionada:
root@zbx:/home/dhiemeson # growfs /dev/da0p2 Device is mounted read-write; resizing will result in temporary write suspension for /. It's strongly recommended to make a backup before growing the file sy stem. OK to grow filesystem on /dev/da0p2, mounted on /, from 7.6GB to 11GB ? [yes/no] yes super-block backups (for fsck_ffs -b #) at: 16669312, 17951552, 19233792, 20516032, 21798272
OBS: Dependendo da partição, teremos que usar growfs /dev/gpt/rootfs
11 - Se o sistema de arquivos for ZFS, o redimensionamento será acionado pela execução do sub-comando online com -e:
# zpool online -e zroot /dev/ada0p2
Deixe sua contribuição