Корпуса для серверов

Домашний сервер/NAS на платформе Mini-ITX

UPD3: наткнулся на статью, написанную на схожую тематику. И хотя появление двух таких статей с разницей в сутки — не более чем случайность, но моя вышла позже, а посему я чувствую необходимость это как-то прокомментировать. Во-первых, мне стали более понятны слова AbnormalHead. Если бы я прочитал ту статью раньше, моя не увидела бы свет в том виде, в котором она появилась. Во-вторых, я хотел бы более явно сформулировать цель моей статьи. Когда я собирал свою машину, я столкнулся с тем, что найти материнскую плату с двумя встроенными сетевыми адаптерами под Mini-ITX — это достаточно большая проблема в принципе (с тех пор ситуация в этом направлении улучшилась). Найти то же, но с более чем четырьмя портами SATA — проблема и сейчас, лично я другой кроме описанной в моей статье не знаю. Да, можно поставить дополнительный контроллер, но тогда придется отказаться от чего-то другого. То же и с mini-ITX корпусами: обычных полно, но они не подходят для NAS. Есть корпуса под NAS, но нестандартный блок питания с мелким и высокооборотным вентилятором будет раздражать если не вас, то ваших близких. Найти максимально гибкое решение, которое позволит не идти на компромиссы и собрать хоть NAS, хоть сервер виртуализации, хоть роутер — не так просто. В какой-то момент я уже думал, что невозможно. Однако же оно нашлось и именно им я хочу поделиться в этой статье. Да, она не про умный дом, но имея COM-порты, GPIO и Watchdog на плате его можно построить, а через LVDS можно прикрутить ЖК-экран от старого ноутбука, или вовсе управлять машиной удаленно через vPro/iAMT. Да, она не про NAS, потому что в ней нет ни слова о производительности и софте для этих целей, но из этой машины получится прекрасный NAS (и если взять соответствующий задаче процессор и объем памяти, то цена будет сильно ниже той, что вышла у меня). Да, она и не про домашнюю виртуализацию, потому что здесь не описан мой опыт установки SCVMM (тем более что он еще не закончен). Статья про платформу, на которой все вышеперечисленное можно без особых проблем организовать хоть вместе, хоть поотдельности. И при этом у вас будет не монстр, ревущий на всю квартиру и занимающий полкомнаты, а маленький, тихий, холодный корпус, который можно подключить к любому находящемуся поблизости монитору/телевизору, или не подключать вовсе. Надеюсь, этот опыт будет кому-то полезен.
Свой первый домашний сервер я собрал в 2008 году: Celeron E1400 на mATX платформе ASUS и всё это в прекрасном корпусе Antec NSK 1380. Корпус действительно хорош за исключением двух моментов: 1. Нестандартный формат блока питания (и как следствие возможность поставить только низкопрофильное охлаждение на процессор) 2. Малое число посадочных мест под накопители и плохое их охлаждение (поэтому я никогда не ставил туда больше одного диска — и так было тесно и жарко).
С ролью маршрутизатора эта машина справлялась прекрасно. Но организация на ней файлопомойки уже создавала неудобства: место вечно кончается -> приходится менять диск на новый большего размера (ну не чистить же его в самом деле!) -> для этого надо перенести на новый диск систему -> уж если переносишь, то не обновить ли ее заодно, а то пакеты с новыми часовыми поясами под текущую приходится искать чуть ли не собаками (пламенный привет Федоре) -> … И так каждый раз.
Захотелось собрать новый сервер, который позволил бы организовать RAID или хотя бы просто установить несколько дисков, чтобы решить проблему с местом радикально и надолго. А еще поднять несколько виртуальных машин для производственных нужд. А еще…
Но самый главный аргумент — это, конечно, желание пощупать новые железки! Поэтому я определился с требованиями и отправился в магазин гуглить.
Требования:

  • бесшумность
  • компактность
  • возможность удобной установки/замены дисков и достаточное количество посадочных мест (от 4)
  • универсальность (больше разъемов/интерфейсов, всяких и разных, мало ли что захочется прикрутить)

Форм-фактор Mini-ITX не был обязательным критерием, но логично вытекал из второго пункта. Поэтому я решил для себя, что попытаюсь выжать из него максимум и только в крайнем случае начну смотреть в сторону mATX.
DisclaimerЗнакомство автора с фотографией на момент описанных в статье событий ограничивалось несколькими снимками с камеры жены. Поэтому прежде чем читатель со словами “ну кто же так снимает!” потянется к оружию кнопке “-”, спешу сообщить — я встал на путь исправления! Также, пользуясь случаем, выражаю огромную благодарность моей жене за обработку фотографий. Да-да, это они еще обработаны!

Выбор железа

1. Корпус

Первым делом я занялся поиском корпуса. Таковых под Mini-ITX сейчас великое множество, однако большинство предназначено для недорогих неттопов.
Подходящие для домашнего сервера/NAS варианты можно пересчитать по пальцам:

Fractal Design Array R2 CFI-A7879
Chenbro ES34069 Chenbro SR30169

и пара других.
Причем большинство из них непросто или невозможно купить в России. В итоге я выбрал Chenbro SR30169. Его главные плюсы: удобная установка четырех 3.5″ дисков (с поддержкой HotSwap), продуманное охлаждение с использованием 120мм вентиляторов, стандартный блок питания (в абсолютном большинстве прочих корпусов используются Flex ATX либо нестандартные форм-факторы), удобство монтажа.
Видео о внутреннем устройстве:

2. Материнская плата

Критерии:
современная платформа с поддержкой процессоров Ivy Bridge, 2 встроенных сетевых карты, PCI-E разъем (для установки WiFi), не меньше четырех разъемов SATA (но в идеале не меньше пяти — 4 в рейд + 1 под систему), miniPCI-E на всякий случай, достаточное количество портов USB (желательно 3.0), несколько видео-интерфейсов (я не знал, к какому именно интерфейсу придется подключаться, поэтому минимум хотелось HDMI и D-Sub)

Intel® Server Board S1200KP Intel® Server Board S1200KPR
ZOTAC Z77ITX-A-E Jetway NF9E-Q77

Первые две довольно специфичны. С одной стороны, они поддерживают процессоры Xeon и память ECC, с другой стороны возможности расширения весьма ограничены: всего четыре USB (и только 2.0), всего четыре SATA, нет встроенного звука, один видеовыход, только один слот расширения. Разумеется для сервера организации эти моменты неактуальны, но для домашнего применения хочется большей гибкости. К тому же, плата с индексом KP не поддерживает 22нм процессоры, а KPR на момент сбора машины (июль-август 2012) не было в продаже.
Также не было в продаже и ZOTAC Z77ITX-A-E, хотя плата конечно очень интересная. Модуль WiFi в комплекте, две гигабитные сетевые карты — красота!
Еще несколько плат готовились на тот момент к выходу, вышли или нет не знаю, поэтому здесь про них подробно не пишу.
На днях очень вовремя вышла статья юзера track об отказах серверной памяти. Настоятельно рекомендую ознакомиться с ней прежде, чем использовать предложенную мной конфигурацию для критических задач.

В конечном итоге я остановился на плате Jetway NF9E-Q77. Удивительно, сколько всего компании Jetway удалось уместить в плате формата Mini-ITX! Поддержка 3го поколения процессоров Intel (LGA1155), 6 портов SATA (2xSATA3 + 4xSATA2), 2хUSB3.0 + 4xUSB2.0 (+ по паре портов каждого типа разъемами на плате), PCI-E + miniPCI-E, 2 гигабитных сетевых адаптера Intel, 3 видео-выхода (HDMI, DVI-D, D-Sub) не считая LVDS. Также есть два порта RS232, RS422/485 с разъема на плате, GPIO, Watchdog, поддержка iAMT, vPro и т.п.
Тип используемой памяти DDR3 SODIMM.
Найти эту плату в продаже в России мне не удалось, но к счастью она обнаружилась в немецком магазине minipc.de. Доставили курьерской службой. За вычетом VAT и со стоимостью доставки вышло ровно 200$. Цена за такую плату на мой взгляд более чем разумная. Кстати, плата производится по стандартам, подразумевающим в том числе промышленное применение, а значит повышенную живучесть (по информации с сайта jetway, автор статьи гарантий не дает =) ).

3. Жесткие диски

Все последние лет 10-15 я пользуюсь только продукцией IBM/Hitachi. Поэтому я выбрал модель с максимальным объемом при адекватной цене (на момент сборки это была HITACHI Deskstar 7K3000 HDS723020BLA642, 2Тб) и приобрел две штуки с мыслью докупить еще две, когда определюсь с софтом (у меня были сомнения в том, что это случится быстро — так оно и вышло). Так как в выбранном корпусе в дополнение к четырем HotSwap дискам штатно могут быть установлены только 2,5” диски, я решил туда поставить диск из ноутбука, который все равно планировал заменить на SSD.
Этой зимой были докуплены два диска HITACHI Deskstar 5K3000 HDS5C3020ALA632.

4. Блок питания

БП я просто выбрал как самый маломощный (а значит дешевый) из приличных и тихих, которые были в наличии ближайшем гипермаркете.
Таковым стал AeroCool VP-450.
Конечно, в таком компактном корпусе лучше было бы взять БП со съемными кабелями, но стоят они значительно дороже, и встречались отзывы, что в данном корпусе разъемы кабелей могу начать конфликтовать с процессорным охлаждением.

5. Процессор

От процессора мне нужно было больше ядер, меньше тепла и разумная цена. Хотя нет, еще нужен был встроенный видео-чип. Выбрал Intel Core i5 3550.

6. Охлаждение на процессор

Здесь хотелось получить тишину, хорошее охлаждение и при этом не прогадать с габаритами. Из подходящего в ближайших магазинах оказался Arctic Cooling Alpine 11 Plus.
Ну что ж, железо закуплено, приступим к сборке!

Сборка

Автор застал еще те времена, когда маркировка разъемов/переключателей на материнской плате считалась дурным тоном, инструкции писали для трусов и поэтому в страну медведей не завозили, а развернув процессор не той стороной можно было быстро и очень дорого получить прикольный брелок на свой мобильный связку ключей. Не говоря уже об обряде окропления каждой собранной машины собственной кровью, для чего заботливые китайцы обязательно оставляли кромки кропуса острыми на случай, если сборщик забыл прихватить специальный жертвенный нож или по неопытности вовсе не знает о таковой необходимости. К сожалению, современным производителям в погоне за прибылью плевать на традиции и на заботу о досуге сборщика. Тех, кто надеялся пролить над статьей скупую слезу ностальгии, дальнейший материал лишь разочарует.

Корпус выполнен из стали SGCC толщиной 0.8мм и производит впечатление монолитности, никаких зазоров и люфтов не наблюдается, все кромки аккуратно развальцованы. Боковые стенки зафиксированы винтами с накаткой. Большую часть задней стенки занимает основание для крепления блока питания. Оставшееся место отдано под вентиляционную решетку и панель разъемов материнской платы. Имеется выдвижное ушко, позволяющее закрыть корпус на амбарный замок (правда только с одной стороны, что в данном случае имеет мало пользы) или посадить его на привязь. Есть разъем для замка Kensington.


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

Корзина поддерживает железные RAID-контроллеры и рассчитана на 4 3,5”/2,5” SATA/SAS диска с возможностью горячей замены. Для удобства таковой установка дисков производится с фронтальной стороны корпуса.


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

Дополнительно с боков на корзину может быть навешено под одному 2,5” диску.

Для ограничения доступа к фронтальной панели корпуса имеется хлипкая пластиковая дверца с замком. На мой взгляд она могла бы быть и металлической, но этот нюанс я готов производителю простить =)

Материнская плата вызвала у меня подлинное восхищение! К сожалению, фотографии не позволяют передать ощущение качественно сделанного продукта, которое чувствуешь, когда держишь эту плату в руках. Как производитель смог столько всего уместить в этой крохе, при этом не забыв соблюсти все стандарты на расположение компонентов? Дабы не повторяться я не буду перечислять заново все ее возможности, желающие могут обратиться к первой части статьи или к спецификации на сайте Jetway.


Несмотря на то, что в охлаждении процессора мне пришлось отказаться от любимого формата 120мм и согласиться на компромиссные 92, у меня оставались сомнения, что достаточно габаритный кулер встанет без приключений.

AC Alpine 11 Plus устанавливается на пластиковые планки, предварительно закрепленные на плате. И хотя эти планки встали впритык к окружающим компонентам, единственное, что мне пришлось дополнительно сделать — это снять пластиковый фиксатор с разъема PCI-E x16 и слегка отогнуть хвост разъема.




Для установки блока питания необходимо снять специальную корзину в верхней части корпуса. Затем она крепится к БП, маленький удлинитель подключается в разъем питания, после чего конструкция в сборе устанавливается обратно в корпус. Таким образом производитель избавляет нас от провода питания, торчащего из верхней крышки корпуса.


У БП в наличии целый ворох разъемов, половина которых нам не понадобится.

Все, что мы можем сделать — это по доброй русской традиции убрать их на антресоли. Для разводки кабелей из закромов был извлечен фиксатор на двустороннем скотче.


Сперва я хотел провести кабели под блоком питания.


Но такой вариант конфликтовал с охлаждением процессора, поэтому пришлось переиграть и пустить их по верху корпуса. Недостатки этого решения стали очевидны лишь позже, когда мой старый сервер из ревности решил самоуничтожиться, и я попытался обойтись малой кровью, просто переставив жесткий диск и WiFi-плату в новый (напомню, что старый сервер был в первую очередь роутером, в том числе WiFi). Установить WiFi-плату нужно было в слот PCI-E. Но сделать это мешали кабели БП. Опустив подробности, скажу лишь, что в итоге мне это удалось, но времени и сил отняло непропорционально много.
оффтопА самое обидное, что жить в новой системе вай-фай наотрез отказался, стабильно отваливаясь через пару минут после соединения. В итоге я плюнул и купил роутер Asus RT-N66U, который заслуживает отдельной статьи. Это поистине прекрасное творение инженеров компании — маленький островок качества в море глючных ненадежных поделок.
Теперь можно установить материнскую плату. Охлаждение процессора вошло под БП с солидным запасом в несколько миллиметров. На время установки платы пришлось снять воздуховод дисковой корзины, но делается это элементарно.


На фото с установленным обратно воздуховодом видно, что ребра радиатора процессора оказались расположены аккурат поперек направления движения воздуха из корзины. И для верности отделены от воздуховода модулями памяти. К сожалению, данная модель процессорного охлаждения не позволяет развернуть его на 90 градусов.


Других нюансов во время сборки машины обнаружено не было. В частности, когда позже я решил добавить еще одну планку памяти, я легко смог это сделать без каких-либо проблем. Таким образом, единственный критичный момент в процессе сборки — высота охлаждения процессора и разводка кабелей БП.

Эффективность охлаждения и шум

На данный момент у меня в корзине стоят четыре 2TB диска Hitachi, их температура не превышает 37 градусов (в простое 34). Температура 2,5” системного диска обычно 31-33 градуса. Процессор в простое — 40 градусов.
Шум от системы главным образом состоит из шуршания воздуха. Но для этого пришлось поставить регулятор оборотов на вентилятор корзины. На штатных оборотах тихим его никак не назовешь (хотя производитель в рекламном буклете утверждает обратное). В перспективе планирую его заменить на что-то более бесшумное.

Заключение

Когда я собирал сервер, я еще не знал, какой софт на него поставить и планировал в том числе поднять статьей обсуждение этого вопроса. Несмотря на то, что в итоге (да простят меня почитатели *nix) я остановился на Windows Server 2012, для многих этот вопрос остается открытым, комментарии на эту тему приветствуются.
P.S. Цена системы без жестких дисков получилась в районе 22 килорублей.
UPD: хочу обратить внимание на то, что мне нужно нечто большее чем просто NAS. Эта же машина должна быть и тестовой средой, и средой разработки. Естественно лучше было бы развести эти роли на разные машины, но моя квартира не настолько большая. Именно поэтому выбрано железо, избыточное для обычного NAS и именно поэтому устройства типа Synology не подходят.

Домашний-семейный сервер своими руками

Начальные условия задачи:

В семье есть несколько человек, активно пользующихся компьютером.

1 Я сам — в целях поддержания рабочей формы периодически использую С++ и MSSQL, а также экспериментирую с различным софтом, OS, и.т.д. + Финансовые расчеты через интернет. Так же мне необходим FTP сервер для обмена с внешним миром своим барахлом.
2 Жена. использует ACAD (активно участвует в строительстве дачи — проекты построек, планировка участка..), серфит по интернету и иногда играет.
3 Дочка — студентка. Adobe Photoshop, изучает «сайто-строительство» по институтской программе
(PHP и ASP.NET) ну и, конечно, игрушки.
4 Сын — школьник. Всё, до чего удаётся дотянуться…
5 Кошка. Грызёт провода.

Дополнительно накопилось много барахла, потеря которого способна вызвать инфаркт — фото, любимые фильмы, Soft, личные наработки и.т.д.

Наличное железо:

1 Достаточно мощный аппарат на Core i7-950, 12gb Ram, Adaptec RAID 3805, 2 — NVIDIA GeForce 9600GT в режиме SLI c приличным монитором 24″
2 Дёшево купленный из некондиции (не включался), Неттоп на Atom D510 со средним монитором 21″
3 Слабенький ноутбук от Toshiba 15″ на Core 2 duo
4 Совсем дохленький нетбук Gigabyte на Atom N270
5 гигабитный хаб от Asus на 5 портов
6 Маршрутизатор Zyxel P330w (сильно режет канал. Более 30 м/бит из него не выдавить, а у меня канал на 100 м/бит)
7 Старенький UPS PowerWare 9120 на 1500VA.

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

Решение оказалось на удивление простым — виртуализация…

Было опробовано несколько вариантов с «потрохами». С начала я пытался использовать старую
GA-EG45M-DS2H с Q9550 т.к. очень не хотелось выделять под это дело свой мощный комп.
Всё было хорошо за исключением того, что не было поддержки RemoteFX. Это оказалось решающим фактором. Далее был дисковый массив — старый добрый RAID-5 показался ненадёжным и маленьким. Решено было докупить дисков и поднять RAID-6 (благо контроллер позволял). Попытки запуска на
RAID-6 виртуалки тоже огорчили — не хватало быстродействия на запись. Разбивать
Adaptec-овский массив на несколько частей тоже не захотелось. Пришлось выгрести из запасов
старые диски по 250gb и сделать RAID-0.

В обшем, был собран сервер:

Gigabyte GA-X58A-UD7, ram-12gb в 3 канальном режиме, 2 NVIDIA GeForce 9600GT в SLI, Adaptec RAID 3805 + 8 дисков Seagate по 750gb в RAID-6, 5 дисков Seagate по 250gb в RAID-0 на встроенном ICH10R, и под систему шустренький SSD WD 60gb. Корпус сервера сделан самостоятельно из нескольких старых корпусов при помощи сварки т.к. ни в один покупной такое к-во дисков не лезло, а серверные корпуса очень дороги. С охлаждением удалось справиться только путем установки на «морду» 3-х 120мм вентиляторов и 1 на отсос с задней панели. Больше всего было возни с продувкой Adaptec и видеокарт, диски как -то сами попали под охлаждение.

Вид со снятой мордой (можно чистить от пыли приёмник воздуха без остановки)


А вот и потроха моей самоделки (может быть, не очень красиво, но функционально)

В качестве серверного софта были опробованы несколько вариантов как с VM так и с самой OS (Server 2008 R2 + VMware, Ubuntu 10.10 + VMware, Server 2008 R2 Core + Hyper-V). В конечном счете:
На сервер была установлена Server 2008 R2, поднят родной маршрутизатор + DHCP, установлена роль
Hyper-V c RemoteFX и поднят IIS. Так же был установлен MSSQL server developer. Hyper-V встал на быстрый RAID-0 (нужна была не только скорость но и емкость). Zyxel был переведен в режим точки доступа для раздачи WI-FI. Провода наконец спрятались под плинтуса и в короба (конечно, это можно было сделать и раньше, но как то лень было). Большой монитор отдан в пользование неттопу, закрепленному на стене. Второй монитор был отдан детям вместе с двумя буками. Под Hyper-V установлены 3 копии Server 2008 + Open SUSE 11.4 (для экспериментов), а неттоп и буки остались с родными Windows7.

Весь необходимый софт был перенесён на виртуалки (включая игрушки). Одна виртуалка отдана под мои нужды и CAD-ы.На двух других резвятся дети с игрушками и своими заботами в режиме администраторов. Никто никому не мешает. Даже две, одновременно запущенные, игрушки не тормозят (Aion и WOT). На буках (через RDP) теперь работают игрушки! А недостаток нетбука — маленький экран, нивелируется средним монитором в 21″. Всё барахло теперь лежит на RAID-6 FTP который работает 24/7. В случае падения детских машин всё восстанавливается из снимков мгновенно (1-2 сек). Сам сервер спрятан вместе с UPS на кухне (т.к. шумит).

Конечно, не всё получилось — например, не все игрушки работают правильно (наблюдается какая -то проблема с мышом — слишком быстро бегает) но основная масса пошла на ура. Как водится, проблему доставляют *NIX-системы. Cложности с удалённым доступом, отсутствие сети, отсутствие звука — короче как всегда отсутствие драйверов. Именно по этим причинам был оставлен Open SUSE (не хватает только синтетического мыша и звука). По началу падал регулярно — оказалось, проблема в кабеле питания системного диска. После устранения неисправности всё заработало устойчиво. С софтом проблем никаких не было.

Я думаю — оно того стоило. Довольны остались все, кроме кошки (провода спрятаны). Работает больше года с перезагрузкой 1 раз в месяц после обновлений. Ни разу не падал и не сбоил.

К вопросу о стоимости такого решения — стоимость железок можете прикинуть сами. С моей точки зрения для такого решения (сразу несколько серверов на одной физической машине) — не дорого. Я просто не помню стоимости т.к. практически всё у меня уже было куплено ранее. Докупать пришлось только 4 HDD по 750gb т.к. раньше был RAID-5 на 4 дисках. Весь базовый софт бесплатен для домашнего использования.
Исключение составляют PhotoShop и ACAD (куплен фирмой жены)