前言
一直有朋友让小帅写一个全面性介绍VMware-workstation的技术性文章,其实搜索一下你会发现在Internet上有关VMware-workstation的教程实在是很多而且虚拟系统的安装也写的很详细。这也算是前人指路让我们在学习VMware-workstation的应用上走了许多捷径。我就结合自己在微软产品中掌握的一些知识和使用VMware-workstation的技巧来说说如何利用VMware-workstation搭建一个“企业级虚拟Microsoft网络”吧!
注:
对下文中将要提到的文字做一些说明
Host主机:真实的物理计算机
虚拟主机:利用VMware-workstation安装的计算机
物理网卡:物理计算机的真实网卡
虚拟网卡:由于VMware-workstation的安装生成或设置的网卡
为虚拟机安装操作系统这点没什么好说的。小帅在这个部分提出几点注意事项和技巧供各位参考。
1、不要给虚拟机添加没用的硬件,比如在VMware-workstation环境中我们仅仅是为了要学习网络技术,所以应该将Sound Adapter和USB Controller等无关的硬件设备删除。这样不至于造成资源的浪费。
2、尽量保证物理Host主机是非“多宿主主机”,尤其是该Host主机运行2000/20003的RIS服务的时候。
3、如果主机的内存很大,建议考虑VMware-workstation 4.5以上的版本,该版本可以支持大内存,而且直接支持网卡启动(开机的时候会提示按F12),这样在做RIS的时候不用像4.0版本中那样需要制作RIS启动软盘了。4.0版本的VMware-workstation最多只能使用1G内存(所有虚拟机使用的总数内存),而且需要热键(Alt+Ctrl)切换。
4、如果经常使用VMware虚拟机,建议应该建立自己的OS-Template库,为自己常用的虚拟操作系统建立副本,这样可以避免在需要多台虚拟机做实验的时候反复安装操作系统而浪费时间。
5、2000/2003的虚拟机操作系统,如果要从OS-Template中拷贝成多个副本并加入域环境做实验的话,应该使用sysprep的方式将摸板虚拟机操作系统的SID删除之后再拷贝组网。VMware4.0的虚拟机不删除SID,直接拷贝OS-Template成多副本,这些副本也可以加入到域,不过这种域环境会在以后的实验中出很多问题(例如在做证书实验的时候)。因为这样的虚拟机组成域后,在成员计算机的“计算机管理”-“用户和组”中“域管理员组”没有被自动加入到该成员计算机的“本地管理员组”,原因是由于你是从同一个OS-Template拷贝过来的,别忘了,没删除SID之前默认计算机本地管理员的SID都是一样的。
6、如果像把Host主机也参与到虚拟的网络中,并让Host主机加入虚拟机域中话可以参考一下《Window &.NET Magazine国际中文版》2004年第9期的“让VMware-workstation虚拟机作为服务运行”一文。不过这个时候Host主机正常开机是很慢的。
7、如果你有“米”就别吝啬在内存、CPU、硬盘上。好的硬件就像好的Body一样,这一点绝对是硬道理的说。至少它可以让你下班就回家、回家就开机、开机就高兴。我相信也许你看完这篇文章之后就会蠢蠢欲动了。
8、本着爱国主义精神建议尽量不要汉化VMware-workstation,至少小帅在互联网上找到的汉化包在XP环境下都有汉化出日文的现象,而且VMware-workstation容易出现一些莫名其妙的问题(本文中小帅使用的是VMware-workstation-4.5.2-8848英文版)。
小帅的虚拟机OS-Template文件夹视图如图1所示,其中包含了2000SP4/2003/XPSP2/RedHat的模板,而且微软的操作系统Template都已经使用相应版本的sysprep重新封装SID了并匹配了一个对应的应答文件。这样小帅在组建多主机域的时候,拷贝摸板操作系统为多个副本,他们在VMware中启动后会自动无应答完成安装。而小帅需要做的就是修改一下计算机名来保证网络中没有重名就可以了,十分的方便。
注:
有关如何利用Sysprep实现安装各位可以参考小帅以前写过的一些有关部署的文章,也可以参考一下KB298491 http://support.microsoft.com/default.aspx?scid=kb;zh-cn;298491
第二部分:VMware的几种网络连接方式比较
这部分相信很多人都很关心。虚拟机常用的几种网络连接方式分别为Bridge模式、NAT模式、Host-Only模式。小帅就这几种VMware网络模式的区别做一个详细的概述。
1、Bridge模式(VMnet0):
1、Bridge模式(VMnet0):
图2,点击查看大图
如图2所示。这种模式是在新建虚拟机的时候默认选择的,是将虚拟主机的虚拟网卡桥接到一个Host主机的物理网卡上面,实际上是将Host主机的物理网卡设置为混杂模式,从而达到侦听多个IP的能力。在这种模式下,虚拟主机的虚拟网卡直接与Host主机的物理网卡所在的网络相连,可以理解为虚拟机和Host主机处于对等的地位,在网络关系上是平等的,没有谁主谁次、谁前谁后之分。
在这种模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器。在桥接模式下,你需要手工为虚拟系统配置IP地址、子网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信。同时,由于这个虚拟系统是局域网中的一个独立的主机系统,那么就可以手工配置它的TCP/IP配置信息,以实现通过局域网的网关或路由器访问互联网。
使用桥接模式的虚拟系统和宿主机器的关系,就像连接在同一个Hub上的两台电脑。想让它们相互通讯,你就需要为虚拟系统配置IP地址和子网掩码,否则就无法通信。
如果你想利用VMWare在局域网内新建一个虚拟服务器,为局域网用户提供网络服务,就应该选择桥接模式。
2、NAT模式(VMnet8):
图3,点击查看大图
如图3所示。这种模式下Host主机的“网络连接”中会出现了一个虚拟的网卡VMnet8(默认情况下)。如果你做过2000/2003的NAT服务器的实验就会理解:Host主机上的VMnet8虚拟网卡就相当于连接到内网的网卡,Host主机上的物理网卡就相当于连接到外网的网卡,而虚拟机本身则相当于运行在内网上的计算机,虚拟机内的虚拟网卡则独立于Virtual Ethernet Switch(VMnet8)。在这种方式下,VMware自带的DHCP服务会默认地加载到Virtual Ethernet Switch(VMnet8)上,这样虚拟机就可以使用DHCP服务。更为重要的是,VMware自带了NAT服务,提供了从Host主机的VMnet8虚拟网卡到外网的地址转换。所以这种情况是一个实实在在的NAT服务器在运行,只不过是供虚拟机用的NAT罢了。
在某些特殊的网络调试环境中,要求将真实环境和虚拟环境隔离开,这时你就可采用host-only模式。在host-only模式中,所有的虚拟系统是可以相互通信的,但虚拟系统和真实的网络是被隔离开的。
提示:在host-only模式下,虚拟系统和宿主机器系统是可以相互通信的,相当于这两台机器通过双绞线互连。
在host-only模式下,虚拟系统的TCP/IP配置信息(如IP地址、网关地址、DNS服务器等),都是由VMnet1(host-only)虚拟网络的DHCP服务器来动态分配的。
如果你想利用VMWare创建一个与网内其他机器相隔离的虚拟系统,进行某些特殊的网络调试工作,可以选择host-only模式。
3、Host-Only模式(VMnet1):
如图4所示,点击查看大图。
这种模式是一种封闭的方式,适合在一个独立的环境中进行各种网络实验。这种方式下Host主机的“网络连接”中出现了一个虚拟的网卡VMnet1(默认情况下)。和NAT唯一的不同的是:此种方式下,没有地址转换服务。因此这种情况下,虚拟机只能访问到主机,这也是Host-Only的名字的意义。默认情况下该模式也会有一个DHCP服务加载到Virtual Ethernet Switch(VMnet1)上。这样连接到Virtual Ethernet Switch(VMnet1)上的虚拟机仍然可以设置成DHCP,主要是方便系统的配置。
使用NAT模式,就是让虚拟系统借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网。也就是说,使用NAT模式可以实现在虚拟系统里访问互联网。NAT模式下的虚拟系统的TCP/IP配置信息是由VMnet8(NAT)虚拟网络的DHCP服务器提供的,无法进行手工修改,因此虚拟系统也就无法和本局域网中的其他真实主机进行通讯。采用NAT模式最大的优势是虚拟系统接入互联网非常简单,你不需要进行任何其他的配置,只需要宿主机器能访问互联网即可。
讨论1:Host主机多适配器的问题
根据上述小帅的讲解,当第一次安装完VMware-workstation之后,VMware-workstation会让三种网络连接模式都可以采用,这也就是为什么在Host主机的“网络连接”中除了物理的网卡外会多出2个额外的虚拟网卡(VMnet1、VMnet8)的原因。小帅个人认为这样的设置很不好,因为Host主机上出现多余的网络适配器会使Host主机的启动速度变慢、内存资源额外占用,最主要的是Host主机上运行的一些特殊程序可能会因为有了多适配器的情况而出现问题,比如在Host主机上运行PPPoE拨号程序失败的问题,以及利用Host主机上的RIS服务远程安装虚拟机OS的问题(小帅在《Window &.NET Magazine国际中文版》2005年第一期的“工程师手记”中曾经提到过这个问题)。所以一般情况小帅只会将Host主机桥接到Virtual Ethernet Switch(VMnet0)上,也就是采用默认的Bridge模式来安装虚拟机。
操作:
a、打开VMware-workstation的“edit”-“Virtual Network Setting”-“Host Virtual Adapters”签,Remove掉所有的虚拟网络适配器。
b、确认在“Host Virtual Network mapping”签中的VMnet0选择的是“Bridge to an automatically chosen adapter”或直接通过下拉菜单将VMnet0映射到Host主机的物理网卡上(尤其在没有物理网卡的HOST主机上使用计算机,这一点很重要,要先在物理计算机的OS里虚拟一个网卡例如Microsoft Loopback Adapter,然后在桥接到这块网卡上)。如图5所示。
讨论2:VMware-workstation的DHCP及NAT的问题
VMware-workstation默认安装之后会自带2个服务:VMware DHCP Service和VMware NAT Service,这两个服务也会作为Host主机的服务在开机的时候加载。一般情况下小帅不喜欢这样的服务,所以为了运行速度的原因这两个服务都应该禁掉。值得注意的是VMware DHCP Service服务可以在“Virtual Network Setting”-“DHCP”签中禁止掉,而VMware NAT Service这个服务在“Virtual Network Setting”-“NAT”签中只能停止该服务而不能禁止该服务,也就是说即使你在这个签停止了这个NAT服务之后,在下一次你的Host主机启动的时候它会自动运行。所以我们应该在“管理工具”-“服务”中,找到VMware NAT Service这个服务,在“服务状态”中选择“停止”,在“启动类型”中选择“禁用”,应用即可。这个时候你在“任务管理器”中将会发现VMware DHCP和VMware NAT这两个进程不在存在了。
操作:略
第三部分:关于Virtual Ethernet Switch VMnet
通俗的说Virtual Ethernet Switch VMnet就相当于“虚拟Switch”,用过Microsoft Virtual Server的朋友一定有印象,在Virtual Server中是可以创建不同的网络的,并且每创建一个网络在“虚拟网络文件夹”中就会出现一个文件(当然Virtual Server默认也是有桥接和仅主机的方式的)。而VMware给我们已经提供了10个Virtual Ethernet Switch VMnet(VMnet0-9,速度均为10M),不需要我们额外创建了,这点非常的好。我们可以在设置虚拟机的网卡的网络模式的时候选择“Custom:Specific virtual network”来将虚拟机连接到不同的Virtual Ethernet Switch VMnet上,也就是桥接到不同的VMnet上,如图5所示。如果你仅仅希望2台虚拟计算机能互相通讯,只要保证他们桥接到同一个Virtual Ethernet Switch VMnet上就可以了,如果还要考虑这2台虚拟机能够与Host主机通讯,那么实际上你应该考虑3台计算机的桥接到哪儿的问题。桥接可以保证我们所说的计算机与计算机之间的物理连接通畅(希望我这句话没有让大家糊涂),要想真正实现通讯,IP地址的合理分配也是很重要的。桥接在同一个Virtual Ethernet Switch VMnet上的虚拟机,如果设置了不同逻辑子网的IP地址也会出现不能通讯的问题。
下面小帅用几个问题来帮助大家理解Virtual Ethernet Switch VMnet,这些问题也是很多网友在给小帅的E-Mail中经常提到过:
1、将虚拟机桥接到Virtual Ethernet Switch VMnet6上之后,是否要将Host主机也桥接上呢?
答:如果你需要虚拟机与主机通讯,那么需要先将Host主机桥接到Virtual Ethernet Switch VMnet6上,如果不想让他们实现通讯的话,你跟本没必要把主机也桥接上去。
2、由于VMware-workstation的安装导致了物理Host主机的“网络连接”中出现的多个网卡,是否意味着我选择了多个Virtual Ethernet Switch VMnet?
答:物理Host主机的“网络连接”中出现的多个虚拟网卡,这只能表明:该Host主机被桥接到这些Virtual Ethernet Switch VMnet上了,所以在“网络连接”中出现了相应的虚拟网卡连接。但不能说只有这几个Host主机的虚拟网卡所连接的Virtual Ethernet Switch VMnet可用,很可能Host主机只桥接到了Virtual Ethernet Switch VMnet0上,而其他虚拟机桥接到Virtual Ethernet Switch VMnet7上,他们之间利用“Router”通讯(当然该“Router”计算机的两个网卡必须各自桥接在这两个Virtual Ethernet Switch VMnet网络)。
第四部分:企业级虚拟Microsoft网络拓扑及IP部署规划
1、小帅的物理主机配置:
主板:华硕P4C800 DeluxeI875(支持超线程)
CPU:Intel3.0E
硬盘:迈拓SATA 200G
显卡:双敏5700LE
内存:金邦DDR400 512M*4=2G
网卡:板载3Com Gigabit LOM (3C940)
操作系统:Windows XP Professional SP2
软件:VMware-workstation-4.5.2-8848英文版
2、网络拓扑结构(如图6)及IP部署(如图7、8)所示
图6,点击查看大图
物理主机IP设置
Host(XPSP2)
eth01(桥接到VMnet0)
IP:10.1.23.7
DNS:202.96.64.68
GW:10.1.23.240
虚拟机IP设置
4、虚拟机目录设置如图9
3、虚拟机内存分配情况如图10
注:
eth01为计算机的第一块网卡,eth02为计算机的第二块网卡
图6中红色的Internt部分非小帅所能控制,因为小帅家的上网方式为小区LAN上网,主机分配一个(10.1.23.0/24)逻辑网段的地址就可以上网
图6中小帅的HOST主机是只桥接在了VMnet0上,所以在HOST主机的“网络连接”中只有一个物理适配器3Com Gigabit LOM (3C940)
在以后的文章中,如不特殊说明假定VMnet0为internet(互联网)
第五部分 企业级虚拟Microsoft网络的操作系统及组件安装
该部分主要探讨2003Domain、ISA2004、Exchange2003、Cluster的配置,不包括虚拟机的操作系统安装部分(如图11)。
二、设置ISA01-Router和ISA02-Router
三、设置DC01和DC02作为jzlld.com域的域控制器
四、将其他计算机全部加入到jzlld.com域
五、设置EXC01和EXC02作为jzlld.com域中的邮件服务器
六、配置群集
注:
该部分内容小帅会在“搭建企业级虚拟Microsoft网络(第二版)”中详细介绍
第六部分:VMware Workstation的不足及鸣谢
1、VMware虚拟机的网络连接速度只有10M,实在是有点儿说不过去,一些企业高端扩展实验还是没办法进行。不过在VMware GSX Server这个产品中到是可以创建1000M网络。毕竟VMware Workstation是一个用来测试的产品而已,也可能这种在虚拟机上的需求本身也不实际。
2、VMware Workstation可以添加很多硬件,基本上物理计算机能有的设备都可以在VMware Workstation的硬件配置中找到。但是如果VMware Workstation能创建出虚拟的Modem连接方式,能实现虚拟机之间的虚拟拨号,那么……(仅仅是小帅的设想而已)