ECC内存的重要性


11

ECC内存模块在非关键服务器上是否重要?

我当时正在考虑让自己成为一个玩具专用服务器,以处理许多随机的,非关键性的内容。零星的重启并不重要。我正在寻找一个提供商,但是价格非常便宜。对于任何严重的服务器机箱,它们的硬件听起来都像是在开玩笑:台式机处理器,非ECC RAM,无名机箱,无热插拔SATA HDD等(价格合理,我想)。

我认为ECC内存在任何“严肃”服务器上都是理所当然的,所以我想知道对于“玩具”设备来说这是否大事了。


3
您质疑ECC内存,但似乎很乐意使用SATA驱动器。很奇怪。
John Gardeniers'2

3
@JohnGardeniers您看到,即使这意味着硬盘驱动器每年一次失效,我也不介意花费数小时的停机时间和RAID恢复。但是每天/每周都有麻烦会很烦人。是的,在这种情况下,我实际上更关心自己的休闲时间而不是我的正常工作时间……
PJK 2012年

6
@JohnGardeniers:SATA驱动器没有比SCSI / SAS硬盘更可靠:usenix.org/event/fast07/tech/schroeder/schroeder.pdf
Hubert Kario,

Answers:



10

ECC RAM基本上有助于防止从RAM读取和写入时发生的错误。实际上出现错误的机会很小,但不为零。我要说的是,如果您不执行关键任务的工作,则无需ECC RAM就能摆脱困境-就像我说的那样,遇到ECC可以防止的错误的机会确实非常小。


6

什么是非关键服务器?一个会失败的?

当内存可靠性至关重要时,ECC RAM 就至关重要。

随着内存大小的增长,有两件事:

  • 软件对内存的依赖,特别是 服务器软件(例如缓存)
  • 内存错误的概率(p = num_bits * p_bit_failure)

关于ECC的这份英特尔演示文稿报告了以下事实:

  • 具有4GB内存,24x7运行的服务器的平均内存错误率是每年150次
  • 每年每个内存模块约4000个可纠正错误
  • 超频和系统寿命大大增加了故障率
  • 反复出现的故障很常见,并且会很快发生(97%发生在第一次失败的10天内)=>雪崩效应
  • 对于使用寿命为3到5年的ECC服务器,发生系统故障且无法纠正的内存错误的可能性小于0.001%

WISC的另一项最新研究表明,ECC对于这些ZFS系统至关重要:

ZFS没有防止内存损坏的预防措施:不良的数据块会返回给用户或写入磁盘,文件系统操作会失败,并且很多时候整个系统都会崩溃。

重要的是要注意,其他文件系统对这种形式的数据损坏与ZFS一样敏感。

ECC使您在可能的情况下免于陷入这些问题,在灾难性的情况下,还可以提醒您有关此事的通知。


1

根本不是那么重要。如果您需要99.999%的正常运行时间,您将为此担心。除此之外,重新启动的次数多于发生内存错误的次数。


1

Google于2009年进行的这项研究发现,每兆位十亿设备小时的错误率介于25000到70000之间。这意味着(使用的)8GiB RAM每小时大约发生1.7至4.8个错误。

位翻转是存在的,一旦数据完整性很重要,就不应忽略它。

在您的情况下(随机,非关键性内容),这可能会过分杀伤力。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.