Pull to refresh

Собираем NAS на базе китайской материнской платы N5095 Nas Motherboard

Level of difficultyEasy
Reading time11 min
Views41K

Всем привет! Делюсь опытом сборки NAS сервера на базе очень интересной (на мой взгляд) материнской платы.

Введение

Гуляя по просторам алиэкспресса наткнулся на специфическую материнскую плату, специализированную под построение NAS сервера. Решено было приобрести и собрать решение на замену старому.

Сама плата зацепила тем, что на ней уже 12(!!!) разъемов SATA3, что более чем покрывает текущие и будущие мои потребности по подключенным дискам. Также на плате уже есть 2 порта Gigabit Ethernet, и встроен процессор Celeron Jasper Lake N5095 (что более чем для нужд чисто файлового сервера). И все это в формате MINI-ITX, что позволит собрать достаточно компактное решение за, примерно, 10 тыс рублей на момент написания статьи. Саму плату можно найти путем поиска на али по слову "N5095 Nas Motherboard". Судя по фото от разных продавцов, есть несколько ревизий. Как минимум, отличаются наличием порта MSATA.

Немного про то, зачем мне 2 сетевых адаптера

Сетевая схема домашней сети такова, что есть основной компьютер-потребитель данных с NAS и он же источник загрузок. И есть остальные клиенты потребители, они получают данные через wifi роутера. Итого NAS должен быть подключен к двум сетям - сети роутера и прямой линк до PC. На PC сетевые шары смонтированы как сетевые диски. Мне так удобнее :)

Обзор платы

Основные характеристики (взято с али):

12*7 Pin SATA3.0, широко используется в безопасности хранения данных, жесткий диск K машина, NAS сетевое хранилище; Для процессора Celeron Jasper Lake N5095, 2,0 ~ 2,9 ГГц, 4 м кэш TDP15W; 1 * DDR4 2933MHZ SODIMM, до 16G;

2 * для адаптивной сетевой карты WGI211AT 1000M, поддержка пробуждения на LAN, бездисковой загрузки.

1 * MSATA (Выберите один из MSATA и SATA1), максимальная скорость передачи составляет 6 ГБ/сек., 1 * M2 SSD NVME/PCIE3.0 2X; TPM,

GPIO/обеспечивает 8 GPIO контроль, 1 * RS232; Название продукта: материнская плата N5095; ЦП: для Celeron N5095; BIOS: AMI 128MB BIOS, ACPI поддерживается, поддерживает питание при запуске;

Техническая Архитектура: Поддержка одноканального SO-DDR4 s, максимальная поддержка 2933 МГц, SODIMMЕмкость: максимальная поддержка 16G; Слот: 1 * DDR4 SODIMM;

Графический контроллер: поддержка s & HD Graphics; VGA: 1 * VGA, наивысшее разрешение-1920*1080 @ 60 Гц, 1*12 Pin J-VGA расширительный штыревой разъем; HDMI-Совместимость: 1 * HDMI-совместимый интерфейс. Максимальное разрешение 4096*2160 @ 60 ГцПоддержка нескольких дисплеев: Поддержка синхронного или Асинхронного двойного вывода дисплея

MSATA: интерфейс 1 * M-SATA, максимальная скорость передачи составляет 6 ГБ/сек. (выберите MSATA или SATA1)

  • SATA: 12*7 Pin SATA3.0 интерфейс, максимальная скорость передачи составляет 6 ГБ/сек. (Выберите один из MSATA и SATA1)

  • M2-SSD: 1 * Интерфейс PCIE3.0 2X M.2, высокоскоростной протокол NVME, характеристики устройства опционально: 2280, 2260

  • RJ45: 2 * для WGI211AT 10M/100M1000M Адаптивная сетевая карта, поддержка LAN wake-up, бездисковая загрузка

  • Линейный выход: чип ALC662, поддерживает интерфейс переднего F-AUDIO

  • USB3.0: внешний 2 * USB3.0

  • USB2.0: внешний 2 * USB2.0, встроенный 4 * USB2.0

  • RS232: Встроенный 1 * RS232

  • GPIO: Поддержка 8 GPIO

  • TPM: TPM2.0 аппаратное шифрование (опционально)

  • Сторожевая собака: Поддержка 4 ~ 255 секунд сторожевой таймер
    Напряжение: Поддержка + 12V, 3,3 V, 5V, Процессор Vcore, DDR, Мощность Напряжение обнаружения

  • Температура: Поддержка определения температуры ЦП

  • Вентилятор: Поддержка определения скорости вентилятора процессора и интеллектуального управления вентилятором

  • PWR SW: PWR BTN кнопка (кнопка питания)

  • ATX: 24Pin + 8 Pin ATX источник питания

  • Размер изделия: 17х17см

  • Цвет: зеленый

  • Материал: PCB + металл

Плата приходит в картонной коробке, обернутой пупыркой с большими ячейками

После вскрытия упаковки
После вскрытия упаковки
Строгий дизайн
Строгий дизайн

По комплектации:

  • Сама плата

  • Заглушка на заднюю стенку

Иии... Все!

Ни инструкций, ни буклетов, ни наклеек, ни кабелей и болтов! Возможно, кому то это будет критично, но подробного мануала по плате, как я понял по переписке с продавцом, не существует! При запросе скинуть мануал по почте он с радостью отправил файл pdf, внутри которого была та же спецификация, но на китайском:)

Фото мануала
фото мануала
фото мануала

Продолжаем unboxing

Заглушка
Заглушка
Сама плата в антистатическом пакете
Сама плата в антистатическом пакете
И без него
И без него
фото снизу
фото снизу

По отзывам и описаниям были комментарии, что на плате вместо контроллеров сети Intel ставят Realtek, но на полученной мной версии вроде как Intel (но, судя по фото, на другом чипе). Возможно, есть несколько ревизий таких плат.

Фото в районе контроллеров сети
Фото в районе контроллеров сети

Еще в комментариях указывали на шумность бипера. Да, при включении он издает громкий пик, решено было просто закрыть его заглушкой https://www.thingiverse.com/thing:2943218, напечатанной на 3d-принтере.

Из особенностей платы хотел бы отметить, что внутри самой платы расположены 2 порта USB. Такое я встречал только на материнских платах HP Microserver, что позволяет установить флешку с ОС внутри корпуса (TrueNAS и другие).

Также в тех же комментариях жаловались на шум стокового вентилятора, я решил заранее заказать большего размера, выбор пал на Gembird 80x80x25 (D8025HM-4), гидродинамический, 4 pin (стоковый 3 pin). После запуска в стоке шум есть, но субъективно, небольшой. Если вам не критично, можно оставить стоковый, но я решил поменять. Возможно, под нагрузкой шум был бы, но я практически сразу заменил вентилятор.

Сначала хотел заморочится с каким-нибудь креплением-переходником, но решил закрепить на существующий корпус радиатора, протянув пластиковые стяжки 2.5/2 мм под радиатором и притянув к нему.

Новый вентилятор
Новый вентилятор

На плате всего один разъем под память, но, опять же, для моих нужд это не было ограничением, и одной планки в 8Гб было бы более чем достаточно. В одном из отзывов указывалась модель Apacer DDR4 2666 Мгц 8 ГБ CL 19, решено было ее же и взять. Стоимость ~1500р на момент написания статьи.

В качестве системного жесткого диска решено было приобрести SSD диск AMD Radeon R5 NVMe Series M.2 PCI-E 3.0 (R5MP256G8). Стоимость ~1600р на момент написания статьи.

Резюмируя по плате (мое субъективное мнение):

Плюсы:

  • Встроенный процессор, по мощности под простое решение (кому критично ZFS, мощности может недостаточно. Но я не из таких :) )

  • 12 портов SATA

  • Есть разъем m2 под системный диск (не лишает одного разъема SATA)

  • 2 порта Gigabit Ethernet

  • Форм фактор mini-itx

  • Есть встроенный hdmi и VGA (не нужна видеокарта)

  • Цена

Минусы:

  • Мощность встроенного процессора может быть недостаточна под нужды более универсального сервера под решение ресурсоемких задач

  • Нет дополнительных разъемов (PCI-E), расширить платами не получится.

  • Отсутствие внятного подробного мануала и поддержки

  • Непонятный китайский бренд

Немного фото BIOS

Кастомизация корпуса

Сам NAS сервер у меня живет в нише/комбинации ikea БЕСТО, новый сервер будет жить там же. Ниша хоть и достаточно большая, но полноценный ATX корпус туда влазит с трудом. Поэтому под новый корпус были сформулированы следующие требования:

  • Сам внешний вид не важен, сервер будет стоять внутри шкафа

  • Компактность, желательно корпус microATX (хочу иметь возможность поставить в нишу еще что-то, например ИБП)

  • Должна быть возможность установки полноразмерного БП (у меня он был)

  • Возможность простой и быстрой установки 8-10 дисков 3.5

  • Установка дисков через пластиковые направляющие (в предыдущем корпусе было именно так, очень понравилось, но там было только 6 таких посадочных мест, хотелось бы больше)

  • Боковая установка дисков (упрощает, как по мне, их обслуживание и улучшает обдув)

Поискав готовые корпуса не нашел ничего компактного под 10 дисков и решено было пойти другим путем.

Приобрести на али корзины под диски, как на фото ниже (2 шт). Поиск по ключевым словам "hard drive cage". Я выбрал те корзины, которые рассчитаны на 5 дисков. Цена 3500р за 2 шт с учетом стоимости доставки.

Корзина
Корзина

И вставить их в microATX корпус. Забегая вперед, я заказывал комплектацию корзин с вентиляторами, но по шумности они меня не устроили. Даже при подключении к 5в они достаточно сильно шумели, поэтому решено было их заменить на более тихие DeepCool UF 120. Цена 890р за шт. Также, т.к. сервер будет стоять в нише, было решено снять с корзин защитные решетки для упрощения доступа к вентиляторам. В конкретно моей модели сами вентиляторы крепились к корзине, а не к решетке.

Данный формат корзин предполагает их фронтальную установку в нишу 5.25, но я хотел:

  • Горизонтально расположить диски

  • Иметь доступ сбоку корпуса для снятия/установки дисков

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

В качестве корпуса был выбран microATX Exegate BAA-106 Без БП чёрный EX283056RUS. Цена 1390р.

Фото из интернета

Т.к. корпуса в формате microATX по длине достаточно короткие, было решено просто срезать переднюю часть и как-то прикрутить корзины.

После снятия фронтальной крышки получаем:

Заготовка под модернизацию
Заготовка под модернизацию

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

Получаем такой результат:

Без фронтальной части
Без фронтальной части

Ход размышлений был следующий:

  • Нужны какие-то проставки для соединения корзин между собой и между корзинами и корпусом

  • Т.к. на корзинах уже были отверстия с резьбой под стандартные корпусные болты 3.5х6 решено использовать их для крепления проставок

  • Высота корзины 146 мм, корпуса 350 мм. Проставки 3, и хотел сохранить симметричность, итого высота проставки ~19 мм

  • Проставка может состоять из двух деталей и скрепляться по соединению ласточкин хвост. Фиксировать положение можно через отдельные болты

  • У меня есть 3d принтер, поэтому будем проектировать детали под печать

По итогу размышлений и проектирования во Fusion360 родилась такая модель https://www.thingiverse.com/thing:5848585

Печать PETG AbsMaker, температура 240/60, 3 слоя стенки, заполнение 50% сетка, высота слоя 0.16

Крепление между собой
Крепление между собой

Крепление к корзине

К корзине
К корзине

Между собой закрепляем с помощью болтов 3х20 с потайной головкой (тут еще старая модель, подвинул отверстия для скрепления между собой)

К корпусу деталь крепится болтами с гайками (я решил использовать болты диаметром 5 мм). Сверлим корпус, прикручиваем деталь. Тут есть лайфхак. Можно отметить только одно отверстие и просверлить. Далее деталь закрепляется, выравнивается и затягивается этот один болт гайкой. Сами отверстия в детали можно использовать как направляющие для сверления остальных отверстий (я ограничился 4). Загнутые части на передней части сверху и снизу я предварительно просто спилил дремелем. По расстоянию между корзинами и блоком питания под провода из блока питания заложил примерно 35 мм.

Финальный вид после сборки:

Финальный вид
Финальный вид
Финальный вид 2
Финальный вид 2

Итоговый размер получился 32 см в длину, 35 см в высоту и 17 в глубину (без учета проводов под диски). Более чем компактно для сервера на 10 дисков, на мой взгляд.

Из дополнений было решено сохранить возможность включения через кнопку и светодиоды состояния. Их решил поставить на сам корпус сверху, между БП и корзинами. Модель данного крепления (под штатные кнопки 8.5х8х5) https://www.thingiverse.com/thing:5848598. К нему в итоге допроектировал крышечку, чтобы можно было закрыть (случайные нажатия, яркий свет светодиодов).

Еще из дополнений для снижения вибрации и шума было решено весь корпус поставить на полиуретановый туристический коврик. Нашел на wilberries идеально подходящий под размеры (нужно было подрезать немного по ширине). Крепил ее просто на двухсторонний скотч. Цена 250р.

Итоговое сравнение после установки в нишу

Установка ОС

Кратко опишу некоторые особенности, с которыми я столкнулся при установке операционной системы для сервера. Я уже использовал в предыдущем сервере openmediavault, сама ос даже в базовом функционале меня более чем устраивала, решил на новый сервер ставить ее же.

От ос мне нужно:

  • Веб интерфейс

  • Уметь через него монтировать и форматировать диски

  • Создавать софтверные массивы

  • Создавать шары samba

  • Ну и мониторинг (в который я смотрю очень редко)

Последняя (на момент написания статьи) версия уже готовой ос openmediavault (6.0) при установке не могла определить сетевые адаптеры, поэтому решено было устанавливать omv через установку его пакетов на ванильный debian (подробнее процесс описан тут https://docs.openmediavault.org/en/stable/installation/on_debian.html).

Версия debian-11.6.0-amd64-netinst встала без проблем и сразу при установке определила адаптеры.

Самого пользователя в рамках установки я назвал omv, хотя, наверное, это не столь важно. Сами пакеты openmediavault я ставил под root.

Из важного, на что стоит обратить внимание - это выбор GUI. И в рекомендациях самого openmediavault и логически для сервера gui не нужен, поэтому на шаге Software selection оставляем только ssh и стандартные утилиты.

После установки дополнительно выдал возможность подключения под root через ssh (пример настройки) и далее уже сами пакеты ставил копи-пастой из мануала.

После установки подключаемся через веб интерфейс с указанием логина/пароля admin:openmediavault

Также столкнулся с проблемой, что через соединение через роутер шары samba открывались без проблем, а при соединении напрямую нет. Поставив уровень логирования самбы на максимум с syslog было обнаружена строка smbd[7182]: No protocol supported !

Решение нашлось не сразу и было связано связано с тем, что на машине windows была включена версия протокола SMB1. Подробнее можно почитать про это в статье.

Отключается поддержка командой в PowerShell, запущенной от имени администратора: Disable-WindowsOptionalFeature -Online -FeatureName smb1protocol

Видимо старый сервер (я как-то и не замечал:) ) работал еще на протоколе SMB1, и после отключения на windows машине подключение к новому серверу напрямую по smb заработало. Почему-то при подключении через роутер ошибки не было.

На этом все! Спасибо за внимание!

UPD

Резервное копирование и восстановление системного диска

В комментариях был поднят вопрос про восстановление системного диска, решил этот вопрос (правда, не в автоматическом режиме), делюсь опытом.

Также в комментариях был поднят вопрос о качестве текущего диска и его бренда, поэтому дополнительно был приобретен новый диск m2 ADATA и решено было переехать на него, как раз отработав план резервного копирования и восстановления.

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

Для таких целей идеально подходит решение Clonezilla. Этот live-дистрибутив позволяет сделать образ диска целиком (включая загрузочные области), и восстановить из образа на голый жесткий диск всю систему. Тк debian и omv как раз установлены на отдельный диск это и будет сценарием восстановления.

В самом openmediavault есть отдельный плагин для установки и работы с Clonezilla (вроде как команда на перезагрузку с загрузкой clonezilla, копирование образа на флешку) , но плагин у меня не установился (возможно, связано с тем, что я ставил не сам omv, а его пакеты поверх debian), поэтому все операции выполнялись вручную с загрузкой с флешки с установленным дистрибутивом Clonezilla. Я брал стабильную версию дистрибутива https://clonezilla.org/downloads/download.php?branch=stable , указав формат iso для последующей записи на флешку. Варианты создания загрузочной флешки можно посмотреть тут.

Немного про запись флешки

В качестве инструмента для записи я выбрал Rufus, с ним не было проблем при записи того же дистрибутива debian или omv, но после записи Clonezilla на новую usb2.0 16Гб флешку Transcent JF V30 почему то загрузка доходила до консоли grub, вместо загрузки clonezilla.

Попробовав unebootin - тот же самый результат.

Поменяв саму флешку на usb3.0 Kingston ошибка исчезла, Clonezilla загрузился.

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

Сам процесс снятия образа и восстановления достаточно подробно со скриншотами описаны в документации Clonezilla:

Другие сценарии использования можно посмотреть в документации.

В общем, сам процесс достаточно прост, в момент определения дисков (в терминах Clonezilla - репозиториев для сохранения образов) дистрибутив сам выкидывает из списка диски, которые содержатся в софтверных raid. Поэтому в качестве репозитория может выступать или диск с файловой системой, которую можно просто смонтировать (диск не в raid), либо отдельная флешка, либо сама флешка live-usb.

В моем NAS как раз был один диск, который был просто смонтирован и не состоял в raid, поэтому решено было образ сохранять на него.

Сам процесс (+архивация образа) занял около 3 минут, итого на диске появилась в выбранной директории папочка с именем2023-02-16-17-img . Имя можно поменять в момент создания образа, но я все оставлял по умолчанию.

Далее установка нового диска m2, повторная загрузка Clonezilla и запись образа на новый диск.

Процесс восстановления прошел на удивление быстро и теперь у меня есть резервный диск, который, в случае сбоя системного диска, достаточно физически поменять в сервере и получить восстановленный NAS.

Сам образ из себя представляет папку с файлами, объем которой в моем случае составил ~1.1 Гб

Содержание папки образа
Содержание папки образа

Еще важный момент: сами файлы образа Clonezilla создает под root, поэтому просто так (в случае использования в качестве репозитория диска NAS) с ними что-то сделать будет нельзя, и пришлось дополнительно заходить по ssh под root и выполнить команду chmod -R 777 2023-02-16-17-img

Tags:
Hubs:
Total votes 48: ↑47 and ↓1+59
Comments104

Articles