此次将Citrix XenServer7.1和VMware ESXi 6.5从技术角度进行比较,并从企业角度对企业关心的项进行比较,主要包含市场地位,服务器虚拟化底层稳定性,管理架构,兼容性上进行分析。
市场地位
VMware在虚拟化的地位类似于大型存储中的EMC,小型机中IBM,网络中的思科,虚拟桌面中的Citirx,数据库中的甲骨文,长期以来一直处于服务器虚拟化中的垄断地位,具有绝对性优势,这点可以从2016年的Gartner服务器虚拟化魔力象限中可以看出。
服务器虚拟化底层稳定性
先看看两个服务器虚拟化介质大小。
从最新版下载的介质来看,XenServer比VMware大了近一倍,意味着代码可能是VMware的两倍。更小的代码库意味着“受* * *面”更小,需要修补的代码也更少,从而提高可靠性和安全性.ESXi的前身是ESX, ESX依靠Linux系统进行管理功能,管理功能包含执行脚本,以及安装用于硬件监控,备份或者系统管理的第三方代理。
VMware为了系统更加稳定,从ESXi开始把管理功能全部删除,上收到vCenter进行管理,这样的好处是可以用最少的性能运行底层,功能更加单一,所需的磁盘容量最少,所以ESXi支持在SD卡安装运行,在U盘安装运行,甚至把SD卡,U盘拔掉,ESXi依然可以运行,虚拟机照样提供服务。这是XenServer无法实现的。下图可以看到VMware ESXi只有一层管理程序。
再来看下XenServer为什么这么大,而且必须要使用硬盘来安装它的系统。
从上图可以看的到,除了Xen提供的管理程序之外,XenServer安装完成后还有一个控制域,一般我们称为Domain0, Domian0其实是一个Centos系统,以7.0前是32位的,7.0以后用了64位的Centos。所以一直都有一个说法,XenServer安装完成后的第一个虚拟机是Domain0,这就是XenServer需要这么大介质的原因。
那再来看看这个虚拟机是用于什么用途的,主要用于模拟虚拟机的硬件,包含常见的虚拟机网络和虚拟磁盘,还有一些其它驱动,CPU和内存是直接通过虚拟机监控程序调用的,这和VMware是一致的。但这里就有一个致命的缺点了,所有的性能瓶颈,都在这个Domian0上,磁盘和网卡都需要先通过Domain0,再通过虚拟机监控程序才能调用到底层的网卡和磁盘,所有我们一般在安装XenServer的时候,都需要给Domian0分配4个个vcpu,还有20-40GB左右的磁盘空间,用于存放日志。
了解到上面的一些基本原理后,我们再分析下,这个架构还可能会导致那些问题,让我们的用户无法接受。
1.驱动问题,一般的硬件厂商都会针对不同的操作系统有不同的驱动,举个例子,某公司的一块光纤网卡,VMware和XenServer都不带这个驱动。这个时候我们只需要问厂商要针对于VMware的驱动,这个一般都可以要的到,目前还没有碰到过要不到的情况。但XenServer驱动就很难要到,一般需要用户自己编译,或者用已经编译好的CentOS驱动。经过千辛万苦,编译好了。打一些大的补丁的时候,或者做服务器虚拟化底层升级的时候,驱动会丢失,还要再去重新编译下,所以在日常工作中,如果XenServer不带驱动,需要自己去打,那么在打补丁和升级版本的时候,需要小心了!
2.网卡速率问题,VMware提供几种网卡类型,主流的发和VMXNET3两种,VMXNET3是最常用的,需要安装VMware工具才能正常工作,它是10 gb的,传输效率也会更高,而XenServer虚拟机最大支持1 gb,为了提高带宽,Citrix建议用多个网络隔开,或者用微软自带的软件进行网卡绑定。
3 .磁盘精简置备,XenServer7.1无法对虚拟机磁盘进行精简置备,XenServer7.6开始支持了,2018年9月6日发布的,不在此次XenServer7.1的比较。精简置备可以帮助用户节省大量的存储空间,在某些项目上面,可以帮助用户节省近百万的成本。
精简置备(薄提供):无论虚拟机磁盘分配多大,以实际占用多少空间为准,即用多少算多少。在某些核心的业务系统上面,VMware是不建议用户开启这项功能的,但在虚拟桌面环境里面,这可以大大的提升磁盘的使用率。因为桌面降低点性能用户是可能无法感知的。下图是某用户的精简置备使用情况。容量一共7结核病,分配出去的虚拟机占用了13个结核病,实际使用数据约6 tb。已经提升了近一倍的利用率。