1 pontos por GN⁺ 2024-02-09 | 1 comentários | Compartilhar no WhatsApp

Lançamento público do KVM para VirtualBox

  • A Cyberus Technology lançou como open source o backend KVM do VirtualBox.
  • O VirtualBox é um monitor de máquinas virtuais (VMM) multiplataforma que oferece suporte a vários sistemas operacionais convidados e fornece uma interface de usuário consistente em diversos sistemas operacionais hospedeiros.
  • Com o backend KVM, o VirtualBox pode usar o hipervisor Linux KVM para executar máquinas virtuais, em vez dos módulos de kernel personalizados usados pelo VirtualBox padrão.

Lançamento open source

  • A Cyberus Technology disponibilizou o backend KVM sob uma licença open source no GitHub, cumprindo seu compromisso com o open source.
  • Os usuários podem compilar o VirtualBox e o backend KVM da Cyberus Technology no GitHub para aproveitar diretamente os recursos aprimorados.
  • O roadmap de 2024 inclui mais funcionalidades interessantes, e a empresa planeja publicar posts adicionais com conteúdo técnico sempre que novas atualizações forem lançadas.

Obter suporte

  • Se você deseja usar VirtualBox e KVM ou precisa de uma solução de virtualização personalizada, a Cyberus Technology está pronta para fornecer orientação e serviços de engenharia.
  • Usuários que desejarem suporte podem entrar em contato por meio do formulário de suporte ou pelo e-mail service@cyberus-technology.de.

Opinião do GN⁺:

  1. O lançamento open source do backend KVM do VirtualBox é um avanço importante para a tecnologia de virtualização e para a comunidade de usuários e desenvolvedores que busca maior compatibilidade.
  2. Este anúncio representa um progresso técnico ao possibilitar melhor desempenho de máquinas virtuais, reforço de segurança e ampliação do suporte a hardware e casos de uso de sistemas convidados.
  3. O esforço da Cyberus Technology para contribuir com a comunidade open source parece ajudar a impulsionar o desenvolvimento e a inovação em software open source.

1 comentários

 
GN⁺ 2024-02-09
Opiniões no Hacker News
  • Quem usa VirtualBox precisa tomar cuidado com o Extension Pack. A Oracle é muito agressiva com processos judiciais
    https://www.reddit.com/r/sysadmin/comments/147k6az/oracle_is...
    https://www.reddit.com/r/sysadmin/comments/d1ttzp/oracle_is_...
    https://www.theregister.com/2019/10/04/oracle_virtualbox_mer...
    Na nossa organização, banimos o VirtualBox. VMware Workstation ou virt-manager sai muito mais barato do que lidar com a Oracle

    • Eu ia dizer exatamente isso. Por aqui foi a mesma coisa, e a Oracle parecia obcecada pelo Extension Pack, de que a maioria dos usuários do VBox provavelmente precisa
      Por isso tivemos que impedir todo mundo de usá-lo o mais rápido possível. Claro que isso não se limita ao VBox; vale também para bancos de dados, então é melhor simplesmente evitar
    • O que acontece se simplesmente ignorarmos a Oracle? Ela tem mesmo poder para fazer cumprir isso? Se liberou o download de graça, deveria ser de graça
      Não dá para entregar uma banana na rua e voltar 3 meses depois exigindo 1000 dólares
  • Finalmente saiu. Sempre que rodo uma máquina virtual, escolho libvirt porque tem desempenho melhor que o VirtualBox e é mais fácil de lidar, mas as opções de GUI eram realmente péssimas
    Até o virt-manager, a “melhor” GUI para libvirt, tem muitos bugs e poucos recursos. Não funciona bem com telas HiDPI, não há como configurar IPv6, e coisas do tipo
    Várias vezes escolhi o VirtualBox porque, embora o desempenho fosse inferior ao libvirt/KVM, a experiência de uso era melhor; agora parece que não preciso mais fazer isso

    • IPv6 é compatível. Na verdade, estou operando uma rede somente IPv6, inclusive até o hypervisor
      $ virsh net-dumpxml default6
      default6
      73590ea2-eb15-4e67-b104-319721bdf302
      Se necessário, também dá para usar DHCPv6
    • O virt-manager funciona bem com HiDPI no Wayland. Já a GUI do VirtualBox, por outro lado, é extremamente bugada no Wayland
      Os dois são praticamente o oposto um do outro. Eu uso o virt-manager porque a GUI é mais simples, e configurar o VirtualBox também é quase um pesadelo
      De todo modo, esse recurso é um passo na direção certa. Fico curioso para saber se as distribuições vão adotá-lo e se um dia ele será integrado ao upstream
    • Concordo 100% que as opções de GUI são horríveis. Na prática, eu evitava completamente o libvirt porque não queria brigar com a linha de comando quando precisava lidar com máquinas virtuais, e até recentemente usava VMware
      Na época, meu PC principal era Windows 10, e o ambiente de linha de comando do Windows era bem ruim
    • Eu achava o virt-manager ok, mas as reclamações específicas levantadas parecem válidas
    • Fico curioso para saber quais guests você costuma rodar para ter visto desempenho melhor com libvirt/KVM
  • Isso basicamente transforma o VirtualBox em um substituto para virt-manager e virsh?
    Pelo que sei, o VirtualBox não oferece suporte a PCI passthrough, como GPU; fico curioso para saber como esses casos são tratados
    No Linux, depois que migrei para QEMU/KVM, nunca mais olhei para o VirtualBox, mas no Windows ainda uso VirtualBox e, toda vez, percebo como a GUI é muito melhor e mais amigável
    Acrescentando: vejo que o VirtualBox oferece PCI passthrough experimental via Extension Pack [0]. Será que isso pode ser usado também com o backend KVM?
    [0] https://docs.oracle.com/en/virtualization/virtualbox/6.0/adm...

  • A vantagem prática é que você não precisa recompilar o módulo de kernel vbox, um driver de terceiros, toda vez que o kernel é atualizado. O DKMS tenta cuidar disso sem intervenção do administrador, mas nem sempre é livre de bugs
    Por outro lado, o aplicativo VirtualBox foi projetado para se integrar bem ao desktop, então acessar o guest via VNC dificilmente é uma alternativa
    Seria bom ver um esforço semelhante no lado do FreeBSD para o hypervisor bhyve
    A questão da terminologia também é interessante, mas já foi tratada recentemente no tema do DRM, o Direct Rendering Manager do Linux. Essas siglas eram usadas por um grupo restrito em comparação com “toda a TIC”, e o mesmo valia para dispositivos teclado-vídeo-mouse
    Menos de 1% dos especialistas lidam com o interior do Linux nesse nível, e menos de 1% dos engenheiros em campo em salas de servidores também, então, por não haver uma percepção coletiva desses termos, eles foram reutilizados
    LVM já é usado na área de armazenamento, e LKVM também pode causar confusão

    • Criar isso para FreeBSD seria um excelente projeto. Mas a escala é grande, então seria difícil encarar sem algum tipo de financiamento
    • É difícil até imaginar usar uma distribuição que não lide de forma confiável com DKMS e atualizações de módulos do kernel. No NixOS, nunca tive um único problema com DKMS
      Dar downvote não vai tornar sua distribuição mais competente
  • Não sei o que isso oferece a mais em relação ao que já se consegue no Linux com KVM e virt-manager

    • O desempenho ao rodar Windows diretamente no VirtualBox é muito bom e, em geral, melhor que o virt-manager (QEMU). O QEMU também consegue ótimo desempenho quando bem ajustado, mas exige mexer em algumas coisas
      O VirtualBox é, no geral, mais amigável ao usuário. A integração com o guest, arrastar e soltar, área de transferência, pass-through de USB e suporte a áudio também são muito bons no VBox
    • Uso a maior parte do meu ambiente desktop virtualizada. No começo, como usava principalmente um host Linux e guests Linux, eu queria ir de KVM e virt-manager, mas não consegui descobrir como obter por esse caminho as duas funções essenciais que eu queria: criptografia e portabilidade
      A maioria das minhas máquinas virtuais é criptografada, então posso carregá-las comigo com tranquilidade. Vários segredos também ficam criptografados separadamente, mas, graças à criptografia da própria máquina virtual, se eu perder o dispositivo em um aeroporto não preciso me preocupar com a exposição de coisas que não deveriam ser acessadas
      Existem formas de fazer isso também com virt-manager e KVM, mas nenhuma me agradou. Eu não queria depender da criptografia no nível do sistema de arquivos do host, havia também o problema da portabilidade e, como já tive alguns problemas com criptografia de disco completo antes, não me sentia confortável em depender disso
      O VirtualBox, essencialmente, também acaba fazendo uma criptografia de disco completo, mas ela não aparece para o guest e parece estável
      Em termos de portabilidade, usando https://www.vbox.me/ eu deveria conseguir instalar a máquina virtual e o host em um pen drive e executar meu ambiente em qualquer host Windows sem instalação adicional. Ainda não testei na prática, mas isso era uma grande vantagem
      Hoje, a maior parte do meu ambiente é configurada automaticamente com Vagrant: https://github.com/robsheldon/vagrantfiles, então também estou obtendo parte das vantagens do virt-manager
      Não gosto nada de depender de algo da Oracle
    • Dá para esperar uma UI decente e, se possível, suporte ao uso de appliances do VirtualBox
  • Eu só tinha ouvido falar de KVM no contexto de dispositivos do tipo teclado-vídeo-monitor, então não parece se encaixar muito bem no conceito de máquina virtual. Aqui significa outra coisa?

    • Sim, é bem diferente. Basicamente, é um projeto que permite usar o Linux como hipervisor e é muito amplamente usado
      https://en.m.wikipedia.org/wiki/Kernel-based_Virtual_Machine
    • Simplificando, o contexto é este. No mundo Linux há dois grandes hipervisores
      Xen estende o kernel para dar suporte a CPUs virtuais por fatias de tempo
      KVM aloca cada núcleo virtual como um processo que usa o escalonador do Linux
      Quando um núcleo vCPU de uma máquina virtual de hardware é preemptado, ocorre uma chamada vmexit em que registradores etc. precisam ser configurados novamente, e isso é caro
      Instâncias antigas da AWS rodavam em Xen, que tinha a vantagem de facilitar a justiça entre guests
      O KVM tem a vantagem de se beneficiar do escalonador do Linux, bem otimizado e baseado em árvore rubro-negra
      Por exemplo, quando sai uma CPU nova, o KVM passa a receber suporte no upstream, enquanto o Xen precisa dar suporte diretamente
      Com a melhoria de tecnologias como cgroups, a vantagem de permitir que uma thread conclua sem ser preemptada por expiração de fatia de tempo ajudou a evitar o custo de vmexit
      Em teoria, aproveitar recursos centrais do Linux que são inerentemente otimizados também deve beneficiar o VirtualBox
      A maioria das pessoas que usa KVM utiliza uma camada de abstração como libvirt, que esconde o modo de implementação
      Na prática, ao olhar os processos, você verá qemu, mesmo que a implementação seja KVM
    • Significa Kernel-Based Virtual Machine e é um mecanismo de máquina virtual existente desde 2007: https://en.wikipedia.org/wiki/Kernel-based_Virtual_Machine
    • https://linux-kvm.org/page/Main_Page
  • Estou realmente curioso sobre isso. Como pentester, uso um notebook Linux e passo muito tempo em uma VM Kali dentro do VirtualBox
    Que tipo de ganho de desempenho dá para esperar com o backend KVM?

    • Queria perguntar uma coisa específica relacionada a essa configuração. Por diversão, pensei em começar a mexer com testes de invasão e decidi experimentar o HackTheBox como ponto de partida
      Como preciso me conectar à VPN deles, pareceu uma boa separar essa atividade da minha rede pessoal
      Fico curioso sobre que configuração de rede você usa na VM de pentest. Idealmente, eu gostaria que a VM pudesse acessar a internet e, portanto, a VPN do HTB, mas não tivesse acesso à rede local interna
      Só que não sei muito bem como implementar isso de forma confiável. Talvez eu esteja sendo paranoico demais e isso nem seja prático, então gostaria de ouvir a visão de um profissional
      Normalmente eu usaria QEMU, mas, se o VirtualBox tiver algum recurso que facilite isso, nesse caso eu não teria problema em usar VirtualBox
    • Depende da configuração e da carga de trabalho. Em CPUs Intel recentes, no nosso painel de desempenho vemos +10% em alguns benchmarks
      Mas é difícil generalizar
  • No passado, alguns clientes usavam VBox, então contribuí com o libvirt para oferecer suporte a alguns recursos do VirtualBox
    Se isso existisse na época, teria sido conveniente, e eu poderia ter feito todos os clientes usarem máquinas virtuais KVM
    Parabéns pelo trabalho

  • É legal, mas talvez eu tenha ficado velho e ranzinza; acho que isso teria sido incrível 10 anos atrás. Hoje, será que alguém realmente se importa?

  • Hoje em dia, ao virtualizar uma GUI Linux dentro do Linux, também há formas muito melhores do que virt-manager, VMware ou VirtualBox
    Com crosvm, dá para compartilhar Wayland por buffers de memória compartilhada e obter aceleração OpenGL e Vulkan no guest
    Assim, os aplicativos do guest aparecem de forma integrada pelo compositor Wayland do host

    • Sim, é realmente muito bom. Também tenho um Chromebook, e a integração de apps Linux é muito fluida
      Mas o principal caso de uso do VBox, na maioria das vezes, é Windows