本文記錄的是在某些機器上並不支持kvm虛擬化,單純使用qemu來完成虛擬機的創建和管理。
系統版本:centos 7
qemu版本:4.2
首先說明一下qemu和kvm的關系:
- qemu 是一個模擬器或者說是仿真器,使用qemu能夠模擬出虛擬機需要的硬件,比如可以模擬出 cpu ,內存,硬盤,網卡,聲卡等設備。所以使用qemu就能夠完整的創建出虛擬機,比如使用qemu創建 ubuntu的虛擬機,Centos的虛擬機,甚至是windows的虛擬機。
- 由於qemu是完全軟件模擬的,所以在性能上有很大的問題,qemu使用KQEMU這個加速模塊來彌補這個缺陷。kqemu一種加速模塊,能夠讓qemu的性能得到一定的提升。在qemu的0.9.1之前主要使用這種方式來完成qemu的提速。(qemu版本目前最高是5.0)
- 在qemu的1.0版本之后就不在使用kqemu,而是使用更為知名的kvm加速,即qemu-kvm加速模塊,並且加速效果以及穩定性明顯好於kqemu。
- KVM 是硬件輔助的虛擬化技術,主要負責比較繁瑣的 CPU 和內存虛擬化,而 Qemu 則負責 I/O 虛擬化,兩者合作各自發揮自身的優勢,相得益彰。
所以說,qemu和kvm的關系像是醫生和護士的關系,醫生看病,輸液都能搞定,而護士主要負責輸液。醫生沒有護士也能治病,而配備護士幫忙處理一些繁瑣的事情能夠提高效率。
環境准備
下載qemu安裝包
版本選擇至少要在2.0以上,不然會有一個報錯無法解決。我也是遇到這個問題擾了很大彎路。
wget https://download.qemu.org/qemu-4.2.0.tar.bz2
tar jvxf qemu-4.2.0.tar.bz2
安裝必要的包
編譯qemu之前要安裝必要的庫文件,否者會在編譯時報錯
yum install glib2-devel.x86_64 yum install autoconf automake libtool yum install pixman-devel.x86_64
編譯qemu,生成makefile文件
./configure --enable-debug --enable-vnc --enable-werror
--enable-vnc : 啟用vnc
--enable-werror : 編譯時將所有的警告當做錯誤處理
在configure時能夠看到開啟的特性
如果在這個過程中遇到一些不知道的庫文件報錯,正確的解決方式是搜索報錯的庫文件名字,找到可能需要安裝的包
make
make install
安裝完成
查看命令參數
內存
cpu
安裝虛擬機
創建磁盤
qemu-img create -f qcow2 Centos.qcow2 10G
開始安裝
qemu-system-x86_64 --enable-kvm -m 2048 -hda Centos.qcow2 -cdrom CentOS-7-x86_64-Minimal-1908.iso
-hda 指定系統的硬盤
-cdrom 指定系統的光盤,即安裝盤
qemu啟動之后默認使用的vnc連接方式,從輸入信息可以看出是監聽在5902端口,下面就要使用vmc客戶端去連接虛擬機。
下載vncviewer
啟動vnc
連接上虛擬機之后就能夠開始下一步的安裝了,就不再繼續下去了。