服务器虚拟化有两个卖点,一是提高处理器的利用率,物尽其用;二是用虚拟机承载应用,借助热迁移,令应用摆脱与物理服务器的紧耦合,让应用与物理设备无关,也就是松耦合,从而提升系统的可靠性。
那么,借助虚拟化是否就可以解决困扰用户的可靠性问题呢?答案是否定的,虚拟化的确可以提升系统的可靠性,但不能够全部问题。究其原因在于热迁移是条件的。虚拟机的确可以在不同物理设备之间进行迁移,但要求物理设备要保持健康状态。如果物理机突然宕机,那么它所承载的虚拟机是没有办法进行热迁移的。
要提高虚拟机的可靠性不是依靠热迁移,而是依靠HA或者 Fault Tolerance模块,相当于物理方案中的双机集群和容错。尽管如此,热迁移还是有其价值,就是应对计划内的停机,如设备维护、升级时,借助热迁移把应用移植走,升级完毕,再将应用迁移回来。但热迁移无法应对计划外的突然宕机,这是需要非常明确的。
要提升关键业务应用系统的可靠性,还是需要借助双机集群和容错系统,其中,双机集群依靠集群软件,技术要求高,管理复杂,当系统产生意外宕机时,故障很难定位,故障恢复需要时间,期间系统没有办法提供不中断的服务。
与双机相比,容错可以提供更高的可靠性,管理比较简单,故障排查非常方便,当CPU、内存、I/O等部件出现故障时,只要不是冗余部件同时损坏,系统就不会产生中断。但一部件出现故障,系统失去容错保护,但更换之后,系统就可以恢复容错工作状态,期间不需要任何停机。因此,容错服务器是关键业务应用的理想选择。
相对通用市场而言,关键业务应用是不折不扣的“小众市场”,其特点是数量不大,但销售额占比很高,以中国市场为例,小型机在销量上的占比只有3%,而销售额占比却高达41%,为154亿元的规模。
“小众市场”意味着使用者的人比较少,但不意味不重要,恰恰相反关键业务应用历来是必争之地。以往该市场被小型机所保持,但随着x86技术不断进步,特别是IA处理器性能已不逊于RISC, x86系统开始进入关键业务应用的市场。由于x86具有出色的性价比,大幅度降低了采购成本,因此x86成为了未来的趋势。
与x86相比,小型机开始暴露出了不足,如专业人才短缺、价格高等。但小型机作为一种成熟的方案,曾经的的霸主,所谓“瘦死骆驼”,小型机仍然拥有雄厚的用户基础。对于保守的用户来说,不会轻易放弃小型机的平台。但对于创新型用户而言,已经开始尝试将应用迁移到x86的平台。
对于那些没有应用包袱的用户来说,用户会更多考虑采用x86的方案,就可靠性而言,x86已经大幅度接近,甚至超过了小型机(如x86容错)。为了提升可靠性,小型机也采用双机集群和容错的方案,以往的历史发展就是这样的。如今,小型机仍然采用双机集群,但容错方案已经抛弃了小型机,开始拥抱x86。因为对于容错而言,RISC架构的成本太高,用户很难承受。
关键业务应用x86市场同样是双机集群和容错,其中,双机集群是借助集群软件来提升可靠性,其可靠性是99.99%,逊色于小型机集群的99.999%;但x86成本优势突出,在满足可靠性要求的前提下,x86双机集群的优势明显。但也存在着明显的不足,就是可靠性有限,双机切换无法实现真正的无缝切换,宕机后需要时间进行回复。
相对双机集群来说,x86容错方案的可靠性是99.9999%,这是超过小型机集群的。这也是容错技术的特点决定的,另外,容错还有一个优势,就是在软件授权上,容错是被作为一台机器,尽管拥有冗余的架构,但只需要一台设备的软件授权,而双机的两台设备需要分别购买授权。因此从系统总体成本来看,容错是占优,但是单从硬件成本看,容错比双机集群要高一些,而恰恰是这一点带来了选型上的障碍。
从以上的分析不难看出,x86容错是关键业务应用的上佳选择。x86容错的市场定位,不是市场的拾遗补阙,而是小型机、x86集群的理想替代产品,因为对于关键业务而言,可靠性才是第一需求,而容错具有最好的性价比表现。
x86容错是否会成为关键业务应用的主流,影响的因素有很多,其中不乏干扰。对于x86服务器的大厂商而言,会不遗余力的推动双机集群,软件厂商也会从多卖授权的考虑支持双机集群,而容错只能是用户的选择。