Usado VBoxManage modifyhd --resize, o tamanho real não foi alterado

2

Em continuação para Falha ao redimensionar um volume de uma caixa virtual Eu usei os seguintes comandos para aumentar o espaço disponível na minha máquina virtual (Ubuntu):

VBoxManage.exe clonehd "c:\users\a_b\VirtualBox VMs\MyBox_default_1510839571239_2193\Box1.vmdk" "C:\Users\a_b\VirtualBox VMs\MyBox_default_1510839571239_2193\clone.vdi" --format vdi

VBoxManage.exe modifyhd "c:\users\a_b\VirtualBox VMs\MyBox_default_1510839571239_2193\clone.vdi" --resize 102400

VBoxManage.exe clonehd "c:\users\a_b\VirtualBox VMs\MyBox_default_1510839571239_2193\clone.vdi" "C:\Users\a_b\VirtualBox VMs\MyBox_default_1510839571239_2193\Box2.vmdk" --format vmdk

Nenhum erro foi gerado no processo. No entanto, nem o tamanho dos arquivos clone.vdi nem Box2.vmdk foi aumentado para 100 GB (isso provavelmente deve ter sido o meu primeiro indício de que algo estava errado).

Eu substitui o Box1.vmdk por Box2.vmdk como o armazenamento acessado pela VM usando a GUI do VirtualBox.

Quando eu ativei e inseri a VM via Vagrant, eu verifiquei o tamanho usando

df 

e viu que o espaço disponível para a VM não foi aumentado.

De fato, os tamanhos disponíveis para as duas VMs (antes e depois do "redimensionamento") foram semelhantes:

Box1:

/dev/mapper/vagrant--vg-root  39625324  13644568  23944840  37% /

Box2:

/dev/mapper/vagrant--vg-root  39625324  13644564  23944844  37% /

Como devo proceder para realmente redimensionar a VM? Se o espaço não estiver disponível porque a partição precisa ser redimensionada, como devo redimensioná-la?

Usando

sudo resize2fs /dev/mapper/vagrant--vg-root

como sugerido em link

Rende apenas

resize2fs 1.42.13 (17-May-2015)
The filesystem is already 498688 (1k) blocks long.  Nothing to do!

e

sudo resize2fs /dev/sda1

Rende

    resize2fs 1.42.13 (17-May-2015)
The filesystem is already 498688 (1k) blocks long.  Nothing to do!

Sem alterações no tamanho (como evidenciado pelo uso de df )

    
por Lafayette 13.03.2018 / 11:00

1 resposta

3

Existem alguns equívocos na sua linha de pensamento, provavelmente causados por várias camadas de abstração.

O redimensionamento do disco virtual não necessariamente faz com que o arquivo do disco cresça.

Por padrão, os discos virtuais são esparsos, isto é. arquivos de disco não ocupam espaço que não esteja ocupado no disco virtual. É por isso que o crescimento do disco virtual não afeta o tamanho do arquivo - ele apenas altera um número que indica o tamanho do disco.

O redimensionamento do disco virtual não altera seu conteúdo de forma alguma.

E a primeira camada de abstração no conteúdo do disco é a tabela de partições. O comando que redimensiona o HD não se importa com isso. Ele trata o disco como uma série de bytes e nem sabe o que é a tabela de partições.

Depois de redimensionar o disco, você precisa encontrar uma ferramenta que entenda as tabelas de partição e redimensione as partições apropriadas.

resize2fs não redimensiona partições.

Há mais uma camada de abstração - um sistema de arquivos (FS) que reside em uma partição. Para todas as aplicações razoáveis, seu tamanho deve corresponder ao tamanho da partição, mas também pode ser menor. O espaço extra será desperdiçado, porque você não pode armazenar arquivos fora do FS.

O que o resize2fs faz é ajustar o tamanho do sistema de arquivos. Quando executado sem nenhum argumento extra, ele ajusta o tamanho do FS para usar todo o dispositivo no qual ele reside.

resize2fs não sabe quais são as partições também. Como eu disse, ele funciona em dispositivos, ou seja. seqüências de bytes de comprimento conhecido. A partição é um dispositivo, mas também é um disco rígido. resize2fs não se importa. Funciona apenas com sistemas de arquivos, não partições.

Etapas para aumentar o espaço em disco disponível para a VM

  1. Cresça o disco rígido virtual.
  2. Cresça partições apropriadas.
  3. Ajustar os tamanhos do sistema de arquivos.

Você fez # 1 e tentou # 3, mas esqueceu # 2, então # 3 não fez nada. # 2 pode ser feito com fdisk (para o esquema de particionamento MBR) ou 'gdisk (para o esquema de particionamento GPT). Se você pode usar ferramentas com interface gráfica, eu recomendo strongmente o uso do GParted, que funciona com ambos os esquemas de particionamento e fará o # 2 e # 3 simultaneamente.

    
por 13.03.2018 / 12:49