对服务器来说,热插拔技术和功能的实现,最终目标是获得系统运行的稳定性和可靠性,实现连续无中断的程序应用,意义深远。
在不停机的情况下,硬盘、电源、风扇随便拔,内存任意插,这样的感觉你体会过吗?对于个人PC用户来说,热插拔一般指的是USB接口的硬件产品,但对服务器来说,热插拔的含义则更为深刻和广泛。热插拔技术是为了提高服务器的可用性和应用性才得以诞生的,并且一直应用于服务器并延伸至个人PC和工作站。热插拔技术发展至今,可热插拔设备的名单已有长长的一串,包括网卡、电源、风扇、硬盘、内存等等,甚至是服务器本身,当然这是集群技术了。在这个名单的背后,是服务器厂商们为之投入的大批研发力量和无数的技术开发成果,当然服务器厂商付出艰辛努力的同时也换来了用户信息系统的高可用性和安全性。在享受这些技术结晶带来方便和高效的同时,也许你会希望了解一下它们背后的秘密。
通俗地讲,热插拔指的就是在不关闭系统或电源的情况下替换、添加、移除硬件设备,学术上的说法就是热替换(Hot Replacement)、热添加(Hot Expansion)和热升级(Hot Upgrade)。热插拔功能的实现首先需要软、硬件的共同支持,包括有热插拔功能的硬件设备、支持热插拔的操作系统和用户界面、主板BIOS以及支持热插拔功能的PCI总线等等。其中PCI热插拔技术对于网卡、电源、风扇、SCSI设备等热插拔硬件的应用来说意义重大,因为它是这些设备得以实现热插拔功能的基础,没有数据总线的支持,又哪来设备的连接和应用呢?当然这里还有一个标准问题,因为PCI总线体系结构的改变就意味着硬件接口标准的改变,所以必须制定统一的工业标准,技术才能获得推广。PCI热插拔技术,最早是由康柏针对ProLiant服务器开发的,然后转售给英特尔,再由英特尔转售给其他设备制造厂商。之后惠普合并了康柏,又同IBM合作开发了新一代PCI技术——PCI-X,并完成了最终的标准制定工作,进入技术的全面推广阶段。因此,惠普是目前全面支持和掌握所有PCI技术的服务器厂商,也是制定工业标准的领导者。而惠普的ProLiant服务器也因此成为热插拔技术的最佳代言人。
有了规范的工业标准,PCI热插拔技术也就得到了硬件方面的支持,但它还需要通过软件来完善和实现。首先是操作系统的支持,微软在Windows2000中支持PCI热插拔功能的是“高级配置和电流界面”(ACPI)规范,通过屏蔽每个热插拔控制器来实现硬件的热插拔,以及在线升级(也就是热升级)。惠普在微软的ACPI规范的基础上又做了进一步改进,开发出PCI Hot Plug Utility远程管理工具,可以在操作系统不支持热插拔功能的情况下,用统一的管理平台统一调用和管理远程网络系统中的PCI热插拔插槽。而且惠普还对插槽进行了专用集成电路(ASIC)来控制热插拔设备时插槽的电流稳定性。显而易见,ProLiant服务器由此获得了两种软件支持热插拔设备的途径,操作系统或者是PCI Hot Plug Utility。
有了PCI总线的支持,带电插拔服务器中的SCSI设备、网卡、电源、风扇等自然变得轻而易举。但要实现服务器内存的热插拔,就不仅仅是PCI总线技术所能解决的了。其实内存的出错几率很少,但是一旦出现问题对关键系统关键业务造成的损失却是巨大的。而且,由于近两年芯片的生产工艺不断提高,高密度大容量的芯片应用已越来越多,造成内存的错误几率随之增加。曾有数据统计,近一年内由内存错误产生的系统故障率从3%急速上升到48%。所以,仅靠ECC内存技术还不足以保证系统的安全性和稳定性。
内存故障主要包括两种: 硬性错误和软性错误。所谓硬性错误是指内存条受外界环境影响而导致电压不稳产生的存取错误。对此还有个有趣的科学发现,宇宙射线肯定会造成内存故障,而且海拔越高内存报错率越大。软性错误是最常见的,它既有制造工艺的因素也有算法校验的问题。现在绝大部分服务器都安装的是Advanced ECC内存条,可以校验和纠正四个比特以内的错误,内存保护模式多为在线备份和镜像备份。但是这两种模式都不能达到完全意义上的内存热插拔。现在有些厂商宣传其产品具有内存热插拔特性,他们的产品采用的就都是镜像备份模式。镜像备份模式的主要缺点就是插拔内存具有选择性,如果你拔掉了关键内存条,就会立刻宕机没商量。而且全镜像备份还有个问题,就是会造成很大的资源浪费。因为如果你要做8GB的全镜像,就要插16GB的内存。因此,新的内存保护模式又产生了。惠普借用经典的存储容错技术——RAID概念,开发成功了惠普热插拔RAID 内存(Hot Plug RAID memory)技术。它在概念上和RAID 4 磁盘存储技术非常相似,在系统架构上就更像一个硬盘。所以,采用了热插拔RAID内存保护模式的系统就可以达到像RAID硬盘一样随意替换内存的效果。
与磁盘阵列不同,热插拔RAID内存不存在延时(mechanical delay)。热插拔RAID内存使用的是并行点对点连接方式写数据,而不是通过连接多块磁盘的串行总线。这种方式的优点是数据可以同时被写入多个存储区(内存盒),消除了因为存储系统使用RAID技术处理而带来的写数据的瓶颈问题。采用了惠普热插拔RAID内存方式的ProLiant服务器使用5个内存控制器来控制5个内存盒(memory cartridges)。每个盒可以安装最多8个工业标准DIMM。当内存控制器要向内存中写数据时,它们会把数据分成4块写入4个内存盒,计算奇偶信息并存放在第5个内存盒中。利用4个内存盒中的数据和第5个内存盒中奇偶信息,数据可以完全恢复,即使是任何DIMM工作故障,或任何一个内存盒被拆掉了,也可以做到不丢失数据。可以看出,热插拔RAID内存克服了在线备份和镜像备份两种模式的各种缺点,为系统提供了长时间不间断运行条件,使应用程序获得更高的可靠性和稳定性。
其实,无论是内存、硬盘、电源、风扇,它们实现热插拔功能的最终目的都是获得系统运行的稳定性和可靠性,实现连续无中断的程序应用。对于服务器制造商而言,热插拔技术是不断地挑战,而对用户来说,热插拔技术使实际应用更方便、高效和稳定。
200字以内,仅用于支线交流,主线讨论请采用回复功能。