圣诞节就快来临了,在IT人员的愿望清单里,可靠的服务器必不可少。随着虚拟化技术的出现,一台物理服务器承载了几十个工作负载,对可靠性的需求就更加强烈,因为硬件故障与失败的迁移都会导致服务器崩溃,那就麻烦了。
与服务器可靠性相关的技术,如冗余电源供应、内存错误监测与纠正都进行得有点慢。需要识别、容纳与解决故障条件的协议与行为花费太昂贵,而且横跨所有层的交互操作并没有广泛的实施标准。本文介绍一些最新的工具,方便IT人士打造可靠的服务器。
存储子系统可靠性
检查奇偶校验位与错误纠正码ECC的技术可追溯到十多年前,较新的内存热备份与镜像都也比较完善。当然,随着内存数量与其重要性在服务器中伴随着虚拟化蹭蹭上升,我们需要更强悍的内存控制技术。
请求与巡视清除是ECC内存的高级应用。在请求清除中,系统可在运行期间纠正随机或偶然的ECC阅读错误。巡视清除可积极主动地定位并纠结系统内存中的错误。如果这些行动对于修复内存错误还不管用,那么就意味着永久性故障。潜在的永久性故障触发弹性功能,如使用镜像内存模式拖拽数据。有些系统会将失败位置打上标签,防止今后使用有问题的内存。
EEC只能在任何内存位置上纠正单位错误,如果是其他高级错误就得用上其他技术。如单台设备数据纠正器SDDC或高级ECC,其结合ECC模式在单个内存芯片里纠正多位内存错误。通过比较,双设备数据纠正器DDDC可让服务器抵御两个内存芯片上同时发生的多位错误。增强型的DDDC或DDDC+1能在此基础上发现并纠正额外的单位错误。这些技术解决了范围更广的内存小故障,预防共工作负载崩溃。
内存镜像通过提供DIMM保护内存,对内存内容进行同步化的复制。当监测到有内存故障,系统交换到镜像副本,直到替换出故障的DIMM。市面上的新款服务器支持局部内存镜像:只对任务关键工作负载所用服务器部分内存进行镜像。显然,这是降低成本的一种方式。
处理器子系统可靠性
服务器可靠性最大的威胁是在于当内存或处理器故障传达到系统,并且在工作负载之间传递。数据遏制模式识别一个或多个内存位置有错误,预防其他进程继续使用。例如在发生不可纠正错误时,过滤模式阻止系统将网络数据移动到PCIe总线,隔离服务器,阻止任何意外的网络数据传输到用户或其他服务器那去。
服务器使用处理器清除,将工作负载从有错的处理器核心无缝迁移到空闲的核心。有错的处理器就一直空闲着,直到解决了错误问题。至于内存清除,处理器清除只能在你的服务器有空余核心时才能发挥效用,所以对于利用率高的主机来说不太方便,因为无法忍受宕机时间。如果你的服务器使用插座禁用功能,它甚至可以启动一个有故障的处理器。
可靠性服务器的其他功能
过去,服务器故障会导致关闭整个系统,修复有错的设备。某些服务器现在包括热添加或热插拔功能,所有在服务器运行期间,有相关技术能升级或替换核心组件,如CPU、DIMM、PCIe卡等。
热添加是电气工程的、BIOS和操作系统智能的结晶。某些操作系统,如Windows Server 2008 R2、Red Hat Enterprise Linux 6与SUSE Linux Enterprise Server 11,可在服务器运行期间识别新资源并加以配置。