使用ZFS的非ECC内存:一个愚蠢的主意?


16

我有一台新服务器,并计划将微不足道的2 GB内存升级到最大16 GB。(理论上限制为8 GB,但根据经验显示16 GB是可以使用的。) 一些指南建议ECC内存并不那么重要,但是我不确定我是否相信这一点。

我已经安装了FreeNAS,并计划在我的新硬盘到货后立即添加ZFS卷。对于基于ZFS的NAS跳过并获得非ECC内存会很愚蠢吗?如果有必要,我会咬牙切齿,但如果只是妄想症,那么我可能会跳过它。

ZFS或FeeeNAS是否有任何理由特别需要ECC内存,或者在使用非ECC内存的系统上运行时尤其遭受苦难?


11
一般来说,对于要为ECC RAM付费的任何类型的生产/服务器应用程序。暗示ECC内存“不是那么重要”的指南充其量是怀疑的-我敢说,它们是由从未在生产系统中造成单位错误的人编写的。
voretaq7

1
您需要16GB RAM的微型服务器会如何处理?
tombull89

ZFS首先需要大量RAM,因此我计划安装ESXi并在其上运行FreeNas。这样,当我需要其他服务器时,我只需创建一个新的VM,就可以避免不必要的麻烦。(如果有一些家庭自动化解决方案不像X-10那样烂,那么我有一个盒子。如果我想将Git Lab用于私人仓库,那么我有一个盒子。等等)
iconoclast

2
我认为,如果他删除有关微型塔式钻机的上下文,这可能是生产中的疯狂构建,那么是否在ZFS安装中使用或不使用ECC内存的问题确实很重要。
肯特·弗雷德里克

1
2001年共同创立ZFS的Matt Ahrens There's nothing special about ZFS that requires/encourages the use of ECC RAM more so than any other filesystem.
Janus Troelsen

Answers:


7

我认为,当存储在ZFS卷上的数据很重要时,使用非ECC RAM运行FreeNAS是一个愚蠢的主意,就像将其作为虚拟客户机运行一样。

FreeNAS开发人员之一Joshua Paetzel在该主题上有出色的文章:http ://www.freenas.org/whats-new/2015/02/a-complete-guide-to-freenas-hardware-design -part-i-purpose-and-best-practices.html

TL; DR

ZFS可以做的事情是您将无法使用的其他文件系统:它对数据进行校验和,并对ZFS使用的元数据进行校验和,并对校验和进行校验和。如果您的数据在写入之前已在内存中损坏,则ZFS会很乐意写入(和校验和)损坏的数据。此外,ZFS没有预安装的一致性检查器或工具可以修复文件系统损坏。[...]如果非ECC内存模块陷入困境,则可能会对ZFS池造成不可挽回的损害,从而可能导致存储完全丢失。


谢谢。我相信。这正是我需要知道的。
iconoclast

@iconoclast我希望您不要等待2年才能得到这个答案。
ewwhite

13

ZFS仅保护您对磁盘数据的投资。如果服务器要投入生产,那么您希望获得尽可能长的正常运行时间,ECC通过允许服务器在出现故障的内存中容忍一位错误来帮助实现这一目标。这可以让您有时间安排和替换发生故障的内存而不会出现紧急情况。


@iconoclast取决于要翻转的位。如果碰巧是加密数据或加密密钥,那么您就失去了一切……
Michael Hampton

1
@MichaelHampton:因此,换句话说,对服务器上的数据进行加密实际上会增加由于内存故障而丢失数据的机会。
iconoclast 2012年

2
@iconoclast加密不能替代备份。尽管如果对磁盘进行加密,则几乎肯定也需要对备份进行加密。
迈克尔·汉普顿

3
@ewwhite具有单个电源是可用性问题。非ECC RAM可能会影响可用性和完整性。不难想象完整性比可用性重要的场景。
鹰队

2
如前所述。该服务器有ECC RAM。整个论点很愚蠢,因为除了制造商认可的RAM套件外,没有其他理由使用它。
ewwhite

12

ECC RAM是一件好事,但让我们看一下上下文...

对于您的预期用途,ProLiant Microserver是一种不错的小型低冲击服务器。它缺少一些通常与生产质量系统相关的属性(只有四个驱动器托架,单个电源,较弱的CPU)。因此,我认为与这些缺陷相关的问题要比没有纠错RAM的后果要早得多。您阅读的指南是正确的... ECC RAM在该特定系统中不会那么重要...

这不适用于高端生产质量的系统。

我将添加:Microserver 配备了ECC RAM。你为什么不使用它?


1
我假设“生产质量”是指企业质量?我将非常小的规模内将其用于生产(不是用于质量检查,UAT或开发)。但是其中的数据将是真实的,而不是为开发而生成或从生产服务器克隆的垃圾数据。这将是真实的生产数据。(顺便说一句,感谢您提供了非常有用的答案,可以帮助您将内容放到上下文中!)
iconoclast 2012年

1
@iconoclast不,生产质量仍然是生产质量。单个PSU不适用于任何需要保持正常运转的服务器,除非您想购买备用PSU来保持正常运行-这是愚蠢的,因为您可以将备用PSU插入并具有双PSU。保持安全不是“企业”
pauska

3
@iconoclast人们通常认为生产服务器是24/7且高度可用。后者肯定是一个成本/收益规模,范围从简单地拥有两个PSU到数据中心级冗余。但是,您的设置没有这些内容
2012年

1
完全尊重这次PSU演讲是垃圾。我的网络锚定在两个自定义构建的服务器上。DNS,DHCP,活动目录。在相应的情况下,运行Micro-ATX板,8个SAS光盘+ 2个SSD,Raid控制器和SINGLE PSU。你会叫那个非医管局吗?好吧,做到这一点-我仍然将HPC和虚拟化网格悬挂为锚点(即必须打开其中一个)。
TomTom

2
有些公司的服务器在一天结束时会关闭!我不会在我的家庭网络上这样做,但是有些公司似乎并不真正在意内部资源的可用性。
肯特·弗雷德里克
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.