Lançamento público do KVM para VirtualBox
(cyberus-technology.de)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⁺:
- 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.
- 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.
- 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
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
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
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
$ virsh net-dumpxml default6default673590ea2-eb15-4e67-b104-319721bdf302Se necessário, também dá para usar DHCPv6
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
Na época, meu PC principal era Windows 10, e o ambiente de linha de comando do Windows era bem ruim
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
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 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
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
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?
https://en.m.wikipedia.org/wiki/Kernel-based_Virtual_Machine
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
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?
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
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
Mas o principal caso de uso do VBox, na maioria das vezes, é Windows