Заметки сисадмина о интересных вещах из мира IT, инструкции и рецензии. Настраиваем Компьютеры/Сервера/1С/SIP-телефонию в Москве

О сборке отказоустойчивой вычислительной техники из комплектующих общего назначения

2007-03-16 · Posted in Железо

О сборке отказоустойчивой вычислительной техники из комплектующих общего назначения

Рауль Нурович Шакиров
http://www.imach.uran.ru/rns

Введение

Под отказоустойчивой вычислительной техникой (ВT) здесь понимается такая ВT, в которой не происходит искажение данных при единичном сбое аппаратуры и не происходит потеря данных при единичном отказе аппаратуры. Мы будем ограничиваться вопросом сохранности данных, не затрагивая вопрос о готовности. Т.е. не обязательно, чтобы ВТ сохраняла работоспособность при любом единичном отказе – но принципиальное требование состоит в том, чтобы после ремонта все данные находились на своем месте.

Сборка отказоустойчивой ВТ может проводиться из специальных «серверных» комплектующих или из более дешевых комплектующих общего назначения, обычно называемых «десктоповыми». Мы рассмотрим последнюю возможность.

1. Процессор и память

Как известно, популярные «серверные» и «десктоповые» процессоры имеют одно и то же вычислительное ядро, которое обладает встроенными средствами коррекции ошибок – в частности, защитой встроенных кэшей контролем четности и кодами коррекции ошибок (ECC). Контроль четности обнаруживает единичные ошибки, а ECC позволяют исправить одиночные ошибки и обнаружить двойные ошибки в пакете из 64 бит.

Основная разница между «серверными» и «десктоповыми» процессорами заключается в интерфейсе. Серверные процессоры 1) могут работать в составе многопроцессорной системы и 2) рассчитаны на применение регистровой (registered) памяти c ECC. Объем регистровой памяти может составлять до 16-32 Гбайт. В отличие от этого «десктоповые» процессоры рассчитаны на работу с более дешевой небуферизованной (unbuffered) памятью, максимальным объемом до 4-8 Гбайт. Небуферизованная память может иметь или не иметь ECC. Модули небуферизованной памяти c ECC имеют на борту 9 или 18 чипов, т.е. на 1 или 2 чипа больше, чем модули без контроля четности. В дополнительных чипах хранится избыточная информация для коррекции ошибок. Для наших целей подходит только память c ECC, поскольку в противном случае BT не будет устойчивой по отношению к сбоям в памяти.

 Модуль небуферизованной памяти без ECC

 Модуль небуферизованной памяти с ECC

 Модуль регистровой памяти с ECC

Собственно коррекция ошибок выполняется не в модуле памяти, а в чипсете или самом процессоре. Первое характерно для процессоров Intel (поэтому установка модулей ECC возможна при условии их поддержки чипсетом), а второе – для современных процессоров AMD с ядром K8.

2. Дисковая подсистема

В системах потребительского класса до сих пор применяются винчестеры с интерфейсом 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 скорость чтения растет пропорционально числу дисков, т.к. запросы на чтение могут чередоваться (уточним, что рост наблюдается до тех пор, пока хватает пропускной способности интерфейса). А вот скорость записи обратно пропорциональна числу дисков, т.к. в каждой записи участвуют все диски массива – на 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%.

3. Блок питания и система вентиляции

Качественный блок питания отличается от дешевого тем, что он держит заявленную рабочую нагрузку в течение неограниченного времени, а при ее превышении штатным образом отключается. При заявленной нагрузке в 300W (это минимум для маломощных систем) качественный блок питания весит 1.5 кг и стоит около 1500 рублей (или выше), при этом заявленные максимальные токи и выходные напряжения соответствуют стандарту ATX.

Некачественные блоки часто выдают себя надписью типа 300W Peak Load (пиковая нагрузка 300W) – это обычно значит, что блок питания выдерживает пиковую нагрузку в течение всего нескольких секунд, а потом сгорает. Еще одна причина насторожиться – это шумный вентилятор для охлаждения перегретых электронных компонентов (впрочем, «серверные» блоки питания тоже могут иметь шумную вентиляцию, но уже по другим причинам).

 Десктоповые» и «серверные» корпуса различаются по принципу вентиляции. В первом случае важно обеспечить хорошее охлаждение процессора при возможно более низком уровне шума. Во втором случае уровень шума не важен, но требуется наилучшее охлаждение всех электронных компонент – в том числе винчестеров, у которых при понижении рабочей температуры вдвое (c 50 до 25 градусов) во столько же раз вырастает время безотказной работы. Поэтому в «серверных» корпусах воздушный поток направляется через корзину c винчестерами. Наряду с шумными «серверными» решениями, существуют недорогие корпуса промежуточного класса, в которых винчестеры охлаждаются при общем низком уровне шума – для этого в корпус ставится большой малооборотный вентилятор для обдува винчестеров (пример на рисунке справа).

Leave a Reply