A capacidade de um disco pode aumentar sem alterações nos dados já presentes. Isso acontece normalmente com máquinas virtuais, quando o disco virtual torna-se muito pequeno e é ampliado. Às vezes, uma imagem de disco é gravada em um cartão de memória USB, mas não usa toda a capacidade. Aqui nós descrevemos como redimensionar ou ampliar o conteúdo do disco para aproveitar a capacidade aumentada.
Determine o nome do dispositivo do disco a ser redimensionado inspecionando o arquivo /var/run/dmesg.boot
. Neste exemplo, há apenas um disco SATA no sistema, portanto a unidade aparecerá como ada0
.
Liste as partições no disco para ver a configuração atual:
#
gpart show
=> 34 83886013 ada0 GPT (48G) [CORRUPT] 34 128 1 freebsd-boot (64k) 162 79691648 2 freebsd-ufs (38G) 79691810 4194236 3 freebsd-swap (2G) 83886046 1 - free - (512B)ada0
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
:
#
gpart recover
ada0 recoveredada0
Agora, o espaço adicional no disco está disponível para uso por uma nova partição ou uma partição existente pode ser expandida:
#
gpart show
=> 34 102399933 ada0 GPT (48G) 34 128 1 freebsd-boot (64k) 162 79691648 2 freebsd-ufs (38G) 79691810 4194236 3 freebsd-swap (2G) 83886046 18513921 - free - (8.8G)ada0
As partições só podem ser redimensionadas para um espaço livre contíguo. Aqui, a última partição no disco é a partição swap, mas a segunda partição é aquela que precisa ser redimensionada. As partições de Swap contêm apenas dados temporários, portanto, podem ser desmontadas, excluídas e, em seguida, recriadas a terceira partição após redimensionar a segunda partição.
Desative a partição de swap:
#
swapoff
/dev/ada0p3
Exclua a terceira partição, especificada pela flag -i
, do disco ada0
.
#
gpart delete -i
ada0p3 deleted3
ada0
#
gpart show
=> 34 102399933 ada0 GPT (48G) 34 128 1 freebsd-boot (64k) 162 79691648 2 freebsd-ufs (38G) 79691810 22708157 - free - (10G)ada0
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
Redimensione a partição, deixando espaço para recriar uma partiçã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.
#
gpart resize -i
ada0p2 resized2
-s47G
-a 4kada0
#
gpart show
=> 34 102399933 ada0 GPT (48G) 34 128 1 freebsd-boot (64k) 162 98566144 2 freebsd-ufs (47G) 98566306 3833661 - free - (1.8G)ada0
Recrie a partição swap e ative-a. Se nenhum tamanho for especificado com -s
, todo o espaço restante será usado:
#
gpart add -t freebsd-swap -a 4k
ada0p3 addedada0
#
gpart show
=> 34 102399933 ada0 GPT (48G) 34 128 1 freebsd-boot (64k) 162 98566144 2 freebsd-ufs (47G) 98566306 3833661 3 freebsd-swap (1.8G)ada0
#
swapon
/dev/ada0p3
Aumente o sistema de arquivos UFS para usar a nova capacidade da partição redimensionada:
#
growfs
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 system. OK to grow file system on /dev/ada0p2, mounted on /, from 38GB to 47GB? [Yes/No]/dev/ada0p2
Yes
super-block backups (for fsck -b #) at: 80781312, 82063552, 83345792, 84628032, 85910272, 87192512, 88474752, 89756992, 91039232, 92321472, 93603712, 94885952, 96168192, 97450432
Se o sistema de arquivos for ZFS, o redimensionamento será acionado pela execução do subcomando online
com -e
:
#
zpool online -e
zroot
/dev/ada0p2
Tanto a partição quanto o sistema de arquivos foram redimensionados para usar o espaço em disco recém-disponível.
All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/
Questions that are not answered by the
documentation may be
sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.