- PVSM.RU - https://www.pvsm.ru -
Решил собрать свой домашний сервер для виртуализации, чтобы изучать и тестировать разные интересные штуки. Причем захотелось собрать самостоятельно вникая во все нюансы сборки сервера. Это было увлекательное путешествие в hardware мир!
В этой статье поделюсь тем что у меня получилось, с какими трудностями я столкнулся на всем пути самостоятельной сборки сервера и как их решал (правильно или неправильно), поделюсь личными выводами. А в конце посчитаем все это дело в цифрах (на начало 2023 года).
Мотивация [1]
Компоненты [3]
Сокет процессора [5]
IPMI [6]
Форм-фактор [7]
Процессоры [8]
ОЗУ [10]
Блок питания [11]
Диски [12]
Корпус [13]
Какова цена? [16]
Что теперь? [17]
Со школьных лет меня интересовала hardware тема, нравилось чинить принтеры, но как-то не было ресурсов для получения желаемого, а потом пришел умирающий PHP приносящий деньги продакшен в вебе и уже было далеко не до этих увлечений.
Но в один весенний вечер, под гнетом дедлайнов и личного кризиса, я решил исполнить свою детскую мечту и самостоятельно собрать домашний сервер.
На самом деле здесь есть детали более весомые, и одно детское желание не могло склонить формальную логику к столь серьезным действиям.
Проработав на новой работе уже более трех месяцев (март 2023), на позиции DevOps инженера, я понял что мне нужно осваивать смежные специализации чтобы успешно коммуницировать не только с продуктовой разработкой, но и с суровой эксплуатацией. И так удачно совпало, что и работа неявно подталкивала меня к тому чтобы не только осваивать новые сервисы, но и обслуживать их самостоятельно. А как по другому понять рутину не имея собственных ресурсов?)
Но как собрать? Купить готовую сборку б/у как-то слишком легко, а вот "собрать полностью самостоятельно" звучало как увлекательное путешествие!

Здесь я еще не понимал сложность вопроса, потому что никогда не занимался такими делами на столько серьезно, чтобы взять и собрать сервер.
А теперь ближе к сути. Речь пойдет про миниатюрный "черный ящик" справа (слева белый это уже второй домашний сервер).

А вот так он выглядит в разрезе:

А так разобранный на этапе поставки первых комплектующих:

Итак, начнем :)
Когда я начинал эту затею, то мне казалось что последовательность действий примерно такая:
находим материнскую плату
к ней процессоры
накидываем охлаждение
затем ОЗУ
вставляем все это дело в корпус
покупаем блок питания
радуемся
Но так ли это на самом деле?
Перечисляю в порядке возникновения вопросов и поступления товаров:
Так как это первый сервер в моей жизни, то я еще ничего не понимал в материнских платах, но осознавал что это фундаментальная часть сервера. От этого зависит выбор процессора, охлаждение, ОЗУ, дисков и прочее.
Мне нужна была плата с поддержкой процессоров только от Intel, потому что только с ними я работал как пользователь, с AMD не доводилось. И так как я собираю сервер, то мне нужна поддержка двух процессоров, true-сервер все-таки.
За пару дней нашел объявление на Авито о продаже Supermicro X9DBL-i [18] с двумя 6-ти ядерными Xeon E5-2420 [19] за 4250р. Посоветовался с другом, который имеет опыт работы с серверами - получил одобрение: не слишком старая и не дорогая.

Тогда я еще не знал, но есть 3 экзистентных вопроса при выборе материнской платы, как минимум позже для меня это стало важным.
Первый вопрос: какой выбрать сокет? А точнее: что это вообще такое?
Сокет это разъем для установки процессора.
Когда впервые с этим сталкиваешься то глаза разбегаются: LGA 1151/1366/1356/2011/2011v3 и это только малая часть и только для процессоров Intel, у AMD свои сокеты. Фото из поиска Яндекс:

Как выяснилось каждый вид сокета процессора поддерживает только ограниченные модели процессоров. Новый сокет - новые процессоры, но и цена выше. Например, материнские платы с сокетами 1356/1366 старше, но дешевле сокетов 2011/2011v3, а значит и менее актуальны.
Сейчас, после изучения этого вопроса, я пришел к выводу что нужно брать не старше чем LGA 2011. Но на тот момент я взял плату с LGA 1356. Здесь [20] есть краткое описание истории сокетов Intel, на википедии [21] есть информация по сокетам, а там [22] много материала по мейнстриму LGA 2011v3 и статьи по сборкам хуананов (к слову сейчас (ноябрь 2024) я себе взял двухсокетный хуанан на пробу).
Сокет LGA 1356 был не массовым и предшествовал LGA 2011, который близится к закату своего мейнстрима на б/у рынке (субъективно). Но сейчас я понимаю что за свою цену это приемлемое предложение. Если говорить про апгрейд до LGA 2011 где еще DDR3, то на выброс пойдут только материнская плата с процессорами, а охлаждение (если речь про quad сокет) и ОЗУ пойдут на новую плату.
Раз уж речь идет о сервере, то по канонам нужен IPMI [23]. Но на момент покупки платы я еще не знал про это.
Здесь [23] есть интересная статья про IPMI, а если коротко то:
IPMIреализуетBMCконтроллер на плате, на котором тоже скорее всего стоит Linux, этот контроллер работает от дежурного питания материнской платы и позволяет управлять питанием сервера (вкл/выкл/перезагрузка), а также реализует KVM [24] (удаленный доступ с поддержкой клавиатуры, видео и мыши). Кроме того, этот же контроллер осуществляет роль видеокарты.

Проще говоря: IPMI позволяет удаленно через веб-интерфейс управлять питанием процессора и через KVM подключаться к серверу.
На моей плате был контроллер, но не было IPMI, видимо он выполнял роль только видеоконтроллера. Это побудило меня к исследованию вопроса что в конечном итоге вылилось в статью о поисках IPMI [25].
Самый простой способ понять есть ли IPMI на плате это посмотреть на LAN порты:

Если бы не история с ОЗУ (см. ниже) то наверное я бы не упомянул IPMI.
И здесь стоит еще познакомится с существующими форм-факторами материнских плат, потому что это будет влиять на выбор корпуса.

К слову, у меня возникли некоторые трудности в поисках корпуса для размера SSI-EEB, который E-ATX, но тут нужно уточнять в каждом конкретном случае, потому что трактовки этих форм-факторов разные у разных продавцов.
Для самОй материнской платы форма-фактор может влиять на количество и плотность компонентов:

Материнская плата с сокетом LGA 1356 есть, теперь под этот сокет нужно подобрать процессор.
В документации к плате сказано, что она поддерживает всю линейку процессоров Xeon E5-2400 v2, а топовый в этой линейке это Xeon E5-2470v2 [26] с 10-ю ядрами. Поискав на Авито, удалось найти объявления по 1000р за штуку, беру два.

Здесь мало что скажешь, мы ограничены небольшой линейкой моделей, но в LGA 2011v3 выбор будет больше (списки для v3 [27] и v4 [28]).
Подобрать материнскую плату было не просто, но с охлаждением оказалось труднее из-за отсутствия понимания как оно вообще там должно быть и как организовать воздушный поток.
Есть радиаторы, стоковые кулеры, башенные кулеры. У них есть различные крепления и есть даже переходники с одних сокетов на другие. Что выбрать?

Радиаторы маленькие и это больше про сервера в стоечных корпусах, где мощные/шумные вентиляторы образуют поток воздуха в направлении радиаторов.

Кулеры (радиаторы вместе с вентиляторами) большие но тихие, подходят для десктопов, они вполне умещаются в домашней обстановке. На фото ниже показан воздушный поток внутри корпуса, организуемый вентиляторами с кулерами:

Ладно, кулеры так кулеры, а что с креплениями?
Опытным путем и гуглением было выяснено что крепления для сокетов 1356 1366 и 2011 одинаковые. Значит нужны кулеры для одного из эти сокетов.
Если присмотреть к площадкам для процессоров на материнской плате, то можно увидеть 4 отверстия, вот туда то и должны вкручиваться ножки кулера.

В интернет-магазинах можно найти переходные варианты в виде пластиковых креплений для кулеров под AMD сокеты. Я взял, померил, но пока не стал использовать, субъективно - ненадежно. Сразу фото в цвете:

Поиски в интернете навели меня на башенные кулеры Deepcool GAMMAXX S40 за 1108р за штуку, а их надо 2, итого: 2216р

А вот так они стоят на плате:

Кулеры поддерживают сокеты LGA 1156, LGA 1366, LGA 2066, винты крепления имеют регулируемую удаленность, есть также переходники для AM3, AM3+.
Из-за регулируемых (нефиксированных) винтов монтаж на сокет оказался проблематичным, через несколько итераций монтажа резьба на одном из винтов была сорвана.
Кулерами доволен, дуют мощно, работают тихо. Однако, они большие, а потому неудобны для маленького корпуса и ATX форм фактора материнской платы: снять кулеры без демонтажа платы из корпуса не получится, а учитывая что питание платы и процессоров на верху то их подключение превращается в испытание. Смена плашек ОЗУ на верхней части платы не представляется возможной, а одна из плашек прямо упирается в радиатор.

Для сравнения фото внутренностей моего второго сервера, здесь видно что расстояние между кулерами и верхней стенкой корпуса большое (в корпусе предусмотрена установка водяного охлаждения на верхней части):

К слову, необязательно было брать такие высокие и широкие, можно было чуть ниже и легче, возможно монтаж был бы проще. На фото видно что одну плашку ОЗУ не снять без демонтажа кулера:

Позже я обнаружил существования маленьких, аккуратных и работоспособных стоковых кулеров. Двухнедельный мониторинг Авито навел меня на Intel E47159-001 2U за 1000р каждый (итого 2000р):

А вот так они выглядят в корпусе:

Монтаж/демонтаж таких кулеров одно удовольствие, все максимально удобно. Особенно было заметно заточенность только под один сокет (группу похожих по размерам креплений): здесь не надо куда-то подгонять винты все уже выставлено ровно на том расстоянии, на котором должно быть.

Но, конечно же они не так мощно охлаждают процессоры как башенные кулеры, поэтому они были отложены в коробку на долгое хранение.
Кроме того следует упомянуть про управляемость вентиляторов, как на кулере процессора так и на обычных внутрикорпусных вентиляторах. Под управляемостью вентиляторов подразумевается изменение скорости вращения лопастей, чем сильнее вращение тем быстрее охлаждение и наоборот. Это нужно в случаях высокой нагрузки на CPU для эффективного рассеивания тепла, материнская плата/ОС сама будет управление скоростью вентиляторов.
Для управления вентилятором используется коннектор 4pin (4 контакта) как на самом вентиляторе, так и на плате:

3pin (3 контакта) это неуправляемые вентиляторы, они будут крутиться с одинаковой скоростью все время. Следуя логике, кулеры должны быть 4pin и подключать их нужно тоже к 4pin, чтобы регулировка оборотов вентиляторов охлаждающих процессоры регулировалась в зависимости от нагрузки процессора.
Вариантов плашек ОЗУ оказалось тоже много и возникают разные непонятные термины: UDIMM, RDIMM, LRDIMM, ECC, ранки, частота, многоканальность. Здесь [29] есть некоторые ответы.
Немного правил выявленных в ходе изучения:
в один и тот же сервер нужно ставить одинаковые типы памяти (все RDIMM или все LRDIMM), смешивать нельзя
в большинстве случаев серверные материнские платы поддерживают ОЗУ только с ECC
желательно занимать все разъемы на плате чтобы включалась многоканальность и как следствие увеличивалась скорость (как минимум так говорят интернеты)
детали нужно уточнять в документации к материнской плате, там будет достаточное описание для сужения поиска
Так как это изначально был эксперимент, который должен был вырасти во что-то большее, то я решил взять что-то простое: Klisre DDR3 ECC REG, 4 плашки на 8гб за 2600р комплект.

А позже, мне очень захотелось прокачать до максимума. Зная что DDR3 максимум 32гб, а у меня всего 6 разъемов, значит нужно искать 6 плашек. В тот момент, мой друг, который во многом способствовал, подкинул мне мысль о том, что нужно брать LRDIMM. И судя по документации к плате 32гб LRDIMM плашка выигрывает в частоте и может работать на 1333:

Но чего я тогда не знал, так это то что LRDIMM греется и ее нормальная системная температура 75-85C. И с тех пор начались мои приключения с мониторингом температуры [30] ОЗУ при отсутствующем IPMI, про это была серия постов в моем телеграм канале [31]. История завершилась моим смирением с отсутствующим IPMI и после некоторого времени я замерял температуру при помощи usb-термометров.
На данный момент в моем первом домашнем сервере стоит 6 плашек ОЗУ по 32гб, итого 192гб. Взял я их на Авито, комплектом за 16800р

Теперь определимся что нам нужно питать:
плату - 24pin
2 процессора - на каждый по 8pin
диски - желательно несколько SATA
Посчитав энергопотребление каждого компонента послушав советы интернетных экспертов я приобрел Deepcool PK500D на 500Вт за 3630р:

Питание 24pin на плату и 2 по 8pin на каждый процессор. Сертификация 80 plus [32] Bronze (рекомендуют брать не ниже Bronze чтобы КПД был не низкий).
Большую ясность характеристик блока питания при выборе внесло это видео [33].
При установке возникло 2 проблемы:
кабель питания платы не дотягивался до разъема, пришлось взять удлинитель
кабель питания одного CPU не дотягивался до разъема, купил удлинитель, но он оказался не для CPU, а для GPU, поэтому с ним плата не стартовала, пришлось переделать провода:

А вот так все это выглядит внутри:

Позже я узнал что есть модульные блоки питания, где кабели отстегиваются, оказывается это удобно. На свой второй сервер поставил такой модульный блок питания:

Изначально я хотел виртуализацию на базе Proxmox, значит именно под это дело нужно планировать хранилище.
Сначала я поставил один SSD WD Blue на 500гб, но позже я подумал что нужна отказоустойчивость дисков и решил сделать RAID1, отдельно для системы [34], отдельно для хранения данных [35]. Но я тогда еще не знал что старые платы от Supermicro не полностью поддерживают NVMe даже после прошивки модифицированного BIOS [36].
Как бы там ни было, загружаться можно с SSD дисков по SATA, а после загрузки подключатся диски по NVMe, меня это устраивало.
Для организации этого я купил:
для системы Digma SSD RUN S9 на 256гб 2шт по 1400р
для хранения данных: адаптер NVMe для SSD m.2 в слот PCI-e 2шт по 340р + Apacer SSD-диск AS2280P4U PRO 2шт по 5400р
Так выглядит конструкция:

А так диски стоят внутри сервера:

Для первого сервера я решил экономить и взял Ginzzu SL180 за 2900р. С ним все хорошо только на картинке, и последствия экономии вылезли по ходу эксплуатации (а чего я ждал когда экономил?).
Самое печальное это отсутствие нормальных съемных пылевых фильтров на передней панели, и как следствие через несколько месяцев все внутренности в пыли.
Для сравнения можно посмотреть на XPG DEFENDER (в 2 раза дороже) со съемной передней панелью и съемным пылевым фильтром:

Для установки вентиляторов пришлось снимать переднюю панель, а так как она внутри связана проводами с самим корпусом, то это было крайне неудобно. Для себя я сделал вывод: передняя панель корпуса не должна быть связана с фронтальным управлением (кнопка питания и usb). Для сравнения корпус Cougar Airface где фронтальное управление вынесено в боковую часть корпуса, а значит передняя панель корпуса не обременена проводами:

Более того на переднюю панель корпуса во внутреннюю часть крышки (как и должно быть) встали только средний и нижний вентиляторы (потом убрал нижний), а верхний пришлось размещать уже внутри корпуса, что выглядит криво, вентиляторы 120мм:

Кабель-менеджмент в боковой части корпуса сносный:

Перед тем как брать вентиляторы для внутреннего обдува нужно определиться с мощностью, которую подает материнская плата. Техподдержка утверждает что все платы Supermicro выдают по 3А [37] на каждый разъем вентилятора. В других источниках была цифра не более 1А.
Я взял Delta AFB1212SH 120x120х25мм 0.8А (в пределах нормы), 46.5дБ (не слишком шумный) 4 pin(управляемый). Взял 3шт по 440р.
В добавок к вентиляторам понадобилось 2 комплекта винтов M5x10 16 шт за 160р за комплект, и комплект защитных решеток Fan Grill 120x120мм за 400р (5шт):

Позже, опытным путем выяснилось что на моей плате только один нижний разъем вентиляторов может регулировать обороты, поэтому пришлось взять разветвитель питания за 250р:

Термопаста (большой шприц за 300р):

Набор отверток за 655р:

Еще нужны SATA кабели. Сильно не вникал, взял самые дешевые.
Подведем итог, сколько все это вышло (цены первой половины 2023 года):
|
Наименование |
Модель |
Количество |
Цена за ед. |
Общая сумма |
|---|---|---|---|---|
|
Материнская плата |
Supermicro X9DBL-I |
1 |
4250 |
4250 |
|
CPU |
E5-2470v2 |
2 |
1000 |
2000 |
|
ОЗУ |
DDR3 ECC Reg 32Gb LRDIMM SK Hynix |
6 |
2800 |
16800 |
|
Кулер |
Deepcool GAMMAXX S40 |
2 |
1108 |
2216 |
|
Блок питания |
Deepcool PK500D |
1 |
3630 |
3630 |
|
Вентиляторы |
Delta AFB1212SH 120x120х25мм 0.8А |
3 |
440 |
1320 |
|
Комплект винтов |
M5x10 (16шт) |
2 |
160 |
320 |
|
Комплект защитных решеток |
Fan Grill 120x120мм |
1 |
400 |
400 |
|
Разветвитель для вентиляторов |
|
1 |
250 |
250 |
|
Desktop корпус |
Ginzzu SL180 |
1 |
2900 |
2900 |
|
Итого |
|
|
|
34086 |
И это только то, что в итоге оказалось в сервере. Кроме этого было куплено еще много всяких мелочей, который оказались лежащими на полке.
Оказалось сборка сервера с нуля без опыта это не простая затея и требует много времени на изучение чтобы купить все совместимые друг с другом компоненты. Для первого опыта норм, но можно было сделать лучше. В совокупности у меня это заняло примерно 2 месяца.

После сборки я развернул несколько виртуалок и установил нужное мне ПО. А спустя некоторое время этот сервер продал по цене сборки, на подходе был второй домашний сервер, лучше и мощнее.
За все время сборки я получил интересный опыт и стал ближе к коллегам сисадминам.
Кроме одного домашнего сервера, в моем арсенале инфраструктуры появился блейд сервер и несколько неуправляемых коммутаторов (справа десктопный сервер, слева внизу блейд-сервер на 8 материнских плат, а на нем коммутатор):

Дальше я хочу организовать свою домашнюю инфраструктуру для работы, разработки и хранения данных. Нужно до собрать второй сервер и запустить на нем виртуализацию, а затем доделать инфраструктуру с защищенным сетевым периметром и возможностью прокидывать порты виртуалок наружу.
Возможно, продолжение следует ...
Автор: Byurrer
Источник [38]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/server/400524
Ссылки в тексте:
[1] Мотивация: #motivation
[2] На первый взгляд ничего сложного: #its-simple
[3] Компоненты: #components
[4] Материнская плата: #motherboards
[5] Сокет процессора: #socket
[6] IPMI: #ipmi
[7] Форм-фактор: #formfactor
[8] Процессоры: #cpu
[9] Охлаждение процессоров: #cpu-cooling
[10] ОЗУ: #ram
[11] Блок питания: #ps
[12] Диски: #storage
[13] Корпус: #case
[14] Охлаждение внутри корпуса: #case-cooling
[15] Расходники и инструменты: #consumables
[16] Какова цена?: #money
[17] Что теперь?: #next
[18] Supermicro X9DBL-i: https://www.supermicro.com/products/archive/motherboard/x9dbl-i
[19] Xeon E5-2420: https://xeon-e5450.ru/socket-1356/xeon-e5-2420/
[20] Здесь: https://2hpc.ru/socket-intel/
[21] на википедии: https://ru.wikipedia.org/wiki/%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_%D1%80%D0%B0%D0%B7%D1%8A%D1%91%D0%BC%D0%BE%D0%B2_%D0%BC%D0%B8%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80%D0%BE%D0%B2
[22] там: https://xeon-e5450.ru/
[23] IPMI: https://habr.com/ru/companies/selectel/articles/439834/
[24] KVM: https://ru.wikipedia.org/wiki/KVM-%D0%BF%D0%B5%D1%80%D0%B5%D0%BA%D0%BB%D1%8E%D1%87%D0%B0%D1%82%D0%B5%D0%BB%D1%8C
[25] в статью о поисках IPMI: https://byurrer.ru/ipmi-detect
[26] топовый в этой линейке это Xeon E5-2470v2: https://www.intel.com/content/www/us/en/support/articles/000008194/server-products.html
[27] v3: https://ark.intel.com/content/www/us/en/ark/products/series/78583/intel-xeon-processor-e5-v3-family.html
[28] v4: https://ark.intel.com/content/www/us/en/ark/products/series/91287/intel-xeon-processor-e5-v4-family.html
[29] Здесь: https://habr.com/ru/companies/servermall/articles/321554/
[30] приключения с мониторингом температуры: https://byurrer.ru/usb-termometers-monitoring
[31] серия постов в моем телеграм канале: https://t.me/byurrer_ru/59
[32] 80 plus: https://ru.wikipedia.org/wiki/80_PLUS
[33] это видео: https://www.youtube.com/watch?v=bZrzaEZdE88
[34] отдельно для системы: https://byurrer.ru/proxmox-install-raid1-debian
[35] отдельно для хранения данных: https://byurrer.ru/storage-raid1
[36] старые платы от Supermicro не полностью поддерживают NVMe даже после прошивки модифицированного BIOS: https://byurrer.ru/modify-bios-nvme
[37] все платы Supermicro выдают по 3А: https://www.supermicro.com/support/faqs/faq.cfm?faq=23761
[38] Источник: https://habr.com/ru/articles/853354/?utm_source=habrahabr&utm_medium=rss&utm_campaign=853354
Нажмите здесь для печати.