Интерьер корпуса. Конечно, он выглядит не так красиво с четырьмя кабелями PATA, семью жёсткими дисками, приводом DVD и проводами питания. Нажмите на картинку для увеличения.
Внутренние компоненты должны достаточно хорошо охлаждаться. Чем меньше тепла будет создаваться внутри, тем меньше придётся выбрасывать наружу. Поэтому лучше взять экономичные жёсткие диски, которые потребляют меньше энергии, чем стандартные модели. То же самое касается и процессоров - экономичные CPU могут снизить энергопотребление и тепловыделение системы. Мы рекомендуем взять оба варианта.
Кроме того, мы рекомендуем выбрать эффективный блок питания, соответствующий стандарту "80 PLUS". На рынке присутствуют блоки питания стандартов 80+ Bronze (82%) и 80+ Silver (85%) с разумной ценой. Кроме того, важно правильно подобрать мощность блока питания. Жёсткие диски потребляют больше всего энергии во время раскручивания пластин. Хороший контроллер жёстких дисков использует отложенный запуск пластин, чтобы минимизировать этот эффект. Впрочем, мы пока ещё не встречали контроллеры, интегрированные в чипсет, которые бы поддерживали эту функцию.
Оба моих сервера используют блоки питания с эффективностью выше 80%. Первый сервер построен на базе двух 933-МГц процессоров Pentium III, шести 250-Гбайт жёстких дисков и винчестера с операционной системой. Пиковое энергопотребление во время загрузки составляет 214 Вт, а энергопотребление при 100% нагрузке на CPU - 95 Вт. Второй сервер использует два 2,8-ГГц процессора Xeon с пониженным энергопотреблением и шесть 750-Гбайт жёстких дисков плюс винчестер с операционной системой. Пиковое энергопотребление во время загрузки составляет 315 Вт, во время бездействия - 164 Вт, а во время 100% нагрузки на CPU - 260 Вт.
Если у вас не установлено ещё шесть жёстких дисков в массиве или вы не используете очень горячий CPU, то вам не потребуется блок питания с заявленной мощностью выше 400 Вт. Конечно, блок питания должен давать достаточно энергии для различных линий напряжения, которые нужны компьютеру, но покупка модели на 750 Вт и выше станет пустой тратой денег. Да и работать такой блок питания будет менее эффективно, чем 400-Вт модель.
Память
Большинство энтузиастов не очень много времени уделяют надёжности работы памяти. Их больше интересуют тактовые частоты и задержки, которые в данном сценарии менее важны, чем надёжность. Когда данные поступают в файловый сервер или передаются на клиентские компьютеры, они сначала сохраняются в оперативной памяти. Да и данные на диске кэшируются тоже в памяти. Лучшие готовые файловые серверы используют память с коррекцией ошибок (error correcting code, ECC), а самые дешёвые построены на обычной памяти. На мой взгляд, вряд ли имеет смысл собирать высокопроизводительный файловый сервер, и при этом не использовать память ECC.
Карта контроллера Supermicro MV8, вставленная в слот PCI-X. Нажмите на картинку для увеличения.
Память вряд ли можно считать источником постоянных ошибок, но время от времени случайные ошибки могут происходить. По оценкам IBM, у 1 Гбайт памяти случайная ошибка происходит раз в неделю. Причиной подобных ошибок являются альфа-частицы в упаковке памяти и космические лучи. Однако у памяти ECC существует дополнительный механизм, который определяет и исправляет ошибки памяти. Стандартная память ECC может определять все 2-битовые ошибки в 64 битах памяти и исправлять 1-битовые ошибки. Есть контроллеры ECC и более высокого класса, например, которые IBM предлагает с памятью Chipkill.
Ошибки в областях памяти, которые будут перезаписаны перед чтением, либо в неиспользуемых областях памяти проблем не вызывают. Но ошибка памяти, которая каким-либо образом скажется на обработке данных, это уже плохо. Серьёзные серверные материнские платы, например, модели от Tyan и Supermicro, способны фиксировать ошибки памяти в журнале. Менее дорогие материнские платы, такие как Asus CUR-DLS и Asus NCCH-DL в моих серверах, поддерживают память ECC, но не журналируют ошибки памяти.
Есть чипсеты, которые не поддерживают память ECC вообще, и материнские платы на этих чипсетах тоже не будут поддерживать память ECC. Мы рекомендуем использовать только материнские платы с поддержкой ECC и устанавливать в них память ECC. Если вас серьёзно беспокоят ошибки памяти, то лучше всего выбирать материнскую плату с поддержкой технологии IBM Chipkill, которая определяет и исправляет многие многобитовые ошибки и даже может продолжать работу, если один чип памяти даст сбой.
Детали можно получить по следующим ссылкам.
ECC SDRAM Primer;
IBM’s Chipkill White Paper;
EETimes on IBM’s Chipkill;
Soft Errors in Electronic Memory.
Шины
120-мм вытяжной вентилятор сзади за чёрной решёткой. Нажмите на картинку для увеличения.
Большинство старых материнских плат поддерживают 32-битные слоты PCI, которые подключены к общей шине и совместно используют доступную пропускную способность. Если взглянуть на диаграмму чипсета этих материнских плат, то контроллер Ethernet, контроллеры IDE и SATA - все они подключены к шине PCI. Если сложить пропускную способность дисков и Ethernet, то мы упрёмся в теоретическое ограничение 133 Мбайт/с. Работать наша система, конечно, будет, но всё это приведёт к замедлению файлового сервера.
Существует большое количество старых серверных материнских плат, которые оснащены слотами PCI-X (не путать с PCI Express). Эти слоты более интересны, поскольку они используют шину, которая отделена от 32-битной шины PCI. Если вы установите контроллеры жёстких дисков в слоты PCI-X, то пропускной способности ввода/вывода ничего мешать не будет.
Мой первый файловый сервер использовал материнскую плату Asus CUR-DLS с 64-битными 33-МГц (266 Мбайт/с) слотами PCI-X. Второй файловый сервер был собран на материнской плате Asus NCCH-DL с 64-битными 66-МГц слотами PCI-X, которые поддерживают пропускную способность 533 Мбайт/с - быстрее, чем у шести моих накопителей SATA. Карта контроллера может работать с шиной до 133 МГц, что может дать пропускную способность до 1066 Мбайт/с на новых материнских платах.
Если ваша платформа поддерживает PCI Express, то слоты с количеством линий больше одной окажутся достаточными для домашнего файлового сервера, да и пропускная способность 266 Мбайт/с довольно хороша.
Есть ещё одно потенциальное "узкое место", которое нужно учитывать: соединение между южным и северным мостом на вашей материнской плате. Хотя Asus NCCH-DL оснащена 64-битными 66-МГц слотами PCI-X, связь между мостами осуществляется со скоростью всего 266 Мбайт/с. В теории это должно ограничивать пропускную способность ввода/вывода. К счастью, на практике проблемы с этим возникают редко, да и новые чипсеты обычно поддерживают более высокие скорости интерфейса между мостами.