Saturday, May 19th, 2007
Daily Archive
Daily Archive
在前一篇文章中提到,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。
在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 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。
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也无法使用该功能。