hiểu mối quan hệ giữa Qemu và KVM


17

Sự khác biệt giữa KVM và Qemu là gì? Theo tôi hiểu, sau này có thể cung cấp "mô phỏng chế độ người dùng", có nghĩa là người ta có thể chạy một tệp thực thi duy nhất được xây dựng cho một số kiến ​​trúc khác như thế này:

# file busybox-sparc 
busybox-sparc: ELF 32-bit MSB executable, SPARC, version 1 (SYSV), statically linked, stripped
# qemu-sparc busybox-sparc ls
Packages_arm     Packages_i386    arm              busybox-armv6l   busybox-i686     busybox-powerpc  busybox-sparc    busybox-x86_64   i386
# 

..và "mô phỏng máy tính", có nghĩa là không chỉ thực hiện dịch nhị phân động mà cả máy ảo cũng được mô phỏng (card màn hình, card âm thanh, card mạng, thiết bị quang, v.v.). Ví dụ:

# qemu-system-sparc64 -hda hda.img -cdrom debian-6.0.5-sparc-CD-1.iso -boot d

Như tôi đã hiểu, Qemu không biết cách tận dụng ảo hóa phần cứng (ví dụ như các giải pháp Intel VT-x hoặc AMD-V trên kiến ​​trúc x86) và đây là trường hợp KVM có thể giúp người ta có thể khởi động Qemu với hỗ trợ KVM. Tuy nhiên, KVM có cung cấp bất kỳ chức năng nào khác ngoài việc truy cập các chương trình mô phỏng vào ảo hóa được hỗ trợ phần cứng trên các kiến ​​trúc phần cứng cụ thể không? Có thể tạo toàn bộ (CPU, card màn hình, thiết bị I / O, v.v.) chỉ bằng KVM không? Nếu có, thì những chương trình nào nên sử dụng để tạo và điều khiển máy ảo này?


2
có thể trùng lặp về sự khác biệt giữa KVM và QEMU

Câu trả lời:


16

Bạn đúng một phần. Chỉ cần cẩn thận, vì có thể có một số nhầm lẫn. KVM là tên của công nghệ ảo hóa trong nhân Linux.

KVM cũng thường được sử dụng làm tên của một ngã ba (tên chính xác hơn sẽ là qemu-kvm) của dự án QEMU với sự hỗ trợ tốt hơn cho ảo hóa phần cứng . Khiếu nại này đã được xác nhận bởi dự án QEMU , nhưng kể từ phiên bản 1.3 của QEMU, tất cả các tính năng của qemu-kvm đã được hợp nhất .

Trang tải xuống cho dự án KVM cũng giải thích sự khác biệt đó.

Một điều nữa cần ghi nhớ là những lợi thế của qemu-kvm đang được hợp nhất trong các phiên bản mới hơn của qemu, vì vậy tôi hy vọng một ngày nào đó sự khác biệt giữa hai sẽ biến mất.


Vậy, KVM "công nghệ ảo hóa trong nhân Linux" và qemu-kvm là hai thứ khác nhau?
dtmland

@dtmland Vâng, vâng. qemu-kvm là một phần mềm người dùng sử dụng KVM trong kernel.
chutz

6

KVM là một mô-đun hạt nhân cho phép, thông qua các phần mở rộng CPU cụ thể ảo hóa, lên lịch yêu cầu CPU VMs trực tiếp trong CPU chủ và RAM, với lượng chi phí tối thiểu. QEMU cung cấp phần còn lại của phần cứng giả lập, bởi vì một máy, thậm chí là ảo, không chỉ là CPU - đó là rất nhiều phần cứng bổ sung. QEMU cũng có thể mô phỏng CPU, nhưng so với cách mà KVM thực hiện, nó rất chậm, do đó, hợp nhất, để có được sự tốt nhất của cả hai thế giới

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.