Я хотел бы построить сервер хранения (на основе GNU / Linux или FreeBSD), который будет работать постоянно. Чтобы предотвратить повреждение данных (что вряд ли произойдет, поскольку у меня никогда не было такой проблемы, но лучше быть в безопасности, чем сожалеть), я хотел бы использовать ECC RAM.
Хотя не так хорошо, как EDD (?) (Что намного дороже) и обеспечивает дополнительную защиту. ECC, кажется, исправляет только ошибки одного бита.
Зарегистрированная ECC RAM может использоваться только с платами рабочих станций / серверов, такими как Intel Xeon или AMD Interlagos / Magny-Cours / Valencia G34 или C32.
ECC без буферизации можно использовать на Intel Xeon lga1155 или AMD AM3 + на платах Asus.
Второй вариант будет намного дешевле со стороны процессора и материнской платы, и я сомневаюсь, что мне понадобится более 16 ГБ ОЗУ (4x4 ГБ ECC без буферизации - самые большие доступные стики).
У меня возникло сомнение (в основном относительно платы asus am3 +): ОЗУ без буферизации ECC так же хорошо, как ОЗУ, зарегистрированное ECC (с точки зрения безопасности и надежности)? Или это худший выбор. Меня не волнует скорость.
Более подробная информация: сервер будет использовать серверный корпус с дисками до 24 x 3,5 дюйма и должен потреблять как можно меньше. LGA1155 кажется в этом смысле лучшей ставкой (TDP ~ 20-95 Вт) по сравнению с остальными (> 80 Вт) при удвоении цены. Любое предложение приветствуется. Скажем, на холостом ходу менее 120 Вт (~ с 10 жесткими дисками из 24).
источник
Ответы:
Что ж, если вы используете только 16 ГБ ОЗУ - что не является диапазоном ОЗУ сервера - вам будет вполне достаточно стандартного ОЗУ / sys для настольных ПК.
Если это всего лишь сервер хранения, вам даже не понадобится такая высокая производительность процессора.
Как вы сказали, идите с Sandy Bridge, он даст вам классную, производительную и надежную систему.
Говоря о диапазонах 16 ГБ ОЗУ, вам не нужно беспокоиться о ECC.
источник
Верный. Для исправления большего количества ошибок потребуется больше битов. На самом деле, вы уже используете 10 бит для хранения 8 бит информации, «тратя» 20% микросхем памяти на коррекцию одного бита и до двух бит обнаружения ошибок.
Работает следующим образом. Представьте себе
0
или1
. Если я читаю либо, то я просто надеюсь, что прочитал правильно. Если 0 переворачивается на 1 из-за какого-то космического излучения или плохого чипа, я никогда не узнаю.В прошлом мы пытались решить это с паритетом. Четность добавляла девятый бит на 8 сохраненных битов. Мы проверили, сколько нулей и сколько 1 в байте. Девятое было установлено, чтобы сделать это четное число. (для четного контроля) Если вы когда-либо читали байт, а число было неправильным, значит, вы знали, что что-то не так. Вы не знаете, какой бит был неправильным, хотя.
ECC расширил это. Он использует 10 бит и сложный алгоритм, чтобы обнаружить, когда один бит перевернулся. Он также знает, каково было первоначальное значение. Очень простой способ объяснить, как это происходит:
Заменить все
0
s на000
. Заменить все1
s на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)ECCs делает подобные трюки, но делает это более эффективно. Для 8 бит (один байт) они используют только 10 бит для обнаружения и исправления.
Я уже упоминал, что часть ECC была, теперь зарегистрированная часть против небуферизованной части.
В современных процессорах контроллер памяти находится на кристалле процессора, начиная с давних пор для чипов AMD Opteron и с серией Core i для Intel. Большинство процессоров для настольных ПК взаимодействуют напрямую с разъемами DIMM, содержащими оперативную память. Это работает, и никакой дополнительной логики не требуется. Это дешево для сборки, и скорость высока, потому что нет никаких задержек при переходе от контроллера памяти к оперативной памяти.
Но контроллер памяти может управлять ограниченным током только на высоких скоростях. Это означает, что существует ограничение на количество сокетов памяти, которые можно добавить к материнской плате. (И чтобы сделать его более сложным, к тому, сколько модулей DIMM можно использовать, что приводит к разрядам памяти. Я пропущу это, так как это уже долго).
На серверных платах вы часто хотите использовать больше памяти, чем настольные системы. Поэтому буферный регистр добавляется в память. Чтения из микросхем DIMM сначала копируются в этот буфер. Через несколько часов этот буфер подключается к контроллеру памяти для передачи данных.
Этот буфер / регистр задерживает вещи, делая память медленнее. Это нежелательно, и поэтому оно используется / требуется только на платах с большим количеством банков памяти. Большинство потребительских плат не нуждаются в этом, и большинство потребительских процессоров не поддерживают это.
Непосредственно подключенная небуферизованная ОЗУ по сравнению с буферизованной / зарегистрированной ОЗУ не является случаем, когда одно лучше или хуже другого. У них просто есть различные компромиссы с точки зрения того, сколько слотов памяти вы можете иметь. Зарегистрированная RAM позволяет больше оперативной памяти за счет некоторой скорости (и, возможно, за счет). В большинстве случаев, когда вам нужно как можно больше памяти, эта дополнительная память более чем компенсирует работу ОЗУ с несколько меньшей скоростью.
С точки зрения безопасности и стабильности ECC-небуферизованные и ECC-зарегистрированные одинаковы.
24 накопителя потребляют много энергии. Сколько зависит от дисков. Мой диск SAS 140 ГБ 15K RPM потребляет всего 10 Вт на холостом ходу, так же как и диск SATA 7k2 1 ТБ. При использовании оба рисуют больше.
Умножьте это на 24. 24x10 Вт на холостом ходу означает 240 Вт, просто поддерживая вращение дисков и преодолевая сопротивление воздуха. Двойной, что для использования.
Intel лучше справляется с процессорами с низким энергопотреблением, на момент написания и с процессорами, о которых вы упомянули.
Если вы работаете с FreeBSD, присмотритесь к ZFS. Это может быть здорово. Многие из его более продвинутых функций (например, дедупликация и / или сжатие) используют серьезную мощность процессора и требуют много памяти. ZFS для базового использования с ZRAID отлично подойдет как для упомянутых вами наборов процессоров, так и для 16 ГБ, но если вы включите такие функции, как дедупликация, вам следует внимательно изучить рекомендуемую память, необходимую для вашей емкости диска; в некоторых руководствах рекомендуется использовать до 5 ГБ на ТБ памяти .
Еще две вещи:
источник
Два отдельных вопроса.
ECC против не-ECC
Зарегистрированные против небуферизованных:
источник