服务器级硬件有必要烧内存吗?

eww*_*ite 33 hardware memory hp supermicro stress-testing

考虑到许多服务器级系统都配备了ECC RAM部署之前入内存 DIMM是否必要或有用?

我遇到过这样一种环境,其中所有服务器 RAM 都经过漫长的老化/压力测试过程。这有时会延迟系统部署并影响硬件交付时间。

服务器硬件主要是Supermicro,因此 RAM 来自各种供应商;不是直接来自制造商,如Dell PoweredgeHP ProLiant

这是一个有用的练习吗?在我过去的经验中,我只是直接使用供应商 RAM。POST内存测试不应该捕获 DOA 内存吗?我早在 DIMM 实际发生故障之前就对 ECC 错误做出了响应,因为 ECC 阈值通常是保修安置的触发因素。

  • 你烧入你的RAM吗?
  • 如果是这样,您使用什么方法来执行测试?
  • 它是否在部署之前发现了任何问题?
  • 与不执行该步骤相比,老化过程是否导致任何额外的平台稳定性?
  • RAM添加到现有正在运行的服务器时,您会怎么做?

Sha*_*den 31

不。

烧毁硬件的目标是将其强调到催化组件故障的程度。

用机械硬盘驱动器这样做会得到一些结果,但它不会对 RAM 做很多事情。组件的性质使得环境因素和老化比读取和写入 RAM(即使在其最大带宽下几个小时或几天)更有可能成为失败的原因。

假设您的 RAM 质量足够高,以至于您第一次真正开始使用它时焊料不会熔化,那么老化过程将无法帮助您找到缺陷。


Luc*_*man 26

我找到了金士顿的一份文档,详细说明了他们如何使用服务器内存,我相信这个过程对于大多数知名制造商来说通常是相同的。存储芯片以及所有半导体设备都遵循特定的可靠性/故障模式,称为浴缸曲线:

在此处输入图片说明

时间在横轴上表示,从工厂发货开始并持续到三个不同的时间段:

  • 早期故障:大多数故障发生在早期使用期间。然而,随着时间的推移,故障的数量会迅速减少。早期生命失败期(以黄色显示)约为 3 个月。

  • 使用寿命:在此期间,故障极为罕见。使用寿命以蓝色显示,估计为 20 年以上。

  • 寿命终止故障:最终,半导体产品会磨损并出现故障。生命周期终止期以绿色显示

现在因为金士顿注意到前三个月会出现高故障率(在这三个月之后,该设备被认为是好的,直到大约 15 到 20 年后它的 EOL)。他们使用名为 KT2400 的单元设计了一项测试,该单元在 100 摄氏度的高电压下对服务器内存模块进行了 24 小时的残酷测试,通过这种方式,每个 DRAM 芯片的所有单元都将持续运行;这种高水平的压力测试会使模块老化至少三个月(如大多数模块出现故障的关键时期之前所述)。

结果是:

2004 年 3 月,金士顿开始了为期六个月的试用,其中 100% 的服务器内存在 KT2400 上进行了测试。密切监测结果以衡量故障的变化。2004 年 9 月,在对所有测试数据进行汇总和分析后,结果表明故障减少了 90%。这些结果超出了预期,代表了对本已处于同类产品顶端的产品线的重大改进。

那么为什么在内存中刻录对服务器内存没有用呢?很简单,因为它已经由您的制造商完成了!

  • 芯片制造商,甚至服务器供应商可能会测试*一些*芯片。但现在 mst 组件仅进行样品测试以降低成本。即使您的芯片或整个 DIMM 曾经进行过测试,也不能告诉您触点或 PCB 在组装或运输过程中是否以某种方式进行了调整或弄乱。我们有一个 MemTEst86 老化测试发现来自两个不同服务器的内存问题,来自两个不同的“一级”服务器供应商的开箱即用。如果他们将其投入生产,ECC 可能会拯救我们,但结果也可能是无声的数据库损坏。 (10认同)
  • 这条浴盆曲线不仅适用于半导体。大多数以任何程度的质量控制构建的组件都遵循它:硬盘驱动器、SSD、电源(主要是因为电容器)、风扇等。 (7认同)
  • 这是我从不购买电子产品延长保修的原因之一。设备(或组件)要么会在最初几个月内发生故障,要么会持续其余生。这也说明了为什么尽早剔除坏苹果如此重要,以便您可以尽快顺利航行。 (6认同)
  • @ewwhite 是的,我会测试。启动 memtest86 并让它检查 384 GB 的 RAM 只需要几个小时左右。出于同样的原因,我们也使用 IOmeter 烧录了所有存储子系统。在过去的几年中,有几个 RAID 控制器或驱动器在我们的老化过程中死机,即使它们最初在操作系统安装期间运行良好。有时是固件不好,有时是 RAID 控制器上的缓存 RAM 有问题,有时是“谁知道 - RMA it!” (3认同)

Cho*_*er3 15

我们购买刀片,并且我们通常一次购买相当大的刀片,因此我们会在我们的网络端口准备好/安全之前的几天内将它们放入并安装它们。因此,我们利用这段时间使用 memtest 大约 24 小时,如果它超过周末,有时会更长 - 完成后,我们喷洒基本的 ESXi,IP 已准备好在网络启动后应用其主机配置文件。所以是的,我们测试它,更多是出于机会而不是必要,但它之前已经捕获了一些 DOA DIMM,而且这不是我亲自做的,所以我不费吹灰之力。我是为了它。

  • “机会测试”是有道理的——如果我有机会去做的话。如果要延迟部署,我可能会冒 DIMM 坏和 ECC 灯坏的风险 :-) (3认同)
  • 如果您将测试构建到部署计划中,那么您就为自己争取了时间,如果您只是尽可能快地完成所有工作,那么您将在日后受到批评。任何时候都可以进行强有力的管理:) (2认同)

Ata*_*911 11

好吧,我想这完全取决于您的流程是什么。在我将它放入系统(服务器或其他)之前,我总是在内存上运行 MemTest86。系统启动并运行后,由故障内存引起的问题可能很难解决。

至于实际上对内存进行“压力测试”;我什至还没有明白为什么这会很有用,除非您正在测试超频目的。

  • MemTest 会让您知道内存内部是否存在任何缺陷。它通过在内存中存储字节模式以及随机字节集以尝试触发错误来实现这一点。该程序可以运行一个“pass”来让你知道内存是否良好,但我通常会在一夜之间运行多次pass来确定。MemTest 的好处在于,它会在我部署系统之前告诉我内存是否坏了。它已多次触发 RMA,让我省去了很多麻烦。部署机器后,@ss 到 RMA 内存会很痛苦。 (6认同)
  • 我在 MemTest86+ 中发现了很多 BIOS 和 Windows 内存诊断程序找不到的错误。我强烈推荐它。是的,ECC 会发现相同的错误,但是 memtest 会帮助您提前找到它们。 (4认同)
  • @OwenJohnson 通常,当您运行 MemTest86(+) 时,您希望在将机器投入生产之前触发那些 ECC 错误:-) (2认同)

Sir*_*rex 6

我没有,但我见过有人这样做。不过,我从未见过他们从中获得任何好处,我认为这可能是宿醉或迷信。

就个人而言,我和你一样,因为 ECC 错误率对我更有用——假设 RAM 不是 DOA,但无论如何你都会知道。


Ton*_*nny 6

对于非 ECC ram,在 memtest86+ 上运行 30 分钟很有用,因为在系统运行时通常没有可靠的方法来检测位错误。
蓝屏被认为是不可靠的方法......
而且轻微片状的 RAM 通常不会立即显示,只有在系统看到一些全内存负载之后,只有当该 RAM 中的数据是被使用的代码并且然后坠毁。数据损坏可能会在很长一段时间内不被注意。

对于 ECC ram,它不会做任何内存控制器本身不会做的事情,所以它真的没有意义。这只是浪费时间。

以我的经验,坚持燃烧的人通常是老家伙,他们总是这样做,并且出于习惯而一直这样做,而没有真正认为事情是真的。
或者他们是按照那些老家伙写的规定程序的年轻人。