Что такое свой NAS и как его начать делать?

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

Пропустим «Зачем нужен NAS?» и перейдем к требованиям, от которых мы отталкивались:

  • Доступность — тратить на NAS без дисков больше 50 тысяч рублей слишком расточительно;

  • Модернизация — возможность добавить диски, поменять процессор, увеличить память;  

  • Начальный уровень — насколько пользователь подготовлен к тому, чтобы поставить софт или элементарно собрать железо;

  • Универсальность — возможность не только хранения данных, но и установки медиа-сервера, продвинутого менеджера фотографий, докера.

Готовый NAS начального уровня

a4b4320d1ef33ba9954773ab97b2f2ce.png

Несмотря на ограничения, NAS начального уровня широко представлены и доступны, в основном это продукция Synology, QNAP, WD и т.д.

Модель

Цена

Диск

Процессор

Память

RAID

Комментарий

руб

шт

Synology

Synology DS120j

15000

1

Marvell, 800 МГц, 2 ядра

512 МБ

-

Synology DS220j

25000

2

Realtek 1400 МГц, 4 ядра

512 МБ

0, 1

Synology DS 220+

42000

2

Celeron 2000 МГц, 2 ядра

2 ГБ

0, 1

Synology DS218

36000

2

Realtek 1400 МГц, 4 ядра

2 ГБ

?

Synology DS118

25000

1

Realtek 1400 МГц, 4 ядра

1 ГБ

-

Synology DS420j

40000

4

Realtek 1400 МГц, 4 ядра

1 ГБ

?

QNAP

QNAP D1

15000

1

Realtek 1400 МГц, 4 ядра

1 ГБ

-

QNAP D2

25000

2

Realtek 1400 МГц, 4 ядра

2 ГБ

0, 1

QNAP D4

40000

4

Annapurna Labs Alpine AL-212, 1700 МГц, 2 ядра

1 ГБ

0, 1, 5, 6, 10, JBOD

QNAP D2 Pro

37000

2

Celeron 1700 МГц, 2 ядра

1 ГБ

?

TerraMaster

F4–210

35000

4

ARM v8 quad-core 1.4ГГц

2 ГБ

0, 1, 5, 6, 10, JBOD

$385 на Амазоне

Western Digital

My Cloud Home 2

18000

1

Realtek 1400 МГц, 4 ядра

1 ГБ

-

Не совсем NAS. В продаже отличается размером дисков и количеством: 1 или 2 диска. Стоимость за границей — $190 на 4 ТБ. В РФ — 25тр

Asustor

Drivestor 2

20000

2

Realtek 1400 МГц, 4 ядра

1 ГБ

0, 1, 5, 6

Drivestor 4 Pro

38000

4

Realtek 1400 МГц, 4 ядра

2 ГБ

0, 1, 5, 6, 10, JBOD

Lockerstor 2

36000

2

Celeron 2700 МГц, 2 ядра

4 ГБ

0, 1, JBOD

ZyXEL

NAS326

14000

2

Marvell, 1300 МГц, 2 ядра

512 МБ

?

NAS542

25000

4

1200 МГц, 2 ядра

1 ГБ

?

Fujitsu

Celvin NAS Server Q700

15000

2

Marvell 6281 1,2 ГГц

512 МБ

-

Цены ориентировочные. Первую версию таблицы была сделана 3 месяца назад и за это время цены заметно изменилась.

Из полученной таблицы можно сделать следующие выводы:

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

  • Размер корзины не превышает четырёх дисков.

При этом готовые NAS предлагают достаточно простой вариант установки, что особенно характерно для Synology и Qnap.

Самодельный DIY NAS

Рассмотрим наиболее нетипичный случай, а именно сборка NAS самостоятельно — DIY NAS.

Самый простой вариант — NAS, собранный на основе x86 компьютера

9bc198772c4aeabd6e9282482ffd5222.png

В статье @Cloud4Y, разработчикам удалось собрать NAS за 17 тысяч рублей. Компоненты брали на Авито, на Али и антресолях. Получилась корзина для четырех дисков. При кажущейся простоте решения, существует один недостаток — это повторяемость сборки и порог входа. Найти и закупить компоненты, подобрать аналоги в случае чего, собрать, накатить ОС и желаемые сервисы — всё это требует времени и знаний. Да и стоимость может колебаться, особенно если брать новые компоненты.

Для энтузиастов, которые хотят собрать NAS самостоятельно, на Хабре есть цикл статей от @artiom_n. Там приведено много интересных моментов сборки NAS, а также полезной информации о возможных подводных камнях.

Еще один вариант любителей DIY — решения на базе одноплатных компьютеров, преимущественно с ARM архитектурой

3c024db9c3f48a452b2d7e6840f05536.png

Можно найти большое количество инструкций, шилдов и конструкторов для Raspberry Pi, Orange Pi и других популярных платформ. На Хабре есть неплохой обзор из 2021 года. Как пример такого подхода — NAS PiBox. Без дисков стоит 300$, а тесты показывают достойную производительность. Помимо железа предлагается своя операционка и облачные сервисы. Существенное ограничение — нет поставок в РФ.

Также существует неплохое руководство, как спроектировать NAS на базе практически любого одноплатника и распечатать корпус на 3D принтере

eaf3d08a60517c44e6f5d0d9855c7ddf.png

В отсутствии подходящих интерфейсов, таких как SATA и PCIe, в этом примере диски подключаются с помощью SATA-USB2.0 адаптеров. Безусловно вариант очень простой, но непонятно насколько надежный.

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

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

Облачные хранилища

a701f0136bb86727685560a287cac9c9.png

Может возникнуть резонный вопрос -, а зачем мне своё хранилище, если можно использовать облако? Ведь облачное хранилище обладает рядом очевидных преимуществ:

  • Очень простое подключение. Не нужно практически ничего настраивать. Зачастую достаточно просто создать аккаунт, внести плату и поставить приложение.

  • Это удобно! Фотографии и файлы всегда под рукой через приложения или веб-интерфейс. Автозагрузка настраивается в два клика.

  • Стоимость. Не нужно одномоментно выкладывать 30 тысяч рублей. Можно платить помесячно и,   в случае чего, легко отказаться от продления подписки.

Но не всё так радужно.

  • Гарантии. Как говорил Мюллер в известном фильме: «Верить никому нельзя! Мне можно.» За последний год мы убедились, что крупные игроки особенно подвержены влиянию международной политической обстановки. И где гарантия, что ваш облачный провайдер завтра не откажет вам в услугах?

  • Надёжность. Безусловно, ведущие компании тратят достаточно сил, что бы защитить свою инфраструктуру от взлома. Однако недавний случай с утечкой исходного кода Яндекса в очередной раз обращает внимание, что подобные инциденты происходят даже у таких крупных игроков на рынке облачных сервисов, вне зависимости от их территориальной или национальной принадлежности.

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

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

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

Сервис

Продажи в РФ

Цена 1

Цена 2

Цена 3

Цена 4

Цена 5

Комментарий

500ГБ/год

1ТБ/год

2ТБ/год

3ТБ/год

4ТБ/год

Yandex.Disk

Да

7800р

5700р

Дешевле при разовой оплате за год или 2. Предлагаются разные возможности подписки.

Google Disk

Нет

8400р

Mail RU

Да

2500р-2700р

4500р

8900р

17500р

Довольно гибкие цены.

pCloud

Нет

$50

$100

Можно купить пожизненный план за деньги примерно в 4 раза больше, чем на год

Drop Box

Нет

$120-$200

$180

Тарифы отличаются количеством пользователей и опциями

MS OneDrive

Нет

$70

Дополнительно MS Office и др.

Если отбросить в сторону акции, то для России стоимость 2ТБ в год выходит 7–8 тысяч рублей. В нагрузку идут дополнительные преимущества, вроде безлимита для автоматически загружаемых фотографий и видео, удобные приложения. Условия довольно выгодные, но с рядом описанных выше рисков и других проблем.

Хочешь сделать NAS хорошо — разработай его сам

9b4eef8b035d0af6fa0c17155b2cfc39.png

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

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

  2. Модернизация. Хотелось бы иметь возможность улучшить CPU, память, максимальное количество дисков и внешний вид с минимальными затратами.

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

  4. Удобство. В базовом исполнении наш NAS должен просто быть готов к работе, без дополнительных танцев с бубном и поисков решений в интернете.

  5. Гибкость. Хочется предоставить возможность не только заменить процессор, но и напечатать кастомный корпус, встроить сенсорный дисплей, вывести RGB подсветку и т. д. Другими словами — предоставить свободу творчества при сохранении удобства базовой версии устройства.

cd10d6f988810d6543ad67ac297e034f.png

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

Название

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

Способ установки

Настольный, настенный

Поддержка вычислительных модулей

SODIMM, MXM

Жесткие диски

SATA до 80ТБ с поддержкой RAID 5

Твердотельный накопитель

M.2 2x PCIe Gen 2 / 3

Сетевое подключение

Базовое — 1Гб/с

Дополнительное — 2.5Гб/с, 10Гб/с SFP+

Беспроводное подключение

WiFi 2.4/5ГГц

Внешний порт данных

3x USB 3.1 Gen1

Type-C PD

Видео выход

Mini DP

Type-C

Системный порт данных

USB / UART

Порт GPIO

3.3В / 5В порты ввода-вывода

Питание

230В / 0.5А

Дополнительное питание

Type-C PD, 60Вт

PoE++, 60Вт

Резервное питание

Встроенная аккумуляторная батарея 2S2P, 40ВТч

Операционная система

ОС Linux с открытым исходным кодом

Первые рабочие прототипы NAS позволяют запускать некоторые дистрибутивы Линукс и Open Media Vault.

Вычислительный модуль и несущая плата формата Nano-ITX, всё собственной разработки, позволяют как стримить видео, так и локально выполнять анализ изображений для сортировки. Наличие нескольких видеовыходов и USB3.1 интерфейсов, а также GPIO, открывает простор для кастомизации и расширения.

eacc07d0b395c1810fb60ce909d68430.png

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

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

Если есть связанные с разработкой темы, которые вас особенно интересуют — добро пожаловать в комментарии.

P. S., а ещё у проекта есть Телеграм-канал: https://t.me/UberNasNews

© Habrahabr.ru