wKiom1Ws1TySQCslAADCnlAUTM4503.jpg



注:这篇博文是2012年写的,所以有可能技术上有些落后。


GNOME Boxes是一个为了桌面环境而设计的非常强大的管理工具,能够与其他系统上执行的应用程序相交互,这些系统可以是虚拟的,本地的或远程的,可以是Windows,Mac OS或Linux等操作系统。这款今年出现的新兴开源软件,可以连接、访问和使用远程机器、远程虚拟机、本地虚拟机,而且还支持访问可移动设备中的虚拟机。

 

GNOME Boxes在Ubuntu 12.04版本发布前几周才刚刚发布第一个版本。2012年9月19号,版本3.5.92发布,目前3.6已经可以下载。因为我的旧电脑装的是Ubuntu10.04,我特意在新电脑里装了Ubuntu12.10(自带了GNOME Boxes),以对GNOME Boxes进行一些初步探索。

 

本人水品有限,难免有遗漏或错误之处,欢迎指正与提出宝贵意见!

 

 

这篇博文中主要从以下几点进行叙述:

 

1、GNOME Boxes 能做什么?

2、安装和先决条件

3、GNOME Boxes 初探

4、GNOME Boxes 3.6版

5、目前行业虚拟化现状与趋势

 

一、 GNOME Boxes能做什么?

 

GNOME Boxes(以下或简称Boxes,https://live.gnome.org/Boxes),虽然被称为特定桌面环境下的系统“大管家”,其实并非是为系统管理员而量身定制,也不是为企业打造。它的目标事实上是给那些希望登录远程工作站或在本地安装,管理一个或多个虚拟机的用户提供一个简单的解决方案。

 

在未来GNOME Boxes应该很有希望能取代Red Hat(红帽)公司设计的Virtual Machine Manager。与后者不同的是,Boxes专注于其监测的操作系统的使用,而不是宿主机的管理。此外,Boxes对于远程桌面的监测功能将使他能成为目前集成与GNOME里的Vinagre的替代者。

 

GNOME Boxes是用Vala语言编写,基于GNU LGPL 版本2 的证书下发布。对于本地虚拟机的生成,Boxes基于KVMSPICE (Simple Protocol for Independent Computing Environment),而远程机器的访问则通过 libvirt,SPICE和VNC实现。有意思的是,libvirt的使用使得GNOME Boxes甚至能够管理用VMWare或VirtualBox构建出来的系统。

 

二、 安装和先决条件

 

 目前,GNOME Boxes已经集成到大部分最新的操作系统发行版里了,安装也十分简单。版本3.5.92已经集成到Ubuntu Quantal (12.10),Fedora 13和Mageia Cauldron (Mageia的开发版本),换句话说就是所有安装了GNOME最新版的操作系统。在Debian Wheezy/Sid和OpenSUSE中也可以发现Boxes的身影,但是版本就不那么新了(3.4.3版)。

 

当然我们也可以下载源代码,编译安装:

 

$ git clone git://git.gnome.org/gnome-boxes

 

编译运行需要一些先决条件:

 

- 编译时需要:

 

  • libvirt-glib

  • qemu

  • libosinfo

  • gudev

  • vala (not if building from release tarballs)

  • gtk+

  • clutter-gtk

 - 运行时需要:

  • shared-mime-info

 

 

为了能够运行,GNOME Boxes还需要你的处理器支持硬件虚拟化。为了验证,输入以下命令,在flags里面会列出很多不同的词,在其中如果能找到 vmx(如果是Intel的处理器)或 svm(如果是AMD的处理器),则没问题。此外,很有可能在BIOS的默认配置里虚拟技术的选项被禁用了,最好能重新启动计算机核实一下,如果禁用了,就启用它。

$ cat /proc/cpuinfo | grep flags  flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx rdtscp lm constant_tsc arch_perfmon pebs bts xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 x2apic popcnt xsave avx lahf_lm ida arat tpr_shadow vnmi flexpriority ept vpid

 

在启动Boxes之前,最后还需做如下检验:

 

$ gnome-boxes --checks  The CPU is capable of virtualization: yes  The KVM module is loaded: yes

 

如果两行都是 yes,则没有问题。

如果KVM模块没有被加载,可以通过手动加载来补救:

 

$ sudo modprobe kvm  $ sudo modprobe kvm-intel

 

如果是AMD的处理器,则上面第二行的 kvm-intel 相应改为 kvm-amd。

最后的最后,我们还可以验证一下:

 

$ lsmod | grep kvm  kvm_intel         132543  0  kvm               412517  1  kvm_intel

 

 

如果上面后两行正常输出,就没问题了。

Boxes终于可以用了。

 

三、 GNOME Boxes 初探

 

GNOME Boxes的图标相当漂亮,可以双击鼠标启动。初次启动时,出现的界面上基本看不到什么东西,只有一个 新建 (New)的按钮。我们点击此按钮,创建我们的第一个“box”,也就是第一个虚拟系统。

选项中,我们需要指定所要安装的系统的URL或ISO文件,如下图所示:

 

然后我们点击 Continue (下一步)。GNOME Boxes会自动探测并列出宿主系统中存在的或上次使用过的ISO文件,只要点击列表中任意一个,系统就起来了。对于一些系统,比如WIndows XP,Vista,Win7和Fedora,有一个快速安装模式可供选择,在选择了ISO文件后,一旦激活此模式,Boxes会提示你输入用户名和密码,以便记忆,方便下次使用。

GNOME Boxes的窗口可以放大缩小,随意拖放,分辨率不会受影响。

对于你想远程监测的系统,则需要提供机器的URL。Boxes支持VNC,SPICE和RDP协议。为了使连接更稳定,不要忘记启动远程系统上的适当的服务器(比如x11vnc, spice-server, xrdp等等),并且配置防火墙以便能够建立连接。

 

 

 

在Boxes的工具栏附近,我们会发现一个图标,点击可以全屏显示Boxes。并且还有一个系统资源管理器,在其中可以看到监测的系统的特性,以及此系统上分配的磁盘空间和内存大小。在 显示 选项,可以启用或禁用剪贴板和提示窗口的大小调整功能。在 外设 选项,可以启用USB的重定向。

Boxes创建的所有虚拟机都以缩略图形式显示在主窗口里。在右上角的图标上单击可以选择一个或多个虚拟机,以便删除或加入收藏。

 

 

 

此软件使用起来极为方便,快捷,稳定。安装的方便性也是优点之一。

 

四、 GNOME Boxes 3.6版

 

GNOME Boxes的开发团队在3.6版本中,修正了不少bug,引入了不少新功能。3.6版有了一个新按钮,可以实现个性化配置,比如说可以重命名虚拟机,在创建很多虚拟机的情况下将使工作更方便;增加了搜索功能,可以更快速定位到一个虚拟机。3.6版的显示和动画性也更流畅完美了。Boxes支持命令行的控制,3.6版在这方面也改善了不少:gnome-boxes --checks 能够返回更多信息了,并且3.6版中一个虚拟机可以用以下命令轻松启动:

$ gnome-boxes 虚拟机名字

 

五、 目前行业虚拟化现状和趋势

 

略述一二,因为知之甚少,欢迎拍砖:

由诸如GNOME Boxes这类虚拟化产品的雨后春笋现象,不禁感慨这时代发展实在太快,新技术和新产品更是长江后浪推前浪。近几年虚拟化和云计算大行其道,目前大数据存储能力和服务器能力提升也越来越显著。微软最近推出的划时代产品 Windows Server 2012就是一个很好的例子,支持虚拟化和云端的服务器操作系统,大有挑战VMWare的势头,看到有文章说微软敲响VMWare丧钟,个人觉得VMWare应该没这么快倒下,而且VMWare最近推出的Cloud Foundry云应用平台也是不错的产品。近几年,IBM,Google,Intel,Dell等国际大企业纷纷快速转型,比如Dell从原来的硬件厂商开始转向多方面发展,提供很多服务和解决方案,新购买的一系列服务器质量也不错。Google算是近几年创新能力很强的公司了,不断推出新服务和新应用,对云计算和虚拟化的贡献也很大。貌似苹果在这方面动作不是太大,不过以苹果的财力,要略微向虚拟化和云计算发展也应该挺方便。个人愚见认为,未来几年,异构计算(CPU+GPU),云端计算,虚拟化,大数据(最近有说大数据将淘汰,不清楚。。。)的应用将越来越普遍,毕竟现在是个知识爆炸的时代,每日的数据流量和共享,上传,下载量大到惊人,所以硬件厂商应该会努力研制性能更好,存储能力和计算能力更强的处理器和存储设备。现在也是嵌入式大行其道的时候,正好跟虚拟化和云计算配合,可谓天衣无缝,相辅相成。