|
楼主 |
发表于 2010-12-20 16:31:33
|
显示全部楼层
VMware server及VMware ESX server产品比较
在公司使用VMware虚拟机产品一段时间,有一些心得体会。下面总结一下。
一.免费产品,收费产品选哪个?
对于VMware产品的选择不得不说一说。VMware服务器产品目前主要有免费的VMware server和收费版的Vmware ESX server.不过目前VMware公司不单独发行VMware ESX server. ESX server作为VMware Infrastructure套件的一部分成套销售。VI分为N个版本,企业版,精简版之类的。
免费的和收费的版本各有优缺点:
1. VMware server支持多种操作系统,可以在现有的Windows,Linux平台上安装VMware server。充分利用已有的硬件系统。而且可以充分利用底层操作系统丰富的驱动,硬件适应性更好。收费版ESX server的其实底层也是个linux,最麻烦的就是安装驱动,不一定能发挥最大的硬件功效。
2. VMware server支持更加丰富的外设,支持串口,并口,USB设备,而ESX server连个USB都不支持。当然,VMware公司作为业界的领导者,也提供了全套的解决方案,但是需要购买其他的软件来解决这些问题。
3. VMware server生成的虚拟机移动性兼容性好,可以在vmware player,vmware workstation上直接运行。万一server挂了,随便拷贝到一个机器上就能运行起来。而ESX server生成的虚拟机只能在ESX server上运行。万一服务器挂了,不能简单的恢复。
4. VMware server性能受底层操作系统影响,不是特别好。选择硬件的时候需要更加强大的CPU,更多的内存。VMware官方建议免费版的一个CPU核跑1台虚拟机,ESX server一个核可以跑两台。而且ESX server拥有专有优化的文件系统,性能上有优势。
5. VMware server管理可以使用client端工具远程,但是这个工具功能比较弱,比较有用的就是远程光驱的功能。可以将装有client端的计算机光驱虚拟到虚拟机的光驱上。安装软件很方便。收费版的VI套件中的VMware VirtualCenter是一个全功能的管理工具,可以集中管理多台ESX server。并且监控这些server的状态,性能。提供虚拟机模板功能,可以迅速的部署新的虚拟机。
收费版VI套件中还提供了备份,高可用等等的企业级组建。当然要把这些功能买齐了,可要花一大笔钱。
二.硬件服务器和host OS的选用
VMware公司在网站上提供了一份兼容的服务器列表,大家在购买收费版服务器的时候一定要看看这个服务器列表。买错了装不上可就郁闷了。免费的产品兼容性很好。如果选择windows server作为host OS,可以说基本上都能用。但是windows server标准版和redhat 标准版都有最大内存限制。要是想在一个server上多装几台虚拟机那就要买企业版的windows server和redhat了。那也不是一般的贵啊。所以如果选用免费版的VMware server,推荐使用centOS 4.*作为host OS。内存没有限制,又有redhat企业版的品质。
至于CPU和内存的配置要根据应用来一般来说所能安装的虚拟机数量取决于cpu的核数,比如说买个4核的CPU,选用免费的VMware server,最大能装的虚拟机数就是4-1=3个(还有一个核要留给host OS),如果选用ESX server,最大能装的虚拟机数就是4*2-1=7个。不过这只是一个预估,尽量留出一点富余,不要用到极限。内存比较好算,需要的内存数就是所有虚拟机内存的总和再加上host OS需要的内存。
不过还有一个关键问题,就是磁盘的问题。虚拟机有一个严重的瓶颈就是磁盘性能。如果买的是中低端服务器,尽管安装的虚拟机cpu负载不高,但是磁盘读写很频繁的话,比如说文件服务器之类的。也建议不要在一台server上安装过多的虚拟机。我遇到过一次,一台HP DL380,8核,8G内存,跑了5台虚拟机。结果我在host OS上拷贝大文件,导致其中一台windows server的服务器由于不能及时向磁盘写文件而崩溃。
如果你需要选择多台硬件作为服务器,建议选者同一品牌的,而且最关键的是cpu必须是同一个厂家的。使用INTEL CPU服务器上安装的虚拟机拷贝到AMD CPU服务器上来的话很有可能会出问题。原因是他们虽然都是x86架构,但是他们使用的CPU指令集不一样。我遇到过一次。在AMD的server上安装了一个图形界面的Ubuntu,结果copy到intel的server上以后,图形界面死活运行不起来。后来才想通,Intel的多媒体指令集是MMX ....,而AMD的是3Dnow。总之不同CPU之间指令集有差异。会导致不可预测的后果。
三.磁盘分区
服务器有raid功能的,最好不要把host OS和虚拟机存放的划在一个raid里,资金足够的话,各个虚拟机之间最好也不要共享raid。比如说目前我现在在用的服务器有8块硬盘。1,2块做了个raid 1,用来安装host OS,剩下5块做了个raid 5,这样可以避免host OS出问题后连虚拟机一起毁掉的重大问题。当然,如果有钱,最好也把各个虚拟机所用的磁盘规划好,分别做raid 1。这样性能更好。
另外,实际操作中遇到一个问题,HP的服务器raid 5最大容量是2T。所以如果使用磁盘阵列来存放虚拟机的话,计算磁盘容量的时候一定要把这个限制考虑进去。5个500G的盘做一个raid 5,浪费一个500G.通过实践验证,HP服务器一个RAID 5可以超过 2T,但是一个logic disk 最好不要划超过2T。否则Windows 2003 storage server也不能使用超过2T的空间。具体现象就是在磁盘管理工具中可以看见一个超过2T的硬盘。但是呢只有前2T可以创建分区,剩下的没法创建主要分区或是扩展分区。全部浪费!
不知道是不是window NTFS系统的限制。linux下没有试过。 |
|