1 puntos por GN⁺ 2024-02-09 | 1 comentarios | Compartir por WhatsApp

Lanzamiento público de VirtualBox KVM

  • Cyberus Technology lanzó como código abierto el backend KVM de VirtualBox.
  • VirtualBox es un monitor de máquinas virtuales (VMM) multiplataforma que admite varios sistemas operativos invitados y ofrece una interfaz de usuario consistente en distintos sistemas operativos anfitriones.
  • Al usar el backend KVM, VirtualBox puede aprovechar el hipervisor KVM de Linux para ejecutar máquinas virtuales, en lugar de usar los módulos de kernel personalizados que utiliza VirtualBox estándar.

Lanzamiento como código abierto

  • Para cumplir su compromiso con el código abierto, Cyberus Technology publicó el backend KVM bajo una licencia open source en GitHub.
  • Los usuarios pueden compilar VirtualBox y el backend KVM de Cyberus Technology desde GitHub para aprovechar directamente las funciones mejoradas.
  • La hoja de ruta de 2024 incluye más funciones interesantes, y planean publicar entradas adicionales con contenido técnico cada vez que se lancen actualizaciones.

Obtener soporte

  • Si deseas usar VirtualBox y KVM o necesitas una solución de virtualización personalizada, Cyberus Technology está lista para ofrecer orientación y servicios de ingeniería.
  • Los usuarios que quieran recibir soporte pueden ponerse en contacto mediante el formulario de soporte o por correo electrónico a service@cyberus-technology.de.

Opinión de GN⁺:

  1. El lanzamiento como código abierto del backend KVM de VirtualBox representa un avance importante para la tecnología de virtualización y para la comunidad de usuarios y desarrolladores que busca mayor compatibilidad.
  2. Este anuncio implica un progreso técnico al permitir mejor rendimiento de las máquinas virtuales, mayor seguridad y una ampliación del soporte para hardware y casos de uso de invitados.
  3. El esfuerzo de Cyberus Technology por contribuir a la comunidad open source parece ayudar a impulsar el desarrollo y la innovación del software de código abierto.

1 comentarios

 
GN⁺ 2024-02-09
Opiniones en Hacker News
  • Quienes usan VirtualBox deberían tener cuidado con el Extension Pack. Oracle es muy activa con las demandas
    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...
    En nuestra organización prohibimos VirtualBox. VMware Workstation o virt-manager salen muchísimo más baratos que lidiar con Oracle

    • Yo venía a decir exactamente esto. Aquí pasó lo mismo, y Oracle parecía obsesionada con el Extension Pack, que la mayoría de los usuarios de VBox probablemente necesitan
      Así que tuvimos que impedir que todos lo usaran lo antes posible. Claro, no es solo VBox; con las bases de datos pasa lo mismo, así que es mejor evitarlos
    • ¿Qué pasa si simplemente ignoras a Oracle? ¿De verdad tiene poder para hacerlo cumplir? Si ofrecieron la descarga gratis, debería ser gratis
      No puedes darle una banana a alguien en la calle y luego volver 3 meses después a exigirle 1000 dólares
  • Por fin salió. Cada vez que corro máquinas virtuales elijo libvirt porque rinde mejor y es más fácil de manejar que VirtualBox, pero las opciones de GUI eran realmente malas
    Incluso virt-manager, la “mejor” GUI para libvirt, tiene muchos bugs y le faltan funciones. No se lleva bien con pantallas HiDPI, y ni siquiera hay una forma de configurar IPv6, por ejemplo
    Varias veces terminé eligiendo VirtualBox porque, aunque rinde peor que libvirt/KVM, la experiencia de uso es mejor; ahora parece que ya no hará falta

    • IPv6 sí está soportado. De hecho, tengo una red solo IPv6 funcionando, incluyendo hasta el hipervisor
      $ virsh net-dumpxml default6
      default6
      73590ea2-eb15-4e67-b104-319721bdf302
      Si lo necesitas, también puedes usar DHCPv6
    • virt-manager se lleva bien con HiDPI en Wayland. En cambio, la GUI de VirtualBox tiene muchísimos bugs en Wayland
      Son prácticamente opuestos. Yo uso virt-manager porque la GUI es más simple, y de todos modos la configuración de VirtualBox también es casi una pesadilla
      En cualquier caso, esta función es un paso en la dirección correcta. Me da curiosidad si las distros la adoptarán y si algún día se integrará upstream
    • Estoy 100% de acuerdo en que las opciones de GUI son horribles. De hecho, evité libvirt por completo porque no quería pelearme con la línea de comandos cuando tenía que manejar máquinas virtuales, y hasta hace poco usaba VMware
      En ese entonces mi PC principal tenía Windows 10, y el entorno de línea de comandos de Windows era bastante mediocre
    • Yo pensaba que virt-manager estaba bien, pero las quejas concretas que planteas parecen válidas
    • Me da curiosidad qué guests sueles correr para haber visto mejor rendimiento con libvirt/KVM
  • ¿Esto básicamente convierte a VirtualBox en un reemplazo de virt-manager y virsh?
    Hasta donde sé, VirtualBox no soporta PCI passthrough para cosas como GPU, así que me pregunto cómo se manejarían esos casos
    En Linux me pasé a QEMU/KVM y no volví a mirar VirtualBox, pero en Windows sigo usando VirtualBox y cada vez noto que su GUI es mucho mejor y más amigable
    Agregando: parece que VirtualBox sí ofrece PCI passthrough experimental mediante el Extension Pack [0]. ¿Se podrá usar esto también con el backend KVM?
    [0] https://docs.oracle.com/en/virtualization/virtualbox/6.0/adm...

  • La ventaja práctica es que no tienes que recompilar el módulo de kernel vbox, que es un driver de terceros, cada vez que se actualiza el kernel. DKMS intenta encargarse de eso sin intervención del administrador, pero no siempre está libre de bugs
    En cambio, la aplicación VirtualBox está diseñada para integrarse bien con el escritorio, así que conectarse al guest por VNC difícilmente sea una alternativa
    Sería bueno ver un esfuerzo similar en el lado de FreeBSD para el hipervisor bhyve
    El tema de la terminología también es interesante, pero ya se trató recientemente con el administrador de renderizado directo DRM de Linux. Estas siglas se usaban en grupos reducidos en comparación con “todo ICT”, y lo mismo pasaba con los dispositivos teclado-video-mouse
    Menos del 1% de los profesionales maneja las partes internas de Linux a ese nivel, y menos del 1% son ingenieros de campo en salas de servidores, así que no había una conciencia colectiva sobre estos términos y se reutilizaron
    LVM ya se usa en el área de almacenamiento, y LKVM también podría generar confusión

    • Hacer esto para FreeBSD sería un proyecto excelente. Pero es grande, así que sería difícil asumirlo sin algún tipo de financiamiento
    • Me cuesta imaginar usar una distro que no pueda manejar de forma confiable DKMS y las actualizaciones de módulos del kernel. En NixOS nunca tuve ni un solo problema con DKMS
      Dar downvote no hará que tu distro sea más competente
  • No sé qué aporta esto frente a lo que ya se obtiene en Linux con KVM y virt-manager.

    • El rendimiento al ejecutar Windows directamente en VirtualBox es muy bueno y, por lo general, mejor que virt-manager (QEMU). QEMU también puede dar un rendimiento excelente si se ajusta bien, pero hay que meterle mano.
      VirtualBox es, en general, más amigable para el usuario. La integración con el invitado, arrastrar y soltar, el portapapeles, el passthrough USB y el soporte de audio también son muy buenos en VBox.
    • Uso la mayor parte de mi entorno de escritorio virtualizado. Al principio, como usaba principalmente un host Linux y guests Linux, quería irme por KVM y virt-manager, pero no veía cómo obtener con ese enfoque las dos funciones clave que quería: cifrado y portabilidad.
      La mayoría de mis máquinas virtuales están cifradas, así que puedo llevarlas conmigo con tranquilidad. Varios secretos también están cifrados por separado, pero gracias al cifrado de la propia máquina virtual no tengo que preocuparme de que, si pierdo el dispositivo en un aeropuerto, queden expuestas cosas a las que no debería poder accederse.
      Hay formas de hacerlo también con virt-manager y KVM, pero ninguna me convencía. No quería depender del cifrado a nivel del sistema de archivos del host, también estaba el problema de la portabilidad, y como antes tuve algunos problemas con el cifrado de disco completo, no me sentía cómodo apoyándome en eso.
      VirtualBox en esencia también hace algo equivalente a cifrado de disco completo, pero no es visible para el guest y parece estable.
      En cuanto a portabilidad, usando https://www.vbox.me/ debería poder instalar la máquina virtual y el host en una unidad flash y ejecutar mi entorno en cualquier host Windows sin instalaciones adicionales. Todavía no lo he probado en la práctica, pero era una gran ventaja.
      Ahora la mayor parte de mi entorno se configura automáticamente con Vagrant: https://github.com/robsheldon/vagrantfiles, así que también estoy obteniendo parte de las ventajas de virt-manager.
      Realmente no me gusta depender de Oracle para nada.
    • Se puede esperar una buena UI y, si es posible, soporte para usar appliances de VirtualBox.
  • Solo había oído KVM en el contexto de dispositivos tipo teclado-video-monitor, y no parece encajar bien con el concepto de máquinas virtuales. ¿Aquí significa otra cosa?

    • Sí, es algo bastante distinto. Básicamente es un proyecto que permite usar Linux como hipervisor, y se usa muchísimo.
      https://en.m.wikipedia.org/wiki/Kernel-based_Virtual_Machine
    • Simplificando, en este contexto es así. En el mundo Linux hay dos grandes hipervisores.
      Xen extiende el kernel para soportar CPU virtuales mediante porciones de tiempo.
      KVM asigna cada núcleo virtual como un proceso que usa el scheduler de Linux.
      Cuando se desaloja un núcleo vCPU de una máquina virtual de hardware, se produce una llamada vmexit que obliga a volver a configurar registros y demás, y eso es costoso.
      Las instancias antiguas de AWS corrían sobre Xen, que tenía la ventaja de facilitar la equidad entre guests.
      KVM tiene la ventaja de aprovechar el scheduler de Linux, bien optimizado y basado en árboles rojo-negro.
      Por ejemplo, cuando sale una CPU nueva, KVM recibe soporte desde upstream, mientras que Xen tiene que soportarla directamente.
      A medida que tecnologías como cgroups mejoraron, la ventaja de permitir que un hilo termine sin ser desalojado por el vencimiento de una porción de tiempo ayudó a evitar el costo de vmexit.
      En teoría, aprovechar funciones centrales de Linux que ya están inherentemente optimizadas también debería beneficiar a VirtualBox.
      La mayoría de quienes usan KVM utilizan una capa de abstracción como libvirt, que oculta los detalles de implementación.
      Si miras los procesos, aunque la implementación sea KVM, probablemente verás qemu.
    • Significa Kernel-Based Virtual Machine, y es un motor de máquinas virtuales que existe desde 2007: https://en.wikipedia.org/wiki/Kernel-based_Virtual_Machine
    • https://linux-kvm.org/page/Main_Page
  • Esto me da mucha curiosidad. Como pentester uso una laptop Linux y paso mucho tiempo en una VM Kali dentro de VirtualBox.
    ¿Qué tanto aumento de rendimiento podría esperar con un backend KVM?

    • Quería preguntar algo específico sobre esta configuración. Por diversión, estaba pensando en iniciarme en pentesting y decidí empezar probando HackTheBox.
      Como hay que conectarse a su VPN, me pareció buena idea separar esta actividad de mi red personal.
      Me da curiosidad qué configuración de red se usa para una VM de pentesting. Idealmente, quisiera que la VM pueda acceder a Internet y, por lo tanto, a la VPN de HTB, pero que no pueda acceder a mi red local interna.
      Pero no sé muy bien cómo implementar eso de forma confiable. Quizá de entrada sea una idea demasiado paranoica y poco práctica, así que me interesa la perspectiva de alguien con experiencia.
      Normalmente usaría QEMU, pero si VirtualBox incluye alguna función que facilite esto, en este caso me parecería bien usar VirtualBox.
    • Depende de la configuración y de la carga de trabajo. Con CPUs Intel recientes, en nuestro dashboard de rendimiento vemos +10% en algunos benchmarks.
      Dicho eso, es difícil generalizar.
  • En el pasado, algunos clientes usaban VBox, así que alguna vez contribuí a libvirt para soportar parte de las funciones de VirtualBox.
    Si esto hubiera existido en ese entonces, habría sido cómodo y podría haber hecho que todos los clientes usaran máquinas virtuales KVM.
    Felicitaciones por el trabajo.

  • Está genial, pero quizá ya estoy viejo y amargado: siento que esto habría sido impresionante hace 10 años. ¿Hoy de verdad a alguien le importa?

  • Hoy en día, para virtualizar una GUI de Linux dentro de Linux, también hay formas mucho mejores que virt-manager, VMware o VirtualBox.
    Con crosvm se puede compartir Wayland mediante buffers de memoria compartida y obtener aceleración OpenGL y Vulkan en el guest.
    Así, las aplicaciones del guest aparecen de forma fluida a través del compositor Wayland del host.

    • Sí, de hecho es bastante bueno. También tengo un Chromebook y la integración de apps Linux es realmente fluida.
      Eso sí, la mayoría de los casos de uso principales de VBox son con Windows.