VirtualBox - disco virtual dinâmico não se expande

1

Estou trabalhando em uma VM do CentOS 7 de 64 bits no host do Windows 10 e tenho um VHD alocado dinamicamente que está me causando problemas.

No início, o tamanho máximo do VHD foi definido como 16 GB, funcionalmente cerca de 14,4 utilizáveis. Enquanto trabalhava em um projeto, percebi que precisaria de muito mais espaço, então usei o VBoxManage para aumentar o máximo para 100 GB. Então eu usei o GParted para expandir a partição sda2 para que ocupasse o espaço extra.

O VirtualBox reconhece que o VHD pode ir até 100 GB e o sda2 ocupa a maior parte desse espaço. O tamanho real do VHD agora ainda é 14,4 GB. No entanto, quando eu preencho todo esse espaço no sistema operacional convidado (escrevendo um longo seq em um arquivo), a unidade não se expande automaticamente.

Algumas coisas a serem observadas:

  1. A primeira vez que tentei preencher o espaço, quando reiniciei a VM depois de preenchê-la, o arquivo VHD no meu host aumentou em cerca de 1 GB, mas não expandirá mais agora.

  2. Parece haver uma discrepância entre os dispositivos que meu sistema operacional convidado reporta e quais partições do GParted reportam. CentOS lista / dev / sda1 e / dev / mapper / centos-root, que é um link para / dev / dm-0, enquanto o GParted lista / dev / sda1 e / dev / sda2. Isso poderia estar causando o problema ou isso é normal? Se é normal, alguma idéia de por que o VirtualBox não expandirá o VHD?

por Connor Howington 06.12.2017 / 20:05

1 resposta

1

Ok, descobri qual era o problema. Meu sistema de arquivos usa o Logical Volume Management (LVM), com o qual nunca trabalhei antes, e por isso não sabia como tratá-lo corretamente. Usando a terminologia LVM, o centos é um grupo de volumes:

sda2éumvolumefísiconessegrupodevolumes:

e root é um volume lógico nesse grupo de volumes, junto com swap:

OcentosVGeosda2PVjáhaviamregistradooarmazenamentoextraqueeutinhaalocado,mastudooquerestavaeraalocaresseespaçoextraparaaraizLV(21504éonúmerodeextensõesfísicaslivres(PEs)queeuObtidodovgdisplay):

$sudolvextend/dev/centos/root/dev/sda2-l+21504

e,emseguida,expandaosistemadearquivosraizparaqueelepossausaresseespaçoextra:

$sudoxfs_growfs/dev/centos/root

Depoisdisso,osistemaoperacionalconvidadoreconheceuquetinhaespaçoextraepreenchiaesseespaço,causandoumcrescimentocorrespondentenotamanhododiscorígidovirtualnosistemaoperacionalhost.Sucesso!

Fonte:  link

    
por 07.12.2017 / 18:05