qemu-kvm是當前比較熱門的虛擬化技術,接下來的一段時間裡我將會在這裡為大家呈現系列qemu-kvm內容。這裡所要談到的虛擬化,是指在CPU硬體支援基礎之上的虛擬化技術。
KVM(Kernel-based Virtual Machine)官網:http://www.linux-kvm.org/page/Main_Page
介紹:
KVM (for Kernel-based Virtual Machine) is a full virtualization solution for Linux on x86 hardware containing virtualization extensions (Intel VT or AMD-V). It consists of a loadable kernel module, kvm.ko, that provides the core virtualization infrastructure
and a processor specific module, kvm-intel.ko or kvm-amd.ko. KVM also requires a modified QEMU although work is underway to get the required changes upstream.
Using KVM, one can run multiple virtual machines running unmodified Linux or Windows images. Each virtual machine has private virtualized hardware: a network card, disk, graphics adapter, etc.
The kernel component of KVM is included in mainline Linux, as of 2.6.20.
KVM is open source software.
qemu官網:http://wiki.qemu.org/Main_Page
介紹:
QEMU is a generic and open source machine emulator and virtualizer.
When used as a machine emulator, QEMU can run OSes and programs made for one machine (e.g. an ARM board) on a different machine (e.g. your own PC). By using dynamic translation, it achieves very good performance.
When used as a virtualizer, QEMU achieves near native performances by executing the guest code directly on the host CPU. QEMU supports virtualization when executing under the Xen hypervisor or using the KVM kernel module in Linux. When using KVM, QEMU can virtualize
x86, server and embedded PowerPC, and S390 guests.
準確來說,KVM是Linux kernel的一個模組。可以用命令modprobe去載入KVM模組。載入了模組後,才能進一步通過其他工具建立虛擬機器。但僅有KVM模組是 遠遠不夠的,因為使用者無法直接控制核心模組去作事情,你還必須有一個運行在使用者空間的工具才行。這個使用者空間的工具,kvm開發人員選擇了已經成型的開源虛擬化軟體 QEMU。說起來QEMU也是一個虛擬化軟體。它的特點是可虛擬不同的CPU。比如說在x86的CPU上可虛擬一個Power的CPU,並可利用它編譯出可運行在Power上的程式。KVM使用了QEMU的一部分,並稍加改造,就成了可控制KVM的使用者空間工具了。所以你會看到,官方提供的KVM下載有兩大部分(qemu和kvm)三個檔案(KVM模組、QEMU工具以及二者的合集)。也就是說,你可以只升級KVM模組,也可以只升級QEMU工具。這就是KVM和QEMU
的關係。
Linux Kernel-based Virtual Machine (KVM) 是一款 Linux 開放源碼虛擬化軟體,基於硬體虛擬化擴充(Intel VT-X 和 AMD-V)和 QEMU 的修改版。KVM
的實現模組又兩個,分別是: kvm.ko是提供核心虛擬化的基礎架構;特定於處理器的模組 kvm-intel.ko 和 kvm-amd.ko 。其設計目標是在需要引導多個未改動的 PC 作業系統時支援完整的硬體類比。
附:Debian KVM搭建執行個體