Цель есть, пришло время подумать о том, какой софт поставить на NAS

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

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

Медиасервер

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

Мы планируем проверить работоспособность наиболее популярных бесплатных решений: Kodi, Plex, Emby. Особенно интересно, как подробная нагрузка отразится на целевых функциях нашего девайса, и сколько пользователей смогут одновременно пользоваться медиа-сервером.

Отдельной задачей стоит автоматическое перекодирование загруженного медиа (привет тем, кто высылает в Телеграмме двухминутные 4К ролики, размером в гигабайт).

Есть сервисы с уклоном в управление фотографиями, например PhotopPrism. Программа заботливо упакована в плагин для OMV. Но сложности могут возникнуть на этапе использования AI функций, вроде распознавания лиц и автоматической группировки фотографий по темам. Не ясно, будет ли эта функциональность работать на GPU "из коробки". Но приложение действительно интересное, и, в случае неполадок, нужно будет отдельно с ним поработать.

Своё облако

На мой взгляд, NextCloud или OwnCloud являются главными альтернативами OMV на нашем устройстве (хоть я и не очень понимаю текущий статус проекта OwnCloud). Это отличное решение как для дома, так и для небольшой организации. Оба продукта предлагают широкий набор инструментов не только для обмена файлами, но и для удобной совместной работы. Они предлагают почту, календарь, пакет офисных программ, чаты и звонки. Кроме этого есть приложения для Android и IOS.

Нас интересует в первую очередь два аспекта:

  1. Запустится ли Cloud на нашем устройстве? Потребуется ли что-то портировать?

  2. Какое количество пользователей смогут комфортно работать, без тормозов и падений?

По первому пункту мы не ожидаем серьезных сложностей, так как в списке устройств, которые предлагает NextCloud, есть устройства на ARM, есть проект NextCloudPi, гуглятся инструкции по запуску OwnCloud на Raspberry Pi и других одноплатниках. 

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

База знаний, таск трекер, хостинг кода

В продолжении идеи "NAS для малого бизнеса" мы бы хотели проверить и обкатать другие инструменты для организации работы небольшой команды. Интересно, получится ли поселить Gitlab или Gitea рядом с OMV. Будет ли это работать для команды хотя бы из пяти человек? Наша команда как раз использует Gitlab. Мы могли бы перевести один из наших внутренних проектов на тестовый прототип и через месяц-другой собрать реальные отзывы. Поставить эксперимент на живых людях, так сказать. 

Но не обязательно ориентироваться на универсальный инструмент для работы команды. Я давно хочу завести себе self hosted записную книжку, вроде Evernote. Одно время пристально смотрел на Joplin, но руки так и не дошли. Заметных ресурсов он не потребляет, выглядит приятно, имеет приложения для Android и IPhone, синхронизацию можно настроить через WebDav.

Либо можно развернуть полноценную wiki. Какой конкретно инструмент взять для тестов пока что не ясно. Слишком прочно мы сидели на Confluence или Gitlab последнее время, и совершенно не в курсе, как сейчас носят системы хранения знаний. При быстром гуглении глаз зацепился за BookStack. С него и начнём.

Особое место в моём сердце занимает Draw.IO, который можно использовать не только в виде плагина для Confluence, но и развернуть на собственном сервере. Инструмент невероятно полезный, особенно в умелых руках. А ещё у сервиса есть интеграция с NextCloud.

Микросервер-запускалка докеров

Сегодня фраза "сервер на ARM" уже не звучит странно. Контейнеры позволяют избежать ада с зависимостями. И хотя вычислительные мощности NAS вряд ли сравнятся с HP Microserver, Raspberry Pi 4 заменить мы сможем. Но в этом пункте нас интересует не только возможность запускать Docker-контейнеры, но и наличие удобных инструментов для управления и мониторинга, а также возможность этих сервисов "уживаться" с OMV. Мой взгляд упал на Portainer, как на наиболее интересное, и при этом достаточно простое решение. Он не привязан к Kubernetes, как Gefyra, open source и довольно активно развивается. Хотя, признаться, я в управлении контейнерами не очень силён. Наверняка есть и более простые решения.

VPN

Выставить свою домашнюю инфраструктуру голыми портами в дикий Интернет - не самая разумная идея. Невозможно уследить за актуальным списком уязвимостей всех своих сервисов, регулярно менять пароли и мониторить открытые порты, если это не основная работа. Не говорю уже о высокой вероятности допустить ошибку. Проще и надёжнее сделать домашние сервисы доступными только внутри VPN. OpenVPN, и WireGuard легковесны и не должны заметно грузить систему. А решения вроде NetBird помогут упростить конфигурацию.

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

Контроллер умного дома

А почему бы и нет? NAS, с большой долей вероятности, работает 24/7. Там бежит Linux и есть свободные USB порты. Вероятнее всего устройство подключено через UPS (тем более что у нас есть что предложить). А большего от контроллера умного дома и не требуется. Осталось убедиться в работоспособности решения и изучить возможные побочки.

Tahoe

Этот вариант я упоминаю в последнюю очередь, но он отнюдь не последний по значению. Для нашей команды Tahoe является одной из наиболее интересных альтернатив OMV. Некоторые участники проекта согласились присоединиться только при условии работы с Tahoe. Поэтому адаптация и тестирование распределённого файлового хранилища на нашем устройстве будет идти практически параллельно с работами по OMV. В комментариях к нашим предыдущим статьям я сталкивался со следующим тезисом: "Некорректно называть собственный NAS заменой облачному хранилищу. Само устройство могут украсть, оно может сгореть при пожаре, утонуть при потопе, быть раздавленным при землетрясением и прочее. И никакой RAID от этого не спасет. Важные данные должны храниться и локально, и в облаке!". Так вот, с помощью Tahoe-LAFS можно восстановить потерянные файлы даже после потери своего устройства. Tahoe позволяет объединить несколько NAS в единую сеть. Каждый из участников сети дублирует данные других. Могут быть различные конфигурации построения сети: от простого зеркалирования до конфигурации схожей с RAID5/6. Tahoe это своего рода распределённый мета-RAID. При достаточном количестве участников сети мы кратно повышаем сохранность данных. Вторым, важным свойством Tahoe является то, что все данные всегда хранятся шифрованными. Это позволяет хранить любые данные в сети без опаски, что их могут скомпрометировать, подменить или изменить. Решение децентрализовано, а значит нет зависимости от конкретного вендора и его ценовой политики. Хотя заплатить за распределённость всё таки придётся. Но подробнее об этом мы расскажем в следующих статьях.

Итог

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

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

P. S.

Интересно было бы почитать про опыт использования перечисленного софта параллельно с OMV. Особенно на Raspberry Pi или Orange Pi.

P. P. S.

У нашего проекта NAS канал в Телеграмме: https://t.me/UberNasNews. Приходите!

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Какие дополнительные сервисы вы бы использовали на NAS?
30.77% Никакие. NAS должен выполнять одну функцию: бережно хранить мои данные. Всё остальное — это переборий. 4
53.85% Медиасервер. Ведь иногда хочется посмотреть фотографии и видео на телевизоре в гостиной. 7
23.08% Своё облачное хранилище. Можно даже без OMV. 3
23.08% Gitlab или аналоги. Раз уж решили найти альтернативу облакам. 3
15.38% Запускалка докеров. Вычислительных ресурсов не много, но для дома в самый раз. 2
15.38% Умный дом. 2
7.69% Tahoe-LAFS. 1
Проголосовали 13 пользователей. Воздержался 1 пользователь.
Источник: https://habr.com/ru/companies/3rdman/articles/727916/


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

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

Для чего вообще нужен docker контейнер? Обычно, во время разработки, для каждого проекта вы настраиваете своё окружение. Но вот произошла такая ситуация: что-то случ...
Периодически мне в разных вариантах задают вопрос, который «в среднем» звучит так: «что лучше: заказать интернет-магазин на бесплатной CMS или купить готовое решение на 1С-Битрикс и сделать магазин на...
Некоторое время назад автор этих строк взялся разрабатывать компактный регистратор одно-полярного аналогового сигнала в пределах 3 вольт с максимально возможной скоростью считывания и минимально ...
В статье описаны необходимые параметры сервера для оптимальной работы сайта на платформе 1С-Битрикс.
Многие не любят психологов и психологию, но немногие отрицают наличие у людей [вообще, а не у себя лично] психологических «заморочек». На этом фоне идея разобраться с этими сложностями самостояте...