VDI & Virtualization

Install ESX Server 3.5/3i onto ESX Server

已经有许多文章介绍如何在VMware Workstation上安装ESX Server,而在一台ESX Server上安装ESX Server其实也是大同小异。这里就把安装时的关键步骤记录一下。

# 下面的文章中,将直接安装在硬件的ESX Server称为【Host ESX Server】,将安装在Host ESX Server上的ESX Server称为【Guest ESX Server】

1. 做好Guest ESX Server的设置

就如同安装其他Guest OS一样,通过VI Client或者VirtualCenter连接到Host ESX Server,并创建一台VM。 创建时,OS类型选择“其他”,vCPU为2个,内存为1GB或更多即可。

2. 将网卡类型改为e1000

在创建好VM之后,不要急着安装。
在安装Guest ESX Server时,由于ESX Server无法识别默认的AMD网卡,需要手动编辑.vmx文件,将网卡类型改为ESX Server能够识别的“e1000” 。

登录到Host ESX Server的Service Console,在/vmfs/volumes/下找到创建好的VM的.vmx文件,用vi编辑器在其中加入如下行:

ethernet0.virtualDev = “e1000″

这里,ethernet0是第一个虚拟网卡,如果创建VM时设置了多块网卡,需要分别设置。设置好之后,可通过启动VM时的Boot Menu来确认。

Ethernet
默认的网卡类型:AMD Am79C970A

e1000
更改后的网卡类型:Intel E1000

3. Host ESX Server硬件的CPU必须支持VT (Virtualization Technology) (如果是AMD CPU,则是AMD-V)

Intel的VT或AMD的AMD-V是在CPU级别提供对虚拟化支持的技术。在ESX Server上安装32位的操作系统,如Windows XP时,打开或关闭VT功能对性能不会造成多大影响,但是在ESX Server上再安装ESX Server时,不使用VT却能让ESX Server虚拟机的启动时间变慢到10倍以上。

(我在不开启VT的情况下,在一台双Xeon CPU,12GB内存的ESX Server 3上安装ESX Server 3i,经过4小时的100%CPU占用率之后我放弃了)

4. 打开VMware的后门

要让ESX 3.5/3i顺利地运行在Host ESX Server上,还需要打开VMware的“后门”,否则很有可能会见到VMware中的“紫屏”(可以和Windows中的“蓝屏”媲美)。

要打开这个后门,允许在虚拟机上安装ESX Server,需要在.vmx文件中增加如下两行:

monitor_control.vt32 = “true”
monitor_control.restrict_backdoor = “true”

这个后门不仅避免了“紫屏”等死机、不稳定等问题,更是将启动速度再提高10倍。我在打开VT的情况下启动Guest ESX Server花费了30分钟,在即打开VT,又打开这些后门选项之后,只花费了2分钟。

5. 在Host ESX Server上允许Promiscuous Mode

做好上面的一切之后,你应该就可以顺利安装Guest ESX Server了。可是安装完成启动之后,却发现无法通过VirtualCenter来管理它——甚至连ping Guest ESX Server的Service Console都ping不通!这是为什么呢?

原因在于Host ESX Server上,连接着Guest ESX Server的vSwitch的设置。vSwitch默认是不允许promiscuous mode(允许网卡监听发往其他MAC地址的包的模式)的。但是在Guest ESX Server中,网卡只是一个桥接(bridge)作用,并不直接绑定MAC地址。因此,必须在Host ESX Server中允许promiscuous mode,Host ESX Server才能正确地将包传递给Guest ESX Server的Service Console(3i则是管理用IP)。

Promiscuous Mode

到这里,就可以体验ESX 3.5/3i的神奇世界了。

ESX Server 3i ESX Server 3i Configuration ESX Server 3.5

How to Determine the Availability of Intel VT from ESX Server

Intel VT (Virtualization Technology) is a set of processor enhancements, which enables virtualization platforms to offload workloads to system hardware, thus run virtual machines at “near native” performance.

Especially when you want to install virtualization software onto another virtualization platform, Intel VT can greatly improve the performance. For example, you may want to install VMware ESX Server 3i onto VMware ESX Server 3 or VMware Workstation 6.

On an ESX Server, to determine whether Intel VT is enabled, you can use the esxcfg-info command. Although you can reboot the machine and go to BIOS setting to confirm it, this command should be the most convenient way.

Logon to the Service Console, and type:

esxcfg-info -w | grep VT

you will get the following output if VT is enabled:

|—-VT Support…………………………………………3

(Values other than 3, such as 0, 2 should mean “no VT available” and “VT disabled” respectively, although I am not very sure)

NOTE: The above flag is only for ESX Server 3.0.x. In ESX Server 3.5.x, it is called “HV Support”, not “VT Support”. Therefore you have to change the command as following in ESX 3.5:

esxcfg-info -w | grep HV

Settings for CETSC - RDP Client on Windows CE

Windows CE被很多Thin Client采用,作为嵌入式的操作系统。在WinCE based Thin Client上,通常使用RDP协议与远程桌面进行连接,对Windows CE Terminal Services Client (cetsc.exe)的配置也就非常重要。

启动CETSC后,CETSC读取.rdp文件中的设置,或是根据注册表HKEY_LOCAL_MACHINE\Software\Microsoft\Terminal Server Client下的设置连接远程主机。下面就是一个可以设置的选项列表(对.rdp文件和注册表均适用)。注意此处以在Thin Client上广泛使用的Windows CE 5.0为例;Windows CE 6的设置有所不同。此外这些设置不适用于Windows Mobile。

Value Type Description
AlternateShell String 如果指定了该值,则RDP连接后登录到指定的shell程序,或执行指定的应用程序,而不是登录到通常的shell (explorer.exe)。
AudioRedirectionMode DWORD 指定声音在哪里播放,默认值为0:
0 - 在远程主机播放
1 - 在本地 (Thin Client)播放
2 - 不播放声音
AutoReconnectEnabled DWORD 当连接异常中断时,是否允许自动重新连接,默认值为1:
0 - 不允许
1 - 允许
BBarEnabled DWORD 是否显示屏幕顶部的连接栏 (Connection Bar),默认值为1
0 - 不显示
1 - 显示
BBarShowMinimizeBtn DWORD 是否显示连接栏上的最小化按钮,默认值为1
0 - 不显示
1 - 显示
BBarShowPinBtn DWORD 是否显示连接栏上的固定按钮 (Pin Button),默认值为0
0 - 不显示
1 - 显示
BBarShowRestoreBtn DWORD 是否显示连接栏上的还原窗口大小按钮 (Restore Button),默认值为1
0 - 不显示
1 - 显示
BBarPinned DWORD 是否自动隐藏连接栏,默认值为1
0 - 自动隐藏连接栏
1 - 一直显示连接栏
BitmapCacheSize DWORD 以KB为单位指定内存里的位图缓冲区大小,默认值为1500,最大值为32000
BitmapPersistCacheLocation String 指定位图缓冲区的位于何处,默认值为\Temp
BitmapPersistenceEnabled DWORD 指定是否允许位图缓冲。默认值为0
0 - 不允许
1 - 允许
ColorDepthID DWORD 颜色深度,以bpp (bits per pixel)为单位。默认值为4
0 - 4 bpp
1 - 8 bpp
2 - 15 bpp
3 - 16 bpp
4 - 24 bpp
Compress DWORD 是否启用文件和目录压缩,默认值为1
0 - 不启用
1 - 启用
ConnectToServerConsole DWORD 指定是否连接到远程主机的Console session。对于Windows x68和Windows CE来说,可以用 mstsc /console 或 cetsc /console命令连接到Console session,不需要该选项。该选项只用于不使用Windows作为OS的Thin Client。默认值为0
0 - 不连接到Console session (连接到Terminal Services session)。
1 - 连接到Console session
由于Windows XP无Console session和Terminal Services session之分,该参数对XP无效。
DesktopHeight DWORD 以像素为单位指定屏幕高度,默认为1024
DesktopWidth DWORD 以像素为单位指定屏幕宽度,默认为1280
Disable Full Window Drag DWORD 指定拖动窗口时是否显示窗口内容。默认值为1
0 - 不显示
1 - 显示
Disable Menu Anims DWORD 是否允许菜单动画显示。默认值为1
0 - 不允许
1 - 允许
Disable Themes DWORD 是否允许显示主题。默认值为0
0 - 不允许
1 - 允许
Disable Wallpaper DWORD 是否允许壁纸。默认值为1
0 - 禁止壁纸
1 - 允许壁纸
DisableFileAccess DWORD 指定用户是否有权访问本地(Thin Client上面的)文件系统。默认值为1
0 - 允许用户访问本地文件系统
1 - 禁止用户访问本地文件系统
Domain String 要连接的远程主机所在的域
EnableDriveRedirection DWORD 是否允许重定向驱动器。默认值为1
0 - 不允许
1 - 允许
EnablePortRedirection DWORD 是否允许重定向串口 (COM口)。默认值为1
0 - 不允许
1 - 允许
EnablePrinterRedirection DWORD 是否允许重定向打印机。默认值为1
0 - 不允许
1 - 允许
EnableSCardRedirection DWORD 是否允许重定向智能卡 (Smart Card)。默认值为1
0 - 不允许
1 - 允许
KeyboardHookMode DWORD 设置Alt - TAB键的作用。默认值为2
0 - 显示本地 (Thin Client)的项目
1 - 显示远程 (Server)的项目
2 - 全屏时显示远程项目,窗口时显示本地项目
MaxReconnectAttempts DWORD 设置连接丢失时重新尝试的次数。默认值为20
MCSPort DWORD 设置RDP服务的端口。仅用于非Windows-based的Thin Client。
MRUx (x=0,1,2..) String MRU = Most Recently Used,最近访问过的主机列表
Password Binary 登陆远程主机用的密码
ServerName String 远程主机名或IP地址
StartFullScreen DWORD 是否以全屏模式开始远程连接,默认值为1
0 - 不以全屏模式
1 - 以全屏模式
UserName String 登陆远程主机用的用户名
WorkingDir String 工作目录

Introduction to NEC’s Thin Client

一直想找个机会贴一下NEC的Thin Client Device,今天就拿出来秀一秀吧。

TC-Station

TC-Station(上图左)是2005年4月25日正式发表的大概是NEC最初的专用瘦客户机产品(在这之前就已经推出过将普通PC硬盘去掉的瘦客户机产品)。

标售价格:5.5万日元
操作系统:基于UNIX的专用OS
本体重量:0.85kg
消费电力:8W

TC-Station High-end Model(上图右)是2005年11月21日正式发表的升级产品。和普通版的最大区别在于它内置了一个IC卡读卡器。

标售价格:7.8万日元
操作系统:Windows XPe
本体重量:1.92kg
消费电力:Max 24W

US100

US100是2006年11月6日正式发表的,NEC的第一款面向全球发售的瘦客户机产品。在这一款产品中,NEC以两项特有技术领先于其他厂商的产品:高速视频播放——部分解决了瘦客户机上的视频性能问题;VoIP语音电话,解决了RDP不支持语音输入,无法进行电话会议的问题。US是U-Station的缩写。

标售价格:5.2万日元
操作系统:基于UNIX的专用OS
本体重量:0.42kg
消费电力:Max 13W

US110

US110是2007年10月15日正式发表的下一代产品。它不仅继承和发扬了US100的高速视频播放和点到点VoIP语音电话的特有功能,更是以其极高的性价比对其他厂商构成了极大的威胁。

标售价格:4.9万日元
操作系统:Windows CE
本体重量:0.35kg
消费电力:11W(平均),25W(最大)

Virtual Infrastructure New Features

VMware在VM World 2007上公布了许多新产品的新特性,这里就把旗舰产品Virtual Infrastructure (ESX Server, VirtualCenter)的最新动向、特性做一总结(这里的资料都不是“新闻”,相信大家都已经从大小道消息早就知道了,只是做一归纳)。

Virtual Infrastructure 3.5

Plug-and-Play Datacenter: ESX 3i

VMware ESX Server 3i 是基于VMware ESX Server 3发展而来的下一代Hypervisor体系结构。简单来说,ESX 3i就是ESX 3去掉了COS (Service Console)之后的部分。

根据VMware统计,传统的ESX Server 3中,基于REHL3的COS占用了约2GB的硬盘资源,并且需要打针对REHL3的补丁——针对ESX Server3的补丁中,有一半左右是针对COS的。与之相反,Hypervisor部分(VMKernel)只占用32MB的硬盘。在ESX 3i中,就是去掉了这臃肿的、占原来ESX Server 3的98%的COS,留下一个轻便的,甚至可以嵌入服务器固件的内核。

ESX Server 3i

当然,COS也不是说扔掉就能直接扔掉的——COS作为一个SHELL,一个命令行的操作界面,还是提供了很多功能的。那么这些功能在没有了COS的ESX 3i中是如何实现的呢?

■ 使用命令和脚本管理ESX的功能——在ESX 3i中,由于ESX服务器本身上已经没有命令行界面,因此提供了一个远程的命令行界面(类似SSH的感觉),叫做Remote CLI (Remote Command Line Interface)。通过这一“新SSH”,可以像在本地一样执行命令。

■ 服务器性能和健康状态的监控——在传统的ESX 3中,只需要安装软件 (例如NEC的ESMPRO) 即可监控服务器的各项状况,如温度,风扇转速等等。在ESX 3i中,则通过标准的监控协议CIM来进行服务器状况的监控。

Hardware Monitoring via CIM

■ 3rd Party Agent——在传统的ESX 3中,有时候会需要在COS安装一些第三方的软件的Agent,例如用于备份的软件。在ESX 3i中则只能通过其提供的界面,API等进行通信;对于备份则可使用VCB (VMware Consolidated Backup)进行。

Storage VMotion

在很久前的VCP会议中就听说过Storage VMotion。基本描述起来就是:现有的VMotion并不移动VM的存储节点(也即image文件所在的位置),而是移动VM隶属的计算节点(从一台Host移动到另一台Host)。而Storage VMotion则可以同时移动VM的存储节点,也即把VM从一个Datastore移动到另一个Datastore。

但是,VMware却同时告诉我们,Storage VMotion并不像VMotion那样可以轻松地执行。因为Storage VMotion耗费资源尤其是I/O资源,并且有部分功能不完善(例如目前还没有GUI,只能通过svmotion,svmotion.pl脚本操作),因此不应该像VMotion那样在业务中日常应用,而是作为一个能让系统不间断运作的维护工具。VMware建议的应用场景包括:Storage Array Migration(比如说买了新的FC SAN,要把整个系统从旧SAN移动到新SAN,又不想中断业务时),I/O Optimization(比如说LUN之间的负载不平衡,有的LUN上VM很多,有的LUN上VM却很少时)。

据称Storage VMotion将在ESX Server 3.5(当然也包括ESX Server 3i 3.5)中提供,并逐步在以后的版本中补完功能。

Site Recovery Manager

这也是3.5当中(VirtualCenter 2.5)提供的一个功能。如果说VMware HA (High Availability)是面向服务器、VM的灾难恢复方案,那么Site Recovery Manager就是面向Site的灾难恢复方案。只要预先定义好备用的一套Site(包括Host,存储,VM,网络拓扑结构等),Site Recovery Manager就可以按照计划或在发生万一的故障时进行fail over。

Distributed Power Management (DPM)

上次TSX的时候听说DPM,还以为是什么UPS的虚拟化工具——电源管理嘛。其实,所谓的“分布式电源管理”,是一个环保节能(也即最近提倡的Green Datacenter)的工具。可以把DPM与DRS进行比较:DRS是Load Balance的解决方案,可以自动平衡各Host间的负载,将VM平均移动到各个Host上;而DPM则是节约电能的解决方案,当VM数量较少时,DPM将VM集中移动到几台Host上,然后将其他没有VM运行的Host关闭电源。

Update Manager

Update Manager也是VC2.5中的新功能,其功能其实很简单——利用DRS将某一台ESX上的所有VM移动到其他Host上,然后对这台ESX进行打补丁等升级维护工作。难得的是这些全是全自动的。

顺便说一句,ESX 3i中,虽然只有32MB但是一样是要升级的。只不过3i不再(也无法)靠安装补丁文件的方式,而是靠更换整个3i的Image的方式(有点像固件、BIOS更新)进行升级。

Guided Consolidation

这个功能更不是什么出奇的东西了。Guided Consolidation = Capacity Planner + Converter + 集成在一起的图形界面。具体来说,就是通过VC,自动发现网络中的物理服务器(只限于Win2003等),通过Capacity Planner分析该服务器,给出移植到虚拟平台的方案,然后通过Converter执行P2V,转移到虚拟化世界来。

Para-Virtualization (exp.), Vista Guest OS, enhanced HA, enhanced VCB, NPIV and more

在3.5中,也会试验性地支持Para-Virtualization,当然这也需要OS的支持(如RHEL5等)。此外,Windows Vista也终于结束了漫长的评测过程,正式被纳为虚拟OS家族的成员。

还有许多其他的功能,这里就不一一说明,有兴趣的话请Google相关资料。

Beyond 3.5 …

Enhanced VMotion

众所周知,执行VMotion的要求近于苛刻——这也不能怪VMware,因为不同CPU之间,即使是微小的指令集的差异,也会导致对于企业应用来说噩梦一般的“蓝屏”。此外更令人郁闷的是,两台Host只见究竟能否做VMotion,只有在实际做之前才知道(当然,熟悉VMotion的VCP可以轻易的事先判断)。

VMware将会逐渐打破这一壁垒。首先是通过AMD的“AMD-V Extended Migration Technology”以及Intel的“Flex Migration”,使得同一厂商的不同CPU家族之间可以Hot Migration;并且会逐渐依靠其夹在VM和硬件中间的身份进行协调,使得在不久的将来不同厂商的CPU只见的VMotion也成为可能。

Software FT (Fault-tolerant Virtual Machines)

这一新特性的正式名称还不清楚,但是光看名字已经让人振奋不已。容错(fault tolerance,ft)服务器通常指一台服务器中包含两套相通的模块,通过lockstep processing互为备份,即便其中一组模块当机也能无停止地切换到另一组模块。它能提供99.999%,也即年当机时间不超过5分钟的连续可用性 (Continuous Availability, CA)。而相比之下,MSCS等集群只能提供99.9%,也即年当机时间8小时45分钟左右的高可用性(High Availability, HA)。

在VMware即将提供的软件FT(或虚拟FT?)功能中,可以将两台位于不同物理Host上的VM捆绑为一台fault tolerant VM,同步操作。从某种角度来说,用户不必再去购买昂贵的硬件容错服务器,而是通过使用Virtual Infrastructure就能拥有数台可靠的“软”容错虚拟服务器了。当然,究竟“软”容错能否从“硬”容错手中抢到市场,还要看“软”容错是否稳定,是否能像“硬”容错一样提供99.999%的可用性了。

Software FT虽然很可能不会在3.5中提供,但是预计将在明年中提供(4.0?)。

Related Products

Virtual Desktop Manager (VDM) 2.0

其实VDM并不是Virtual Infrastructure产品的一部分;它属于VMware的VDI产品族。它和著名的Leostream Connection Broker一样,是一个VDI Broker产品,是客户端设备连接虚拟桌面时的“管家”。有关VDM的详细信息,我将专文介绍。

Virtual Desktop Manager (VDM)

 根据目前的消息,VDM2.0将在明年2008年2月份推出。

Review Questions of Class - VMware Infrastructure 3: Install and Configure

在为期四天的VMware培训结束之后,最后除了提交一份调查问券之外,还有一份Review Question。根据老师的说法,这个可以看作是VCP考试的例题。回家在网上google了一下,发现这些例题和答案是公开在互联网上的,既然这样就不用担心是内部用的东西了。这里就把我做的解释也一起拿出来供有意报考VCP的同学参考(当然,可能“参考”一下网上流传的VCP真题更快捷一些……)。

1. Understand VMware Products

Which of the following most closely describes the purpose of ACE (the Assured Computing Environment)?

A. ACE helps desktop managers provision secure, standardized PC environments throughout the enterprise.

B. ACE enhances system security for ESX Server by providing firewall protection for both virtual machines and the Service Console.

C. ACE enhances virtual infrastructure manageability by acting as a proxy between Virtual Center and the ESX and VMware Server systems under management.

D. ACE enhances reliability of the virtual infrastructure by providing hardware redundancy for ESX Server.

2. Differentiate Among VMware Products

All VMware virtualization products are based on the same underlying virtualization technology, but there are some differences among these products. Which one of the following statements is true?

A. VMware Server and VMware Workstation both provide tools for remote management of virtual machines.

B. Because it runs on the bare metal, ESX Server supports a narrower range of physical hardware than either Workstation or VMware Server.

C. ESX Server supports more types of guest operating system than Workstation or Vmware Server.

D. Only ESX Server allows virtual machines to be configured with multiple virtual CPUs.

3. Understand Virtual Center Management

Pointing a VI Client directly to an ESX Server host rather than a VirtualCenter Server:

A. is not recommended, even if VirtualCenter was not purchased.

B. works identically, but any tasks issued are superceded by the VirtualCenter Server.

C. is similar except that objects are at the host and not datacenter level, and enterprise tasks such as cloning and migrating VMs are not available.

D. is similar except that objects are at the host and not datacenter level, but typical tasks such as template creation and cloning VMs are available.

4. Understand Networking

When defining a NIC team (bond) in ESX Server, it is possible to designate some of the physical NICs that make up the bond as "standby" NICs. Which statement most accurately describes the purpose of a standby NIC? A standby NIC:

A. is used only when network traffic exceeds the capacity of the rest of the team.

B. is used only in the case of the failure of other NICs in the team.

C. is not used as part of the team until activated by the administrator.

D. is used to implement traffic shaping for the rest of the team.

5. Operate and Manage ESX Server

Which of the following is true about cold migration of a VM from one host to another using VMware Infrastructure 3? requires

A. The VM must be powered off.

B. The VM must be either powered off or suspended.

C. The two hosts involved must use the same network labels.

D. Both hosts must have the same bit type (32-bit or 64-bit) CPU.

6. Understand Resources

If a VM that belongs to a resource pool does not have enough physical resources available to meet its reservation:

A. it will power off immediately.

B. VMs outside the resource pool will not be able to power on.

C. it will not be able to power on until sufficient physical resources in use are freed up.

D. if its reservations are expandable, it will attempt to draw upon the resources of its parent resource pool.

7. Administer Virtual Machines Under ESX Server

Hitting ESC when first powering on a VM in ESX Server 3.0

A. enters the boot order of the BIOS.

B. does nothing, as ESC is not a valid option.

C. directs the VM to directly boot from network.

D. enters the general BIOS options and is an alternative to hitting F12.

8. Configure Storage

Upgrading an ESX Server 2.x host’s VMFS-2 volume to VMFS-3, and then referencing the VMFS-3 volume from an ESX Server 3.0 host:

A. will allow any VMs on the original VMFS-2 to be powered on.

B. will allow the ESX Server 3.0 host to view the VMs in read-only mode.

C. will allow both the ESX Server 2.x and ESX Server 3.0 hosts to view the VMs in read-only mode.

D. requires both the ESX Server 2.x and ESX Server 3.0 hosts to be managed by VirtualCenter 2.0 in order to perform the upgrade of the VMFS-2 volume.

9. Configure Licensing

If the connection between the license server and VirtualCenter 2.0 Server is lost:

A. there is no impact because licenses are stored and configured per host when using a license server.

B. VMs will continue to run, but after a grace period ends, they cannot be powered back on until connectivity with the license server is restored.

C. ESX Server hosts can be configured and additional hosts added, but no VMs can be powered on until connectivity with the license server is restored.

D. all VMs will power off if connectivity is not restored within a 48 hour grace period. Hence, we recommend installing the license server on the same machine with the VirtualCenter Server.

10. Understand VMotion

64-bit CPUs are supported for VMotion in VirtualCenter 2.0

A. only when migrating 32-bit Guest OSes.

B. when migrating either 32-bit or 64-bit Guest OSes, so long as the Nx flag is hidden.

C. when migrating either 32-bit or 64-bit Guest OSes, regardless of CPU compatibility

D. when migrating either 32-bit or 64-bit Guest OSes, so long as the VMware CPU Compatibility Tool detects two compatible CPUs.

11. Troubleshoot an ESX Server

Suppose you attempt to use Web Access to reach an individual ESX host but receive a "host not found" error. Which of the following is LEAST likely to be the cause of the problem?

A. The Apache Tomcat server is not currently running on the host.

B. The server is not currently powered on.

C. The Service Console’s IP address has recently been changed.

D. Your VI Client has not been configured to allow you to use the Web Access facility.

 

Answers

1. A    2. B    3. C    4. B    5. B    6. D    7. A    8. A    9. B    10. D    11. D      

Explanation

  1. VMware ACE (Assured Computing Environment)正如答案A所说,是用来提供安全、基于策略进行管理的虚拟PC环境的平台。VMware ACE可以作为一个独立平台使用,也可以和VMware Workstation 6结合使用,但是不可以和Virtual Infrastructure一起使用。
  2. VMware Workstation没有提供远程管理工具;ESX Server比其他产品所支持的Guest OS更少,原因已经在正确答案B里面说明了。最后的D,除了ESX之外其它产品也支持多CPU,只是支持的CPU数量可能不同。
  3. A的话前半句是对的,因为连接到VC可以提供更多的功能;但是如果没有购买VC的话就只能连接ESX了。
    C和D的描述基本一致,唯一的差别就是Clone之类的操作是否可以进行。没有VC的话是不能克隆的。
  4. 多块物理网卡 (NIC)可以绑定在一起 (NIC Teaming),从而实现负载平衡 (Load Balancing) 或者Fail over。Standby NIC的作用就是当前NIC发生故障时自动启用,以实现Fail over的。
  5. Cold Migration顾名思义,就是在VM在停止状态时的移动。无论是Power Off还是Suspend,VM都会完全停止,不使用任何CPU和内存,因此可以Code Migration。如果VM正在使用着CPU和内存,就只能VMotion了。
  6. A是错的,即便无论如何也满足不了A的Reservation,VC也只是会发出警告,而不会Power Off掉VM(除非定义了某些自动操作,比如资源不足时自动关闭VM等)。B更是无关了,因为是在Resource Pool的外面。
    C也不对,因为即便物理资源不够,VM还是能够启动,这时VC会把Resource Pool中其它VM所使用的资源强行剥夺过来,分配给这个VM以满足其Reservation。如果其它VM处也没有那么多资源,这时就无法启动了。
  7. 无需说明了,在VM的BIOS画面敲ESC键可选择启动顺序。
  8. 这个问题有一点Tricky。VMFS-2升级到VMFS-3之后,就是VMFS-3了,和其它的VMFS-3分区没有任何区别。ESX 2.x无法访问(只读都不行)VMFS-3。此外,升级VMFS-2并不需要把ESX 2加入到VC中。
  9. 这个问题几乎天天被问,估计不用说明就都知道了。就算连接不到License Server了,还有14天的Grace Period。这14天结束之后,虽然正在运行的VM不会被强行关掉,但是却无法再启动任何VM了,除非再连接回License Server。
  10. 看到D就不用看其它答案了,VMware CPU Compatibility Tool就是为了检测两台主机的CPU是否满足VMotion的要求的。
  11. 访问ESX Server的Web Access不需要VI Client,因为Web Access是架设在ESX Server上的Tomcat Web Server,只需要浏览器就可以了。

Tips from Classroom : VMware Infrastructure 3 Install and Configure

花了四天时间,终于上完了全部的课——这个又贵又长($2995,四整天)的培训,也给我这个玩了近半年VMware VI3的人带来了一些新的收获。

本次培训课程的全称是VMware Infrastructure 3: Install and Configure,是一套覆盖了从初级到中级的、全面介绍VI3的功能和具体用法的课程。对于有一定VI3基础的人来说,可能这个课程的前半部分过于简单,因此我也考虑过是否要参加VMware最新的课程:VMware Infrastructure 3: Deploy, Secure & Analyzer。后者主要涵盖中级到高级内容,包括scripting(我最想学的部分),security(也是极其重要的部分,应该包括了firewall的设置等很重要的内容),以及更深入的DRS和HA,最后还有问题分析的工具和方法(和我现在的业务关系紧密)。——但是,遗憾的是该课程目前在我们这里还没有,于是我只好选择了前者。

上课的形式是50%讲座,50%实习 (Hands-on)的形式,使用的机器全都在美国。我们通过教室里PC机上安装的Citrix终端远程访问位于美国VMware总部的工作站,再从那里远程访问ESX Server和VirtualCenter Server(感觉就是特别绕,经常用着用着就不知道自己在哪里了)。参加这个课程除了可以得到一套全英文的教材,还赠送一套VI3的CD-ROM(但是License要到VMware公司去下载试用版),另赠送一VMware帆布包。

闲话不多说,下面就是一些课堂上注意到的一些Tips。

Tip 1 VMware ESX Server 可以安装在单CPU系统上

VMware的很多技术文档中都明确说明,ESX必须安装在双CPU或更多CPU的系统上。的确,这是官方的说法,但是事实上在单CPU服务器上安装ESX也并不会导致出错、无法安装。不过,在了解了VMkernel的CPU调度的原理之后,可以很明显地看出单CPU、特别是单Core、不支持Hyperthreading的CPU将会大幅度拖慢系统性能,尤其是在VM的CPU使用率较高的时候。可想而知在这样的环境下VMware DRS/VMware HA是难以运行,或者行为异常。

因此作为测试来说,实在没有Dual CPU的机器单CPU的也凑合着用吧,不过最好有Hyperthreading功能。至于production环境,务必使用双CPU或更多CPU的服务器。

Tip 2 VMotion的充分必要条件

要使用VMotion功能(以及依靠VMotion的其它功能例如DRS),有无数条件需要满足,例如首先要有一个用于VMotion的VMkernel,此外被移动的VM必须是存储在SAN之类的共有设备上等等。关于两台ESX的CPU,VMware说需要compatible CPU,也就是说进行VMotion的两台ESX Server的CPU要兼容。什么是“兼容”呢?当然,如果你去看Basic Administration Guide可以获得既详细却又冗长的答案,这里就把VMotion对CPU的要求做一总结:

CPU Characteristics 是否需要完全相同? 为什么?
CPU的个数,Core数,是否支持Hyperthreading,CPU的主频,缓存大小 No VMkernel已经通过虚拟技术使得VM不依赖于这些物理特性
 制造商 (Intel还是AMD),Family (P4,Xeon还是Opteron) Yes 不同制造商、不同Family的CPU的指令集有细微的差别 
是否有SSE3指令 Yes Guest OS上的程序有可能使用这些指令 
硬件协助 (Virtualization Hardware Assist) 32-bit VM: No VMkernel已经通过虚拟技术使得VM不依赖于这些物理特性
64-bit VM on Intel: Yes

目前在VMware中对Intel 64-bit的虚拟化是要依靠Intel的VT技术的

Execution Disable Yes (但是可以更改)

Guest OS检测到NX/XD bit时就可能会利用这一特性(如Windows XP的数据执行保护)

 当然,与其要记住这么多,不如直接下载VMware提供的CPU Compatibility Tools,这个工具是专门为VMotion设计的,用来检查两台ESX Server的CPU兼容性。

Tip 3 Service Console是一个特殊的VM

很多人有一种误解,就是ESX Server启动之后看到的这个很像Linux界面——Service Console,就是ESX的OS本身。因此,很多人认为ESX Server是基于Linux的,或者说是安装在一个经过修改的Linux的上面的。

这种说法其实也不能说是完全错误,但是说ESX是构建在Linux之上的却是错误的——因为正相反,这个“Linux”也是运行在ESX之上的一个特殊的VM。

Service Console只被分配给一个CPU,无论物理服务器拥有多少个。这个CPU固定是CPU0,也即系统中的第一个逻辑CPU。和其他VM不同的是,Service Console可以直接和ESX的核心VMkenel打交道,进行系统管理操作。

此外,还有一些关于SAN的Multipathing,以及资源管理的话题,以后找时间专门说吧。

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

- Next »