OpenStack商用需要跨越的坎 -- 1. 虚拟化平台的选择和整合

来源:互联网 发布:数控编程代码大全 编辑:程序博客网 时间:2024/05/20 23:35

对于最终用户来说,希望的是云平台能够统一管理所有的主流虚拟化平台,这样能够让客户拥有对虚拟化平台的选择权。各大商用虚拟化厂商也早早地响应号召,向社区贡献了针对自家虚拟化平台的驱动程序,比如VMware贡献了针对vCenter的驱动,IBM贡献了PowerVC驱动,微软贡献了Hyper-V驱动,Citrix贡献了Xen的驱动。但是每家厂商都有自己的想法,希望的是从虚拟化平台到云管理平台都采用自家的商业产品,这就导致贡献给社区的驱动程序存在很多功能缺陷。比如如果使用社区版的VMwareVCDriver,就会发现在OpenStack里只能使用vCenter管理的1个VLAN,无法做到对多个VLAN的管理,还有许多vCenter高级功能无法在OpenStack里实现。如果想实现怎么办,就需要和VMware做利益交换,还得看人家愿不愿意(VMware主要推自家的vCloud平台)。说到底,没有利益的事厂商都不会有太大积极性。只有到有一天OpenStack作为标准开始大量部署,并且KVM完全逼近VMware的成熟度,才会倒逼厂商拿出自己的看家本领去和OpenStack做集成。但是真到了这一天,这些商用的虚拟化平台也就没有了用武之地,会完全被KVM+OpenStack所替代。


因此,用OpenStack管理多个虚拟化平台并不是长久之计。这样只会形成一个个异构虚拟化平台构成的孤岛。虽然在大的层面上可以被一个统一的云管理平台所管理,但是想要在这个管理平台上完全实现虚拟化平台提供的高级功能,就需要得到虚拟化厂商的完全支持。同时如果要实现云平台的一些特性功能,也需要去协调虚拟化厂商去支持。这就为云平台的进一步发展埋下了隐患。这种混合方案最多也就作为一个临时过渡的方案,最终还是需要基于一个虚拟化平台来构建整个云管理平台。看现在做的成功的公有云,都是只采用一种虚拟化方式,除了微软用Hyper-V,其他都是基于开源的Xen或者KVM。


对于开源的OpenStack来说,必须有一款开源并且强大的虚拟化平台,才能撑起他的发展壮大之路。而OpenStack社区的选择也很明确,就是KVM。为什么没有选择Xen呢,要知道Xen的成名要比KVM早的多,并且得到了很多公有云领导厂商的支持,比如AWS, IBM Softlayer和阿里云等。这些厂商进入云计算的时间比较早,那个时候最成熟的开源虚拟化平台是Xen,所以基本上成了这些厂商的唯一选择。之后随着在2007年Xen的主要领导厂商XenSource被Citrix收购,Linux开源社区出于担心Xen闭源的风险,开始将重点投入KVM,并很快将KVM并入了Linux Kernel。KVM在起始阶段各方面都要落后于Xen,但是随着快速迭代,已经慢慢追赶上了Xen的脚步。目前在性能方面已经基本上和Xen难分高下,同时也提供在线热迁移功能。之前缺少调度器(DRS)的短板也被OpenStack补齐。目前还差一个HA的短板需要补齐,但是似乎KVM和OpenStack社区对此都还没有确定性的意向。倒是另外一个不知名的开源项目(https://github.com/beekhof/osp-ha-deploy/blob/master/pcmk/compute-managed.scenario)提供了一种基于PaceMaker的实现方法,并且被Redhat所采用,加入到了Redhat自己的OpenStack企业发行版里。HA功能其实对于虚拟化平台非常重要,在实现HA的基础上,如果再辅以Overlay的大二层网络和存储的双活,就可以实现虚拟化管理平台的容灾和双活了。当然,加上容灾后的HA切换策略会稍微复杂些,会多一些判断。


功能问题解决之后,KVM走入商用剩下的拦路虎就是优化和专业技术支持了。KVM提供了很多优化选项,允许客户根据自己的实际情况来选择,比如CPU的node binding,内存的大页面支持,I/O的virtio等。优化后的KVM性能完全不输Xen,甚至VMware。但是由于KVM是开源产品,在专业技术支持这块是欠缺的,对于技术能力有限的客户,如果他有比较重要的应用跑在KVM上,那么一旦出了问题还是希望能够得到快速、有效的技术支持。这一块对于有志于提供完整云计算解决方案的厂商,是一定需要补齐的。可是要补齐这一块也不是那么容易,需要在KVM甚至Linux Kernel社区有一定的参与度和影响力。否则遇到复杂的技术问题也只能抓瞎,坐等社区解决。虚拟化管理平台是云计算管理平台的核心,如果这一块无法做到商业化的支持,又怎么能让客户放心的用你的云平台呢?


最后,简单介绍一下目前主流的商业虚拟化平台的特点:

1. VMware: 搞虚拟化的都必须熟悉,除了传统的计算、存储虚拟化和二层网络虚拟化(vSwitch或者Distributed vSwitch),新的NSX组件还提供虚拟路由器、虚拟防火墙以及虚拟的负载均衡功能。虚拟化性能业界领先,支持在线迁移(vMotion)、高可用(HA)、负载均衡(DRS)等高级功能,如果和NSX一起用,再配合存储的双活,还能支持容灾和双活。界面友好美观。就是价格比较贵。


2. Hyper-V: 这块接触不多,从网上的介绍看来和VMware功能非常接近,也有类似vMotion, HA, DRS和分布式 vSwitch等高级功能,界面也是典型的Windows风格,比较友好,目前还缺少和VMware NSX类似的网络功能虚拟化组件。


3. PowerVM: IBM开发的基于小型机的虚拟化平台,技术来源于大型机,在性能和功能上都非常强大,可以跑对性能、稳定性和可靠性要求非常高的应用,支持AIX、Redhat Linux和Suse Linux。存储层面支持vSCSI和NPIV映射,网络层面仅支持二层交换机的虚拟化。目前看没有开发类似NSX一样网络功能虚拟化组件的计划,所以无法支持VLB, vRouter以及vFW。界面延续了IBM产品一贯的风格,命令行操作较多。价格就不用说了,一个字贵。


4. XenServer: Citrix基于Xen开发的虚拟化平台,也具有类似vMotion, HA, DRS和分布式vSwitch等高级功能。在桌面云领域用到比较多,也逐渐开始进入到企业应用市场,和VMware来竞争。


5. FusionSphere:最早是华为基于Xen优化开发的虚拟化平台,具有类似vMotion, HA, DRS和分布式vSwitch等高级功能,结合VXLAN的Overlay技术以及华为自家存储的复制、双活技术还能提供容灾、双活功能。性能方面由于采用Para Virtulization,也很不错。在桌面云以及华为主推的一体化云计算解决方案里得到大量采用。随着OpenStack的兴起,华为又开始基于OpenStack架构来重新构造FusionSphere,目标是把FusionSphere打造成一个OpenStack架构的云管理平台,虚拟化目前是两条腿走路,保留自家的虚拟化,同时开始支持KVM。

0 0
原创粉丝点击