Linux江湖21:虚拟机体验之VirtualBox篇——性能强大的经典架构

  前两篇体验了QEMU和经过KVM加速的QEMU,并体验了第三方虚拟机管理工具virt-manager,让我们见识了开源社区的强大和开源虚拟机软件的高质量和高性能。这一篇,我来剖析一下VirtualBox。VirtualBox号称是目前开源界最强大的虚拟机产品,在Linux平台上,基本上都被大家选择为首选的虚拟机软件。VirtualBox的强大不是盖的,毕竟其后台是超有钱的Oracle公司。VirtualBox的任性也不是盖的,它硬是没有使用我前文所述的那些qemu、kvm、libvirt等被各个虚拟机使用的开源组件,它的前端、后端以及内核加速模块都是自己开发的,唯有远程桌面所需要的VNC大约使用了libvncserver。

  我在标题中说到VirutalBox是使用的经典架构。所谓经典,主要体现在以下几个方面:

  1.虚拟机及虚拟机中的系统(Guest System)仍运行于主操作系统(Host System)之上,只是通过主操作系统的内核模块进行加速;

  2.Unix系统中Front-End模式的经典架构,在VirtualBox中,VirtualBox的图形界面只不过是命令行界面的虚拟机软件VBoxManage的图形包装而已,同时,它还提供VBoxSDL、VBoxHeadless等命令行工具。比如VBoxHeadless就可以运行一个不显示虚拟机桌面的虚拟机,如果要显示桌面,可以运行一个远程桌面连接它。前后端分离有一个好处,就是对于桌面用户,可以使用前端的图形界面简化操作,而对于企业级用户,可以使用命令行工具构建自动化脚本,甚至在系统启动时自动运行虚拟机。

  我并不是一开始就喜欢上VirtualBox的,一点小小的插曲差点就让我错过了这么好的虚拟机软件。本来我刚开始看到在各个Linux论坛都将VirtualBox放到首位,而不是在新闻中铺天盖地的KVM、Xen,我就觉得VirutalBox可能有点不够专业,再加上第一次使用VirtualBox时,发现它不能完美转发Ctrl+Alt+Fx(x=1~12),发现它的有些配置不能完全在图形界面中设置,需要手动更改配置文件,然后我就放弃了。直到我掌握的正确的折腾Linux的方法论,看完了它长达369页的用户手册,我才真正了解了它的强大,并深深爱上了它。

  首先,在Ubuntu中安装VirutalBox是非常容易的,只需要一个 sudo apt-get install virtualbox 即可。

  安装完VirtualBox后,可以考察一下它所遵守的我之前提到的“经典架构”,命令和运行结果如下图:

  lsmod 命令可以看到VirtualBox安装后,在主操作系统中安装了好几个内核模块,用来对虚拟机进行加速。至于使用内核模块对虚拟机加速的图片我这里就不再贴了,请大家参考我的上一篇。通过 dpkg -L 命令可以考察VirtualBox提供了哪些命令行工具。最后,通过 dpkg -S 命令可以看到,VirtualBox这个可执行程序其实是属于 virtualbox-qt 软件包的,它只是一个图形界面的封装。

  启动VirtualBox,新建虚拟机和安装操作系统的过程我就不多说了,图形界面很强大,一步一步执行准没错。安装完WinXP后,运行效果如下图:

  从该图中可以看出,WinXP系统认出的CPU是准确的Intel Core i7-4770K,虽然我只给它分配了两个核心。但是显卡不能准确识别。之所以是这样,是因为WinXP系统中没有相应的驱动,所以,需要安装VirtualBox的客户系统增强工具。在菜单栏选择安装增强功能,如下图:

  然后VirtualBox就会给WinXP安装一个虚拟光盘,双击该光盘,就可以在WinXP系统中安装客户系统增强工具,如下图:

  客户系统增强工具是安装在Guest System中的,可以认为客户系统增强工具主要是包含了客户操作系统中所需要驱动,因为没有这些驱动,客户操作系统可能无法认识那些虚拟出来的硬件,比如虚拟显卡什么的。当然,客户系统增强工具的功能远远不止这些,比如显卡3D加速啊、主操作系统和客户操作系统共享文件夹啊什么的,还有一个最牛B的,那就是让客户操作系统进入无缝模式。比如安装完用户增强工具后,可以识别出显卡类型,并且有不同的分辨率选项,如下图:

  按Host+L键,可以键入无缝模式,如下图,可以看到在Ubuntu系统中,Ubuntu风格的窗口和WinXP风格的窗口共存:

  再玩大一点,使用IE浏览器访问博客园,如下图:

  由此可见,在Linux系统中使用Windows的软件进行办公不再是梦。再按Host+L键,虚拟机会回到窗口模式。

  VirtualBox功能非常强大,单凭我这一篇博文是不可能学会的。好在是我这一个系列一直都是秉承“授人以鱼不如授人以渔”的原则,一直都是指导折腾Linux系统的方法论,并贴图让没有亲自动手机会的人也对Linux系统有一个直观的感受,也一直指出从哪里可以找到相应的学习资料。用 dpkg -L 命令,就可以找出我前面提到的VirtualBox自带的长达369页的文档,使用Ubuntu自带的evince阅读器阅读之,如下图:

  至于我前面说的VirtualBox这不能那不能什么的,完全都是我自己不切实际的胡说,等你看完它的文档,你就会发现它什么都能做。就VirtualBox在我机器上的运行效果看,流畅度要超过前面的QEMU+KVM组合,图形性能也要更加强大。它的文档中还有更多更高级的玩法,仔细阅读吧,精通命令行和配置文件不是梦,而且VirtualBox并不仅仅适用于桌面用户,对于企业级的应用,它也是可以的。

(京山游侠于2015-03-04发布于博客园,转载请注明出处。)

时间: 2024-10-07 06:13:13

Linux江湖21:虚拟机体验之VirtualBox篇——性能强大的经典架构的相关文章

Linux江湖22:虚拟机体验之Xen篇——令人脑洞大开的奇异架构

这一篇我要体验的虚拟机系统是Xen.在虚拟机领域,Xen具有非常高的知名度,其名字经常在各类文章中出现.同时Xen也具有非常高的难度,别说玩转,就算仅仅只是理解它,都不是那么容易.之所以如此,那是因为Xen采用了和我前面介绍的那几个虚拟机完全不同的架构.在这里,我称之为令人脑洞大开的奇异架构. 比如说在经典的虚拟机架构中,虚拟机软件运行于Host System之中,而Guest System运行于虚拟机软件之中.为了提高Guest System的运行速度,虚拟机软件一般会在Host System

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

在上一篇中,我展示了虚拟机软件QEMU的使用.效果及其性能,同时也分析了不同用户对虚拟机的不同追求.但是不管是桌面用户还是企业级用户,对虚拟机 软件的追求有一点是共同的,那就是性能.QEMU是一个强大的虚拟机软件,它可以完全以软件的形式模拟出一台完整的电脑所需的所有硬件,甚至是模拟出不同 架构的硬件,在这些虚拟的硬件之上,可以安装完整的操作系统.QEMU的运行模式如下图: 很显然,这种完全以软件模拟硬件的形式虽然功能强大,但是性能难以满足用户的需要.模拟出的硬件的性能和物理硬件的性能相比,必然会

Linux江湖020:虚拟机体验之KVM篇

在上一篇中,我展示了虚拟机软件QEMU的使用.效果及其性能,同时也分析了不同用户对虚拟机的不同追求.但是不管是桌面用户还是企业级用户,对虚拟机软件的追求有一点是共同的,那就是性能.QEMU是一个强大的虚拟机软件,它可以完全以软件的形式模拟出一台完整的电脑所需的所有硬件,甚至是模拟出不同架构的硬件,在这些虚拟的硬件之上,可以安装完整的操作系统.QEMU的运行模式如下图: 很显然,这种完全以软件模拟硬件的形式虽然功能强大,但是性能难以满足用户的需要.模拟出的硬件的性能和物理硬件的性能相比,必然会大打

Linux江湖019:虚拟机体验之QEMU篇

说起虚拟机,大家都不陌生.需要使用虚拟机的场景也非常的多,比如有志于写操作系统的同志,往往需要一个虚拟机来运行和调试他写的系统:再比如喜欢研究网络体系结构的朋友,需要在自己的电脑上虚拟出N个系统组成各种各样的网络.(这个需要电脑的配置够强大才行,幸好本人的电脑够.)还比如用Windows的想玩Linux,用Linux想玩Windows,这样用虚拟机玩起来也比较方便:最后比如有人想研究一下目前最流行的大数据啊.云计算啊,想试一试Hadoop.Spark.OpenStack什么的,没有虚拟机怎么搭建

Linux江湖01:玩转Linux系统的方法论 (转载)

http://www.blogjava.net/youxia/archive/2015/01/08/linux001.html 2014年上半年,我是在写RCP系列.然后,由于要准备研究生毕业论文和答辩, 所以就中途停了下来.再后来,我又在博客园主站开始写Linux江湖系列.经过大半年的努力,Linux江湖系列已经有十几篇了.在这里,我将把其中的内 容整理后,转发到我的Java博客中.至于RCP系列,我还是会接着写的,不过要等我的心再次沉下来才行. Linus说“Just for fun”,而我

虚拟机软件之Virtualbox的安装篇

一.简单介绍 作为一款开源的虚拟机软件,virtualbox目前是属于oracle公司旗下的一款软件,支持安装windowos,dos,linux,mac等主流系统,它的特性待会在安装和配置中再详细介绍吧 二,安装virtualbox软件 首先需要在官网下载virtualbox软件,这个下载官网地址https://www.virtualbox.org/ 包下载后,就开始安装吧,下面就是详细的安装步骤,我这里下载的是4.3版本的,大家随意哈 那么virtualbox的安装就到这里结束了,现在就打开

Linux初体验之练习篇(七)

Linux初体验之练习篇(七) tr IO重定向 神奇的自动挂载 tr 主要用途 转换或删除字符 tr - translate or delete characters tr [OPTION]... SET1 [SET2] tr命令是一个强大的字符转换工具,可以对来自标准输入的字符进行各种转换,包括字符集对应转换.删除或都取字符补集.压缩和格式调整.格式调整包括换行.回车.加入制表符等. 常用参数 -c, -C: --complemen, 取字符集的补集 -d: --delete, 删除所有属于

Linux江湖07:硬盘分区的陷阱及应对

之所以想到写这篇,是因为本人在折腾Linux系统的过程中,有多次掉入硬盘分区的陷阱的经历.最近几天,再一次掉入坑中,折腾了两天才从坑中爬出来.经过多方查询资料,终于弄明白了硬盘分区的一些概念.下面将其记录下来,以警示来者. 说起我自己掉坑的经历,无不与WinXP和Linux的激烈碰撞有关.多年前,我就开始在一台电脑上同时安装WinXP和Linux,只要遵守先安装WinXP再安装Linux的顺序,就不会出问题,Linux的安装程序会自动识别多系统,安装完成后可顺利启动多系统.有一天,我觉得单用Li

Linux江湖:Just for 折腾

我在博客园开博已经有七年又十个月了.不幸的是,我的博客里一篇东西都没有.我七年又十个月前选择博客园的时候,博客园还不是像现在这样的大杂烩.那时,博客园的内容主要是.net方向的,同时,博客园还有两个分站,一个是www.cppblog.com,一个是www.blogjava.net,分别让用户发布C++和Java方面的文章和随笔.现在,www.cnblogs.com这个主站俨然有一统江湖之势,我在另外两个分站上的博客访客寥寥.So,我又把这个闲置了快八年的博客启用了. 我是非常喜欢博客园的,这么多