PixelNAS — результат переделки мини компьютера в мобильный NAS

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

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

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

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

Спецификация

Название

Характеристика

SoC

Rockchip RK3568

CPU

Quad-core 64-bit Cortex-A55, 2ГГц

GPU

ARM G52 2EE

OpenGL ES 1.1/2.0/3.2, OpenCL 2.0, Vulkan 1.1

NPU

0.8TOPS@INT8, встроенный AI ускоритель RKNN NPU

Caffe/TensorFlow/TFLite/ONNX/PyTorch/Keras/Darknet

VPU

4K 60fps H.265/H.264/VP9 видео декодер

1080P 100fps H.265/H.264 видео кодер

8M ISP, поддержка HDR

RAM

8ГБ LPDDR4

32-bit, 1600МГц, поддержка all-data-link ECC

Storage

64ГБ eMMC

M.2 PCIe3.0 x1 (2242 / 2280 NVME SSD)

SATA3.0 до 5 SSD M.2 (2260 / 2280 SATA), программный RAID 0,1,5,6,10

TF-Card Slot x1

Ethernet

2x Gigabit Ethernet

LAN (PoE) с поддержкой PoE+ (802.3AT, мощность 30Вт)

Wireless

Mini PCIe для установки 4G LTE модема

WiFi6 (802.11 ax)

BT5.0

Display

HDMI 2.0, 4K@60fps

Audio

HDMI Audio

Interface

2x USB3.1 Gen1 (USB3.0)

2x USB2.0

OS

Armbian

Size

180мм x 105мм x 47мм

Operating Temperature

-10°C..60°C

Внешний вид

Габаритные размеры мобильного NAS
Габаритные размеры мобильного NAS

Этапы сборки

Весь процесс сборки условно можно было разбить на три этапа:

  • Установка и крепление дисков

  • Сборка модуля с дисками

  • Установка модуля в корпус

– Установка дисков

Для крепления дисков M.2 были напечатаны стойки под винт М2.5, после чего все диски были зафиксированы на плате жестким винтовым соединением:

Плата с установленными дисками
Плата с установленными дисками

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

Установка термоподложек
Установка термоподложек

– Сборка модуля с дисками

Для крепления платы с дисками и основной платы применялись проходные стойки. Сначала первые четыре стойки устанавливались на радиатор модуля:

Нижняя панель-радиатор с проходными стойками
Нижняя панель-радиатор с проходными стойками

После этого с помощью следующих стоек на них крепилась плата с дисками, вставлялся FPC кабель с SATA и питанием, который приходил с основной платы:

Крепление платы с дисками к панели-радиатору
Крепление платы с дисками к панели-радиатору

В самом конце этой части сборки, уже с помощью винтов была закреплена основная плата:

Крепление основной платы
Крепление основной платы

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

Конструкция из двух плат и панели-радиатора
Конструкция из двух плат и панели-радиатора

– Установка модуля дисков в корпус

Сначала был установлен верхний профиль корпуса, который сразу крепился на четыре винта через отверстия в основании радиатора модуля дисков:

Установка профиля корпуса
Установка профиля корпуса

В самом конце крепились передняя и задняя панели, каждая на два потайных винта:

Финальный результат сборки
Финальный результат сборки

В общем, процесс сборки особых трудностей не доставил. Единственное, пришлось повозиться со стойками. Хотя в принципе, надо было просто заказать подходящие стойки по высоте.

Тестирование и особенности дизайна

Выделим ряд ключевых моментов для мобильного NAS, как доставшихся от готовой платформы, так и новых:

– Производительность дисковой подсистемы

Учитывая, что мобильный NAS получился в результате доработки готового мини ПК, вариантов для построения дисковой подсистемы особо не было. В результате, все диски подключены с помощью контроллера SATA Port Multiplier.

На данный момент разработано два типа модуля дисков, один из них на пять M.2 SATA, другой на четыре M.2 SATA и со встроенным блоком бесперебойного питания UPS. Такое количество дисков позволяет собрать наиболее распространенные варианты RAID, такие как RAID 0, 1, 5, 6 и 10. У каждого из этих вариантов есть свои особенности, которые связаны с количеством дисков в массиве, надежностью, с точки зрения продолжения работы при выходе из строя одного или двух дисков, а также скоростью записи и чтения.

Для модуля из пяти дисков, был создан RAID5 и проведено несколько тестов для того чтобы оценить производительность дискового массива. Предварительно был доработан Armbian для новой архитектуры железа и установлен openmediavault, с помощью которого была получена вся статистика по результатам работы.

Во время первого теста процессор самостоятельно создавал файл размером 10ГБ (десять гигабайт) и записывал его на массив RAID5, который был собран из пяти самых доступных M.2 SATA серии A2000 компании Exegate, при этом оценивалась локальная скорость записи:

Скорость локальной записи
Скорость локальной записи
IOPS
IOPS
Длительность локальной записи
Длительность локальной записи

Массив на RAID5 сам по себе не очень быстрый на запись. Как можно видеть, количество операций, которые выполняют диски в единицу времени - IOPS, равно 100. Низкий показатель для массива из SSD дисков, но сравнимый с массивом из производительных дисков SATA. Также при записи активность дисков доходила до 50%, а сам массив в общем был занят на 100%.

– Наличие беспроводного сетевого интерфейса

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

Скорость соединения WiFi во многом зависит не только от поколения WiFi, но прежде всего от условий приёма. Если говорить про адекватную замену сетевого гигабитного подключения, то поддержка WiFi6 (802.11 ax) для мобильного NAS является востребованной функцией, так как реальная скорость в этом случае может хоть немного приблизиться к проводному гигабитному соединению.

Во время второго теста оценивалась скорость чтения созданного ранее файла при подключении по WiFi. Так как не удалось найти роутера с WiFi6, тесты проводились для WiFi5 соединения (синий график):

Скорость чтнения по WiFi (синий график)
Скорость чтнения по WiFi (синий график)
Количество операций
Количество операций
Длительность записи по WiFi (синий график)
Длительность записи по WiFi (синий график)

Даже с учетом того, что тестировался по сути WiFi5, а не WiFi6, скорость чтения судя по графику держалась на отметке чуть ниже 20МБ/с (двадцать мегабайт в секунду).

Размеры модуля WiFi6 достаточно малы и при необходимости над ним можно разместить mini PCIe 4G/LTE модем:

Интегрированный модуль WiFi6
Интегрированный модуль WiFi6

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

– Производительность проводного сетевого подключения

Установленный в мини ПК процессор RK3568 - это SoC для встраиваемых систем с большим количеством встроенных высокоскоростных интерфейсов, в том числе двумя контроллерами GMAC (гигабитный MAC) для подключения к сети Ethernet с помощью внешних PHY.

Возвращаясь к тестам. В последнем третьем тесте проводилась оценка записи только что считанного файла по WiFi, но уже при подключении по проводному 1G Ethernet (крайний график справа):

Скорость записи по сети (крайне правый график)
Скорость записи по сети (крайне правый график)
IOPS (крайне правый график)
IOPS (крайне правый график)
Длительность записи по сети (крайне правый график)
Длительность записи по сети (крайне правый график)

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

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

Для гигабитного Ethernet подключения, данный вариант мобильного NAS подходит очень хорошо, а вот для скорости 2.5Гб/с (два с половиной гигабит в секунду) и выше, производительности будет уже не хватать.

– Возможность установки широкополосного модема

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

Модем 4G LTE, подключаются к mini PCIe и ещё есть слот для подключения SIM карты, а также место для установки антенны.

Элементы для установки модема
Элементы для установки модема

– Малые габариты

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

Если за базовый размер мобильного NAS взять корпус для внешнего HDD 3.5”, что составляет примерно (190 х 120 х 35)мм, то найти портативный NAS с подобными размерами будет достаточно сложно. Понятно, что такой подход не имеет особых оснований, но как вариант для дизайна корпуса мобильного NAS, кажется, что такое условие не так уж и сложно выполнить.

Так, размеры хорошо известного ASUS Flashstor на шесть M.2 дисков - (380 х 193 х 48)мм, у индустриального NAS QNAP на четыре диска - (244 х 180 х 62)мм, а у одного из самых компактных портативных NAS на четыре диска, который удалось найти, размеры корпуса - (230 х 165 х 30)мм, что составляет примерно от 80% до 125% в основании от листа A4.

Сравнение габаритных размеров известных NAS по основанию
Сравнение габаритных размеров известных NAS по основанию

– Разные варианты источников питания

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

Среди наиболее востребованных вариантов питания могут быть:

  • стандартный 12В адаптер (12В, 2А)

  • Type-C PD (не менее 20Вт)

  • PoE+ (25Вт и выше)

Для питания по Type-C PD необходим специальный контроллер PD, который сообщает хосту какое напряжение необходимо для работы устройства. К сожалению, контроллер PD устанавливается не всегда. Например, в мини ПК не было такого контроллера, да и разъема Type-C тоже нет. Тем не менее, если для питания мобильного NAS планируется использовать Power Bank с Type-C PD, то можно сделать свой кабель припаяв к модулю внешнего Type-C PD обычный кабель с джеком питания, предварительно задав выходное напряжение 12В:

Схема включения контроллера Type-C PD
Схема включения контроллера Type-C PD
Кабель питания 12В с контроллером Type-C PD
Кабель питания 12В с контроллером Type-C PD
Модуль Type-C PD
Модуль Type-C PD

Есть и совсем небольшие модули PD сразу с Type-C “папа” на 12В, которое задается резистором. Такой модуль можно поместить даже в термоусадку.

Схема включения контроллера Type-C PD с задающим резистором
Схема включения контроллера Type-C PD с задающим резистором
Питание мобильного NAS от Type-C PD
Питание мобильного NAS от Type-C PD

Схема питания PoE+ выполнена на основе отдельного модуля, с выходной мощностью 30Вт:

Схема подключения модуля PoE+
Схема подключения модуля PoE+
Внешний вид модуля PoE+
Внешний вид модуля PoE+

Выходной мощности модуля хватает для нормальной работы мобильного NAS с пятью SSD дисками с учетом полной загрузки процессора. Фактически нужен только один патч корд:

Питание мобильного NAS от PoE+
Питание мобильного NAS от PoE+

– Встроенный UPS

В варианте модуля на четыре диска, дополнительно к дискам на плате можно разместить встроенный UPS с резервом работы до одного часа при полной нагрузке. 

Если рассматривать встроенный UPS как часть мобильного NAS, то по площади две батареи 18650 примерно занимают место, необходимое для диска М.2:

Размещение двух батарей на плате модуля дисков
Размещение двух батарей на плате модуля дисков

С учетом высоты батарей, пришлось немного увеличить нижнюю панель-радиатор по высоте для того чтобы разместить батареи:

Конструкция радиатора модуля дисков
Конструкция радиатора модуля дисков

При средней мощности потребления в районе 10Вт, продолжительность работы от двух элементов LFP 18650 как раз должна составить порядка одного часа. 

– Малое потребление

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

Для примера, потребление мобильного NAS с процессором RK3568, с пятью дисками и загруженным Armbian, составляет не более 5Вт. Для понимания, у одного из портативных NAS из сравнения выше, построенного на основе мобильного Celeron N5105, этот показатель составляет 18Вт согласно доступной спецификации.

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

– Система охлаждения

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

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

Отвод тепла от дисков и процессора
Отвод тепла от дисков и процессора

Так тепло от SSD дисков отводится на нижнюю панель радиатор, которая была разработана с расчетом на то, чтобы вписаться в общий дизайн корпуса мини ПК:

Панель-радиатор модуля дисков в разрезе
Панель-радиатор модуля дисков в разрезе
Закрепленные диски с установленными термоподложками
Закрепленные диски с установленными термоподложками

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

Процессор с установленной термоподложкой
Процессор с установленной термоподложкой

Несмотря на разъемное соединение верхней части корпуса с нижней панелью-радиаторов, явной границы температурного раздела нет. Ниже приведены фото с тепловизора, на которых видно, что корпус равномерно прогрет по всей поверхности:

Оценка температуры корпуса
Оценка температуры корпуса

Мини компьютер как платформа для разработки малогабаритных NAS

По ходу доработки мини ПК в мобильный NAS, стали появляться и другие идеи развития проекта. Общим элементов будущих проектов выступает всё тот же мини ПК Firefly EC-3568J. При этом весь новый функционал будет реализован за счет разработки новых модулей и отдельных частей конструкции:

Этапы развития проекта по мобильному NAS
Этапы развития проекта по мобильному NAS

Несмотря на то, что процессор RK3568 уже достаточно давно выпускается и за это время появились более продвинутые чипы, в техническом плане этот процессор по прежнему остаётся очень развитым и перспективным. Также сам дизайн мини ПК оказался очень удачным. Процессор RK3568, LPDDR, eMMC и PMIC установлены на отдельном SOM с краевым разъемом. На основной плате размещена уже вся периферия и разъемы для подключения внешних устройств:

Общий вид на плату мини компьютера
Общий вид на плату мини компьютера

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

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

Разработаны уже два разных модуля. Первый модуль поддерживает включение пяти дисков М.2 SATA, второй модуль допускает установку четырех дисков М.2 SATA и дополнительно на плате размещен блок UPS. Также появилась идея использовать мини ПК как некую шапку, которая будет устанавливаться на корзину с пятью 3.5” HDD.

PixelNAS x5 M.2 SATA

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

Структурная схема мобильного NAS
Структурная схема мобильного NAS

Собственно этот мобильный NAS был успешно собран и сейчас с ним проводятся различные тесты, часть результатов которых была приведена в предыдущем разделе. Из софта был доработан Armbian и установлен openmediavault.

PixelNAS x4 M.2 SATA & UPS

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

На одной плате можно разместить до четырех M.2 дисков и две батареи 18650:

Вид снизу на плату модуля с UPS
Вид снизу на плату модуля с UPS
Вид сверху на плату модуля с UPS
Вид сверху на плату модуля с UPS

Для подключения дисков используется тот же контроллер SATA Port Multiplier, что и в варианте модуля с пятью дисками. В состав блока UPS входит специализированный чип вторичной защиты для LFP батарей и контроллер Smart Battery на основе RP2040:

Структурная схема блока UPS
Структурная схема блока UPS

В качестве интерфейса взаимодействия RP2040 с процессором используется интерфейс USB с поддержкой протокола usbhid-ups Network UPS Tools. Микроконтроллер будет отслеживать заряд и разряд батарей, напряжение и температуру каждой батареи, при этом предоставляя полную информацию об их статусе по USB интерфейсу.

Концепт PixelNAS x5 HDD

Данный концепт NAS с пятью 3.5” HDD сложно назвать мобильным, но он базируется на применении того же мини ПК. Ширина 3.5” HDD не превышает ширины мини ПК за счет чего удастся разместить диски вертикально один за другим, не выступая при этом за габариты корпуса мини ПК. Также снизу можно будет расположить до двух вентиляторов (80х80)мм чтобы обеспечить продуваемость всех дисков снизу-вверх:

Охлаждение дисков для варианта NAS с HDD
Охлаждение дисков для варианта NAS с HDD

Для подключения дисков надо еще будет разработать модуль-бэкплейн с вертикальными разъёмами для HDD, но видится, что это не должно быть какой-то большой проблемой. 

Основной интерфейс подключения массива дисков к плате мини ПК сохранится. Добавится только дополнительное питание дисков, спин-контроллер для управления дисками и мониторинг состояния рабочих условий, таких как температура внутри корпуса, напряжение питания дисков, вибрация, удары и т.д. Скорее всего все эти функции можно будет реализовать на микроконтроллере типа RP2040, который уже применяется на модуле с UPS.

Заключение

На текущий момент удалось успешно собрать и выполнить ряд тестов мобильного NAS с пятью SSD дисками на базе готового мини ПК. Как результат устройство получилось компактным и достаточно производительным. Вместе с тем, удалось выявить ряд ограничений со стороны дисковой и сетевой подсистем, которые не позволяют повысить производительность для эффективной работы в локальных сетях 2.5GBase-T и выше без существенной доработки текущей архитектуры.

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

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

Источник: https://habr.com/ru/companies/3rdman/articles/781206/


Интересные статьи

Интересные статьи

В честь дня системного администратора я решил опросить нескольких из них и уговорить поделиться своими историями: как дошли они до жизни такой, и что вообще за жизнь это такая. Собственно, их истории ...
Привет, Хаброжители! Обычно на глубокое обучение смотрят с ужасом, считая, что только доктор математических наук или ботан, работающий в крутой айтишной корпорации, могут разобраться в этой теме. Отб...
Прошло 4 месяца с написания предыдущей статьи, за это время произошло довольно много нового как по технической части, так и по позиционированию девайса. В статье я расск...
В этом посте я хочу поделиться с вами программой написанной мной для разработки ПО под микроконтроллеры по стандарту близкому к AUTOSAR. Читать далее ...
Распространение приложений вроде Waze, Apple Maps и Google Maps умножает хаос Мигель-стрит – это извилистая узкая дорога, проходящая по району Глен-Парк города Сан-Франциско. Ещё несколько л...