Ferramentas do usuário

Ferramentas do site


redimensionamento_de_disco_virtual

Procedimento para redimensionar um disco, após ter acrescentado espaço para ele em um virtualizador, no meu exemplo, fiz com VMWARE

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

12 - Reinicie o sistema e verifique as informações do disco. O procedimento terminou.


Deixe sua contribuição

Insira seu comentário:
 
redimensionamento_de_disco_virtual.txt · Última modificação: 2023/04/08 15:50 por dhiemeson.nascimento