帮助分类
常见问题
服务器/域名/数据库
备案
网络安全
云计算
其他问题
增强服务器内存可用性的特性
  缺少可用内存始终是个问题,而奇偶校验等错误检测技术已存在了好多年。奇偶校验很简单,对于检测单比特错误也很有效,但它纠正不了单比特错误,所以没有大量地应用于服务器。幸好,现在有或正出现另外许多特性,有助于增强内存可靠性。不妨考虑以下几种方案:

  ECC。系统厂商们不是依赖奇偶校验,而是依赖纠错码(ECC)技术。ECC立足于奇偶校验的基础上,它使用一种算法,为每64比特的内存创建和存储一个8比特码(每个地址总共72比特)。这种算法和编码让系统得以实时检测和纠正单比特错误,此外还能检测多比特错误,并防止系统使用破损数据。ECC通常是许多通用服务器上采用的确保内存可靠性的默认技术。


  先进ECC。先进ECC把ECC方法扩大到了多种内存设备,让ECC得以检测和纠正多比特故障,只要这些故障出现在同一个内存设备里面。不过,ECC和先进ECC并不支持任何一种故障切换机制,所以为了排除有问题的内存模块,仍得关闭系统(或依赖其他系统技术)。许多企业级服务器可以提供某种先进ECC,比如IBM ProLiant或戴尔PowerEdge。


  内存错误跟踪。应对内存错误的一方面是,首先密切跟踪内存错误。新兴的服务器设计通过为错误率和位置做一份列表,开始密切跟踪可以纠正的错误。一些服务器还能将错误信息保存在内存模块上的可重写串行存在检测(SPD)内存空间——可以读取该内存空间,以便将来评估和分析。一旦系统能跟踪可以纠正的内存错误,并将该信息转移到系统的管理工具,就有可能通过记下错误率突然增加的DIMM来预测可能发生的内存故障。错误跟踪称得上是更先进的内存可靠性特性的先驱,更先进的特性包括DIMM故障切换或在物理内存空间里面转移数据。


  热备用内存。热备用概念在磁盘存储领域很常见,但只是最近才在服务器设计流行起来。这是由于系统必须有一定的智能,才能先识别和跟踪可以纠正的内存错误,之后才能决定把数据转移到备用内存模块上。内存错误跟踪方面的技术进步让服务器的内存控制器得以将数据从存在的错误不可接受的DIMM转移到同一通道中的另一个备用DIMM上。这也叫内存插槽备用(rank sparing)。这种方法存在的不足是,为错误发生前一直非生产性的服务器增添内存需要一笔开支。


  备标记(Device tagging)。一种内存故障切换技术是基于BIOS的技术,名为设备标记。当系统跟踪到出现错误率增加的内存模块时,系统基本上就能把数据从有问题的内存转移到ECC内存——实际上使用ECC内存作为一个小小的热备用内存。这有望减少内存故障,但同时无法在这部分内存里面进行错误检测和纠正。设备标记被用作一种权宜之计,让系统保持运行,直到有问题的内存模块被换掉为止。


  内存镜像。完美的内存可靠性技术就是把服务器上内存中内容从一个通道复制到另一个配对通道上。这实际上就是为内存建立了RAID 1机制。如果一个通道的内存里面出现故障,内存控制器就会切换到配对通道上,没有任何干扰;完成修复工作(如果需要修复)后,通道就可以重新进行同步。镜像方法的缺点与存储方面的RAID 1一样;由于内存中的内容被复制,存储容量减少了一半,或者说内存成本实际上翻了一番。


  如今内存在现代虚拟化服务器中扮演更关键的角色,所以应对和缓解内存错误的破坏性效应显得比以往更为重要。IT专业人员可以使用一系列不断完善的内存可靠性特性,但是他们必须先对内存可用性方面的需求进行更认真地评估,然后再部署拥有的特性可以满足