1 điểm bởi GN⁺ 2024-02-09 | 1 bình luận | Chia sẻ qua WhatsApp

Ra mắt công khai VirtualBox KVM

  • Cyberus Technology đã phát hành backend KVM của VirtualBox dưới dạng mã nguồn mở.
  • VirtualBox là một trình giám sát máy ảo (VMM) đa nền tảng, hỗ trợ nhiều hệ điều hành khách khác nhau và cung cấp giao diện người dùng nhất quán trên nhiều hệ điều hành chủ.
  • Với backend KVM, VirtualBox có thể tận dụng hypervisor KVM trên Linux để chạy máy ảo, thay cho mô-đun kernel tùy chỉnh mà VirtualBox tiêu chuẩn sử dụng.

Phát hành mã nguồn mở

  • Để thực hiện cam kết với mã nguồn mở, Cyberus Technology đã công bố backend KVM trên GitHub theo giấy phép mã nguồn mở.
  • Người dùng có thể build VirtualBox cùng backend KVM của Cyberus Technology từ GitHub để trực tiếp sử dụng các tính năng được cải thiện.
  • Lộ trình năm 2024 bao gồm thêm nhiều tính năng đáng chú ý, và công ty dự định sẽ đăng thêm các bài viết đi sâu vào khía cạnh kỹ thuật mỗi khi có bản cập nhật được phát hành.

Nhận hỗ trợ

  • Nếu muốn sử dụng VirtualBox và KVM hoặc cần một giải pháp ảo hóa tùy chỉnh, Cyberus Technology sẵn sàng cung cấp hướng dẫn và dịch vụ kỹ thuật.
  • Người dùng cần hỗ trợ có thể liên hệ qua biểu mẫu hỗ trợ hoặc email service@cyberus-technology.de.

Ý kiến của GN⁺:

  1. Việc phát hành mã nguồn mở backend KVM của VirtualBox là một bước tiến quan trọng đối với công nghệ ảo hóa và với cộng đồng người dùng, nhà phát triển đang theo đuổi khả năng tương thích rộng hơn.
  2. Thông báo này đánh dấu tiến bộ kỹ thuật, có thể giúp cải thiện hiệu năng máy ảo, tăng cường bảo mật và mở rộng hỗ trợ cho phần cứng cũng như nhiều trường hợp sử dụng guest hơn.
  3. Nỗ lực đóng góp cho cộng đồng mã nguồn mở của Cyberus Technology được kỳ vọng sẽ thúc đẩy sự phát triển và đổi mới của phần mềm mã nguồn mở.

1 bình luận

 
GN⁺ 2024-02-09
Ý kiến trên Hacker News
  • Những ai dùng VirtualBox cần cẩn thận với Extension Pack. Oracle rất tích cực trong việc kiện tụng
    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...
    Tổ chức của chúng tôi đã cấm VirtualBox. Dùng VMware Workstation hoặc virt-manager rẻ hơn nhiều so với phải đối phó với Oracle

    • Tôi cũng định nói đúng chuyện này. Ở đây cũng vậy, và Oracle dường như bám rất chặt vào Extension Pack, thứ mà phần lớn người dùng VBox sẽ cần
      Vì vậy chúng tôi đã phải ngăn mọi người dùng nó càng sớm càng tốt. Tất nhiên không chỉ riêng VBox, cơ sở dữ liệu cũng vậy, nên tốt nhất là cứ tránh đi
    • Nếu cứ phớt lờ Oracle thì sao? Họ thật sự có quyền lực để cưỡng chế không? Nếu đã cho tải miễn phí thì nó phải là miễn phí
      Không thể đưa cho người ta một quả chuối ngoài đường rồi 3 tháng sau quay lại đòi 1000 đô la được
  • Cuối cùng cũng có rồi. Mỗi khi chạy máy ảo, tôi chọn libvirt vì hiệu năng tốt hơn VirtualBox và dễ xử lý hơn, nhưng các lựa chọn GUI thì thật sự rất tệ
    Ngay cả virt-manager, GUI libvirt “tốt nhất”, cũng nhiều lỗi và thiếu tính năng. Chẳng hạn không tương thích tốt với màn hình HiDPI, cũng không có cách cấu hình IPv6
    Đã nhiều lần tôi chọn VirtualBox vì trải nghiệm sử dụng tốt hơn, dù hiệu năng kém libvirt/KVM; giờ có vẻ không cần làm vậy nữa

    • IPv6 có được hỗ trợ. Thực tế tôi đang vận hành mạng chỉ IPv6, bao gồm cả hypervisor
      $ virsh net-dumpxml default6
      default6
      73590ea2-eb15-4e67-b104-319721bdf302
      Nếu cần cũng có thể dùng DHCPv6
    • virt-manager tương thích tốt với HiDPI trên Wayland. Ngược lại, GUI của VirtualBox cực kỳ nhiều lỗi trên Wayland
      Hai cái gần như trái ngược hoàn toàn. Tôi dùng virt-manager vì GUI đơn giản hơn, mà dù sao cấu hình VirtualBox cũng gần như là ác mộng
      Dù thế nào, tính năng này là một bước đi đúng hướng. Tôi tò mò liệu các bản phân phối có áp dụng không, và một ngày nào đó nó có được tích hợp upstream không
    • Đồng ý 100% rằng các lựa chọn GUI rất tệ. Thực tế tôi đã hoàn toàn tránh libvirt vì không muốn vật lộn với dòng lệnh khi phải xử lý máy ảo, và cho đến gần đây vẫn dùng VMware
      Khi đó PC chính của tôi là Windows 10, và môi trường dòng lệnh trên Windows khá tệ
    • Tôi từng nghĩ virt-manager cũng ổn, nhưng những phàn nàn cụ thể được nêu ra có vẻ hợp lý
    • Tôi tò mò bạn chủ yếu chạy guest nào mà thấy hiệu năng tốt hơn trên libvirt/KVM
  • Vậy về cơ bản thứ này biến VirtualBox thành một giải pháp thay thế cho virt-manager và virsh à?
    Theo tôi biết VirtualBox không hỗ trợ PCI passthrough cho những thứ như GPU, nên tôi tò mò các trường hợp như vậy sẽ được xử lý thế nào
    Trên Linux, sau khi chuyển sang QEMU/KVM tôi đã không ngoái lại VirtualBox nữa, nhưng trên Windows tôi vẫn dùng VirtualBox và mỗi lần đều cảm thấy GUI tốt hơn, thân thiện hơn nhiều
    Bổ sung thêm, có vẻ VirtualBox có cung cấp PCI passthrough thử nghiệm thông qua Extension Pack [0]. Có thể dùng nó với backend KVM không?
    [0] https://docs.oracle.com/en/virtualization/virtualbox/6.0/adm...

  • Lợi ích thực tế là không phải biên dịch lại module kernel vbox, một driver bên thứ ba, mỗi khi kernel được nâng cấp. DKMS cố gắng xử lý mà không cần quản trị viên can thiệp, nhưng không phải lúc nào cũng không có lỗi
    Trong khi đó, ứng dụng VirtualBox được thiết kế để tích hợp tốt với desktop, nên việc kết nối vào guest bằng VNC khó có thể là một phương án thay thế
    Sẽ rất hay nếu phía FreeBSD cũng có nỗ lực tương tự cho hypervisor bhyve
    Vấn đề thuật ngữ cũng thú vị, nhưng gần đây đã được bàn đến trong chủ đề về Linux Direct Rendering Manager, DRM. Các từ viết tắt này được dùng trong các nhóm hẹp hơn so với “toàn bộ ICT”, và thiết bị keyboard-video-mouse cũng vậy
    Chưa đến 1% là chuyên gia xử lý nội bộ Linux ở mức đó, và kỹ sư hiện trường trong phòng máy chủ cũng dưới 1%, nên không có nhận thức tập thể về các thuật ngữ này và chúng đã được tái sử dụng
    LVM đã được dùng trong mảng lưu trữ, còn LKVM cũng có thể gây nhầm lẫn

    • Làm thứ này cho FreeBSD sẽ là một dự án tuyệt vời. Tuy nhiên quy mô lớn nên khó kham nổi nếu không có tài trợ dưới hình thức nào đó
    • Tôi khó mà tưởng tượng việc dùng một bản phân phối không xử lý ổn định DKMS và cập nhật module kernel. Tôi chưa từng gặp vấn đề DKMS nào trên NixOS
      Downvote cũng không làm bản phân phối của bạn giỏi hơn đâu
  • Tôi không rõ cái này mang lại thêm gì so với những gì đã có với KVM và virt-manager trên Linux

    • Hiệu năng khi chạy Windows trực tiếp trong VirtualBox rất tốt, thường tốt hơn virt-manager (QEMU). QEMU cũng có thể đạt hiệu năng xuất sắc nếu tinh chỉnh tốt, nhưng cần động tay động chân một chút
      VirtualBox nhìn chung thân thiện với người dùng hơn. Tích hợp guest, kéo thả, clipboard, USB passthrough, hỗ trợ âm thanh cũng rất tốt trên VBox
    • Tôi ảo hóa để dùng phần lớn môi trường desktop. Ban đầu chủ yếu dùng host Linux và guest Linux nên tôi muốn chuyển sang KVM và virt-manager, nhưng không biết làm thế nào để có được hai tính năng cốt lõi mình muốn là mã hóa và tính di động theo cách đó
      Phần lớn máy ảo đều được mã hóa nên mang theo cũng yên tâm. Nhiều thông tin bí mật cũng được mã hóa riêng, nhưng nhờ mã hóa chính máy ảo nên nếu mất thiết bị ở sân bay, tôi không phải lo những thứ không nên bị truy cập sẽ bị lộ
      virt-manager và KVM cũng có những cách làm được việc này, nhưng tôi không thích cách nào. Tôi không muốn phụ thuộc vào mã hóa ở mức hệ thống tệp của host, cũng có vấn đề về tính di động, và trước đây từng gặp chút rắc rối với mã hóa toàn bộ đĩa nên không thoải mái khi dựa vào nó
      VirtualBox về bản chất cũng giống như đang mã hóa toàn bộ đĩa, nhưng guest không thấy điều đó và trông có vẻ ổn định
      Về tính di động, có thể dùng https://www.vbox.me/ để cài máy ảo và host lên ổ flash, rồi chạy môi trường của tôi trên bất kỳ host Windows nào mà không cần cài thêm gì. Tôi vẫn chưa thực sự thử, nhưng đó là một lợi thế lớn
      Hiện giờ phần lớn môi trường của tôi được tự động cấu hình bằng Vagrant: https://github.com/robsheldon/vagrantfiles nên tôi cũng đang có được một phần lợi ích của virt-manager
      Tôi thật sự không thích phải phụ thuộc vào Oracle theo bất kỳ cách nào
    • Có thể kỳ vọng một UI ổn và, nếu có thể, hỗ trợ dùng VirtualBox appliance
  • Tôi chỉ từng nghe KVM trong ngữ cảnh các thiết bị kiểu keyboard-video-monitor, nên thấy nó không hợp lắm với khái niệm máy ảo. Ở đây là nghĩa khác à?

    • Đúng, khá khác. Về cơ bản đây là một dự án cho phép dùng Linux làm hypervisor và được sử dụng rất rộng rãi
      https://en.m.wikipedia.org/wiki/Kernel-based_Virtual_Machine
    • Đơn giản hóa thì bối cảnh là thế này. Trong thế giới Linux có hai hypervisor lớn
      Xen mở rộng kernel để hỗ trợ CPU ảo theo các lát thời gian
      KVM gán mỗi core ảo thành một process dùng scheduler của Linux
      Khi core vCPU của một máy ảo phần cứng bị preempt, sẽ phát sinh lệnh gọi vmexit khiến phải thiết lập lại register v.v., chi phí rất lớn
      Các instance AWS ngày trước chạy trên Xen, có lợi thế là dễ đảm bảo tính công bằng giữa các guest
      KVM có lợi thế là tận dụng scheduler Linux đã được tối ưu tốt dựa trên cây đỏ-đen
      Ví dụ khi có CPU mới, KVM sẽ nhận được hỗ trợ từ upstream, còn Xen phải tự hỗ trợ trực tiếp
      Khi các công nghệ như cgroups được cải thiện, lợi ích của việc để thread hoàn tất thay vì bị preempt do hết lát thời gian đã giúp tránh chi phí vmexit
      Về lý thuyết, việc tận dụng các chức năng lõi Linux vốn đã được tối ưu nội tại cũng sẽ có lợi cho VirtualBox
      Hầu hết người dùng KVM dùng một lớp trừu tượng như libvirt để che giấu cách triển khai
      Thực tế nếu nhìn vào process, bạn sẽ thấy qemu dù phần triển khai là KVM
    • Nó là viết tắt của Kernel-Based Virtual Machine, một engine máy ảo đã có từ năm 2007: https://en.wikipedia.org/wiki/Kernel-based_Virtual_Machine
    • https://linux-kvm.org/page/Main_Page
  • Tôi thật sự tò mò về cái này. Là pentester, tôi dùng laptop Linux và dành nhiều thời gian trong Kali VM bên trong VirtualBox
    Với backend KVM thì có thể kỳ vọng cải thiện hiệu năng đến mức nào?

    • Tôi muốn hỏi cụ thể một điều liên quan đến cấu hình này. Tôi từng muốn thử bước vào pentest cho vui, và quyết định nghịch HackTheBox làm điểm khởi đầu
      Vì phải kết nối vào VPN của họ, tôi thấy nên tách hoạt động này khỏi mạng cá nhân
      Tôi tò mò các bạn dùng cấu hình mạng nào cho VM pentest. Lý tưởng là VM có thể truy cập internet, và do đó truy cập HTB VPN, nhưng không thể truy cập vào bên trong mạng cục bộ
      Nhưng tôi không rõ cách triển khai điều đó một cách đáng tin cậy. Có thể ngay từ đầu đây đã là suy nghĩ quá hoang tưởng và không thực tế, nên tôi muốn nghe góc nhìn của chuyên gia
      Bình thường tôi sẽ dùng QEMU, nhưng nếu VirtualBox có tính năng giúp việc này dễ hơn thì trong trường hợp này dùng VirtualBox cũng được
    • Còn tùy cấu hình và workload. Với CPU Intel gần đây, trên dashboard hiệu năng của chúng tôi thấy +10% ở một số benchmark
      Tuy nhiên khó nói một cách khái quát
  • Trước đây một số khách hàng của tôi dùng VBox, nên tôi từng đóng góp vào libvirt để hỗ trợ một số tính năng của VirtualBox
    Nếu khi đó có cái này thì đã tiện hơn, và tôi đã có thể để tất cả khách hàng dùng máy ảo KVM
    Chúc mừng nhóm làm việc này

  • Nghe thì hay đấy, nhưng không biết có phải giờ tôi đã già và khó tính rồi không, chứ nếu là 10 năm trước thì chắc sẽ rất tuyệt. Bây giờ liệu còn ai thực sự quan tâm không?

  • Ngày nay khi ảo hóa Linux GUI bên trong Linux, cũng có những cách tốt hơn nhiều so với virt-manager, VMware hay VirtualBox
    Dùng crosvm có thể chia sẻ Wayland qua buffer bộ nhớ dùng chung, đồng thời có tăng tốc OpenGL và Vulkan trong guest
    Như vậy ứng dụng guest sẽ xuất hiện liền mạch thông qua Wayland compositor của host

    • Đúng, thực tế khá tốt. Tôi cũng có Chromebook và việc tích hợp ứng dụng Linux thật sự rất mượt
      Tuy nhiên use case chính của VBox phần lớn là Windows