Статьи цикла:
- Обзор материалов и литературы по NAS. По предложениям пользователей ссылки на материалы будут сведены в отдельную статью.
- Выбор железа. Описан один из вариантов выбора железа и дан краткий обзор рынка домашних и офисных NAS систем.
- Установка ОС, на которой будет строиться NAS. В отдельной статье описано дополнение, позволяющее отказаться ото всех файловых систем, кроме ZFS.
- Проектирование поддерживающей инфраструктуры, которая будет лежать в основе всех сервисов NAS.
- Реализация поддерживающей инфраструктуры.
- Механизм аварийной удалённой разблокировки. Требуется для того, чтобы разблокировать систему, не имея к ней физического доступа.
- Повышение защищённости NAS. Исправление ошибок, допущенных в предыдущих статьях и описание Hardening процесса.
- Система контроля версий на базе Git. Установка Gitlab в контейнере.
- Система резервного копирования. От регламента до установки ПО, где в качестве примера используется UrBackup.
- Персональное облако. Обеспечивает хранение персональных файлов пользователя, обмен файлами между пользователями, а также интеграцию различных сервисов между собой.
- Сквозная аутентификация контейнеров.
- Управление файлами.
- Библиотека.
- Мультимедийная система 1: музыка.
- Мультимедийная система 2: медиа сервер.
- Фронтенд. Интерфейс, позволяющий быстро обращаться к сервисам.
- Заметки про управление контейнерами.
Как видно из новостей, облака и сервисы крупных компаний — это удобно и надёжно, но далеко не всегда:
- Безопасности уделяется мало внимания, несмотря на все заверения.
- Смена тарифов зависит только от прихоти компании.
- Старые сервисы уходят с неизвестными для пользователей последствиями.
- Ваш аккаунт могут заблокировать в любой момент по не вполне понятным причинам.
- И не стоит даже говорить о том, что в один прекрасный момент доступ к вашим ресурсам вам может заблокировать государство.
Так что, кормить облачные сервисы — хорошо, но в некоторых случаях "своя рубашка ближе к телу".
Изначально, одной из моих целей являлось исследование построения собственной системы, в частности NAS с возможностью работы "домашним сервером".
Постепенно возникла идея, что в свете недавних событий, информация такого плана интересна, и неплохо бы аккумулировать её в одном месте, структурировать и дополнить.
В итоге, должно сформироваться что-то вроде общедоступных best practices для энтузиастов, начиная от выбора и сборки железа и заканчивая программным обеспечением.
Данная статья является оглавлением к статьям по построению NAS.
По этим практикам желающие смогут построить свой NAS на приемлемом инженерном уровне.
Затем, исправить ошибки, дополнить своими идеями и, при желании, опубликовать свой вариант, улучшив практики и пополнив общую базу.
Основной практической целью построения системы было дать мне возможность безопасно работать с моими данными из любого места, где есть Интернет.
Следствием из этого, главной задачей построения данного NAS стало обеспечение точки синхронизации в виде системы управления Git репозиториями и системы резервного копирования.
Прочие задачи — это коллаборация через self-hosted облако, построение системы мультимедийной поддержки, репликация данных на сторонние облака и хранение относительно статичных данных, таких как книги, фильмы, музыка.