Como aumentar o tamanho do disco de uma VM Windows do Virt-Manager

Aqui no SempreUpdate temos alguns posts que fala do Virt-Manager, sendo assim, vamos ver nesse post como aumentar o tamanho do disco de uma VM Windows do Virt-Manager por falta de espaço em disco. Confira no final do post os links para outros assuntos relacionado ao Virt-Manager.

O Virt-Manager é uma interface de usuário de desktop para gerenciar máquinas virtuais através do libvirt. Ele é destinado principalmente às VMs do KVM, mas também gerencia o Xen e o LXC (contêineres do Linux). Ele apresenta uma visão resumida dos domínios em execução, suas estatísticas de desempenho ao vivo e de utilização de recursos. Os assistentes permitem a criação de novos domínios e a configuração e ajuste da alocação de recursos e hardware virtual de um domínio. Um visualizador de cliente VNC e SPICE incorporado apresenta um console gráfico completo para o domínio convidado.

Como aumentar o tamanho do disco de uma VM Windows do Virt-Manager

Para esse procedimento, estamos usando a distribuição GNU/Linux Debian Buster. Caso esteja usando outra distribuição, os procedimentos não é muito diferente.

1. Analisando o disco do Windows

Para verificar o tamanho e espaço livre em disco no Windows, execute o PowerShell no Prompt de comando executando o seguinte comando: get-psdrive -psprovider filesystem.

Veja que temos apenas uma partição, logo vale ressaltar que o Windows na instalação cria primeiro uma partição de inicialização e a segunda partição é a unidade principal do Windows, como visto no Prompt de Comando executando o comando diskpart e em seguida list volume.

Observe que temos apenas 1,62 GB livre de espaço em disco na unidade C: .

2. Instalando o libguestfs

Para que possamos fazer essa manipulação de aumento do disco, usaremos o utilitário libguestfs que é uma biblioteca compartilhada do libvirt usado no Virt-Manager Qemu/KVM.

Se por acaso não tenha o libguestfs instalado, instale com o comando abaixo baseado no Debian que não é muito diferente para outras distribuições.

$ sudo apt install libguestfs0

A biblioteca libguestfs permite acesso e modificação a imagens de disco guest. Ela oferece as seguintes funcionalidades, entre outras:

    • Fazer alterações de configuração de batch para guests;
    • Visualizar e editar arquivos dentro de guests;
    • Obter estatísticas de disco usado/livre;
    • Migrar entre sistemas de virtualização;
    • Realizar backups parciais;
    • Realizar clones de guest parciais;
    • Clonar guests e alterar info de registry/UUID/hostname.

Ela usa o núcleo Linux e o código qemu, e pode acessar qualquer tipo de sistema de arquivos guest que o Linux e o qemu possam, incluindo, mas não limitado a: ext2/3/4, btrfs, FAT e NTFS, LVM, muitos esquemas de partição de disco diferentes, qcow, qcow2, vmdk.

A biblioteca fornece formas de enumerar armazenagem de guest (como partições, LVs, que sistema de arquivos está em cada LV, etc.); para executar comandos no contexto do guest; e para enviar e baixar arquivos e diretórios.

3. Aumentando o tamanho do disco.

3.1. Usando o truncate

Para começar o processo de aumento do tamanho do disco da VM Windows do Virt-Manager com extensão .qcow2 (lembrando que o KVM tem arquivo além do .qcow2 também o .raw e .img) vamos usar o utilitário truncate que vem junto com a biblioteca coreutils, ele reduz ou estende o tamanho de cada arquivo para o tamanho especificado. Utilizaremos as opção do truncate:

    • -r, –reference=ARQREF baseia-se o tamanho em ARQREF
    • -s, –size=TAM define ou ajusta o tamanho do arquivo para TAM bytes

No entanto, para aumentar a capacidade de disco, vamos criar uma nova imagem da VM, manipulável com o mesmo tamanho da imagem base que terá seu tamanho aumentado, lembrando que a VM deverá esta desligada. Caso tenha algum problema de permissão, execute o comando com privilégio de root.

$ truncate -r Windows.qcow2 Windows-resized40.qcow2

O próximo passo será o aumento da imagem que acabamos de criar. Vamos aumentar a capacidade para 20 GB a mais.

$ truncate -s +20G Windows-resized40.qcow2

3.2. Usando o virt-rezise

Seguindo o procedimento, agora vamos executar o comando virt-resize com a opção –expand para fazer o sistema de arquivos da imagem reconhecer o novo tamanho. Vale ressaltar que temos a primeira partição de inicialização, e a segunda partição do Windows.

$ sudo virt-resize –expand /dev/sda2 Windows.qcow2 Windows-resized40.qcow2

O comando acima faz a cópia do sistema de arquivo da imagem base para a nova imagem mantendo a mesma estrutura, no entanto, expandindo o tamanho para que o sistema reconhece os 20 GB adicionais para serem utilizados.

3.3. Editando o arquivo XML

Após as etapas acima ocorrerem sem problemas, vamos editar o arquivo de configuração XML para setar o domínio do novo disco redimensionado.

Para isso, vamos executar o comando virsh edit Windows, onde a palavra Windows é o nome do convidado e em seguida no arquivo, alterar na linha <source file=”…”> com o nome do domínio do novo disco redimensionado salvando o arquivo.

$ sudo virsh edit Windows

Em seguida, vamos definir o novo domínio com o comando virsh define /path/arquivo.xml conforme imagem abaixo.

4. Virt-Manager

Observe agora que no Virt-Manager, após a alteração feita no arquivo XML, o nome do arquivo do disco foi alterado, assim sendo, podemos fazer o teste de inicialização do sistema e ver se tudo ocorreu como o esperado.

Após a inicialização do sistema, vamos executar os mesmos comandos da seção 1. Analisando o disco do Windows e ver a alteração executado com sucesso.

Então, pronto! Vimos como aumentar o tamanho do disco de uma VM Windows do Virt-Manager. Lembrando que nas distribuições GNU/Linux não é muito diferente.

Para ficar atualizado no Sempre Update siga-nos no canal do Telegram ou no Twitter e fique sabendo sempre de novas postagens.

Caso tenha alguma dúvida, entre em nosso grupo no Telegram e compartilhe-o.

Criar VM e Instalar o Windows 10 no Virt-Manager

Configurações e uso do Virt-Manager para KVM no Fedora, Ubuntu, Debian, CentOS e derivados

Como fazer virtualização no Ubuntu sem VirtualBox

 

Share This Article
Usuário do GNU/Linux desde 2004, graduado em Sistemas de Informação, entusiasta na cultura DevOps.
Sair da versão mobile