Нужно ли прожигать оперативную память для оборудования серверного класса?

31

Учитывая тот факт, что многие системы серверного класса оснащены ОЗУ ECC , необходимо или полезно записывать модули памяти DIMM перед их развертыванием?

Я столкнулся со средой, в которой вся оперативная память сервера размещается в процессе длительного прожигания / стресс-тестирования. Это иногда задерживает развертывание системы и влияет на время подготовки оборудования.

В качестве серверного оборудования используется в основном Supermicro , поэтому оперативная память поступает от различных поставщиков; не напрямую от производителя, как Dell Poweredge или HP ProLiant .

Это полезное упражнение? В моем прошлом опыте я просто использовал ОЗУ производителя из коробки. Разве тесты памяти POST не должны ловить память DOA? Я реагировал на ошибки ECC задолго до того, как модуль DIMM действительно вышел из строя, поскольку пороговые значения ECC, как правило, были причиной для размещения гарантии.

  • Вы прожигаете свою оперативную память?
  • Если да, то какой метод (ы) вы используете для проведения тестов?
  • Выявлены ли какие-либо проблемы перед развертыванием?
  • Приведет ли процесс выгорания к дополнительной стабильности платформы по сравнению с не выполнением этого шага?
  • Что вы делаете при добавлении оперативной памяти на существующий работающий сервер?
ewwhite
источник

Ответы:

25

Я нашел документ Kingston, в котором подробно описывается, как они работают с серверной памятью, и я полагаю, что этот процесс, как правило, будет одинаковым для большинства известных производителей. Микросхемы памяти, как и все полупроводниковые устройства, следуют определенной схеме надежности / отказа, известной как кривая ванны:

введите описание изображения здесь

Время представлено на горизонтальной оси, начиная с заводской отгрузки и продолжаясь в течение трех различных периодов времени:

  • Сбои в начале жизни: большинство сбоев происходит в период раннего использования. Однако с течением времени количество отказов быстро уменьшается. Период ранней неудачи, показанный желтым цветом, составляет приблизительно 3 месяца.

  • Полезная жизнь: в этот период сбои крайне редки. Срок полезного использования показан синим цветом и оценивается в 20+ лет.

  • Отказы в конце срока службы: в конечном итоге, полупроводниковые изделия изнашиваются и выходят из строя. Период окончания жизни показан зеленым

Теперь, потому что Кингстон отметил, что первые три месяца будут иметь место высокие показатели отказов (после этих трех месяцев устройство считается хорошим, пока не наступит EOL через 15–20 лет). Они разработали тест с использованием модуля под названием KT2400, который жестоко тестирует модули памяти сервера в течение 24 часов при 100 градусах Цельсия при высоком напряжении, с помощью которого все ячейки каждого чипа DRAM непрерывно работают; Этот высокий уровень стресс-тестирования приводит к старению модулей как минимум на три месяца (как отмечалось до критического периода, когда большинство модулей показывают отказы).

Результаты были:

В марте 2004 года Kingston начал шестимесячную пробную версию, в которой 100 процентов его серверной памяти было протестировано на KT2400. Результаты были тщательно проверены, чтобы измерить изменение отказов. В сентябре 2004 года, после того как все данные испытаний были скомпилированы и проанализированы, результаты показали, что сбои сократились на 90 процентов. Эти результаты превзошли ожидания и представляют собой значительное улучшение для продуктовой линейки, которая уже была на вершине своего класса.

Так почему запись в память бесполезна для памяти сервера? Просто потому что это уже сделано вашим производителем!

Лукас Кауфман
источник
10
Производитель микросхемы и, возможно, даже поставщик серверов могут протестировать некоторые микросхемы. Но в настоящее время компоненты MST проходят только выборочные испытания, чтобы снизить стоимость. Даже если ваши микросхемы или целые модули DIMM были когда-то протестированы, это не говорит о том, были ли контакты или печатная плата каким-то образом изменены или испорчены во время сборки или доставки. У нас были проблемы с поиском MemTEst86 с памятью от двух разных серверов, из двух разных поставщиков серверов первого уровня. Если бы они добрались до производства, ECC, возможно, спас бы нас, но результатом могло быть и молчаливое повреждение базы данных.
rmalayter
7
Эта кривая ванны не только для полупроводников. За ним следует большинство компонентов, созданных с любым уровнем контроля качества: жесткие диски, твердотельные накопители, блоки питания (в основном из-за конденсаторов), вентиляторы и т. Д.
voretaq7
6
Это одна из причин, по которой я никогда не покупаю расширенные гарантии на электронику. Устройство (или компонент) либо выйдет из строя в первые несколько месяцев, либо продлится до конца своей жизни. Это также демонстрирует, почему так важно отсеивать плохие яблоки как можно раньше, чтобы вы могли как можно скорее добраться до плавного плавания.
Atari911
@rmalayter Значит, вы все равно будете выступать за сжигание оперативной памяти?
Ewwhite
2
@ewwhite Да, я бы проверил. Загрузка Memtest86 занимает около нескольких часов и позволяет проверить 384 ГБ ОЗУ. Мы сжигаем все подсистемы хранения, используя IOmeter по той же причине. За последние несколько лет у нас погибли несколько RAID-контроллеров или накопителей, хотя изначально они работали нормально во время установки ОС. Иногда это была плохая прошивка, иногда неисправная кэш-память на контроллере RAID, иногда это было «кто знает - это RMA!»
rmalayter
30

Нет.

Цель горения в оборудовании состоит в том, чтобы подчеркнуть его до такой степени, чтобы катализировать отказ в компоненте.

Делая это с механическими жесткими дисками, вы получите некоторые результаты, но для оперативной памяти это мало что даст. Природа компонента такова, что факторы окружающей среды и возраст гораздо более вероятно будут причиной сбоев, чем чтение и запись в ОЗУ (даже при максимальной пропускной способности в течение нескольких часов или дней).

Если у вас достаточно высокого качества ОЗУ, чтобы припой не расплавился при первом его использовании, процесс выгорания не поможет вам найти дефекты.

Шейн Мэдден
источник
15

Мы покупаем blade-серверы и, как правило, покупаем достаточно большие блоки за один раз, поэтому мы устанавливаем их и устанавливаем в течение ДНЕЙ до того, как наши сетевые порты будут готовы / безопасны. Таким образом, мы используем это время, чтобы использовать memtest в течение примерно 24 часов, иногда дольше, если он длится в выходные дни - как только это будет сделано, мы разбрасываем базовый ESXi, и IP готов для применения его профиля хоста, как только сеть начнет работать. Так что да, мы тестируем это, скорее из-за возможности, чем из-за необходимости, но до этого момента уловили несколько DOA DIMM, и это не я делаю физически, поэтому мне не нужно никаких усилий. Я за это.

Chopper3
источник
3
«Проверка возможностей» имеет смысл - учитывая шанс, что я это сделаю. Если это задержит развертывание, я могу рискнуть плохим DIMM и ECC light :-)
voretaq7
2
Если вы встраиваете тест в план развертывания, то вы выиграли себе время, если вы просто делаете все как можно быстрее, вы настраиваетесь на критику позже. Управление сильной рукой, когда вы можете :)
Chopper3
@ Chopper3 Итак, если вы устанавливали политику, делайте это всегда? , Не делать никогда? или сделать это когда сможешь? ,
Ewwhite
@ewwhite - я бы сказал, что последнее, хотя мы склонны встраивать это в стандартный план развертывания, поэтому каждый раз это очень вероятно.
Chopper3
11

Ну, я думаю, это зависит от того, что именно ваши процессы. Я ВСЕГДА запускаю MemTest86 в памяти, прежде чем поместить ее в систему (сервер или иным образом). После того, как ваша система запущена и работает, проблемы, вызванные неисправной памятью, могут быть трудно устранить.

Что касается собственно «стресс-тестирования» памяти; Я еще даже не понял, почему это было бы полезно, если вы не тестируете для целей разгона.

Atari911
источник
Что MemTest86 говорит вам? Обнаружили ли вы проблемы с оперативной памятью до установки ее на сервере с помощью этого метода?
ewwhite
4
Я обнаружил много ошибок с MemTest86 +, которые не найдены в диагностике памяти BIOS и Windows. Я очень рекомендую это. Да, ECC найдет те же ошибки, но memtest поможет вам найти их заранее.
Оуэн Джонсон
6
MemTest сообщит вам, есть ли какие-либо недостатки во внутренних органах памяти. Это достигается путем сохранения в памяти шаблонов байтов, а также случайных наборов байтов в попытке вызвать ошибку. Программа может запустить «проход», чтобы сообщить, хорошо ли работает память, но я обычно запускаю несколько проходов в одночасье, чтобы убедиться. Хорошая вещь о MemTest заключается в том, что он сообщает мне, если память не работает, прежде чем я разверну систему. Это вызвало многократно RMA и избавило меня от многих головных болей. Как только машина развернута, боль в @ss для RMA памяти.
Atari911
2
@OwenJohnson Обычно, когда вы запускаете MemTest86 (+), вы надеетесь вызвать эти ошибки ECC, прежде чем запускать машину в эксплуатацию :-)
voretaq7
6

Я не знаю, но я видел людей, которые делают. Я никогда не видел, чтобы они что-то от этого получали, я думаю, что это может быть похмелье или суеверие, возможно.

Лично я, как и вы, в том, что частота ошибок ECC для меня более полезна - при условии, что ОЗУ не DOA, но тогда вы все равно это знаете.

Sirex
источник
6

Для оперативной памяти, не поддерживающей ECC, полезно использовать 30 минут на memtest86 +, поскольку обычно не существует надежного метода обнаружения битовых ошибок во время работы системы.
Синий скрининг не считается надежным методом ...
И слегка нестабильное ОЗУ часто не отображается сразу, только после того, как система увидела некоторую загрузку полной памяти, и только тогда, если данные в этом ОЗУ были кодом, который использовался и затем разбился. Повреждение данных может оставаться незамеченным в течение длительных периодов времени.

Для ECC ram он не будет делать ничего, чего не будет делать сам контроллер памяти, так что на самом деле это не имеет смысла. Это просто пустая трата времени.

По моему опыту, люди, которые настаивают на том, чтобы выжигать, - это, как правило, старые парни, которые всегда так делали и которые продолжают делать это по привычке, не думая, что это правда.
Или они молодые парни, следуя предписанной процедуре, написанной этими старыми парнями.

Tonny
источник
Плохие знания, передаваемые из поколения в поколение?
Ewwhite
@ewwhite Да, насколько я знаю. И у меня есть степень бакалавра. в области компьютерных технологий, поэтому я должен знать, о чем говорю :-)
Тонни
за исключением всех случаев, когда люди действительно находили ошибки, как показано в ветке. Кроме того, если это не очевидно, есть разница в замене частей перед запуском сервера или заменой оперативной памяти на сервере БД, работающем в режиме 24x7. Если только не притвориться, что это «Выросшая ошибка», а все остальные просто старые и занимаются культом грузов, но это все равно приведет к потерям при отключении сервера prod.
Флориан Хейгл
1
@FlorianHeigl Я не защищаю использование памяти в ОЗУ ради этого, но я никогда не рекомендую запускать сервер в эксплуатацию, если он не будет подвергнут стресс-тестированию в течение как минимум 24 часов. ОЗУ обычно не является проблемой. Слабые жесткие диски, RAID-контроллеры, карты IPMI, блоки питания, процессоры, VRM ... Я все это видел. (И часто сервер выдерживает первоначальную установку просто отлично. Это нагрузка и / или здоровье, которые делают это, когда он должен действительно работать.)
Тонни
3

Это зависит.

Если вы развертываете 50 000 новых ОЗУ и знаете, что у этого конкретного оборудования частота отказов составляет 0,01% после менее чем одного дня работы, то, по статистике, должно быть несколько из них, которые выйдут из строя в первый же день. Сжигание предназначено, чтобы поймать это. С развертываниями такого масштаба ожидается сбой, а не исключительная ситуация.

Если вы развертываете только пару сотен элементов, статистика, скорее всего, на вашей стороне, так как вам не повезло, чтобы получить неисправные части.

Ли Райан
источник
У тебя есть смысл. Однако, давайте посмотрим правде в глаза, большинство из нас никогда не будут делать развертывания, такие большие. (Если только вы не строите новый дата-центр Google.) Большинство из нас, как правило, используют не более 5-10 серверов одновременно. Самым крупным из них, который я когда-либо делал, было 16 узлов ESX (4 кластера по 4 узла), каждый из которых принимал 8 модулей DIMM. Это было 3 года назад, и с тех пор 1 DIMM вышел из строя (2 месяца назад). Пришлось заменить 5 блоков питания на тех же машинах. Первый 1 через неделю уже. Но так как это HP Proliants, мы вроде как этого и ожидали. (HP и блоки питания .. Не заводите меня ...)
Тонни