Что нам стоит минисервер построить?

Сайт, который вы сейчас читаете, работает на домашнем минисервере, внешний вид которого полностью соответствует его названию. Но так было не всегда.

Мини-минисервер в сборе

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

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

Корпус

Сборка компьютера традиционно начинается с выбора платформы (Intel/AMD), но в нашем случае всё немного иначе. Малый форм-фактор — это удел в основном различных энтузиастов, а не обычных пользователей, и спрос на такие компоненты невысок, чего совершенно нельзя сказать о ценах. Практически любой компактный ПК будет стоить дороже конфигурации с аналогичными характеристиками, собранной в полноразмерном корпусе. И каждый такой корпус имеет индивидуальные ограничения на габариты устанавливаемого в него «железа», которые обязательно надо учитывать. Поэтому именно с корпуса и следует начинать.

Условно компактные корпуса можно разделить на два типа: общего назначения (обычные) и для NAS. В обычном корпусе можно собрать даже игровой компьютер, установив туда полноразмерную видеокарту. NAS-корпуса такого не предусматривают, поскольку предназначены в первую очередь для систем хранения данных. Зато там много посадочных мест для жёстких дисков, и к ним легко получить доступ, если потребуется их замена.

В моём случае дисков много, а видеокарта не нужна, поэтому выбор очевиден — NAS. Искать подходящий корпус долго не пришлось, так как мне сразу приглянулась модель Jonsbo N2. Это небольшой кубик с длиной ребра примерно 22 см.

Источник: jonsbo.com

Сюда влезает пять жёстких дисков, материнская плата форм-фактора Mini-ITX и блок питания форм-фактора SFX. Из всего этого в дальнейшем и будем исходить. И ещё важный момент: у этого корпуса есть две версии! Первая — обычная, её можно купить в российских интернет-магазинах. А вторая — улучшенная, найти которую можно только на AliExpress. Список улучшений следующий:

  • 5 SATA-кабелей в комплекте;
  • Верхняя стенка содержит больше вентиляционных отверстий;
  • Улучшена продуваемость отсека с жёсткими дисками;
  • Более качественный и толстый (25 вместо 15 мм) вентилятор в комплекте.

И хотя SATA-кабелей у меня полно, а вентиляторы я всё равно планировал заменить на Noctua, смысл покупать улучшенную версию определённо имеется. Дело в том, что в обычную версию вентилятор толщиной 25 мм вы не поставите без ухищрений, которые в улучшенном варианте корпуса уже реализованы за вас — в комплекте идёт кабель питания жёстких дисков с угловыми разъёмами, найти который в отдельной продаже практически нереально, по крайней мере в России. Без этого кабеля более толстому вентилятору просто не хватит места.

Единственный недостаток обеих версий — наверху почему-то нет пылевого фильтра. Пришлось колхозить его самостоятельно.

Я сделяль

Через эту поверхность будет идти забор воздуха, так что фильтр точно нужен. Пыль — дело наживное, хотите вы этого или нет, и попадать на радиатор будет в любом случае. Так хотя бы чистить придётся чуть реже.

Платформа

Intel или AMD? Однозначно Intel — без вариантов, так как нужна поддержка Quick Sync Video — это технология для аппаратного кодирования и декодирования видеопотоков, которая мне в ближайшем будущем сильно пригодится.

проВ идеале, конечно, железо должно быть серверное. К сожалению, если взять пересечение множеств серверных и компактных комплектующих и среди них отобрать те, которые доступны на российском рынке, в результате получим почти пустое множество. Даже в нём мне изначально удалось что-то выбрать, но потом внезапно оказалось, что чипсет на плате не поддерживает Quick Sync — поддержка должна быть не только в процессоре, но и в чипсете тоже. В результате рассматриваемое множество целиком опустело, и было решено перейти к рассмотрению обычных потребительских конфигураций.

Новейшая линейка процессоров Intel — Core Ultra, выпущена меньше года назад. Казалось бы, звучит неплохо, но стоит учитывать, во-первых, цены — а они, напомню, и так немаленькие из-за наценки на компактность — и возможные проблемы с ассортиментом материнских плат, который уже сильно ограничен из-за малого форм-фактора. Поэтому я решил брать предыдущее (14-е) поколение — то есть что-то на 700-м чипсете.

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

Итак, учитываем всё вышесказанное, и кроме этого ещё следующее:

  • Не нужны возможности для разгона процессора;
  • Не нужен Wi-Fi и Bluetooth — к серверу подведён провод Ethernet.

Получаем в итоге практически единственную плату, которая подходит под эти характеристики и доступна для покупки: Biostar B760T-SILVER.

Источник: www.biostar.com.tw

И даже здесь при желании можно докупить модуль для беспроводной связи, но делать этого я, конечно, не буду. А вот чего тут действительно не хватает — двух SATA-портов. Но эту проблему можно решить с помощью специальной платы расширения, которая вставляется в единственный доступный слот M.2. Покупается на AliExpress, содержит контроллер ASMedia ASM1166 — судя по отзывам, с чипами этой серии меньше всего проблем при работе в среде Linux.

Источник: aliexpress.ru

Теперь у нас в сумме больше SATA-портов, чем понадобится когда-либо — корпус просто не вместит в себя столько дисков =)

Процессор

Разъём Socket 1700 позволяет установить любой процессор 12-й, 13-й или 14-й серии. Естественно, берём 14-ю как самую последнюю, а также отбрасываем модели процессоров с суффиксом «K», так как чипсет на материнской плате не поддерживает разгон, который всё равно не требуется. И, конечно же, должна быть встроенная графика, ведь отдельной видеокарты у нас не будет — убираем все процессоры с суффиксом «F».

Ещё стоит учитывать, что в маленьких корпусах может быть сложно отвести большое количество тепла, поэтому, например, какой-нибудь i7 или тем более i9 брать точно не стоит — вполне подойдёт i3 или даже i5.

В итоге я остановился на Intel Core i5-14500. Здесь 6 основных ядер, причём даже с поддержкой Hyper-Threading — на моём старом i5-4690K такого не было! — и 8 дополнительных «энергоэффективных» ядер, которые нынче ставят во все процессоры Intel, начиная с 12-й серии. Ну, пусть будут…

Источник: citilink.ru

Забыл ещё уточнить про тепловыделение. Официально заявленная максимальная цифра — 154 Вт, то есть столько тепла может выделиться при загрузке всех ядер процессора на 100%. Но при этом в обычном режиме, также по словам производителя, теплопакет составляет всего 65 Вт. И всё же при охлаждении лучше ориентироваться на максимальную цифру. Кстати, мы как раз переходим к выбору кулера, так что сейчас об этом и поговорим.

Кулер

Используемый корпус официально поддерживает кулеры максимальной высотой 65 мм с учётом вентилятора. Но на самом деле есть небольшой запас — можно смело накидывать ещё 2-3 мм сверху. Я про это не сразу узнал, поэтому сначала заказал кулер Thermalright AXP90-X53. В названии модели закодирован размер вентилятора — 90 мм — и суммарная высота 53 мм.

Источник: thermalright.com

В разных источниках про характеристики этого кулера почему-то пишут разные цифры максимального количества тепла, которое он может отвести, однако все они немного меньше, чем может выделить процессор при полной загрузке. Вроде бы ничего страшного, но получается не совсем хорошо. К счастью, на тот момент, когда я выяснил, что высоту в 65 мм можно немного превысить, заказанный кулер ещё не доставили, поэтому я успел поменять его на другой — Thermalright AXP120-X67.

Источник: thermalright.com

Здесь, как можно понять, вентилятор уже 120-миллиметровый, а высота всей конструкции составляет 67 мм. И в корпус он помещается абсолютно спокойно. На коробке также указано максимальное количество отводимого тепла: 165 Вт. Вот теперь всё в порядке!

Память

На материнской плате присутствуют только два слота для модулей памяти стандарта DDR5. Впрочем, двух обычно достаточно — память будет работать в двухканальном режиме, обеспечивая максимальную производительность. Лучше всегда покупать комплект из двух планок, так как они обычно тестируются в совместной работе, и неприятные сюрпризы практически исключены. Я заказал почти такой же комплект, который стоит в моём настольном ПК, только с чуть худшими таймингами — G.Skill F5-5600J3636D32GX2-RS5K, два модуля по 32 ГБ.

Источник: gskill.com

Память работает на частоте 5600 МГц с официальным профилем XMP. Не многовато ли будет 64 ГБ? Возможно. Но почему бы не иметь запаса на случай, если потребуется запускать на сервере, например, какие-нибудь виртуальные машины?

SSD

Поскольку M.2-слот занят платой расширения, то SSD формата M.2 использовать мы не можем. Но ничего страшного в этом нет, ведь у меня уже имеется SATA SSD от старой конфигурации — Samsung 870 EVO на 500 ГБ — и он отлично работает.

Источник: samsung.com

Вообще, у меня никогда не было проблем с SSD от Samsung — ни SATA, ни M.2, поэтому я смело могу их порекомендовать к использованию в любых возможных сценариях.

HDD

Конфигурация жёстких дисков осталась такой же. В конце прошлого года я наконец-то построил RAID-массивы для повышения отказоустойчивости. (Здесь стоит обязательно отметить, что это не является заменой резервному копированию, но чувствовать я себя стал несколько спокойнее.) На тот момент у меня уже было два диска по 14 ТБ, которые я объединил в RAID-1, и после этого добавил к ним ещё два диска по 20 ТБ, также в RAID-1. Все диски серверные от ToshibaMG07ACA14TE и MG10ACA20TE соответственно.

Ещё один диск используется для хранения видеозаписей с камер наблюдения (например, на кормушке) — я тоже заменил его в декабре, увеличив объём с 1 ТБ до целых 8, что позволило хранить архив видео со всех видеокамер за последние две недели вместо одних суток. Для этих целей взял диск Toshiba MG08ADA800E.

Источник: citilink.ru

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

Удалённое управление

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

В серверных платах за функции удалённого управления отвечает контроллер IPMI. У нас тут такого нет, так что придётся искать сторонние решения — желательно не очень дорогие, так как суммарный бюджет и так выходит приличный. К счастью, такое решение существует, и называется оно Sipeed NanoKVM-PCIe.

Источник: sipeed.com

Это полноценный мини-компьютер, выполненный в форм-факторе карты расширения, которую можно установить в любой PCI-Express слот на материнской плате — у нас как раз есть один такой. При этом данный слот используется только для электропитания, а не для взаимодействия с компьютером — оно осуществляется преимущественно через USB, с помощью которого эмулируется клавиатура, мышка и устройство хранения данных, с которого можно выполнять загрузку образа ОС.

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

Помимо питания по PCI-Express, NanoKVM также может получать его через Ethernet-кабель по технологии PoE. Очевидно, чтобы получить доступ к веб-интерфейсу удалённого управления, подключать этот кабель придётся в любом случае, поэтому можно задействовать его и в качестве источника питания, которое будет поступать даже если система выключена и не подаёт напряжение на слот PCI-Express.

Тестирование NanoKVM с питанием от Ethernet. На мини-экране отображается состояние устройства, включая IP-адрес

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

Блок питания

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

В конце концов нашлась приемлемая модель среди более мощных вариантов — Thermaltake Toughpower SFX 750W. Помимо прочего, здесь заявлена поддержка ATX 3.0 и есть нашумевший в своё время разъём 12VHPWR для новых видеокарт NVIDIA, который мне, впрочем, всё равно не пригодится.

Источник: thermaltake.com

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

Перенос ОС на новую конфигурацию

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

К счастью, на сервере у меня стоит Linux, поэтому шанс успеха в данном случае несколько выше. Единственное, что потребовалось сделать, чтобы «завести» систему на новой сборке — включить поддержку CSM в BIOS. Сейчас все системы используют UEFI-режим загрузки, но старая платформа, видимо, не поддерживала данный функционал. Правда, есть один нюанс — новые интегрированные графики Intel не поддерживают работу в режиме CSM, поэтому на этапе загрузки не было видно меню загрузчика. Меня это решительно не устраивало, и пришлось какое-то время полазить по форумам, чтобы выяснить, как перевести загрузчик в UEFI-режим без переустановки ОС целиком. И в конце концов мне это удалось!

Меню загрузки GRUB через веб-интерфейс NanoKVM

Для интересующихся подробностями опишу в общих чертах необходимые шаги для такого переключения:

  1. Перевести системный диск из MBR в GPT. Это самый опасный этап, так как если сделать что-то не так, придётся восставливать таблицу разделов и можно потерять данные. К счастью, мой диск уже был отформатирован в GPT — что, вообще говоря, немного странно.
  2. Создать специальный раздел «EFI System Partition», который обычно монтируется в /boot/efi. Для этого, скорее всего, нужно будет выделить место путём сокращения одного из уже существующих разделов диска — что, в свою очередь, потребует сначала уменьшить размер файловой системы в этом разделе. Данный этап, как и предыдущий, лучше выполнять, загрузившись с флешки (например, GParted Live).
  3. Загрузить в режиме UEFI Live-образ того же дистрибутива Linux, который установлен на системном диске, смонтировать все его разделы, сделать chroot в «/» и установить UEFI-загрузчик. В OpenSUSE (мой вариант) последнее делается командой shim-install.

После этого достаточно перезагрузиться, и всё должно заработать. При этом, насколько я понял, старый вариант загрузки не отменяется, и если что-то пойдёт не так, можно всегда снова включить CSM и загрузить систему в этом режиме. Для проверки, что система работает в режиме UEFI, используется следующая команда (Bash) — она должна вывести «UEFI»:

[ -d /sys/firmware/efi ] && echo UEFI || echo BIOS

Вот теперь всё окончательно настроено и работает.

Итог

Продублирую здесь итоговую конфигурацию получившегося минисервера:

  • Корпус: Jonsbo N2
  • Материнская плата: Biostar B760T-SILVER
  • Процессор: Intel Core i5-14500
  • Кулер: Thermalright AXP120-X67
  • Память: G.Skill F5-5600J3636D32GX2-RS5K (2 по 32 ГБ)
  • SSD: Samsung 870 EVO 500 ГБ
  • HDD: Toshiba MG07ACA14TE (2 шт. RAID-1 14 ТБ) + Toshiba MG10ACA20TE (2 шт. RAID-1 20 ТБ) + Toshiba MG08ADA800E (8 ТБ)
  • Модуль управления: Sipeed NanoKVM-PCIe (PoE)
  • Блок питания: Thermaltake Toughpower SFX 750W

Осталось разобраться с обвязкой. Добавляем коммутатор TP-Link TL-SG105PE с PoE-портами и подключаем всё к ИБП Powercom IMP-625AP. От коммутатора выводим LAN-розетку для соединения с локальной сетью квартиры. Ставим корпус на небольшой стенд.

Финальный результат

По-моему, получилось идеально. А вы что думаете?

Вливайтесь в общение

3 комментария

  1. Здравствуйте!
    Спасибо за статью, очень интересная. Расскажите, как себя проявил блок питания? Нормально ли работает? Почему-то на DNS у него очень плохие отзывы:
    https://www.dns-shop.ru/product/1b2919f13590ed20/blok-pitania-thermaltake-toughpower-sfx-750w-ps-stp-0750fnfage-1-cernyj/?utm_medium=organic&utm_source=google&utm_referrer=https%3A%2F%2Fwww.google.com%2F

    Можно вас попросить сделать стать-обзор на Sipeed NanoKVM-PCIe? Интересно более подробно про него почитать.

    1. Блок питания пока что работает, пожаловаться не могу =) Но прошло не так много времени. По всем имеющимся у нас в наличии компактным блокам питания обзоры неважные, поэтому из всех зол пришлось выбирать меньшее.

      По отзывам на DNS ничего не скажу — брак везде встречается… Я читал в основном зарубежные обзоры: https://hwbusters.com/psus/thermaltake-toughpower-sfx-750w-gold-psu-review/. Видно, что далеко не идеал, но бывает и хуже. Например, серия Chieftec Compact — с маленьким (куда ещё меньше-то?) и низкокачественным вентилятором, про который к тому же везде пишут, что он очень противно жужжит, а при низкой нагрузке (мой сценарий) всё время стартует и потом через некоторое время останавливается. То есть он просто износится раньше времени, ничего хорошего в этом нет.

      Обзоры я обычно не пишу, про NanoKVM-PCIe могу лишь сказать, что делает эта железка ровно то, что от неё требуется — ни больше, ни меньше. Ещё отмечу, что открывать к ней прямой доступ из интернета не стоит, так как много писали о проблемах с безопасностью. Вместо этого лучше использовать какой-нибудь VPN (например, WireGuard). Кстати, недавно, если не ошибаюсь, выложили исходники всей прошивки, так что если какие-то баги не поправят в очередном официальном релизе, это могут сделать энтузиасты.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *