OpenStack 调度器 OpenStack包含了对于compute和volume的调度器,通过一系列的管理员设定的规则参数和过滤器,OpenStack调度器将虚拟机部署到合适的宿主机上。在过滤器方面,调度器是非常灵活的,用户可以自己完成JSON格式的过滤器,并且过滤器还包含很多预定义的过滤器。虽然OpenStack调度器非常灵活,但是还是不能完全替代DRS,原因如下: VMware High Availability(高可用) 在vSphere中,虚拟机级别的高可用性是允许在虚拟机或者ESX(i)主机出错时,在不同宿主机部署相同的虚拟机。这里不要和容错(FT)机制混淆,高可用的意义在于当有一些东西出错了,可以在一定时间内自我修复。高可用是在硬件出问题的时候保证虚拟机的正常个工作,如果真的出错了,那么只能在不同的ESX(i)主机上启动虚拟机,这也可能造成服务的中断。 OpenStack High Availability(高可用) 目前并没有官方声明OpenStack支持虚拟机级别的高可用性,这个特性在Folsom版本被提出,但是后续又被放弃了。目前OpenStack有一个孵化项目Evacuate, 其作用是为OpenStack提供虚拟机级别高可用支持。 VMware Fault Tolerance(容错) VMware容错机制是通过监控虚拟机的状态和所有变化,将这些变化同步到第二台备份ESX(i)服务器之上。容错的概念在于无论是主还是从宿主机出现问题,只要一方能正常工作,那么宿主机上的虚拟机都保持正常工作。抛开营销中的噱头,这种机制还是无法解决虚拟机中的应用程序崩溃,因为一旦一方崩溃,则这个变化也会同步到从节点,当你停止虚拟机的服务去修复它,从节点也会同样停止服务。所以这个机制只能保证单点失效的问题不再出现,而真正的应用层面的容错则需要MSCS或者WCS来解决。考虑到其他方面如最高资源使用、内存、硬盘、CPU、带宽的容错,这些方面都有局限性,并且是使用量相对比较小的功能。如实现这些则这需要双倍的内存,由于内存不能跨主机复制,并且还需要CPU lockstepping去同步每一个CPU指令。这将导致只有单独一个虚拟CPU被容错机制所监控。 OpenStack Fault Tolerance(容错) 在OpenStack中没有针对于容错的功能,并且截至目前也没有计划去完成这些功能。未来,KVM也不再支持镜像操作功能。 我们可以看到,在功能的支持方面和功能细节,OpenStack与VMware还是有差距的,但是这对OpenStack还是有优势的,因为较比VMware的昂贵价格,OpenStack免费、开放的优势显现出来。VMware高投入带来的功能,OpenStack大部分可以免费提供给客户。 从VMware在功能方面的领先可以看出,VMware还在继续研发除了vMotion、高可用、容错以外其他的新功能去保护他们的虚拟机;OpenStack一方面跟随VMware的脚步,另一方面他们投入精力在支持更多硬件厂商解决方案的上面。 |