Установка операционной системы на nas
NAS4Free
NAS4Free – специализированный свободно распространяемый дистрибутив на основе FreeBSD, используемый для организации сетевых хранилищ. С особенностями данного дистрибутива нам предстоит познакомиться в данной статье, являющейся частью серии о сетевых хранилищах.
NAS4Free обладает прекрасно оптимизированной производительностью, обеспечиваемой на приемлемом уровне даже на самом слабом “железе”. Настройки и принципы для программы будут незыблемы, вне зависимости от того, на чём она будет функционировать, будь то Intel Atom и 2хHDD 5400 rpm или же профессиональное оборудование.
Загрузка NAS4Free возможна в нескольких вариантах, присутствуют образы в виде LiceCD, USB, embedded-файлов, чтобы запустить процесс установки, нужно просто выбрать один из них. На сайте gotoADM.ru можно найти подробную инструкцию по созданию флешки для загрузки NAS4Free.
Действия, описанные ниже, актуально применять при загрузке сборки 1310 с измененной схемой разбивки USB-накопителя и установочного меню для embedded-установки версии FreeBSD 9.3. Именно embedded является рекомендуемой версией для установки дистрибутива по умолчанию. При установке на USB-накопитель минимальный необходимый объем флешки должен быть равен 2 Gb. Требования к оборудованию повышаются в зависимости от использования большего количества функций системы и более усовершенствованных технологий. Например, чтобы улучшить хранилище данных через системуZFS, нужен 64-зарядный процессор с более высокой производительностью, нежели Intel Atom, также потребуется минимум 2 Gb оперативной памяти, но если вам понадобятся расширенные функции, то и этого будет недостаточно. Чтобы активизировать технологию prefetch для повышения производительности файловой системы, необходимо 4 Gb ОЗУ, а чтобы эта технология работала в нормальном режиме, лучше повысить объем до 8 Gb. На старом и слабом железе ZFS обычно не используется, минимум, что может понадобиться на таком устройстве, не менее 512 Mb RAM, при отключении swap этот показатель можно повысить до 1-2 Gb.
Операционная система устанавливается, если готовы необходимое оборудование и периферия. Процесс установки дистрибутива не занимает много времени. На скриншоте ниже показано, как происходит запуск live-версии ОС, с этого начинается установка. Особо следует обратить внимание на IP-адрес, который будет нужен позже для конфигурации NAS4Free. Логин / пароль для входа – admin / nas4free.
Пункты 1-5 не используются при объеме памяти ниже 2 Gb. На диск или флешку ОС устанавливается нажатием цифры 9 – Install/Upgrade. После того, как откроется меню установки, в нём нужно выбрать первый пункт:
Далее появится предупреждение, с ним нужно согласиться:
Затем указываются источник и место инсталляции, могут быть использованы следующие варианты: cd — для оптических дисков, da — для USB-накопителей, SAS и SCSI-диски , ad и ada – ATA и SATA-диски. После этого необходимо создать файл подкачки. Swap-раздел не требует создания и не устанавливается через интерфейс, если в наличии имеется более 2 Gb памяти.
Напоследок пользователь видит окно, представленное на картинке ниже, здесь нужно нажать Enter, после чего можно выбрать либо перезагрузку, либо выключение компьютера.
После завершения загрузки NAS4Free на USB-накопитель все изменения в настройках проводятся с помощью веб-интерфейса. Логин и пароль те же, что и при первой загрузке – admin / nas4free.
FreeNAS
FreeNAS — свободная операционная система для сетевого хранилища (англ. Network-Attached Storage ). FreeNAS основан на ОС FreeBSD с использованием Samba и PHP, поддерживает программный RAID; к нему можно получить доступ по протоколам CIFS (SMB), Apple Mac AFP, FTP, SSH, iSCSI и NFS. Образ ISO дистрибутива имеет размер около 602 Mb, и позволяет как разворачивать, так и работать с системой прямо с CD с возможностью инсталлировать её на жёсткий диск. Аутентификация осуществляется на основе локальной базы пользователей. Указывается возможность аутентифицироваться на основе внешнего LDAP каталога, например, Microsoft Active Directory. FreeNAS сервер может быть включён в домен Microsoft Active Directory. Но, как указывает автор, пока нет возможности предоставлять доступ к папкам сервера на основе учётных записей пользователей Microsoft AD (Active Directory). Можно выполнить подключение FreeNAS сервера к домену Microsoft AD от имени доменной учётной записи, и потом под этой же учётной записью работать с сервером по протоколу CIFS [1] [2] [3] [4] [5] [6] [7] [8] .
Содержание
История [ править | править код ]
Проект FreeNAS был создан в октябре 2005 года Оливье Кочардом-Лаббе, который основал его на базе встроенного брандмауэра m0n0wall, и на FreeBSD 6.0. Волкер Теил присоединился к проекту в июле 2006 года, и стал руководителем проекта в апреле 2008 года. В сентябре 2009 года команда разработчиков пришла к выводу, что проект, создавая выпуск 7.0, должен был полностью переписать FreeNAS, чтобы приспособить современные функции, такие как архитектуру с плагинами. Волкер Теил решил, что FreeNAS лучше должен базироваться на Debian, и переместил его усилия по разработке FreeNAS на промежуточный проект CoreNAS, и, в конечном счёте, OpenMediaVault, продолжает бывшую работу проекта. Кочард-Лаббе ответил на возражения сообщества на «версию FreeNAS на базе Debian», и возобновил активность в проекте, и наблюдал за переходом пользователей на FreeNAS от iXSystems [9] [10] .
Разработчики Дайсуке Аояма и Майкл Зоон продолжали разрабатывать FreeNAS 7 в качестве проекта NAS4Free. Между тем, iXsystems создали для FreeNAS новую архитектуру, основанную на FreeBSD 8.1, выпустив FreeNAS 8 Beta в ноябре 2010 года [11] . Архитектура подключаемого модуля появилась в FreeNAS 8.2, а для FreeSD, и FreeBSD, была синхронизирована версия FreeNAS. В FreeNAS 8.3 введено полное шифрование диска, а в FreeNAS 9.1 на основе FreeBSD 9.1 появилась обновлённая архитектура подключаемого модуля, совместимая с системой управления TrueOS Warden. FreeNAS 9.1 также была первой версией FreeNAS с использованием OpenSFS v5000 при поддержке сообщества [12] [13] . FreeNAS 9.2 включал улучшения производительности, и включал REST API для подключения к удалённому рабочему столу [14] . FreeNAS 9.3 представил загрузочное устройство на основе ZFS, начальный мастер установки, и высокопроизводительный встроенный iSCSI-сервер [15] . FreeNAS 9.10, основанный на FreeBSD 10.3-RC3, прекратил нумеровать свои последние версии как последние версии FreeBSD, представил поддержку мониторинга графита, и экспериментальную поддержку гипервизора bhyve [16] .
В октябре 2015 года, спустя десять лет после выпуска оригинального FreeNAS, версия FreeNAS 10 Alpha была выпущена [17] , предоставив предварительный интерфейс того, каким станет FreeNAS Corral GA, вышедший 15 марта 2017 года. FreeNAS Corral представила новый графический интерфейс пользователя, интерфейс командной строки, базовое промежуточное программное обеспечение, систему управления контейнерами, и систему управления виртуальными машинами [18] . FreeNAS Corral отличается от FreeNAS тем, что предоставляет не только функциональность NAS, но и гиперконверсированную функциональность благодаря встроенной поддержке виртуальных машин. Тем не менее, 12 апреля 2017 года iXsystems объявила, что FreeNAS Corral вместо этого будет относиться к «Technology Preview», ссылаясь на такие проблемы, как «общая нестабильность, отсутствие характеристик с 9.10 (Jails, iSCSI и т. д.), а некоторые пользователи, ссылались на производительность» [19] . Вместо этого было принято решение вернуться к существующему коду 9.10, и исправить функции Corral к 9.10.3, и более новым версиям.
В мае 2017 года, iXsystems объявила о том, что FreeNAS 11 будет выпущена в ближайшее время, которая была основана на 9.10, но включала такие функции, как обновление операционной системы FreeBSD, управление виртуальными машинами, обновления, и новый бета-интерфейс пользователя Corral, но на основе Angular JS.
Архитектура [ править | править код ]
После выхода FreeNAS 8.0, была заменена архитектура, основывающаяся на m0n0BSD/ m0n0wall [en] /PHP, на встроенную систему сборки NanoBSD от FreeBSD [20] . Версия также включает в себя поддержку языка программирования Python, структуру веб-приложений Django, и набор инструментов Dojo (библиотека JavaScript). Версия также использовала веб-сервер lighttpd, но веб-сервер был заменён на nginx в FreeNAS 8.2. Версия 9.10.2, известная как FreeNAS Corral, сохранила веб-сервер nginx, и загрузочные устройства на основе ZFS, но заменила свою структуру веб-приложений Django и dōjō на оригинальную структуру. FreeNAS 11 представил новый интерфейс на основе Angular JS.
NAS своими руками. NAS4Free — Установка
Необходимость в отдельном устройстве для хранения резервных копий данных и прочих нужных и не очень нужных файлов назрела давно, но все как-то не доходили руки до реализации. И вот наконец-то пришлось заняться поиском такого устройства.
Некоторое время назад я уже собирал сетевую систему хранения данных (NAS).
NAS (англ. Network Attached Storage) — сетевая система хранения данных, сетевое хранилище.
И вот пришло время вновь собрать такую систему. В этот раз в качестве операционной системы был выбран проект NAS4Free.
Требования к NAS у меня были самые минимальные: Не требовалась круглосуточная работа, но требовалась надежность сохранности данных.
По идее планировалось включать это устройство время от времени, чтобы сбрасывать на него важную информацию (резервные копии и нужные и не нужные файлы). Подключаться планировал через Windows сеть(протокол SMB).
Железо.
NAS я решил собирать по большей части из того, что было под рукой. Под рукой оказались:
- Корпус INWIN (неизвестной модели семилетней давности)
- Блок питания FSP ATX-400PNR
- Материнская плата с интегрированным процессором GAGABYTE GA-C847N (rev. 1.0)
- Планка памяти на 4GB Kingston KVR13N9S8/4
- Два Жестких диска на 3TB Seagate Barracuda 7200 RPM 64MB ST3000DM001
- Один Жесткий диск на 2TB Western Digital WD20EARS
- USB Флешка на 8GB QUMO (на нее планировалось установить NAS4FREE)
- 2 SATA шлейфа
Ввиду того, что NAS4Free я решил установить с оптического привода (информации по установке с флешки я сходу не нашел, да по правде сказать особо и не искал, но такая возможность есть) мне понадобился привод DVD-привод со шлейфом(можно конечно и CD-привод, но под рукой был DVD-привод).
DVD-привод NEC модели ND-3570A подключался по IDE шлейфу (благо на материнской плате был соответствующий разъем). Ну и естественно нам нужна клавиатура и монитор для установки и первоначальной настройки.
Собираем в корпусе все делали ( это затруднений не вызывает ). Жесткий диск Western Digital WD20EARS подключа. в порт SATA0, жесткие диски Seagate Barracuda ST3000DM001 подключаю в порты SATA1 и SATA2. DVD привод подключаю в режиме Master(но это не важно).
Как я уже сказал выше, в качестве операционной системы был выбран проект NAS4FREE.
NAS4Free — свободная операционная система для сетевого хранилища (англ. Network-Attached Storage). NAS4Free основана на ОС FreeBSD, поддерживает обмен между Windows, Apple и UNIX-подобными системами. Она включает в себя ZFS версии 28, программный RAID (0,1,5), шифрование диска, S.M.A.R.T., сообщения по электронной почте и т. п., так же поддерживаются следующие протоколы: CIFS (Samba), FTP, NFS, TFTP, AFP, RSYNC, Unison, ISCSI, UPnP, BitTorrent — и всё это полностью настраивается через WEB-интерфейс.
NAS4Free может быть установлена на Compact Flash / USB / SSD жёсткий диск или загружена с LiveCD. Все настройки конфигурации NAS сохраняются в одном xml файле.
При необходимости восстановить систему просто: устанавливаем NAS4Free на диск, загружаем файл конфигурации — NAS4Free снова функционирует.
Скачиваем с официального сайта www.nas4free.org и записываем на CD(DVD) болванку образ NAS4FREE. На момент сборки NAS и написания данной статьи актуальной версией была: 9.1.0.1.775
Установка.
Загружаемся с CD диска NAS4Free.
По окончании процесса загрузки видим меню Console setup со следующими пунктами:
1) Configure Network Interfaces
2) Configure Network IP Address
3) Reset WebGUI password
4) Reset to Factory Defaults
5) Ping host
6) Shell
7) Reboot Server
8) Shutdown Server
9) Install/Upgrade NAS4Free from LiveCD/LiveUSB
От нас требуется выбрать пункт меню. Мы выбираем 9 пункт Install/Upgrade NAS4Free from LiveCD/LiveUSB. Для этого вводим с клавиатуры цифру 9 и жмем [ENTER]
Открывается NAS4Free Install & Upgrade Options Menu
1) Install ‘Embedded’ OS on CF/USB Flash Drive or Hard Drive
2) Install ‘Embedded’ OS on HDD/Flash/USB + DATA + SWAP partition
3) Install ‘Full’ OS on HDD + DATA + SWAP partition
4) Upgrade ‘Embedded’ OS from LiveCD/LiveUSB
5) Upgarde ‘Full’ OS from LiveCD/LiveUSB
6) Upgrade and convert ‘Full’ OS to ‘Embedded’
Из предложенных вариантов я выбрал второй: Install ‘Embedded’ OS on HDD/Flash/USB + DATA + SWAP partition.
Первый пункт следует использовать для флешек малого размера(менее гигабайта), а третий стоит использовать для установки FREE4Nas на жесткий диск.
На следующем шаге нас информируют о предстоящих действиях и предупреждают, о потери информации на диске на который будет установлена ОС FREE4Nas. На этом шаге жмем <OK>
На следующем шаге выбираем Диск с которого будет производиться установка.
В моем случае это: cd0 _NEC DVD_RW ND-3520A 1.04
На следующем шаге выбираем Диск на который будет производиться установка.
В моем случае это: da0: 7651MB <QUMO QUMO 1.01>
На следующем шаге отказываемся от SWAP ( на флешке его наличие будет излишним и приведет к более быстрому выходу из строя флешки)
По окончании процесса установки жмем [Enter] и нас вновь ждет меню:
NAS4Free Install & Upgrade Options Menu
1) Install ‘Embedded’ OS on CF/USB Flash Drive or Hard Drive
2) Install ‘Embedded’ OS on HDD/Flash/USB + DATA + SWAP partition
3) Install ‘Full’ OS on HDD + DATA + SWAP partition
4) Upgrade ‘Embedded’ OS from LiveCD/LiveUSB
5) Upgarde ‘Full’ OS from LiveCD/LiveUSB
6) Upgrade and convert ‘Full’ OS to ‘Embedded’
Выбираем <Exit> и попадаем в меню:
1) Configure Network Interfaces
2) Configure Network IP Address
3) Reset WebGUI password
4) Reset to Factory Defaults
5) Ping host
6) Shell
7) Reboot Server
8) Shutdown Server
9) Install/Upgrade NAS4Free from LiveCD/LiveUSB
Выбираем 8 пункт — Shutdown Server, NAS выключается.
Отключаю привод(я его подключал только для установки), включаем NAS, в BIOS выставляем загрузку флешки. Подключаем LAN кабель ( Если до сих пор еще его не подключили )
Грузимся с флешки и попадаем вновь в меню:
1) Configure Network Interfaces
2) Configure Network IP Address
3) Reset WebGUI password
4) Reset to Factory Defaults
5) Ping host
6) Shell
7) Reboot Server
8) Shutdown Server
9) Install/Upgrade NAS4Free from LiveCD/LiveUSB
Теперь наша задача настроить IP адрес.
Выбираем Configure Network IP Address Выбрать фиксированный IP или использовать DHCP решать вам. я пока выбрал использовать DHCP, хотя в будущем собираюсь перейти на статический IP адрес.
Отказываюсь от конфигурирования IPv6. Ждем некоторое время пока идет инициализация сетевого интерфейса. После чего получаем сообщение о назначенном IP адресе и Жмем [Enter]
На этом установка NAS4Free закончена. Выключаем NAS ( Пункт 8 — Shutdown Server). Отключаем клавиатуру и монитор(Если при отключенной клавиатуре NAS не загружается, то смотрите соответствующие настройки в BIOS).
Установка закончена. Теперь надо приступать к настройке, но это уже другая история.
21 Jul 2019, 13:55
Из-за очередного приступа параноии, я решил сменить Google Drive на собственное решение и хранить свои файлики поближе к телу. Выбор был между: поднимать в каком-нибудь DigitalOcean виртуалку и хранить там, или собрать дома свое хардварное решение. Подсчитав сколько будет стоить виртуалка с нужным объемом диска, выбор был сделан в пользу домашнего NAS-сервера.
Выбор
У меня было примерно 100 ГБ данных на момент съезда из Google Drive. Виртуалка в DigitalOcean на 160ГБ стоит 40$ в месяц, то есть в год будет выходить
500$. Дорого. За эти деньги можно дома собрать NAS на терабайт с SSD дисками. Есть ещё вариант брать маленькую виртуалку, и к нему подключить S3 хранилище, но софт, который я планировал использовать, не умеет работать с S3.
Итак, вариант с виртуалкой в облаке я отмёл и пошел смотреть, что нынче есть на рынке домашних NAS серверов. Так как я живу в маленькой квартире, NAS я планировал ставить в жилой комнате, и, если он будет шуметь вентиляторами и вибрировать HDD-дисками, то житья в комнате не будет. Поэтому я хотел найти NAS с пассивным охлаждением и вставить туда SSD диски. Не самое дешевое решение, но за тишину приходится платить.
Как выяснилось, на рынке практически нет NAS с пассивным охлаждением. Почему так я не понимаю, по опыту использования — максимальная температура дисков за год использования у меня была 47.0 C (наверно когда я переносил все данные), в покое — 36.0 C, крышка NAS-а чуть теплая. 90% времени диски простаивают и зачем им вентилятор я не понимаю.
Вот модели с пассивным охлаждением которые я смог найти — QNAP HS-210 , QNAP HS-251 , QNAP HS-251+ (он же QNAP S2 ), QNAP HS-453 . У всех моделей обычный x64-процессор, не ARM. Получается маленькая такая desktop-тачка с местом для двух HDD.
- HS-210 — 512 МБ ОЗУ мало.
- HS-251 — 1ГБ ОЗУ мало
- HS-251+ — 2ГБ ОЗУ норм
- HS-453 — 4 или 8 ГБ ОЗУ. Ultimate решение, но не продается в России и стоит космос.
У Synology бесшумных решений я не нашел. Собирать системник тоже не хотелось — он не получится таким же маленьким и бесшумным как QNAP. В общем выбрал золотую середину — QNAP HS-251+ (QNAP S2).
Из дисков я выбрал WD BLUE 3D NAND SATA SSD 1 TB (WDS100T2B0A). Взял две штуки. Они без проблем заходят в NAS. Итого вышло:
Не самое дешевое решение для NAS, но самое дешевое из подходящих под требования. Кроме этого, чтобы создать свое облако потребуется статический “белый” IP-адрес дома. Чтобы подключаться из интернета к домашнему серверу. Обычно такая услуга есть у любого провайдера.
Программная часть
После покупки и установки самого NAS-а, решил попробовать использовать софт от самого QNAP. Стоит сказать, что он очень разнообразный — полностью заменяет публичные облака и даже умеет запускать виртуальные машины. Из себя он представляет некую ОС (на основе Debian, кажется), с веб-интерфейсом а-ля iPad и проприетарными приложениями.
К сожалению все работает довольно медленно, да и менять один проприетарный продукт на другой, внутренний параноик мне не позволил, поэтому я установил на NAS обыкновенный чистый Linux.
Так как это обычный x86_64 ПК, я записал на флешку свежий дистрибутив, зашел в BIOS и загрузился с нее:
В этом NAS-е есть постоянная память размером 512 МБ куда установлена дефолтная прошивка. Ее я не перезаписывал (при желании можно будет вернуться на нее), и поставил Ubuntu 18.04 на software RAID, собранный из двух установленных дисков. На каждом диске создается по партиции одинакового размера, и они объединяются в RAID1. На одном диске также раздел для загузчика и /boot:
Домашнее облако
Для замены Google Drive (Яндекс.Диск, Dropbox и тд.) я выбрал Seafile — https://www.seafile.com/en/home/
Выбор был между ним и Nextcloud/ownCloud, но после тестовых установок выбрал Seafile. До 3-х пользователей можно использовать Enterprise версию — её и взял. В ней есть поиск по файлам и еще несколько полезных функций, вот здесь есть сравнение бесплатной и enterprise версий. Разворачивал с помощью Docker — очень просто и быстро, на сайте есть подробный мануал
У Seafile есть веб-интерфейс, desktop-приложение для всех ОС и мобильный клиент.
Nextcloud/ownCloud гораздо богаче по функционалу и хранят файлы в открытом виде, то есть их можно интегрировать в другие серверные приложения, но жуткие тормоза при аплоаде файлов и на веб-интерфейсе делают их неработопригодными.
Seafile тоже не идеален, всё что он умеет — просто хранить файлы. Особенности использования:
- хранит данные в бинарных файлах. То есть их нельзя просматривать на диске. Получаем высокую скорость при доступе к данным, но теряем в гибкости. Вот так выглядят данные на ФС:
есть приложение для Android/iOS. Довольно скромное, но заливать фотки с телефона и просматривать файлы умеет.
Домашний NAS и медиа-плеер
Так как в NAS-е есть HDMI выход, я его подключил к телевизору и сделал из него медиа-плеер. В комплекте также есть пульт ДУ:
С помощью очень классной программы Kodi (https://kodi.tv/) можно полностью заменить smartTV, онлайн-кинотеатр и приставку для проигрывания IPTV. Он устанавливается на linux и на экран выводит свой интерфейс. Навигация пультом ДУ или приложением Kore. С пультом были проблемы, не заводился из коробки, пришлось немного потанцевать с бубном.
Вот так выглядит интерфейс Kodi на телевизоре:
Как я использую Kodi:
- плеер фильмов, которые лежат на NAS-диске
- плеер IPTV вместо MAG-250. Умеет показывать multicast-потоки
- проигрыватель YouTube (приложение не очень удобное, но юзабельное)
- в поездках с помощью приложения Kodi для Android подключаюсь к своему NAS и смотрю с него фильмы. Получается такой self-hosted онлайн-кинотеатр
- для скачивания новых фильмов на NAS установил Transmission + web-интерфейс
Также на NAS поставил FTP и Samba, чтобы подключаться с девайсов в локальной сети и NFS для монтирования сетевого диска.
Такой схемой я пользуюсь около года и вот какие выводы сделал:
- приложения Яндекс.Диск/Google Photo удобнее и быстрее. Да, opensource-аналоги не дают такого удобства использования — то тут, то там встречаются мелкие косяки (например в android-приложении seafile фотки при просмотре скачиваются полностью, т.е. не превью сжатое, а фото если весит 5МБ — оно все полетит на телефон, это медленно и занимает место на телефоне; хотя в веб-морде есть превьюхи). Ну и поиск в Гугл.фото по содержанию фотографий (когда в поиске вводишь “горы”, и он показывает все фотографии гор из вашей библиотеки) — это вообще киллер фича, такого в бесплатные аналоги не знаю когда завезут.
- скорость загрузки файлов в Seafile гораздо выше, чем в публичные облака
- смотреть фильмы теперь супер удобно. Особенно в поездках. 4G есть практически везде в России, и теперь не надо закачивать кучу фильмов на телефон — смотрю онлайн, подключаясь с телефона к домашнему серверу. В случае отсутствия связи, например в поезде, подключаюсь по FTP и скачиваю перед отправлением.
- Kodi — супер комбайн, но хотелось бы научиться стримить телевизионный сигнал на телефон, чтобы смотреть ТВ не из дома. Этого еще не понял как сделать.
- чтобы все это настроить пришлось покурить мануалы и подзаморочиться с установкой и наладкой.
Хочу ли я вернуться в публичные облака (Google Drive, Яндекс.Диск)? Нет, не хочу. На мой взгляд, плюсов в такой схеме все же больше, чем минусов. А внутренний параноик теперь спит сладким сном.