Saturday, May 19th, 2007

Utilizing VMware Workstation 6 - Background Running & Remote Display

前一篇文章中提到,VMware Workstation 6当中引入了众多server-like的新特性,这其中一个引人注目的特性就是可以不必打开Workstation的管理界面,而是在后台运行VM。这一功能使得Workstation可以在后台同时运行多个VM,在操作形式上更像VMware的Server系列产品了。

要使用这一功能很简单——只需要直接关闭Workstation的界面即可。关闭时它会提示你:是需要Suspend (挂起),Power Off还是Run in Background。选择Run in Background,Workstation就会关闭,但是VM继续运行。只需通过任务栏托盘里的图标,就可以在此打开该VM。

但是一个问题就是,不用打开Workstation就能在后台执行的确可以节省资源,可是要使用VM毕竟还要打开Workstation,难道就没有别的办法吗?

办法当然有,其一就是使用RDP或VNC等远程桌面协议。但是,无论是仅限于某些Windows平台的RDP也好,号称跨平台的VNC也好,甚至企业级的Citrix Presentation Server也罢,无需置疑都是在OS启动之后才能连接的。既然是虚拟PC,能否就算是OS启动前也能远程连接呢?此外像DOS这种根本不支持远程桌面的Guest OS又要如何远程使用呢?

显然,要远程使用Guest OS,不能依赖于该OS上特定的技术。VMware Workstation就提供了这样的一种凌驾于Guest OS之上的、与Guest OS完全无关的远程服务——Remote Display。

VNC Setting 在Workstation 6当中,只要对某个Guest OS启动了Remote Display,就可以通过VNC协议连接并使用这一Guest OS。这里的VNC不同于直接在Guest OS上安装VNC,而是在虚拟化层中直接将输入输出按照VNC协议与远程的VNC Client进行通信,效率非常高。要使用这一功能,只需要在Guest OS的Setting中,将Remote Display设置为Enable,并选择一个端口号即可。

一切设置好之后,下载个免费的VNC Viewer连接试试看吧!需要注意的是,在使用VNC Viewer (Client)进行连接时,并不是连接Guest OS,而是连接Host也即Workstation所在的主机,因此不要填错主机地址。在虚拟机Power On到Power Off之间的任何时候都可以连接。

此外,不知为什么,在使用ReadVNC连接时,必须用Full Color进行连接,否则就会被VNC服务器(Workstation)断开。看着POST自检画面和Windows的启动LOGO出现在VNC上,是不是别有一番感受呢。

VMware Features Comparison: Workstation vs Server

很多人都弄不清楚VMware Workstation和VMware Server之间到底有什么功能差别。从名字上看,Server似乎应该比Workstation功能更强,可是Server居然是免费的,Workstation反倒要花钱。两者之间到底有什么区别呢?

其实,首先从用途上分,正如VMware网站上所说的,Workstation是用来搭建测试、临时环境的,也就是说Workstation上面的Guest OS通常是为了测试、评估某个软件,或者是为了临时运行某个与当前系统不兼容的应用程序,通常不作为正式的系统、特别是服务器系统使用。而VMware Server则可以看成是VMware公司的旗舰产品——GSX的一个免费入门版,其上面通常会同时运行多个Guest OS,并且是作为稳定的服务器系统运行的,换句话说,一台服务器上安装了VMware Server之后,就可以作为几台虚拟服务器使用。从某种角度讲,如果在VMware Server上只运行一台VM,也就没有什么意义了。

那么,从技术角度上看两者有什么不同呢?VIRTUALIZATION.INFO在5月10日的一篇文章中,比较了两者的最新版本:VMware Workstation 6.0.0  (5月9日发布)和 VMware Server 1.0.3 (4月26日发布)。由于两者面向的市场不同,这个比较可能没有什么实际意义,但是由于在新版本的Workstation中包含了很多server-like的特性,在一些模棱两可的环境中还是值得参考的。

  VMware Workstation 6.0.0 VMware Server 1.0.3
作为Service启动 No Yes
在系统启动时启动VM No Yes
Headless Interface Yes No
本地管理 UI+Command Line UI+Command Line
远程管理 No Yes
Virtual SMP (CPUs / VM) 2 2 (experimental)
支持Intel VT Yes Yes (experimental)
每个VM的最大内存容量 8GB 3.6GB
所有VM的内存总和 无限制 最多64GB
每个VM的IDE控制器/磁盘数 1/4 1/4
每个VM的SCSI控制器/磁盘数 1/7 4/60
每个VM的最大硬盘容量 (IDE/SCSI) 950GB 950GB
每个VM的网络适配器数量 10个 4个
虚拟交换机数量 10个 9个
可否建立多个Snapshot Yes No
VM克隆 Yes Yes (需要VirtualCenter)
VM Recoding/Replaying Yes (experimental) No
VM Movie Capture Yes No
Host和Guest之间的Drag & Drop Yes No
支持64-bit OS Yes Yes
支持Para-virtualization Yes (仅支持VMI3.0) No
价格 $189 (网上下载)
$209 (包装零售)
免费

此外,VMware Server还不支持WinXP Home/Pro、Win2000 Pro等不是服务器版本的OS作为Host OS。

Utilizing VMware Workstation 6 - Capture Movie and Record Activity

Capture和Record两个英文单词在中文中都有“记录”的涵义,但是在VMware Workstation 6中,这两项看上去相似实际上截然不同的功能常常会让没用过的人混淆。

Capture Movie是一项录制Guest OS为AVI视频的功能。这项功能非常适合用来做视频演示,例如演示一段关于某个新软件的使用方法等等。这一功能极其“傻瓜化”,只需要在启动Guest OS后,在VMware Workstation的菜单中选择VM > Capture Movie…,就会弹出一个对话框提示AVI保存的场所,以及画质(目前有高中低三种选项,并可选择忽略没有变化的帧)。之后,在窗口右下方的状态栏就会出现一个红色的圆表示正在录制中。录制过程中基本不会感觉到速度变慢等影响。

而Record/Replay则是Workstation 6中新增加的一个测试中的功能。该功能有些类似Snapshot——它不仅能记录下过去的某一点,而且会记录那一点之后到现在为止的期间中的所有系统的动作。这里的工作不仅包括鼠标键盘等输入动作,更包括内存、I/O等系统状态。该功能最大的用处就是,对于那些特别难以再现的系统现象(如BUG)一旦加以录制,就可以反复回放,极大地方便了程序特别是系统应用程序的DEBUG。

一点小小的遗憾的就是,由于目前Record/Replay功能不支持对虚拟外部设备的记录(想想也是,如果这些外部设备被移走了,读写外部设备的动作是无法再现的),在使用它之前必须移除VM设置中的USB Controller / 软驱 / 光驱 / 声音适配器 / SCSI设备 / LSI Logic Adapter,否则无法使用。另外,在录制过程中也要避免进行网络操作,否则将难以正确回放。

此外,设置了虚拟SMP的系统和64-bit OS也无法使用该功能。

Enable Record and Replay