Cái nào hoạt động tốt hơn trong việc sử dụng CPU và bộ nhớ nặng trên các máy chủ ảo, Xen hoặc VirtualBox?
Cái nào hoạt động tốt hơn trong việc sử dụng CPU và bộ nhớ nặng trên các máy chủ ảo, Xen hoặc VirtualBox?
Câu trả lời:
Xen thường sẽ hoạt động tốt hơn nhiều so với VirtualBox vì VirtualBox chạy HĐH khách theo cách mà HĐH khách không biết nó đang chạy trong môi trường ảo. Hay nói cách khác, HĐH khách không được sửa đổi để chạy hầu như. Do đó, VirtualBox phải 'bẫy' các hướng dẫn loại nhân, chạy một số mã tùy chỉnh và sau đó trả lại quyền điều khiển cho khách. Nó có thể sử dụng hỗ trợ ảo hóa phần cứng do Intel và AMD cung cấp, nhưng ngay cả khi đó, chi phí cũng tăng thêm.
Trong khi đó, Xen đảm bảo hệ điều hành khách được biên dịch lại để phù hợp với mô hình Xen. Vì vậy, kiểm soát chảy trơn tru từ hệ điều hành khách đến máy ảo hóa, mà không cần phải giả vờ hệ điều hành khách có quyền truy cập trực tiếp vào phần cứng.
Để biết tổng quan về khá nhiều công nghệ ảo hóa, bao gồm dữ liệu từ các bài kiểm tra hiệu suất, hãy đọc báo cáo này . Nó chỉ nói về Linux, nhưng nó bao gồm Linux-Vserver, Xen, OpenVZ, KVM, VirtualBox và QEMU. Linux-Vserver và Xen nói chung là những người hoạt động tốt nhất, nhưng đọc báo cáo để xem khối lượng công việc khác nhau.
Đã nói tất cả những điều trên, có thể có một số lĩnh vực mà VirtualBox vượt trội hơn Xen. Nếu HĐH khách của bạn có lớp cửa sổ đồ họa, thì VirtualBox hỗ trợ tốt cho điều đó, đặc biệt nếu bạn cài đặt một số thành phần VirtualBox đặc biệt trong HĐH khách.
Và cuối cùng bạn nên biết rằng Xen sẽ chỉ chạy một hệ điều hành khách đã được sửa đổi. Nó không thể chạy một hệ điều hành khách chưa sửa đổi.
Câu trả lời của Hamish Downer bị nhầm lẫn về điểm cuối cùng của nó. Xen có thể chạy các khách không được sửa đổi, tuy nhiên họ phải được điều hành như các khách HVM được ảo hóa hoàn toàn. Làm điều này đòi hỏi máy tính chủ có hỗ trợ ảo hóa phần cứng với các cpu có khả năng Intel VT hoặc AMD-V.
Xen và Virtualbox mỗi nơi có một vị trí nhưng chúng là hai loại siêu giám sát khác nhau. Xen là một trình ảo hóa Loại 1 trong đó Virtualbox là một trình ảo hóa Loại 2. Các trình siêu giám sát loại 1 có xu hướng là những gì bạn tìm thấy trong môi trường máy chủ nơi các trình siêu giám sát loại 2 có xu hướng phổ biến hơn để chạy nhiều hệ điều hành mà bạn tương tác với máy tính để bàn. Tôi nghĩ rằng điều này chủ yếu là do sự đơn giản của họ và tích hợp máy tính để bàn tốt hơn. Tuy nhiên, khách dưới một trình ảo hóa loại 2 khác xa phần cứng cơ bản và có xu hướng chậm hơn so với khách dưới trình ảo hóa loại 1. Như với mọi thứ, luôn luôn có một ngoại lệ cho quy tắc.
Tôi chỉ có thể nói về Xen, vì tôi chỉ từng sử dụng Virtualbox để ảo hóa máy windows trên máy tính để bàn mac của mình.
Như những người khác đã đề cập, Xen (và XenServer, dựa trên Xen) sử dụng các hạt nhân ảo hóa giúp cải thiện đáng kể các đặc tính hiệu năng liên quan đến Cpu và Bộ nhớ. Tuy nhiên, điều này chỉ đúng với các máy chủ Linux có nhân chuyên dụng. Bạn cần một hạt nhân Xen- "kích hoạt" để có thể tận dụng lợi thế này.
Ngoài ra - Windows không hỗ trợ ảo hóa theo cách này, nhưng các phần mở rộng Intel VT và AMD-V trên CPU tương ứng của họ "bắt" Windows và khiến nó hoạt động theo cách ảo tưởng. Windows 2003 và Windows 2000 không bao giờ biết rằng họ đang chạy ảo hóa, trong khi Windows 2008, mặt khác, phát hiện ra điều này và chạy ở chế độ được gọi là "khai sáng", có thể so sánh với chế độ "paravirtualized" của Linux.