Сборка сетевого хранилища на базе ARM своими руками. Часть 1

Домашний NAS на семь дисков своими руками: аппаратная реализация

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

  • подбор необходимых комплектующих;
  • проектирование и изготовление корпуса;
  • технические тонкости процесса сборки;
  • первичная инсталляция операционной системы.

Сборка сетевого хранилища на базе ARM своими руками. Часть 1

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

Предыстория и концепция

За десятилетие у меня накопился внушительный арсенал старых HDD и SSD малого объёма. Утилизировать их не хотелось, а для критически важных задач они уже не подходили в силу возраста и производительности. Желание освоить архитектуру ARM на практике в сочетании с избытком дисков привело к идее создания бюджетного NAS.

Целевое назначение устройства — «холодное» архивное хранение данных, поэтому рекордная скорость обмена данными не была приоритетом. Акцент ставился на самом процессе инженерного творчества. Это важное уточнение для тех, кто может усомниться в экономической целесообразности подобной конфигурации.

Выбор компонентов и архитектура системы

Интерфейсы подключения накопителей

Для объединения дисков я выбрал максимально прагматичный путь: семипортовый USB-концентратор и соответствующее количество адаптеров USB–SATA.

Набор адаптеров

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

Выбор USB-хаба был продиктован его геометрией — мне требовалось удобно разместить кнопки включения на фронтальной панели. Это позволяет обесточивать отдельные диски и имитировать «горячую замену». Несмотря на заявленную поддержку USB 3.0, высокоскоростным оказался лишь один порт. Для обеспечения температурного режима я дополнительно перфорировал корпус хаба.

Модернизация USB-хаба

Вычислительный модуль

Мои критерии к одноплатнику были лаконичны: встроенный Wi-Fi, форм-фактор Raspberry Pi Zero и порт USB-C. Проанализировав рынок (и даже написав об этом сравнительный обзор), я остановился на Banana Pi M4 Zero. В отличие от аналогов, эта плата оснащена 2 ГБ оперативной памяти и встроенным модулем eMMC на 8 ГБ, что критически важно для стабильности системного раздела.

Banana Pi M4 Zero

Важный совет: при выборе SBC ориентируйтесь не только на «железо», но и на наличие мейнстримных дистрибутивов Linux (например, Armbian). Отсутствие нормальной программной поддержки превращает устройство в бесполезный кусок текстолита. Также стоит отметить, что монтаж разъёмов на плату потребовал сноровки из-за специфического покрытия контактов.

Система электропитания

Серверу требовались две линии питания: 12 В для механики жестких дисков и 5 В для электроники и периферии.

В качестве основного источника 12 В использован блок питания для светодиодных лент на 16 А. Такой запас мощности выбран для минимизации нагрева и повышения долговечности. Для сглаживания пульсаций, которые губительны для HDD, я интегрировал в цепь фильтр из мощного конденсатора на 22 мФ и резистора. Разводка питания на адаптеры реализована через стандартный разветвитель для систем видеонаблюдения.

Силовая часть

Линия 5 В формируется через DC–DC преобразователь. После тестов различных модулей я выбрал вариант на 8 А — он показал оптимальный КПД при низких нагрузках и успешно справляется с пиковыми токами в момент раскрутки шпинделей дисков. Линия также усилена конденсатором на 1 мФ.

Преобразователь напряжения

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

Оболочка сервера была спроектирована с нуля и распечатана на 3D-принтере. Конструкция предусматривает гнездо для сетевого кабеля 220 В, кнопку питания, статусный светодиод и активное охлаждение. USB-концентратор интегрирован таким образом, чтобы его клавиши управления оставались доступными снаружи.

3D-модель корпуса

Двухцветный светодиод, подключенный к GPIO, служит индикатором состояния системы (зелёный — норма, красный — ошибка). Для бесшумной работы 12-вольтовый вентилятор был запитан от линии 5 В. Плотность компоновки внутри корпуса оказалась экстремальной: свободного места практически не осталось, а монтаж некоторых узлов приходилось выполнять прецизионным пинцетом.

Внутренняя компоновка

Большинство компонентов удерживается за счёт точной подгонки посадочных мест (friction fit), что избавило от лишнего крепежа и предотвратило дребезжание при работе дисков.

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

Старт системы прошел успешно, за исключением одного HDD формата 2.5″, чей пусковой ток вызывал просадку напряжения. Проблема была временно решена отключением диска через хаб.

Алгоритм запуска стандартен: образ Armbian записывается на SD-карту через Balena Etcher. Для первичной конфигурации (настройка Wi-Fi, создание пароля root) используется подключение через USB–TTL адаптер и терминал PuTTY. После этого управление полностью переходит в SSH.

Специфический момент: диски определились только после настройки USB-оверлея в режиме host. Идея сделать сервер точкой доступа Wi-Fi пока не увенчалась успехом из-за особенностей драйверов, поэтому устройство работает как клиент в существующей сети.

Работающая система

Резюме

На текущем этапе аппаратная часть полностью готова: сервер функционирует, диски монтируются и корректно переходят в режим энергосбережения. Сейчас я сосредоточен на разработке управляющей утилиты с веб-интерфейсом на базе C# Blazor. Она позволит управлять общими папками, правами пользователей и автоматизировать резервное копирование. Подробности программной реализации — в следующей статье.

 

Источник

Читайте также