Всем доброе время суток. Этим постом, я бы хотел начать рассказывать о NAS сервере (так же его называют сетевым хранилищем). В этой теме много аспектов и много подводных камней особенно, если собирать свою систему. В теме сегодняшнего поста опишу мое общее мнение и мои мысли по поводу выбора платформы для сборки (готовые и DIY решения), выбора операционной системы, для каких целей и кому может понадобиться NAS, какие сервисы можно установить и для чего они нужны. Эти вопросы я считаю очень тесно связаны между собой, думаю в дальнейшем можно будет убедиться в этом. В дальнейшем в следующих постах постараюсь рассказать на собственном примере как всё реализовано у меня.
Далее пойдет текст для тех, кто только погружается в эту тему и не представляет, что вообще это такое. Для тех кто представляет можно пролистать данный абзац. NAS сервер (Network-attached storage) — дословный перевод: «сеть прикрепленная диском», это специализированная сетевая система, предназначенная для хранения данных и обеспечения доступа к ним через сеть. NAS серверы широко используются как в домашних условиях, так и в офисах и предприятиях. Обычно для этих целей выделяют ПК на x86 архитектуре, подобные стоят у 90 процентов предприятий. Но так же существует и системы на ARM архитекторах, такие используется обычно в готовых решениях от разных производителей которые производят сетевые хранилища. Помимо основного функционала хранения данных NAS для хранения и обмена файлами можно использовать резервного копирования данных, для трансляции различного контента по сети, для размещения сайтов, виртуальных машин, для использования в качестве собственного облака.
И так первая часть начнется с вопроса какой NAS выбрать. Существует два основных варианта NAS серверов: самодельный NAS и NAS от производителя. Рассмотрим их плюсы и минусы:
Самодельный DIY NAS сервер:
Плюсы:
— Низкая стоимость. Сборка собственного NAS сервера может быть более дешевой, чем покупка готового устройства;
— Гибкость конфигурации. Вы можете выбрать железо и программное обеспечение исходя из своих потребностей и бюджета;
— Возможность расширения. Вы можете постепенно увеличивать емкость хранения, добавляя дополнительные жесткие диски;
— Хочу отнести к плюсам, но для кого-то это может показаться и минусом (в минусах этот пункт так же описал). Если вы хотите развиваться и изучать что-то новое, если вы работаете или хотите работать в it-сфере.
Минусы:
— Требует определенных навыков. Для сборки самодельного NAS сервера потребуются знания в области железа и программного обеспечения, придется читать много форумов и что-то изучать;
— Ответственность за поддержку. Вы будете самостоятельно отвечать за обновление и поддержку вашего NAS сервера.
NAS от производителя:
Плюсы:
— Простота использования. Готовые NAS серверы обычно имеют удобный интерфейс, что делает их легкими в управлении;
— Гарантия и поддержка. Вы получаете гарантию производителя и техническую поддержку;
— Высокая надежность. Готовые NAS серверы проходят тщательное тестирование и имеют устойчивость к сбоям (иногда бывают исключения).
Минусы:
— Высокая стоимость. Готовые NAS серверы могут быть дорогими по сравнению с самодельным вариантом;
— Ограничения в конфигурации. Вы можете ограничены выбором оборудования и ПО, предлагаемых производителем.
В целом, выбор между самодельным NAS сервером и NAS от производителя зависит от ваших потребностей и возможностей. Если у вас есть необходимые знания и желание самостоятельно настроить и поддерживать сервер, то самодельный вариант может быть оптимальным. Если вам важны удобство использования, гарантия качества и поддержка производителя, то стоит обратить внимания на готовые NAS серверы.
На готовых NAS акцентироваться не буду, просто есть производители, которые занимаются изготовлением, основные из них: Synology, Qnap, Western Digital, Zyxel.
Основной часть: сборка собственного сетевого хранилища.
- Выбор платформы: Определимся с целью которою хотим получить. Это простое хранение файлов или же мы хотим поставить на наше хранилище дополнительные сервисы. Для простого хранения файлов вполне подойдет x86 совместимая архитектура (настольные, домашние ПК) с процессором от 2-х ядер и оперативной памятью от 1 Гб, с сетевой картой со скоростью от 1 Гб\сек. Если смотреть в сторону ARM архитектуры, то для этих целей подойдут различные мини-ПК на подобии Raspberry Pi (так же клоны orange pi, banana pi и тд.), но у данного решения имеются существенные недостатки: подключение дисков через шину USB, что может привезти к потере скорости чтения\записи, ограниченный выбор операционных систем и программ под данную архитектуру, в некоторых случаях отсутствие инструкций и информации о настройке. Но при этом есть и преимущества: маленькие размеры, низкое энергопотребление, в следствии и низкий нагрев.
Для «первопроходцев» кто только планирует попробовать создать свое хранилище можно для этих целей использовать уже имеющейся старый ПК который немного приближен к тем параметрам которые я рекомендовал (конечно ничего не останавливает попробовать и на более слабых системах). И так же для начала и тестов есть возможность поставить систему на виртуальную машину (для ОС Windows наиболее популярные гипервизоры это бесплатный «Oracle VM VirtualBox» и платное решение от VMware).
Более сложные решения при которых вы хотите использовать множество сервисов и/или дополнительно использовать на сетевом хранилище виртуальные машины потребуется больше ядер и естественно больше оперативной памяти. - Выбор операционной системы: Для NAS создано довольно много операционных систем, я хочу выделить из них самые популярные на мой взгляд: FreeNAS, Synology DiskStation Manager(XPenology), OpenMediaVault, XigmaNAS, CasaOS, TrueNAS, Proxmox(это гипервизор, но я думаю его стоит внести в этот список расскажу почему далее…).
Операционные системы FreeNAS, TrueNAS, XigmaNAS — операционные системы основанные на ядре FreeBSD (свободное ответвление от UNIX систем). Данные системы я бы отнес к «продвинутым» и для использования уже опытными пользователями. Потому как ядро FreeBSD в основном используют корпорации, среди них мало пользователей которые состоят в сообществах и делятся какими-то наработками. Так же «ядро FreeBSD» сложно в познании для начинающего пользователя (в свое время меня поставило в тупик установка дополнительных пакетов). Но, с другой стороны, у этих систем хорошо развита работа с жесткими дисками, это касается различных версий RAID массивов и специфических файловых систем.
Следующая категория ОС это системы основанные на ядре Linux: Synology DiskStation Manager(XPenology), OpenMediaVault, CasaOS.
XPenology — Для начинающих пользователей я бы порекомендовал систему Synology DiskStation Manager, а точнее ее «свободную интерпретацию» XPenology. Единственное ограничение, для установки именно «свободной интерпретации» станет немного сложная первоначальная установка. Зато после установки будет доступен полностью графический веб-интерфейс и более простая настройка при которой не придется лезть в командную строку. В системе есть магазин приложений или сервисов(плагинов), так же имеется docker и система виртуализации.
CasaOS – это простая, легковесная и удобная в использовании операционная система, разработанная для персональных серверов и домашних облаков. CasaOS полностью совместима с ОС Ubuntu, Debian, Raspberry Pi и CentOS. Эту систему тоже можно порекомендовать новичкам. Так же как в XPenology управление доступно через графический веб-интерфейс и установка всех приложений(сервисов) доступна в этом интерфейсе. Но в этой системе тоже есть свои минусы. Первое это то что нет готового образа системы. Для установки потребуется установить одну из операционных систем описанных выше, а уже потом в командной строке ввести команду для установки. Второй минус этой системы, на мой взгляд, это то что нет возможности установить что-то сверх тех сервисов которые предоставляется в системе, а так же в ней нет виртуализации.
OpenMediaVault (OMV) — эта система (тоже на мой взгляд) выглядит как такая «золотая середина». В ней первоначально «из коробки» доступно много сервисов, при этом в дальнейшем можно эту систему донастраивать и установить множество сервисов. В системе хорошо работают docker сервисы и доступна среда виртуализации. Так же для установки доступен готовый ISO образ или можно запустить скрипт установки из командной строки уже установленной системы debian. Но тут нужно быть готовым, что для многих вещей придется лезть в командную строку. Скажу на будущее, если же все таки сделаю обзор на свою систему, что OMV стоит на моем сетевом хранилище.
Proxmox — система виртуализации с открытым исходным кодом, основанная на Debian GNU/Linux. Эта система не заточена под сетевые хранилища, но хочу сделать на ней акцент. Так как это система виртуализации на нее можно поставить параллельно множество систем, а так же манипулировать ими. Единственное, для этого решение, все же потребуется побольше вычислительных мощностей. На мой взгляд управлять графическим веб-интерфейсом системы довольно просто. Например, можно установить Proxmox, а потом как гостевую ОС например тот же OMV или XPenology. При этом система поддерживает снапшоты и при неудачной настройки гостевой ОС можно откатится на предыдущий снапшот (снимок).
Заключение
Вроде те мысли которые у меня были и я их описал. Написал про свое видение. Возможно в каких то моментах можно сделать что-то и лучше или какие-то интерпретации будут выглядеть более лучше. Если, какие то еще «подводные камни» я вспомню их и опишу, и еще сделаю, скорее всего, обзор на мою сборку сетевого хранилища, там опишу железную часть и программную, и какие сервисы я поставил для себя.
В заключение еще хочу добавить интересные сервисы которые можно установить или хотя бы просмотреть, что они делают (в большинстве случаях их легче установить через docker контейнеры): samba (smb), emby, motioneye, nextcloud, nginix proxy manager(npm), qbittorrent, vaultwarden, remoytely, homer, File Browser, wetty.