Ảo hóa hoàn toàn so với Paravirtualization
/ dev / sda là đĩa được phát hiện đầu tiên của loại IDE / SATA / SCSI. Trong trường hợp này, được mô phỏng (ảo hóa hoàn toàn) bởi nhà ảo thuật.
/ dev / vda là trình điều khiển đĩa paravirtualizated được phát hiện đầu tiên. Nó nhanh hơn các thiết bị sdX được mô phỏng nếu cả hai được tham chiếu vào cùng một đĩa, bởi vì có ít chi phí hoạt động hơn so với ổ đĩa được mô phỏng.
Người giới thiệu:
Từ http://www.ibm.com/developerworks/l Library / l-virtio / :
Ảo hóa hoàn toàn so với ảo hóa
Chúng ta hãy bắt đầu với một cuộc thảo luận nhanh về hai loại sơ đồ ảo hóa khác nhau: ảo hóa hoàn toàn và ảo hóa. Trong ảo hóa hoàn toàn, hệ điều hành khách chạy trên đỉnh của một trình ảo hóa nằm trên kim loại trần. Khách không biết rằng nó đang được ảo hóa và không yêu cầu thay đổi để hoạt động trong cấu hình này. Ngược lại, trong paravirtualization, hệ điều hành khách không chỉ biết rằng nó đang chạy trên một trình ảo hóa mà còn bao gồm mã để làm cho quá trình chuyển đổi từ máy khách sang máy ảo hiệu quả hơn.
Trong sơ đồ ảo hóa hoàn toàn, bộ ảo hóa phải mô phỏng phần cứng thiết bị, được mô phỏng ở mức thấp nhất của cuộc hội thoại (ví dụ: với trình điều khiển mạng). Mặc dù mô phỏng sạch sẽ ở mức trừu tượng này, nhưng nó cũng không hiệu quả nhất và rất phức tạp. Trong sơ đồ paravirtualization, khách và nhà ảo thuật có thể hợp tác để làm cho việc mô phỏng này hiệu quả. Nhược điểm của phương pháp paravirtualization là hệ điều hành nhận thức được rằng nó đang được ảo hóa và yêu cầu sửa đổi để hoạt động.
Từ http://www.carfax.org.uk/docs/qemu-virtio :
Thiết bị paravirtual là gì?
Khi chạy một máy ảo, môi trường ảo phải hiển thị các thiết bị cho HĐH khách - đĩa và mạng là hai chính (cộng với video, USB, bộ hẹn giờ và các thiết bị khác). Thực tế, đây là phần cứng mà máy khách VM nhìn thấy.
Bây giờ, nếu khách phải hoàn toàn không biết gì về thực tế là nó được ảo hóa, điều này có nghĩa là máy chủ phải mô phỏng một số loại phần cứng thực sự. Điều này khá chậm (đặc biệt đối với các thiết bị mạng) và là nguyên nhân chính làm giảm hiệu suất trong các máy ảo.
Tuy nhiên, nếu bạn sẵn sàng cho HĐH khách biết rằng đó là trong môi trường ảo, có thể tránh được chi phí giả lập phần lớn phần cứng thực và sử dụng đường dẫn trực tiếp hơn để xử lý các thiết bị bên trong VM. Cách tiếp cận này được gọi là paravirtualisation. Trong trường hợp này, HĐH khách cần một trình điều khiển cụ thể được cài đặt để nói chuyện với thiết bị ảo. Trong Linux, giao diện này đã được chuẩn hóa và được gọi là giao diện "virtio".