четверг, 7 февраля 2013 г.

память ecc тестирование bx

Статья заняла 2-е место на Комплектование и тестирование отказоустойчивого компьютера на платформе AMD K8Содержание: 1. Процессор и оперативная память с коррекцией ошибок 2. Дисковая подсистема RAID 3. Системная плата 4. Пример комплектации отказоустойчивого компьютера 5. Тестирование отказоустойчивого компьютера Повышенная надежность обработки и хранения данных требуется в различных областях применения компьютерной техники - в частности, для проведения математических расчетов, организации хранения и передачи данных в локальных и глобальных сетях, управления машинами и технологическими процессами. Для каждой области формулируются свои требования к отказоустойчивости, которые определяют выбор соответствующих архитектурных решений. В этой статье отказоустойчивым полагается такой компьютер, в котором не происходит искажение данных при единичном сбое аппаратуры и не происходит потеря данных при единичном отказе аппаратуры. Мы ограничимся вопросом сохранности данных, не затрагивая тему "высокой готовности". Т.е. не обязательно, чтобы компьютер сохранял работоспособность при любом единичном отказе - но принципиальное требование состоит в том, что после восстановления работоспособности все данные должны находиться на своем месте. Требование сохранности данных при отказе распространяется на данные, находящиеся в энергонезависимой памяти. Сборка такого отказоустойчивого компьютера может проводиться из специальных "серверных" или "промышленных" комплектующих, а также из более дешевых комплектующих общего назначения, обычно называемых "десктоповыми". Мы рассмотрим последнюю возможность. 1. Процессор и оперативная память с коррекцией ошибок Как известно, популярные "серверные" и "десктоповые" процессоры имеют одно и то же вычислительное ядро, которое обладает встроенными средствами коррекции ошибок - в частности, защитой встроенных кэшей контролем четности и кодами коррекции ошибок (ECC). Контроль четности обнаруживает единичные ошибки, а ECC позволяют исправить одиночные ошибки и обнаружить двойные ошибки в пакете из 64 бит. Основная разница между "серверными" и "десктоповыми" процессорами заключается в интерфейсах передачи данных. Классические "серверные" процессоры AMD Opteron 2xx и 8xx 1) могут работать в составе многопроцессорной системы и 2) рассчитаны на применение регистровой (registered) памяти c ECC. Объем регистровой памяти может составлять до 16-64 и более ГБайт, в зависимости от числа процессоров. Модуль регистровой памяти с ECC В отличие от этого "десктоповые" процессоры AMD Athlon 64 и подобные им по архитектуре процессоры Opteron 1xx новых выпусков рассчитаны на работу с более дешевой небуферизованной (unbuffered) памятью, максимальным объемом до 4 ГБайт. Небуферизованная память может иметь или не иметь ECC. Модули небуферизованной памяти c ECC имеют на борту 9 или 18 чипов, т.е. на 1 или 2 чипа больше, чем модули без контроля четности. В дополнительных чипах хранится избыточная информация для коррекции ошибок. Для наших целей подходит только память c ECC, поскольку в противном случае компьютер не будет устойчивым по отношению к сбоям в памяти. Модуль небуферизованной памяти с ECC Модуль небуферизованной памяти без ECC Собственно коррекция ошибок выполняется не в модуле памяти, а в контроллере памяти. Контроллер памяти может находиться в отдельной микросхеме чипсета или быть встроенным в сам процессор. Первое характерно для процессоров Intel (поэтому установка модулей памяти с ECC возможна только при условии их поддержки чипсетом), а второе - для процессоров AMD с ядром K8. Судя по технической документации, коррекцию ошибок памяти могут выполнять все процессоры AMD K8, в их числе Opteron, Athlon 64 и даже бюджетные процессоры Sempron - начиная с самого первого Sempron 3100+ на ядре Paris с топологией 0.13m. 2. Дисковая подсистема RAID В системах потребительского класса до сих пор применяются винчестеры с интерфейсом IDE, которые имеют паспортные ограничения на время непрерывной работы (11 часов) и интенсивность рабочей нагрузки. Примерно такие же ограничения имеют и потребительские винчестеры Serial ATA, хотя здесь встречаются исключения в лучшую сторону. К примеру, диски Western Digital RAID Edition (RE) рассчитаны на непрерывную работу в режиме 24*7. В новом стандарте Serial ATA II декларировано применение очереди команд (NCQ) для оптимизации перемещения головок чтения-записи под интенсивной нагрузкой. Благодаря этим нововведениям, некоторые винчестеры Serial ATA приближаются по надежности и производительности к дорогим "серверным" винчестерам, которые традиционно имеют интерфейс SCSI. Но как бы не был надежен винчестер, его отказ все равно возможен. Поэтому в отказоустойчивых системах применяются дисковые массивы RAID. Теория гласит (и практика подтверждает), что для отказоустойчивости к массиву из n одинаковых по объему дисков достаточно добавить всего 1 диск. В частном случае, когда n=1 - мы имеем зеркальный массив из двух дисков, называемый RAID 1-го уровня. В общем случае при n>1 применяется RAID 5-го уровня с чередованием информации и контрольных сумм. ПРИМЕЧАНИЕ: ПРИМЕЧАНИЕ: В дисковом массиве с избыточностью скорость чтения растет пропорционально числу дисков - при условии чередования обращений к дискам (уточним, что пропорциональный рост наблюдается при последовательном чтении с RAID 5 до тех пор, пока хватает пропускной способности интерфейса). А вот скорость записи обратно пропорциональна числу дисков, т.к. в каждой записи участвуют все диски массива - на 2 диска проводится запись и c n-1 дисков проводится чтение данных для вычисления контрольных сумм RAID 5. Поэтому при увеличении числа дисков в массиве нарушается баланс скорости чтения и записи, что может привести к общему снижению производительности системы. Для борьбы в этим явлением применяются дорогие аппаратные контроллеры с кэш-памятью и микропроцессорами. К счастью, эти проблемы не особенно актуальны для массивов из небольшого числа дисков (до 4) - поэтому для создания таких массивов ставить дополнительное контроллеры не обязательно. Достаточно возможностей, встроенных в чипсет материнской платы. Почти все современные чипсеты потребительского класса поддерживают зеркальные массивы RAID 1, которые на данный момент являются самым надежным способом хранения данных. При отказе любого диска в массиве RAID 1 система продолжает работать без снижения производительности, а в случае общего отказа компьютера диск может быть прочитан на любом другом компьютере. Объем массива RAID 1 не может быть больше объема диска. Для преодоления этого ограничения существуют чипсеты, поддерживающие 4-x дисковые зеркальные массивы с чередованием (RAID уровня 0+1 или 10) или даже дисковые массивы RAID 5. Массив RAID 0+1 обеспечивает удвоение объема и производительности при 100% избыточности, а массив RAID 5 из четырех дисков - утроение объема при избыточности всего 33%. Обсуждаемый "чипсетный" RAID на самом деле является не аппаратным, а преимущественно программным, т.к. он реализован через драйверы. Судя по тому, что загрузка процессора бывает невысокой - по разным тестам от 0.5% до 25%, такой подход можно считать оправданным. Программный характер "чипсетного" RAID наталкивает на мысль о том, что вместо него можно воспользоваться поддержкой RAID, встроенной в операционную систему. Это возможно для большинства популярных операционных систем, в их числе Windows 2000/XP и Linux. Исключением является Windows XP Home Edition, которая допускает только RAID 0. RAID под операционной системой обладает одним существенным ограничением и одним важным преимуществом. Ограничение состоит в том, что загрузка операционной системы возможна только с обычного раздела или зеркального массива, но не с массива с чередованием RAID 0+1 или 5. А преимущество состоит в том, что массивы RAID строится не из физических дисков, а из логических разделов на физических дисках. Это значит, что всего на двух физических дисках можно сочетать массивы RAID 0, RAID 1 и обычные разделы без RAID, при этом сами физические диски могут иметь разный размер. Надо только следить за тем, чтобы зеркальные разделы имели одинаковые порядковые номера - иначе при отказе одного из дисков система может перестать загружаться. В отличие от этого, "чипсетный" RAID захватывает каждый диск целиком, поэтому в него объединяют одинаковые диски от одного производителя. Заменить вышедший из строя диск можно только диском не меньшего размера. А если заменяющий диск будет меньше хотя бы на один мегабайт (что частенько случается даже с дисками одной серии), то репликация массива не состоится. Вот статьи с дополнительной информацией по теме: " " " " " " 3. Системная плата Для сборки отказоустойчивой системы необходимо иметь поддержку со стороны материнской платы. В частности, недостаточно иметь коррекцию ошибок памяти в процессоре - необходима правильная разводка соответствующих сигнальных линий на материнской плате и установка управляющих битов в ее BIOS. Иначе процессор будет работать c памятью в режиме без коррекции ошибок. Среди известных производителей поддержку памяти с ECC декларирует . Другой пример дает - поддержка ECC на сайте не упоминается, но по факту присутствует и подтверждается технической службой - по крайней мере, для некоторых плат. А вот платы мне встречались только без поддержки ECC - этого режима не было в BIOS и его нельзя было включить программой A64Tweaker. Для предварительного выяснения вопроса о совместимости плат и модулей ECC можно воспользоваться службой на сайте . Гораздо лучше обстоят дела с поддержкой Serial ATA RAID. Платформа AMD K8 появилась сравнительно недавно и ее распространение как раз совпало с массовым внедрением этой полезной технологии. Поэтому Serial ATA RAID нет только в самых первых чипсетах - это NVidia nForce3 150, SIS 755(963) и ULi M1687. Все остальные чипсеты поддерживают, как минимум Serial ATA RAID 0 и 1, более современные - RAID 0+1, иногда RAID 5. Чипсеты NVidia поддерживают еще и Parallel ATA RAID (хотя мне приходилось видеть сообщения о том, что в самых новых чипсетах это уже не так). Подробности про чипсеты есть в справочнике matrix " ". Навороченные системные платы могут иметь дополнительные контроллеры RAID - но многие из них обладают тем недостатком, что сидят на медленной 133-мегабитной шине PCI. 4. Пример комплектации отказоустойчивого компьютера В этом разделе мы опишем отказоустойчивый компьютер минимальной стоимости. Такая машинка может применяться в качестве домашнего медиа-центра с гарантией сохранности данных или работать в качестве вспомогательного сервера локальной сети - например, резервного контроллера домена или DCHP-сервера. Словом, подойдет любая область применения, где от компьютера не требуется особенно высокая производительность и не нужна высокая степень готовности - поскольку при возможном отказе комплектующих у персонала будет в запасе несколько часов или даже дней для их замены. Важным условием надежной работы является подбор корпуса с экранированием электромагнитного излучения и качественным блоком питания - поэтому корпус будет самой дорогой частью нашей системы. На процессоре и винчестерах сэкономим, елико возможно. Память будет с ECC. Материнскую плату возьмем брендовую, но самую дешевую и со встроенным видео, чтобы не надо было дополнительно тратиться на видеокарту. В комплект входит пишущий DVD привод для резервного копирования. КомплектующиеСтоимость КорпусAOpen H360, FSP 250W2300 р Материнская платаGigabyte GA-K8VM800M (Rev 2.x)1400 р ПроцессорAMD Sempron 2500+ (Socket 754) BOX1700 р Память1*512M DDR400 ECC Kingston KVR400X72C3A/512 1700 р Винчестеры2*40G IDE Samsung SP0411N, RAID 12*1300 р DVD RWLG GSA-4163B1300 р Итого11000 р Применяемая плата имеет формат micro-ATX и построена на чипсете VIA K8M800 с южным мостом VIA VT8237R. Указанный южный мост не позволяет объединить применяемые диски IDE в массив RAID, т.к. он поддерживает только Serial ATA RAID. Но это нам и не нужно, т.к. по условиями применения компьютера в роли медиа-центра зеркалированию подлежит на весь диск, а только один раздел с критическими данными. Поэтому массив RAID 1 создается средствами операционной системы, в роли которой применяется Windows Server 2003 x64 Edition. Отказавшись от "чипсетного" RAID, мы дополнительно экономим на флоппи-приводе, которым придется комплектовать компьютер для подгрузки "чипсетного" драйвера при установке операционной системы на массив RAID. Несмотря на то, что сайт Gigabyte и документация на системную плату ничего не говорит о поддержке ECC, соответствующие опции в BIOS имеются. Они, как это принято в платах Gigabyte, "спрятаны" под клавишей Ctrl-F1, которая делает видимым пункт "Advanced Chipset Features". За коррекцию ошибок отвечают параметры в двух верхних строчках. Первый параметр управляет поддержкой ECC, которая про умолчанию выключена, т.е. выставлена в "Disabled". Второй параметр (Scrub - в буквальном переводе "чистка") управляет сканированием памяти для выявления случайных одиночных ошибок. Сканирование позволяет предотвратить накопление ошибок в тех ячейках памяти, к которым процессор обращается редко. Логика назначения Scrub Rate такова - там, где возникла одиночная ошибка, с определенной вероятностью может возникнуть двойная, которую скорректировать уже не удастся. Поэтому оди

Персональные Страницы

Комментариев нет:

Отправить комментарий