use*_*166 23 memory ecc file-server
我想建立一个存储服务器(基于 GNU/Linux 或 FreeBSD),它将一直运行。为了防止数据损坏(这不太可能发生,因为我从来没有遇到过这样的问题,但最好是安全而不是抱歉)我想使用 ECC RAM。
虽然不如 EDD (?)(它更贵)并提供额外的保护。ECC 似乎只能纠正单个位错误。
ECC 注册 RAM 仅可用于工作站/服务器主板,例如 Intel Xeon 或 AMD interlagos/magny-cours/valencia g34 或 c32。
ECC 无缓冲可在华硕主板上的 Intel Xeon lga1155 或 AMD AM3+ 上使用。
第二种选择在处理器和主板方面要便宜得多,我怀疑我是否需要超过 16GB 的 RAM(4x4 GB ECC 无缓冲是最大的经济实惠的棒)。
我的疑问是(主要是关于华硕 am3+ 板):ECC 无缓冲 RAM 和 ECC 注册 RAM 一样好(从安全性和可靠性的角度来看)?或者这是一个更糟糕的选择。我不太在意速度。
更多详细信息:服务器将使用最多配备 24 个 3.5 英寸驱动器的服务器机箱,并且应尽可能少地消耗。从这个意义上说,LGA1155 似乎是更好的选择(TDP ~ 20-95W),而其他产品(>80W)的价格是后者的两倍。欢迎任何建议。假设空闲时低于 120W(~ 24 个硬盘中有 10 个)。
Hen*_*nes 57
ECC 似乎只能纠正单个位错误。
正确的。纠正更多错误需要更多位。实际上,您已经使用 10 位来存储 8 位信息,“浪费”了 20% 的内存芯片以允许进行一位纠正和多达两位的错误检测。
它的工作原理如下。想象一个0或一个1。如果我阅读其中任何一个,那么我只希望我阅读正确的内容。如果 0 被某些宇宙辐射或坏芯片翻转为 1,那么我永远不会知道。
过去,我们试图通过平价来解决这个问题。奇偶校验是每存储 8 位添加第九位。我们检查了字节中有多少个零和多少个 1。第九个设置为偶数。(偶校验)如果你读过一个字节并且数字是错误的,那么你就知道有问题。你不知道哪一点是错的。
ECC 对此进行了扩展。它使用 10 位和复杂的算法来发现单个位何时翻转。它还知道原始值是什么。一个非常简单的方法来解释它是如何做到的:
将所有0s替换为000。将所有1s替换为111。
现在您可以阅读六种组合:
000
001
010
100
101
111
我们永远无法 100% 确定最初存储的内容。如果我们阅读,000那么这可能000正是我们所期望的,或者所有三个位都可能翻转。后者可能性很小。位不会随机翻转,尽管它确实发生了。假设对于一些简单的计算,这种情况会发生十分之一(现实情况要少得多)。计算出以下读取正确值的机会:
000-> 要么000(99.9% 确定),要么三次翻转(1/1000 几率)
001-> 我们知道出了点问题。但它要么
000翻转了一位(1:10 的几率),要么
111翻转了两位(1:100 的几率)。因此,让我们将其视为读取000但记录错误。
010 -> 同上。
100 -> 同上。
011 -> 同上,但假设它是一个 111
101 -> 同上,但假设它是一个 111
110 -> 同上,但假设它是一个 111
111-> 要么111(99.9% 确定),要么三次翻转(1/1000 几率)
111-> 要么000(99.9% 确定),要么三次翻转(1/1000 几率)
ECC 有类似的技巧,但效率更高。对于 8 位(一个字节),他们只使用 10 位来检测和纠正。
ECC 注册 RAM 仅可用于工作站/服务器主板 ECC 无缓冲可用于 Intel Xeon lga1155 或华硕主板上的 AMD AM3+。
我已经提到了 ECC 部分是什么,现在是注册部分与未缓冲部分。
在现代 CPU 中,内存控制器位于 CPU 芯片上,从很久以前开始用于 AMD Opteron 芯片和用于英特尔的 Core i 系列。大多数台式机 CPU 然后直接与装有 RAM 的 DIMM 插槽通信。它有效,不需要额外的逻辑。这很便宜,而且速度很高,因为从内存控制器到 RAM 没有延迟。
但是内存控制器只能在高速下驱动有限的电流。这意味着可以在主板上添加多少个内存插槽是有限制的。(更复杂的是,DIMM 可以使用多少,这会导致内存列。我将跳过它,因为这已经很长了)。
在服务器主板上,您通常希望使用比台式机系统更多的内存。因此,一个“寄存器”缓冲区被添加到内存中。从 DIMM 上的芯片读取的内容首先被复制到此缓冲区。一个时钟周期后,该缓冲区连接到内存控制器以传输数据。
这个缓冲区/寄存器会延迟事情,使内存变慢。这是不可取的,因此它仅在具有大量存储库的板上使用/需要。大多数消费类主板不需要这个,大多数消费类 CPU 不支持它。
直接连接的、无缓冲的 RAM 与缓冲/注册的 RAM 并不是一个比另一个更好或更差的情况。它们只是在您可以拥有多少个内存插槽方面有不同的权衡。注册 RAM 允许更多的 RAM,但代价是一些速度(可能还有费用)。在大多数情况下,您需要尽可能多的内存,额外的内存足以补偿以稍慢速度运行的 RAM。
我的疑问是(主要是关于华硕 am3+ 板):ECC 无缓冲 RAM 和 ECC 注册 RAM 一样好(从安全性和可靠性的角度来看)?或者这是一个更糟糕的选择。我不太在意速度。**
从安全性和稳定性的角度来看,ECC-unbuffered 和 ECC-registered 是一样的。
更多详细信息:服务器将使用最多配备 24 x 3 ½'' 驱动器的服务器机箱,并且应尽可能少地消耗。
24 个驱动器将消耗大量电力。多少取决于驱动器。我的 140GB 15K RPM SAS 驱动器在空闲时仅消耗 10 瓦,与 1TB SATA 7k2 磁盘相同。在使用时都绘制更多。
将其乘以 24。24x10 瓦在空闲时意味着 240 瓦只是保持磁盘盘片旋转,克服空气阻力。双重使用中。
从这个意义上说,LGA1155 似乎是更好的选择(TDP ~ 20-95W),而其他产品(>80W)的价格是后者的两倍。
英特尔在低功耗 CPU 方面做得更好,在撰写本文时以及您提到的 CPU 方面。
欢迎任何建议。假设空闲时低于 120W(~ 24 个硬盘中有 10 个)。
如果您选择 FreeBSD,请仔细研究 ZFS。它可以很棒。它的许多更高级的功能(例如重复数据删除和/或压缩)使用严重的 CPU 能力,并且需要大量内存。ZFS 用于 ZRAID 的基本用途在您提到的两个 CPU 集和 16 GB 上都可以正常工作,但是如果您打开重复数据删除等功能,您应该仔细查看磁盘容量所需的推荐内存;一些指南建议每 TB 存储高达 5GB 。
还有两件事:
小智 5
两个不同的问题。
inf*_*inf -13
好吧,如果您只使用 16GB RAM(这不是服务器 RAM 范围),您就可以使用相当标准的任何桌面 RAM/系统。
如果只是存储服务器,甚至不需要那么高的CPU性能。
就像你说的,选择 Sandy Bridge,它会给你一个很酷、高性能和可靠的系统。
说到 16GB RAM 范围,您不必担心 ECC 问题。
| 归档时间: |
|
| 查看次数: |
47950 次 |
| 最近记录: |