提升虚拟服务器的可靠性可以先从仔细检查服务器硬件及特性开始。
让我们先从选择具有冗余电源的服务器开始。企业级服务器将包括两个冗余的电源模块,任意一个电源模块都能够支撑服务器的正常运转。当一个电源模块发生故障时,备份的电源模块将会接管而不会影响系统的正常运行。冗余的电源模块肯定不是个新主意,但在今后的技术升级过程中确保使用冗余的电源取代旧有的单电源系统是非常重要的。
虚拟机运行在服务器内存中,因此IT专业人员可以通过选择具有内存可靠性技术的系统来提升服务器的可用性。例如,当其他模块发生错误时具备额外内存模块的服务器能够调用额外的热备内存模块。内存巡检模块能够提前进行内存寻址以定位并纠正内存错误。设备数据双重修正允许服务器恢复发生在两个内存芯片中的多位错误,而增强型的DDDC在DDDC提供的保护之外能够监测并修正额外的单位错误。内存镜像通常会在两个内存模块之间复制内存内容—提供内存RAID 1。
其他可靠性技巧通常包括为服务器配置多块网卡。当所有硬件运行正常时,更多的端口能够提供额外的带宽并确保服务器所有工作负载的连通性。如果一个网卡端口发生故障,服务器仍旧能够提供网络连通性,将对虚拟机的影响降至最低。
但是IT专业人员要做的不仅仅是多买一些可靠的机器——当发生错误时采取相应的策略及措施来解决服务器故障是非常重要的。请记住高可用性技术并不能确保服务器不发生错误——当出现错误时这些技术仅仅帮助服务器继续运行。当内存模块或者电源模块发生故障,服务器的可靠性将降低直到技术人员完成维修,因此要考虑告警,故障切换过程以及虚拟服务器的故障诊断需求。
实现虚拟服务器可靠性的软件工具
服务器针对关键业务实现可靠性的最为有效的方式之一就是使用服务器集群。集群创建了服务器组,集群中的每台服务器都运行了冗余的虚拟机。当一台服务器发生故障,集群软件将从集群中移除出现故障的服务器,虚拟机的其他副本将会接管业务而不会导致服务中断。集群的主要优势在于集群中的服务器通常会放弃很多的高可用性特性——业务通常会被集群中的其他服务器所接管。
像Stratus Technologies公司everRun这样的工具采用了类似的方式,支持在多个不同的服务器之间同步工作负载的副本。当原工作负载被破坏掉之后,副本会立刻变为活动的。尽管以传统的观点来看这并非集群,但是该方式达到了与集群相同的冗余级别。
市场上还有其他类似的产品。例如,VMware推出的hypervisor提供了能够在其他服务器上自动重启受影响服务器的高可用工具。尽管在重启过程中可能会发生短暂的业务中断,但是其自动化特性帮助组织快速解决了特定应用的可用性需求。
以上只是企业针对关键业务选择相应高可用性软件的部分示例。IT规划人员必须根据每种工作负载的相对价值来选择相应的工具并确保所有的虚拟机得到合理的保护。