Мой новый домашний сервер, часть 1: выбор железа

Не то, чтобы это было кому-то интересно, но на такую тему тексты пишутся легко и непринуждённо, потому решил написать. Разбив на несколько частей — про выбор железа, выбор софта, сборку (хотя тут не уверен, это обычно самое скучное) и настройку софта (там уже повеселее).

Домашний сервер у меня дома уже много лет существует. По-моему, первый был на базе к6–2 собран ещё в начале нулевых. С того времени сменилось много разных вариантов, быстрых и медленных, больших и маленьких, виндовых и линуксовых. Последние десять лет сервером у меня работает HP Microserver, сперва был Gen7, а где-то с 2015 — Gen8, который был куплен с целероном и двумя гигабайтами ОЗУ, а затем «прокачан» до Xeon’a и 16GB (максимум).

На фото — момент переезда из gen7 в gen8.
e9c2d946e8b2083e703194a3008776b0.jpg

Почему захотелось поменять


Я из него вырос. Достаточно долго мне его хватало, но за последние пару лет у меня выросли как аппетиты по оперативной памяти, так и по количеству жестких дисков. В микросервер, если сильно не колхозить, влезает 4–5 дисков. Какое-то время я вполне обходился четырьмя (плюс ssd под систему), меняя маленькие диски на большие по мере заполнения, но за последнее время диски ощутимо подорожали (не только в деньгах, ещё и более приоритетные траты появились), потому менять их по заполнению уже не получается. При этом у меня скопилось некоторое количество неиспользуемых дисков объёмом от 2 до 8 терабайт, которые вполне можно было бы засунуть в сервер — если бы там было место.

Ну и оперативная память — для микросерверов 7 и 8 предел — 16 гигабайт. Потому с толстыми виртуалками приходилось играть на домашнем десктопе, хотя это должна быть одна из задача домашнего сервера.

А вот процессора при всём этом вполне хватало. Иногда хотелось чуть больше потоков, иногда хотелось видюшку под транскодинг, но обычно производительности на один поток было достаточно. Но процессор — это не главное, так что решил всё же поменять microserver на что-то другое.

На фото — gen7 на фоне чего-то другого. Правда, это тот момент, когда «другое» уходит на покой в силу избыточности (если память не изменяет, там был q8200/8GB), а микросервер занимает его место.
ead2eff07cfb468f65cb02d5c96ef55c.jpg

Что хотелось получить


  1. Возможность поставить 64 гигабайта оперативки (не сразу, со временем). Если можно будет больше 64 — хорошо. Но вот прямощазз уже нужно было 32. При этом терабайты ОЗУ мне не нужны, такие задачи я дома не решаю.
  2. В меру производительный процессор, в котором мне нужнее потоки, чем производительность на поток. Xeon 1260L 4c/8t на текущий момент меня вполне устраивал, так что гнаться за всякими Core i10 не нужно было. Вполне хватило бы чего-то не сильно быстрого (в определённых пределах), но многоядерного. Хотя и иметь возможность поставить что-то более производительное не помешала бы.
  3. Возможность менять диски, не доставая сервер с антресолей. В идеале — отсеки с внешним доступом.
  4. Возможность поставить хотя бы шесть дисков, в идеале восемь, можно и больше.
  5. Габариты в районе микросерверных. По высоте ограничение около 30 сантиметров.
  6. Возможность поставить видеокарту для транскодинга видео, сетевушку 10 гигабит и SATA-контроллер. Со временем.
  7. Более-менее тихое и экономичное решение. Понятно, что комп с 6–8 жесткими дисками бесшумным не будет, но жрать на холостом ходу 500 ватт и выть вентиляторами на весь дом тоже не нужно.
  8. Иметь свободу апгрейда на будущее — без замены корпуса.

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

Что рассматривал


Во-первых, у меня давно валяется супермикровский корпус с восьмидисковой корзиной, плюс материнка на АМ3+ с FX-8320.
9fd08c0d567e5bb37fb19c94b02e58fe.jpg

Туда можно запихнуть 64 гигабайта китайской памяти AMD Only. Процессор по производительности примерно такой же, как у меня в gen8 стоит, потому думал собрать новый сервер на базе этого. Но больно уж он большой и тяжелый, а FX-8320 даже без винтов под нагрузкой может 150–200 ватт сожрать. Потому корпус остался валяться, а FX-8320 пошел на апгрейд моего персонального вебсервера, что живёт на работе в серверной — благо там есть кондиционеры, а электричество никто не считает.

Во-вторых, смотрел на ITX’ные корпуса. Они, конечно, по размерам как микросервер, а иногда и меньше. Но использование ITX-материнок слишком уж ограничивает возможности расширения. Потому решил согласиться на увеличение габаритов и на базе mATX что-то собирать. У китайцев продаются внешне интересные корпуса «под NAS» и mATX-материнку, но у них явно придётся колхозить дополнительное охлаждение, плюс отзывы от качестве материалов не впечатляют.
0030cf2c966e58894a3484e4cc14903b.jpg

Что не рассматривал — это готовые NAS’ы и Microserver gen10 и gen10+. Первые по моим запросам будут очень дороги, а вторые стали слишком уж сильно урезанными. Да и тоже недешевые. Прошли времена, когда можно было взять настоящий сервер (пусть и маленький) за 200 евро. Сегодня за gen10+ просят уже 600–700 в базовой комплектации. А если туда добавить ILO, память и поменять процессор с двухъядерного пентиума на что-то многопоточное, то цена запросто за 1000 евро уйдёт. Плюс у gen10+ можно строго четыре диска поставить, даже ssd загрузочный теперь так просто не приколхозить — только в pci-e ставить, забив на другие возможности расширения. В общем, мне последние версии микросервера не нравятся. Хотя внешне выглядят симпатично.

Слева gen10, справа gen10+. gen8 по габаритам примерно такой же, как и gen10.
adc4fdba1cf7d50bd844e37ff293977c.jpg

Что стало


Корпус
Корпус выбрал Fractal Design Node 804. По высоте он вышел больше, чем хотелось, но, в принципе, влезает. Как уже сказал, китайцы не впечатлили по качеству, потому решил взять корпус с хорошей репутацией, пусть и ценой размера и отсутствия внешних отсеков для дисков. Решил поставить корпус на полку боком — отсеком с дисками наружу — и тогда можно будет просто снимать боковую крышку и вынимать салазки с дисками, не двигая сам корпус. Конечно, это касается только 3.5» дисков в салазках, другие посадочные места потребуют доставания корпуса с полки. Надо это учитывать и постараться туда поставить такие диски, которые редко меняться будут. Плюс размеры корпуса позволяют некоторый колхозинг внутри, у меня уже есть планы.

Вышло заметно крупнее, но терпимо:
6bbe362adc11fbedc64d4707af4de21c.jpg

Материнская плата
Для самосборных серверов класса «дёшево-сердито» сегодня принято использовать китайские платы и бэушные ксеоны. Они очень хороши по соотношению цена-производительность, получается много потоков занедорого, но мне не особо нравится прожорливость получающихся систем, да и всякие мелкие глюки типа спящих режимов, рэндомных чипсетов и т.п. тоже не особо вдохновляют. Поскольку всё же не стояло требования за минимальные деньги сервер собирать (про это будет другая история), я решил смотреть в другую сторону — на АМ4.

Во-первых, это более бюджетное решение, чем актуальные интелы. На али есть много бэушных процессоров, плюс у меня вокруг везде АМ4 — и я вполне могу что-то где-то скрутить нахаляву. Память там позаимствовать, с процессорами поиграть, если вдруг что-то не срастётся.
Во-вторых, хоть сокет уже и на исходе жизни, на горизонте виднеется АМ5, он ещё вполне актуален. Особенно для серверов, которые служат годами. В микросервере gen8 вообще 1155 — и он ещё вполне пользуется спросом, за разумные деньги довольно быстро уходит.

На счёт платы сперва думал про что-то типа ASUS TUF GAMING B450M-PRO II — всё же сервер домашний, можно было бы и ширпотребной материнкой удовлетвориться. По возможностям она меня вполне устраивала.
Но подумал ещё, немного придушил жабу и остановился на ASRock X470D4U: официальная поддержка до 128 гигабайт ECC-памяти (можно использовать и обычную), 8 SATA-портов, две гигабитных сетевушки, встроенная видеокарта (не требуется процессор с видеоядром или дискретное видео), IPMI для любителей этого дела (я не любитель, но и не особо против)…

142dcdad194be103ffde0100ab18b22c.jpg

Из замеченных тонкостей и недостатков:

  1. Мало портов USB. Два сзади, два на плате. Хорошо хоть все usb3.
  2. «Большие» PCI-E работают либо 2 по х8, либо 1 на х16, тогда второй слот отрубается.
  3. m2 — только 3.0×2 или 2.0×4 — то есть 2 ГБ/сек. Более скоростные диски придётся втыкать в PCI-E.
  4. Слоты PCI-E рядом, плата с толстым охлаждением соседний слот заблокирует. Или в дно корпуса упрётся, если в нижний слот ставить.
  5. Память и крепление для процессорного кулера повёрнуты на 90 градусов. Если кулер-башня подразумевает крепление вентиляторов только вдоль одной оси, то придётся воздушный поток направлять в потолок корпуса. А если кулер низкий, то он может один-два слота памяти заблокировать.
  6. Если монтировать установочные iso через IPMI, то скорость передачи данных около трёх мегабайт/сек. Винда будет ставиться долго.
  7. IPMI работает только через свою сетевушку, то есть подавай ему отдельный порт в свитче. ILO в микросервере умело совмещать.
  8. Это одна из немногих «серверных» материнок под райзены, потому поддержка и исправление ошибок могут хромать относительно аналогичных материнок под интел. У меня была уже пара-тройка неясных зависаний, так что тут ещё есть, куда копать.
  9. ECC-память надо покупать UDIMM. Она встречается реже, чем регистровые RDIMM.
  10. Не может рулить трёхпиновыми вентиляторами, надо четырёхпиновые. А все корпусные 120 — трёхпиновые.


В целом — это неплохой выбор для бюджетного самодельного сервера. Но в продакшн я бы её не взял.

В принципе, у асрока есть модель на Х570 — X570D4U, там и PCI-E побыстрее, и m2, и ещё какие-то проблемы поправили… Но она поддерживает только процессоры от третьего поколения, плюс сама плата стоит в полтора раза дороже — что здорово увеличивает бюджет, на что я пойти не готов, да и просто нет смысла.

Процессор
Чтобы было побольше потоков, но при этом недорого, решил взять бэушный Ryzen 7 1700 на aliexpress. Официально, правда, материнка поддерживает только процессоры начиная со второго поколения, но неофициально первое поколение на ней запускали. В итоге выяснилось, что первое поколение работает, но нужен старый биос. А материнка шла с новым — пришлось перепрошивать. Благо IPMI позволяет это сделать даже в том случае, если сама плата не грузится.
18f61dbae5cb1701297849284fca401b.jpg

Кулер переставил со своего десктопа (тот попутно в новый корпус переезжает, так что кой-какие запчасти освобождаются). GAMMAXX 300. Если он справляется с 3600X и не шумит при этом, то и на 1700 его должно хватить. А не будет хватать — можно что угодно поставить, благо размеры корпуса позволяют.

Память
Конечно, лучше бы было сразу взять ECC-память, но насущной необходимости в ней пока нет, а желание сэкономить есть. Потому я просто взял два модуля по 16 гигабайт 2666 MHz с десктопа (туда возьму парочку 3200). А серверу и 2666 хватит. Плюс память проверенная.
078fdfbaccf3b49a862f2acc95d62256.jpg

Блок питания
На время сборки и настройки поставил лежавший на полке шестисотваттный FSP, но вообще это перебор.
Максимум 100 ватт на проц, под 10 ватт на каждый диск, сотню на материнку и прочую периферию и сотню про запас — так что с запасом должно будет хватать и 400 ватт, даже если вдруг удастся систему на полную раскочегарить. Так что переставлю сюда c десктопа be quiet! Pure Power 11. Надо только найти, куда я от него кабеля задевал.
4164745aab0b22b19e28e17671a51ebf.jpg

Заключение
Ну и как бы всё по выбору железа. Про переходники и кулеры рассказывать тут не буду.

Жесткие диски идут со старого сервера и с полки.

TOSHIBA_MG06ACA800E 8 TB
WDC_WD30EFRX 3 TB
WDC_WD30PURZ 3 TB
TOSHIBA_MD04ACA50D 5 TB
ST8000AS0002 8 TB
ST6000DM003 6 TB

Итого — 33ТВ. На микросервере стояло 3+5+6+8=22ТВ.

Пока что шесть штук, но можно поставить ещё два в корзины и, если сильно хочется, пару штук прикрутить на дно корпуса.
d570e291ea9cb454977df346286dc6c0.jpg

Пара терабайтных ssd под кэш для массива и виртуалки-контейнеры переставляются с десктопа.
1468e5d7729432a7c207f1f71906710b.jpg

Наличие 8 SATA-портов на материнке позволяет пока что не заморачиваться на тему дополнительного контроллера и восьмипортовый LSI можно будет в другую сборку пристроить.
b040e9983767b660c53af5e9bd5fb39f.jpg

Хотя я из интереса заказал у китайцев sata-контроллер в m2 — он позволит использовать два свободных места в корзинах. Насущной необходимости в дисках NVME у меня пока что нет, так что лучше вместо одного NVME я получу ещё 4–5 SATA, будет полезней. Плюс не буду занимать PCI-E.
1801b625681b4d7400a3dba8e9686a6e.jpg

Ещё надо будет всё же подумать про видеокарту для транскодинга, но этот вопрос можно и через месяц-другой решать, а не прямо сейчас.
2fef806cdc51d51bdc84243ee5b68bef.jpg

Пока я буду обживаться, лично мне не до фильмов будет. А по мелочи и проц справится, Xeon же справлялся.
А 10 гигабит — это точно не этого года вопрос. Может следующего, когда ремонт закончится и станет понятно, что где будет стоять.

По деньгам вышло 12К за корпус, 22К за материнку, 9К процессор. Ещё где-то 10К пойдёт на новую память для десктопа и 2–3К на новый кулер туда же (нужен тихий и низкопрофильный). Итого получается примерно 56К — чуть вышел за бюджет, но вполне переживу, думаю.
Тысяч 30 компенсирует продажа микросервера (надеюсь), по остальному договорюсь со знакомым магазином.

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

© Habrahabr.ru