Existe um guia bastante abrangente sobre o crescimento de um disco no manual do FreeBSD. Para o UFS (o padrão para o FreeBSD), você pode crescer on-line a partir do kernel versão 10.0 em diante.
No entanto, a alteração das partições em torno dos sistemas de arquivos montados pode levar à perda de dados ou a inconsistências que podem ser descobertas primeiro quando o sistema tenta inicializar da próxima vez. Lembre-se também de verificar o seu bootloader.
O crescimento de um filesytem basicamente se resume a isso:
-
Ajuste a sua tabela de partições. Tenha muito cuidado com este passo, pois bagunçar aqui pode levar a corromper todo o seu disco. Você provavelmente deseja desmontar todas as partições que não são ativamente necessárias para executar um sistema mínimo, principalmente a partição swap.
Da sua pergunta, presumo que você saiba como usar o
gpart
para realizar isso.Depois de fazer os ajustes, você pode remontar todas as partições com segurança e reativar a troca.
-
Aumente o FS. Para o FreeBSD, é tão fácil quanto emitir
growfs <blockdevice>
com<blockdevice>
sendo a partição que você redimensionou.
Para encolher , você precisa executar essas etapas inversamente:
-
Reduza o sistema de arquivos para garantir que você não substituirá nada importante:
growfs -s <new_size> <blockdevice>
. Verifique se você escolhe um tamanho de sistema de arquivos menor que o de seu novo destino , ou seja, se quiser passar de uma partição de 100 GB para uma de 70 GB, redimensione o FS para cerca de 60-65 GB nesta etapa. Overshooting more significa mais headroom, mas geralmente também significa mais relocações e, portanto, maior tempo de espera. - Ajustar a tabela de partições. Ao contrário de antes, nesta etapa, você escolhe o tamanho exato do seu destino. Você provavelmente também deseja desmontar partições adicionais nesta etapa, especialmente se você mover outras partições (na verdade, nesse caso, você precisa desmontá-las).
-
Cresça o sistema de arquivos . Isso elimina o headroom que você deixou no final da (nova) partição:
growfs <blockdevice>
. Omitir o parâmetro size diz para usar a partição inteira.