kvm是Kernel-based Virtual Machine的简称,是一个开源的、基于硬件的完全虚拟化技术,需要硬件支持。
官方网站:http://www.linux-kvm.org/
qemu是一个通用的、开源的模拟器。一般所说的kvm,即指这两者的组合。
去年在Gentoo中安装过一次,感觉用kvm来虚拟桌面环境,效率不高,当然,用来虚拟不带桌面的服务器系统是相当强悍的。
这次是gentoo中文社区一好友极力鼓动我安装的,说现在kvm虚拟windows桌面环境相当不错,性能很好,另外,还有redhat支持的virt-manager图形界面管理工具,功能也足够强大了。
不过他是在fedora22中安装的,安装非常简单。于是,我也就在fedora中安装了一下,感觉确实不错。于是尝试在Gentoo中安装,现在学习东西感觉有些费劲,中间遇到若干问题,有些解决起来费了一番功夫。
安装参考:https://wiki.gentoo.org/wiki/QEMU
1、配置内核,按照上面wiki中要求去配置就行,这里就不再一一说明。但需要注意的是,开启nat转发还要配置相应参数,上述教程中没有说明。具体情况可加本人qq交流,因为光内核配置就折腾了一晚上,实在记不清楚了。
2、需要配置的use(我是kde5桌面~amd64版,全局use有-iptables -ipv6,以下包及use仅供参考):
net-misc/spice-gtk gtk3 python usbredir net-libs/gtk-vnc python app-emulation/libvirt-glib python app-emulation/libvirt virt-network net-firewall/iptables ipv6 net-dns/dnsmasq script app-emulation/qemu spice usbredir bluetooth x11-drivers/xf86-video-qxl xspice
3、安装软件
emerge -av virt-manager xf86-video-qxl
配置开机启动(systemd):
systemctl enable libvirtd
添加用户到qemu及kvm组:
gpasswd -a linuxuser qemu;gpasswd -a linuxuser kvm
4、创建虚拟机及主机上配置
建议使用集成了virtio驱动的iso文件来安装,不过,其他iso也可以,但安装过程缓慢。
新建虚拟机要想要更好的性能:
虚拟硬盘和网卡选择virtio模式;
显卡选择spice协议;
声卡选择ac97,默认的型号找不到驱动;
添加硬件->Input->EvTouch USB图形表格,来实现鼠标在主机和虚拟机之间切换(不然虚拟机捕获鼠标后,需要按Ctrl+Alt+L来返回主机)。
5、虚拟机安装硬件驱动:
在这里下载驱动:https://fedoraproject.org/wiki/Windows_Virtio_Drivers#Direct_download
比如windows虚拟机,选择里面的Stable virtio-win iso,下载之后,挂载到虚拟机光驱上,就可以安装了。怎么装?别告诉我你不会安装!
另外,想要支持共享剪贴板,需要在虚拟机中安装软件:
下载地址:http://www.spice-space.org/download.html
如:Windows guest tools,虚拟机下载http://www.spice-space.org/download/windows/spice-guest-tools/spice-guest-tools-0.100.exe,安装即可。
6、其他
kvm的网络配置稍显复杂,默认用nat转发即可上网。至于桥接,比较复杂,有时间再去研究吧。
virt-manager启动必须是root权限,因此每次运行都需要输入密码。
kvm可以直接使用virtualbox创建的虚拟机,而且再用virtualbox打开没任何问题。
用了几天了,感觉kvm和virtualbox相比,各有优劣。kvm的优势是硬盘采用virtio模式,性能要好,不仅仅在服务器系统方面,而且现在的桌面性能也不错了。从日常使用来说,kvm最大的问题一个是分辨率是固定的,不能随虚拟机窗口大小调整,二是与主机共享文件不方便,多数是建议主机安装samba来共享。
kvm已经可以随虚拟机窗口大小调整了,文件共享也可以用BTsync完美解决。