Como Criar VMs Windows no Proxmox com QXL e SPICE

11 min de leitura Virtualização
Como Criar VMs Windows no Proxmox com QXL e SPICE

Introdução à Virtualização Windows no Proxmox VE

Executar sistemas operacionais Microsoft Windows em ambientes de virtualização Linux, especificamente dentro do Proxmox VE (PVE), exige uma configuração específica para garantir desempenho gráfico aceitável e usabilidade. Por padrão, a stack de virtualização KVM utiliza drivers virtio para dispositivos de armazenamento e rede, que são extremamente eficientes. No entanto, a subárea de vídeo sempre foi um ponto crítico em VMs Windows no Proxmox.

Muitos administradores iniciantes enfrentam problemas como baixa resolução, latência alta no mouse e impossibilidade de redimensionar a janela da VM ao final da instalação. A solução tradicional envolve o uso do controlador std ou virtio-gpu, mas estes oferecem recursos gráficos básicos ou dependem de drivers específicos que nem sempre são estáveis em todas as versões do Windows.

Neste tutorial, exploraremos a combinação clássica e robusta: o adaptador de vídeo QXL com o protocolo de exibição SPICE. Esta arquitetura permite não apenas uma experiência gráfica fluida, mas também recursos avançados como redimensionamento dinâmico da tela, colar e arrastar arquivos entre o host e a VM, e suporte a clipboard compartilhado. Vamos detalhar cada etapa desde a criação da máquina virtual até a instalação dos drivers de vídeo.

Pré-requisitos e Preparação do Ambiente

Antes de iniciar a configuração da VM, é fundamental entender que o protocolo SPICE requer uma porta específica aberta no firewall do Proxmox. Por padrão, o Proxmox não expõe a porta 5900+ para acesso web externo por segurança. Você precisará acessar o nó host via SSH ou console para liberar essa comunicação.

O adaptador QXL emula um dispositivo gráfico de alta performance baseado na arquitetura SPICE. Para que ele funcione corretamente, o sistema convidado (Windows) deve instalar os virtio-win drivers, que contêm os módulos necessários para comunicação com o host Proxmox.

Etapa 1: Criação da Máquina Virtual

A primeira etapa é provisionar a VM no ambiente Proxmox. Recomendamos criar uma VM dedicada, sem compartilhar recursos de CPU ou memória excessivos com outras VMs críticas para garantir estabilidade durante a instalação do sistema operacional.

  1. Acesse o painel web do Proxmox VE.
  2. Clique em Create VM (Criar Máquina Virtual) no canto superior direito.
  3. Preencha as informações gerais:
    • Node: Selecione o nó onde a VM será criada.
    • ID: Um identificador único (ex: windows-10-qxl).
    • OS: Escolha a versão do Windows correspondente (Windows 10/11 ou Server). Isso ajusta o tipo de CPU e clock.
    • System: Mantenha as configurações padrão, mas certifique-se de que o Machine esteja como q35 se estiver usando UEFI, ou i440fx para BIOS legado. Para QXL/SPICE, ambas funcionam, mas q35 é mais moderno.
  4. Hard Disk: Aloque espaço suficiente para o Windows e seus drivers. Utilize o disco SSD (Discard) se seu storage suportar TRIM, o que melhora a performance em discos thin-provisioned.
  5. CPU: Alocade núcleos suficientes. Para tarefas gerais, 2 a 4 vCPUs são recomendados. Defina o tipo de CPU como host para passar-through das características do processador físico, melhorando a performance computacional.
  6. Memory: Atribua RAM suficiente (ex: 8GB ou 16GB). Desmarque a opção Balloon Device se desejar reserva fixa de memória para evitar latência de swapping pelo host.

Etapa 2: Configuração do Hardware Gráfico (QXL e SPICE)

Este é o passo mais crítico deste tutorial. A configuração padrão do Proxmox muitas vezes adiciona um adaptador de vídeo std ou nenhum adaptador dedicado se você optar apenas por console serial. Precisamos substituir isso pelo controlador QXL.

  1. No assistente de criação da VM, vá para a seção Hardware.
  2. Se houver um dispositivo VGA (Graphics Card) já adicionado, clique nele e selecione Remove. O controlador padrão geralmente entra em conflito com o QXL.
  3. Clique em Add > Graphics Card.
  4. Na janela de configuração:
    • Type: Selecione QXL (qxl). Este é o tipo de adaptador que fornece a API necessária para os drivers virtio-gp-qxl.
    • Monitors: Defina quantos monitores virtuais deseja. Para uso único, 1 monitor é suficiente.
    • Resolution: Deixe em branco ou defina uma resolução inicial (ex: 1024x768). O SPICE permitirá redimensionamento posterior.
  5. Clique em Add novamente para adicionar o dispositivo de console. Vá em Add > SPICE Server.
    • Isso garante que o serviço SPICE esteja ativo no host, permitindo conexões via clientes compatíveis.
  6. Se desejar acessar a VM diretamente pelo navegador (HTML5 Console), adicione um dispositivo VNC Proxy ou ative a opção Console Type: Spice nas configurações da VM. No entanto, para melhor desempenho e recursos, recomendamos usar um cliente externo.

Etapa 3: Preparação do Storage de Drivers Virtio

O Windows não reconhece nativamente o adaptador QXL nem os controladores de disco virtio sem ajuda. É necessário montar a ISO de drivers virtio como um drive CD-ROM na VM antes ou durante a instalação do sistema operacional.

  1. Baixe a ISO mais recente dos drivers virtio para Windows. O repositório oficial é mantido pelo Fedora Project e está disponível em: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/.
  2. No Proxmox, vá para a seção Storage e selecione o storage local (ou outro disponível).
  3. Clique em Upload e envie o arquivo virtio-win.iso.
  4. Após o upload, vá nas configurações da VM criada.
  5. Em Hardware, clique em Add > CD/DVD Drive.
  6. Selecione o arquivo virtio-win.iso que você acabou de carregar.
  7. Certifique-se de que este drive esteja marcado como "Removable" se desejar desconectá-lo após a instalação, mas mantenha-o conectado durante a instalação do Windows.

Etapa 4: Instalação do Sistema Operacional Windows

Agora podemos iniciar a VM e instalar o Windows. Como ainda não temos os drivers de vídeo instalados, a tela pode parecer estranha ou lenta durante a instalação.

  1. Inicie a VM clicando em Start.
  2. Acesse a console da VM (via Web Console ou SSH com qm terminal <VMID>). Se o web console estiver lento, use um cliente SPICE externo (como virt-viewer no Linux ou Remote Viewer no Windows).
  3. Inicie a instalação do Windows normalmente. Selecione o idioma e o tipo de instalação "Personalizada".
  4. Crucial: Na tela de seleção de disco, você provavelmente não verá nenhum disco rígido. Isso ocorre porque o Windows não reconhece o controlador virtio padrão.
  5. Clique em Load Driver (Carregar Driver).
  6. Navegue até a unidade CD-ROM dos drivers virtio:
    • Vá para a pasta amd64.
    • Selecione a subpasta w10 (ou w11 se for Windows 11).
    • Selecione o driver VirtIO Block Device Driver.
  7. Clique em Next. O disco deve aparecer agora. Selecione-o e avance com a instalação.
  8. Complete a instalação do Windows normalmente. A VM reiniciará várias vezes. Certifique-se de que o drive virtio-win.iso continue conectado durante todas as reinicializações.

Etapa 5: Instalação dos Drivers QXL e SPICE no Windows

Com o Windows rodando, a experiência gráfica ainda será básica. Precisamos instalar os drivers específicos para ativar o QXL e o protocolo SPICE.

  1. Após entrar na área de trabalho do Windows, abra o Explorador de Arquivos.
  2. Vá até a unidade CD-ROM (geralmente letra D: ou E:) onde está a ISO dos drivers virtio.
  3. Navegue até a pasta virtio-win-gt-x64.msi. Este é o instalador completo de todos os drivers guest-tools.
  4. Rodue o instalador como Administrador.
  5. No assistente de instalação, selecione Custom Installation (Instalação Personalizada) ou aceite a padrão se preferir instalar tudo. Certifique-se de que as opções abaixo estejam marcadas:
    • VirtIO GPU QXL Driver: Este é o driver responsável pelo adaptador gráfico.
    • SPICE Guest Tools: Instala o serviço de clipboard, redimensionamento e integração do mouse.
  6. Conclua a instalação e reinicie a VM.

Etapa 6: Configuração Final e Otimização

Após a reinicialização, o Windows deve ter reconhecido o adaptador QXL. A resolução da tela deve ser ajustável automaticamente ao redimensionar a janela do cliente SPICE.

Para verificar se tudo está funcionando corretamente:

  • Abra o Gerenciador de Dispositivos (Device Manager) no Windows.
  • Vá em Display adapters. Você deve ver o Red Hat QXL PCI Controller.
  • Se houver algum dispositivo com ponto de exclamação, clique com o botão direito e selecione "Update Driver" > "Browse my computer" apontando para a pasta dos drivers virtio.

Dica de Performance: Se notar lentidão na interface gráfica, verifique se a opção 3D Acceleration está habilitada nas configurações da VM no Proxmox (Hardware > Graphics Card). Embora o QXL suporte aceleração 3D básica via SPICE, ela pode consumir mais recursos do host. Para servidores de aplicação ou desktops corporativos, desativar a aceleração 3D e manter apenas o modo 2D costuma ser mais estável.

Conectividade Remota com Cliente SPICE

A principal vantagem do setup QXL/SPICE é a capacidade de conectar remotamente sem perda significativa de qualidade visual. O Web Console do Proxmox é útil para emergências, mas um cliente dedicado oferece melhor desempenho.

No Linux (GNOME Boxes ou Virt-Viewer)

Instale o virt-viewer:

sudo apt install virt-viewer  # Debian/Ubuntu
sudo dnf install virt-viewer  # Fedora/RHEL

Conecte-se usando o URI SPICE:

virt-viewer spice://<IP_DO_PROXMOX>:5900

Substitua <IP_DO_PROXMOX> pelo IP do nó Proxmox e :5900 pela porta SPICE atribuída à VM (verifique em Configurações > Options > Spice Server para ver a porta exata, geralmente 5900 + VMID).

No Windows

Baixe o Remote Viewer do site oficial do SPICE ou use o aplicativo GNOME Boxes para Windows. A configuração é idêntica: insira o IP e a porta SPICE.

Considerações Finais sobre Segurança e Firewall

Lembre-se de que a porta SPICE (geralmente 5900+) deve estar acessível da sua rede de administração. Se você acessar o Proxmox pela internet, não exponha a porta SPICE diretamente. Utilize um túnel SSH ou uma VPN para conectar ao cliente SPICE.

Se precisar expor via firewall do Proxmox (Firewall > Rules), crie uma regra que permita acesso apenas de IPs específicos à porta 5900+ no protocolo TCP:

iptables -I FORWARD -s <IP_REDE_SEGURA> -d <IP_VM> -p tcp --dport 5900 -j ACCEPT

O uso do par QXL + SPICE no Proxmox VE é uma das soluções mais equilibradas para virtualização de Windows quando se busca recursos interativos sem a complexidade e o overhead da GPU Passthrough (SR-IOV ou PCI-Express Direct). Ele oferece boa compatibilidade, facilidade de configuração e ferramentas de gerenciamento integradas via virtio.

Ao seguir este guia, você terá uma VM Windows com resolução dinâmica, clipboard compartilhado e baixa latência de entrada, essenciais para ambientes de desenvolvimento, testes de software ou desktops virtuais corporativos. Lembre-se sempre de manter os drivers virtio-win atualizados para garantir compatibilidade com as novas versões do Proxmox VE.

Compartilhar: Link copiado!
Esse tutorial foi útil?

Comentários (0)

Seja o primeiro a comentar.

Deixe seu comentário

Seu comentário será analisado antes de ser publicado.

0/2000