Solução da comunidade

Extras do ZVM para o ZimaOS: início automático, instantâneos, passagem USB/PCIe e cópia de segurança de VMs

A May-August 2026 community project that adds operational controls beside ZimaOS's built-in ZVM: autostart, snapshots, USB and PCIe passthrough, VM backup/export, remote storage, metrics, NIC switching, power controls, and a VNC console. IceWhale staff praised the work but it remains a community add-on.

O ZVM Extras é uma extensão comunitária criada para colmatar lacunas operacionais do gestor ZVM integrado no ZimaOS, sem substituir o próprio ZVM. O ZVM oficial continua responsável por criar e editar máquinas virtuais; o ZVM Extras funciona ao lado dele como um módulo separado systemd-sysext módulo e comunica com o mesmo backend do libvirt.

O projeto começou em maio de 2026 no ZimaOS 1.6.1, com arranque automático, instantâneos, passagem USB, armazenamento remoto, cópias de segurança, watchdogs e métricas. Evoluiu rapidamente através de testes da comunidade. O repositório público atual documenta a versão v0.7.0, verificada no ZimaOS 1.7.0-beta1, com vários erros da versão v0.6.3 já corrigidos.

Estende o ZVM em vez de o substituir

O autor do código evitou deliberadamente criar um segundo gestor de VMs. O ZVM Extras lê o mesmo inventário de VMs e funciona através do libvirt/virsh, enquanto a interface normal do ZVM continua a ser a autoridade para a criação de VMs e a edição habitual.

Este design reduz os conflitos com a camada de virtualização integrada, mas não elimina os riscos de compatibilidade. Uma atualização do ZimaOS ou do ZVM pode ainda alterar o comportamento do libvirt, o XML das VMs, a rede ou o tratamento dos dispositivos subjacentes à extensão.

O arranque automático adiciona ordem e atraso por VM

A extensão pode definir VMs selecionadas para iniciarem automaticamente depois de o anfitrião ZimaOS arrancar. Ao contrário de um simples botão «iniciar tudo automaticamente», permite configurar a ordem e os atrasos entre VMs, para que os serviços de infraestrutura sejam iniciados sequencialmente.

Um watchdog também pode reiniciar VMs selecionadas se estas pararem inesperadamente. Na versão v0.7.0, a mesma área ganhou controlos para iniciar, parar, reiniciar e desligar à força, com avisos quando um watchdog reiniciaria imediatamente uma VM que o utilizador está a tentar parar.

Os instantâneos tratam as VMs em execução e paradas de forma diferente

Separador de instantâneos dos Extras do ZVM, que apresenta uma VM Linux em execução com controlos para criação de instantâneos, destino de armazenamento, reversão e eliminação
A extensão disponibiliza uma interface gráfica para criar, reverter e eliminar instantâneos, em vez de exigir que os utilizadores os giram manualmente com o virsh.

O design original utilizava instantâneos internos do libvirt para VMs paradas e instantâneos externos com o estado da memória para VMs em execução. Esta distinção é importante, porque um instantâneo ativo ao qual seja possível reverter é mais complexo e pode consumir uma quantidade substancial de armazenamento.

O armazenamento NFS ou SMB remoto também pode ser utilizado como destino de instantâneos, reduzindo a pressão sobre o dispositivo NVMe local.

A passagem USB tornou-se um fluxo de trabalho gráfico

Separador de passagem USB dos Extras do ZVM, que apresenta os dispositivos USB do anfitrião com controlos persistentes para ligar e desligar
O projeto de origem expõe os dispositivos USB do anfitrião e permite a associação persistente a uma VM selecionada sem editar manualmente o XML do libvirt.

A extensão também reconcilia associações USB persistentes se a interface normal do ZVM reescrever posteriormente a configuração do convidado e remover a entrada do dispositivo do anfitrião.

A passagem direta de PCIe utiliza VFIO e grupos IOMMU

Na v0.4.0, o ZVM Extras adicionou a passagem direta de PCIe. A interface mostra o agrupamento IOMMU e o controlador do anfitrião, bloqueia dispositivos bridge obviamente inadequados e utiliza VFIO para a atribuição.

Esta funcionalidade continua a representar um risco maior do que a passagem direta de um dispositivo USB comum. O hardware escolhido tem de ser isolado de forma segura, o anfitrião não pode depender dele e uma atribuição incorreta pode afetar a estabilidade ou a rede do anfitrião.

O armazenamento remoto pode conter instantâneos e cópias de segurança

Separador de armazenamento remoto do ZVM Extras para adicionar partilhas NFS ou SMB como destinos de instantâneos e cópias de segurança
As montagens NFS e SMB podem ser configuradas como destinos remotos para instantâneos de VMs e exportações de cópias de segurança.

Isto é especialmente útil para discos virtuais QCOW2 de grandes dimensões. Manter todos os instantâneos no mesmo dispositivo físico que a VM ativa oferece pouca proteção contra uma falha da unidade local e pode consumir rapidamente o espaço disponível.

A cópia de segurança de uma VM exporta XML e imagens de disco

O projeto pode exportar a configuração da VM e as imagens de disco como um artefacto de cópia de segurança autónomo. As versões posteriores memorizam o destino de cópia de segurança selecionado, facilitando operações repetidas.

Um instantâneo de uma VM e uma cópia de segurança de uma VM não são equivalentes. Um instantâneo é principalmente um mecanismo de reversão. Uma cópia de segurança separada, armazenada noutro dispositivo, protege contra a perda do próprio armazenamento do anfitrião.

As métricas em tempo real transformam o ZVM num painel mais operacional

O ZVM Extras lê métricas de CPU, memória, disco e rede a partir do libvirt. Utilizadores da comunidade confirmaram que essas medições funcionavam em VMs de teste. Na v0.6.3, um utilizador relatou que todas as VMs mostravam 100% de memória; o autor identificou o problema no cálculo e corrigiu-o na v0.7.0, que também adicionou sparklines de histórico curto.

A mudança de NIC está intencionalmente limitada às redes existentes

A extensão pode alterar a rede libvirt e o modelo da NIC de um convidado. O autor recusou intencionalmente automatizar a criação de uma nova bridge no anfitrião, associando a interface Ethernet ativa do ZimaOS, porque uma migração falhada para a bridge poderia deixar o NAS offline.

Este limite cauteloso é importante. Selecionar uma rede existente é muito mais seguro do que reescrever a pilha de rede principal do anfitrião a partir de um complemento de gestão de VMs.

A comunicação entre a VM e o anfitrião pode continuar limitada pelo macvtap

Um utilizador da comunidade conseguia aceder a uma VM do Home Assistant a partir da LAN, mas não a partir de um contentor de proxy inverso no anfitrião ZimaOS, quando ambos utilizavam a mesma NIC física. O autor da fonte suspeitou do comportamento clássico de isolamento do anfitrião do macvtap e sugeriu verificar o XML do convidado.

Identificou claramente essa explicação como uma hipótese, porque não conseguiu reproduzir a configuração exata. Não a transforme numa causa-raiz confirmada do ZimaOS sem inspecionar o tipo de interface efetivamente utilizado.

O projeto adicionou uma verdadeira suite de testes, mas nem todos os caminhos de hardware estão abrangidos

Para a v0.4.0, o autor comunicou 63 casos de teste aprovados, incluindo análise estática, testes de condições de corrida, controlos de CSRF/origem, proteções contra injeção de argumentos/caminhos, instantâneos, exportação de cópias de segurança, alterações de NIC e métricas. Os casos reais de corte e reposição de energia e de ligação PCIe em funcionamento foram intencionalmente excluídos do âmbito desses testes automatizados.

Um segundo utilizador da comunidade instalou independentemente a v0.4.0, confirmou que a sysext foi carregada, detetou uma VM Debian, apresentou métricas e criou com sucesso um instantâneo de uma VM parada.

A IceWhale elogiou o projeto, mas continua a ser software da comunidade

Mais tarde, Zima-Jerry respondeu que o projeto parecia resolver as limitações atuais do ZVM. Trata-se de um feedback oficial positivo, não de um anúncio de que o ZVM Extras passou a fazer parte do ZimaOS ou de que é suportado como um módulo integrado.

Antes da instalação, consulte o repositório atual e o estado da versão do ZVM Extras. Atualmente, o repositório identifica a v0.7.0 como verificada no ZimaOS 1.7.0-beta1.

Faça uma cópia de segurança dos dados da VM antes de testar extensões de virtualização da comunidade

Os instantâneos, o passthrough e a reconciliação de XML operam todos muito perto do armazenamento e da configuração de dispositivos da VM. Teste primeiro com um convidado descartável, mantenha uma cópia dos discos QCOW2 importantes e certifique-se de que consegue restaurar sem a extensão instalada.

Perguntas frequentes sobre o ZVM Extras

O ZVM Extras substitui a aplicação ZVM oficial?

Não. Foi concebido como uma extensão complementar e utiliza o mesmo backend libvirt.

Pode fazer passthrough de dispositivos USB e PCIe a partir da GUI?

Sim. O passthrough de USB e o passthrough de PCIe baseado em VFIO são funcionalidades essenciais do projeto.

Pode fazer uma cópia de segurança de uma VM para outro NAS?

Pode montar armazenamento NFS ou SMB e utilizar caminhos remotos para instantâneos ou exportações de cópias de segurança.

O ZVM Extras é oficialmente suportado pela IceWhale?

Não. Os funcionários da IceWhale elogiaram-no, mas a fonte e o repositório atual descrevem-no como um complemento da comunidade.