返回顶部

Linux入门学习教程:虚拟机体验之KVM篇

[复制链接]
骑单车的小女孩Lv.2 显示全部楼层 发表于 2016-12-30 17:32:57 |阅读模式 打印 上一主题 下一主题

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
QEMU的运行模式如下图:

                               
登录/注册后可看大图
  很显然,这种完全以软件模拟硬件的形式虽然功能强大,但是性能难以满足用户的需要。模拟出的硬件的性能和物理硬件的性能相比,必然会大打折扣。为了提高虚拟机软件的性能,开发者们各显神通。其中,最常用的办法就是在主操作系统中通过内核模块开一个洞,通过这个洞将虚拟机中的操作直接映射到物理硬件上,从而提高虚拟机中运行的操作系统的性能。如下图:

                               
登录/注册后可看大图
  其中KVM就是这种加速模式的典型代表。在社区中,大家常把KVM和Xen相提并论,但是它们其实完全不一样。从上图可以看出,使用内核模块加速这种模式,主操作系统仍然占主导地位,内核模块只是在主操作系统中开一个洞,用来连接虚拟机和物理硬件,给虚拟机加速,但是虚拟机中的客户操作系统仍然受到很大的限制。这种模式比较适合桌面用户使用,主操作系统仍然是他们的主战场,不管是办公还是打游戏,都通过主操作系统完成,客户操作系统只是按需使用。至于Xen,则完全使用不同的理念,比较适合企业级用户使用,桌面用户就不要轻易去碰了,具体内容下一篇我再讲。
  其实VirtualBox也是采取的这种内核模块加速的模式。我之所以这么说,是因为在安装VirtualBox时,它会要求安装DKMS。如下图:

                               
登录/注册后可看大图
  熟悉Linux的人知道,DKMS就是为了方便用户管理内核模块而存在的,不熟悉DKMS的人Google一下也可以了解个大概。关于VirtualBox的具体使用方面的内容,我下一篇再讲。这一篇主要讲KVM。
  KVM和QEMU是相辅相成的,QEMU可以使用KVM内核模块加速,而KVM需要使用QEMU运行虚拟机。从上图可以看到,如果要使用Ubuntu的包管理软件安装KVM,其实安装的就是qemu-kvm。而qemu-kvm并不是一个什么很复杂的软件包,它只包含很少量几个文件,如下图:

                               
登录/注册后可看大图
  用man命令查看一下它的文档,发现qemu-kvm包不仅包含的文件很少,而且它的可执行文件kvm也只是对qemu-system-x86_64命令的一个简单包装,如下图:

                               
登录/注册后可看大图
  那么问题来了,kvm内核模块究竟是由哪个包提供的呢?其实,自从Linux 2.6开始,kvm就已经被加入内核了。如果非要找出kvm内核模块kvm.ko是由哪个包提供的,可以用如下命令考察一下:

                               
登录/注册后可看大图
  写到这里,已经可以看出KVM的使用是很简单的了。下面,我使用KVM运行一下上一篇中安装的WinXP操作系统,体验一下QEMU经过KVM加速后的运行效率。使用如下命令运行使用KVM加速的QEMU:

                               
登录/注册后可看大图
  可以看出,使用KVM加速后,虚拟机中的WinXP运行速度提升了不少,开机只用了34秒。我将分辨率调整为1366*768,图形界面运行也很流畅,不管是打开IE浏览器还是Office办公软件都没有问题,再也没有出现CPU使用率飙升到100%的情况。如果用 ps -ef | grep qemu 命令查看一下,发现kvm命令运行的还是qemu-system-x86_64程序,只不过加上了-enable-kvm参数,如下图:

                               
登录/注册后可看大图
  另外,对于桌面用户来说,有一个好用的图形化界面也是很重要的。虽然QEMU和KVM自身不带图形界面的虚拟机管理器,但是我们可以使用第3方软件,比如virt-manager。只需要使用 sudo apt-get install virt-manager 即可安装该软件。该软件依赖于libvirt,在安装过程中也会自动安装。运行virt-manager的效果如下图,注意必须使用sudo运行,因为该软件需要超级用户权限:

                               
登录/注册后可看大图
  该软件可自动识别系统中的虚拟机环境是QEMU+KVM还是Xen。新建一个虚拟机,由于之前安装过一个WinXP系统,所以选择导入现有硬盘镜像。点下一步后,出现如下界面:

                               
登录/注册后可看大图
  这一步没什么好说的,再点下一步,如下图:

                               
登录/注册后可看大图
  这里可以设置网络选项。如果勾选“在安装前自定义配置”的话,还可以对硬件进行进一步的自定义,如下图:

                               
登录/注册后可看大图
  在上图中,我们可以看到虚拟机支持的所有虚拟显卡的类型,在这里,我当然选择的是VMVGA,因为我以前经常用VMWare,知道这些操作系统在VMWare的虚拟显卡设置下运行得都没有问题。当然,其它的选项都可以试一下,不过在虚拟的操作系统中需要安装相应的驱动程序。
  最后,虚拟机运行的效果图如下:

                               
登录/注册后可看大图

  可以看到,该程序提供的界面有非常丰富的功能菜单,功能是非常强大的,甚至可以向虚拟机中的操作系统发送组合按键。
  可以这么说,如果没有VirtualBox的话,QEMU+KVM的组合应该是桌面用户的首选



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

云萌主 云萌主-BIGSAAS旗下,由北京合智互联信息技术有限公司在2018年创立,为广大云应用技术爱好者的平台。在云萌主论坛可以查看云应用技术文章、云产品产品最新资讯、技术问答、技术视频。在畅游云上技术的同时,学到最新的云应用产品和技术。
  • 微信公众号

  • Powered by Discuz! X3.4 | Licensed | Copyright © 2001-2022, Aliyun Cloud. | 星点互联设计
  • 京ICP备18052714号 | 营业执照 | |合智互联| QQ