不使用kvm的qemu虚拟化
本文记录的是在某些机器上并不支持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
连接上虚拟机之后就能够开始下一步的安装了,就不再继续下去了。