Установка ОС FreeNas и настройка сетевого хранилища - Академия Selectel

Установка и настройка FreeNAS версии 11.3

В этой инструкции рассматриваем установку и настройку FreeNAS версии 11.3 и основной функционал.

Введение

FreeNAS — свободная операционная система на базе ОС FreeBSD, которая разрабатывается с 2005 года. Она создана специально для управления хранилищами данных. Последняя версия — 11.3. Потом проект слился со своей коммерческой версией TrueNAS и теперь известен как TrueNAS Core. Нумерация версий продолжилась, TrueNAS вышел под версией 12. Изначально FreeNAS был версией для сообщества, а TrueNAS — для коммерческих клиентов, с платной поддержкой.

NAS в данном случае означает Network Attached Storage или «Сетевое хранилище данных». Помимо хранения данных она позволяет запускать ряд полезных приложений, а также виртуальные машины (на основе VirtualBOX), что является крайне полезным как для домашнего, так и для корпоративного использования.

В этой статье расскажем про возможности FreeNAS. Она поддерживает программный RAID, использование аппаратного RAID не рекомендуется. Программный RAID, в случае выхода его из строя, потребует от вас найти аналогичное аппаратное обеспечение для его восстановления. Программный контроллер RAID также усложняет контроль за состоянием дисков. Часто для получения информации требуется установить специальный софт, который не факт что есть для FreeBSD, на которой базируется FreeNAS.

Установка FreeNAS 11.3

Создание сервера

Для установки FreeNAS нам потребуется сервер. На сервере обязательно должно быть больше одного диска (HDD или SSD, на ваш выбор). Для написания статьи мы взяли в аренду выделенный сервер Selectel.

создание сервера

Сам по себе FreeNAS нетребователен к оперативной памяти. Но файловая система ZFS для работы механизма дедупликации требует 5 ГБ RAM на каждый 1 ТБ хранилища. Без дедупликации требования к оперативной памяти, конечно, значительно ниже, а нужна она не всем. Подробнее про дедупликацию рассказано ниже. Еще много памяти может съедать виртуализация, о которой будет также рассказано ниже.

Минимальный объем оперативной памяти для FreeNAS с дедупликацией (и его потомка TrueNAS) — 8 ГБ. 1 диск целиком займет система. Создавать хранилища на системном диске, штатно, возможности нет. Таким образом, минимальные требования к серверу — более одного диска и более 8 ГБ оперативной памяти.

В теории, есть возможность установки системы на флэш-диск, но мы не рекомендуем это делать по причине слабой надежности флэш-дисков по сравнению с более традиционными вариантами. С версии 12 разработчики также не рекомендуют установку на флэш-накопитель.

Интерфейс Selectel не поддерживает автоматическую установку FreeNAS, но в хранилище образов дисков есть и TrueNAS, и FreeNAS (последняя 11.3 версия).

Для того, чтобы установить нужную нам ОС на наш сервер через KVM-консоль для удаленного управления, следует выбрать в списке операционных систем No OS — boot. Можно выбрать и какую-то существующую ОС, потом ее переустановить или в ручную отменить установку.

Выбираем количество серверов (в нашем случае достаточно одного), модель оплаты и трафик, (а для файлового хранилища допустимый трафик может быть очень важным параметром). Нажатие кнопки «Оплатить сейчас» запустит подготовку нашего будущего NAS.

Настройка сервера

Спустя некоторое время (около 15 минут) сервер будет готов к установке. 

настройка сервера

Приступаем к самостоятельной установке ОС с помощью KVM. О ней подробнее написано в базе знаний.

На странице управления нашим сервером в панели управления нас интересует значок консоли.

доступ к интерфейсу консоли

Именно он откроет нам интерфейс KVM-консоли. 

KVM-консоль

Действуем по инструкции Selectel для монтирования образа FreeNAS к нашему серверу.

монтирование образа FreeNAS

Вкладка CDROM&ISO -> Open ISO.

открываем ISO с образом

Идем по пути iso -> FreeNAS -> FreeNAS-версия.iso.

выбор файла

Обязательно нажимаем Plug in после выбора образа диска. Это смонтирует образ так, будто он вставлен в реальный CDROM сервера.

монтирование образа в виртуальный привод

Перезагружаем сервер.

перезагрузка сервера

Некоторое время ждем пока он начнет загружаться с CDROM (занимает где-то минуты 3).

Это окно свидетельствует что установка сейчас начнется.

начало установки

Стартовое окно установщика. Выбираем (по умолчанию уже выбрано) Install/Upgrade.

выбор опций установки

Пробелом выбираем, какой диск используем как системный (рекомендуем использовать диск с наименьшим индексом, он первый используется BIOS’ом для попытки загрузиться) и нажимаем Enter.

выбор системного диска

Установщик предупреждает нас, что все данные будут удалены и их нельзя будет восстановить, а также рекомендует установить систему на USB-флэш диск. С версии 12 (TrueNAS) разработчики не рекомендуют устанавливать систему на USB-флэш диск. 

рекомендация разработчика

Запрос root-пароля. Чем сложнее пароль, тем лучше. Хотя для доступа по SSH лучше использовать доступ по ключу. В нашем случае этот же пароль будет использоваться для web-интерфейса FreeNAS.

запрос root-пароля

Перед установкой FreeNAS на некое железо, вам стоит предварительно узнать, BIOS у вас или UEFI. Во всех свежих материнских платах используется UEFI. В данном случае я использую старый сервер от Supermicro, у него BIOS.

выбор опций BIOS

Если вы производите установку не на флэш-диск, то рекомендуем создать SWAP. Для флэшки такая нагрузка может оказаться смертельной. Лучше добавить оперативной памяти.

создание swap

Установка может занять продолжительное время, особенно если в качестве системного диска используется не SSD.

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

успешное окончание установки

С помощью уже знакомого нам меню делаем Plug out для ISO-образа.

Plug out для образа

Перезагружаем сервер, и после загрузки нас встречает загрузочное меню FreeNAS.

загрузочное меню FreeNAS

Через несколько секунд оно превратится в главное меню TrueNAS.

главное меню TrueNAS

Настройка сети сервера

Первое, что нам необходимо сделать, настроить на нашем NAS сеть. Для серверов в Selectel настройки сети можно посмотреть со страницы управления сервером, нажав на подсеть.

настройка сети

Нас интересуют «Шлюз по умолчанию», «Маска подсети» и, в данном случае, «Адрес подсети». Он совпадает с адресом сервера, который мы будем настраивать.

Он совпадает с адресом сервера, который мы будем настраивать.

адрес подсети

На скриншотах ниже настройка уже произведена. 

Навигация по пунктам меню осуществляется вводом с клавиатуры номера меню и нажатием кнопки Enter для выбора пункта меню.

Пошагово:

  • вводим 1 для выбора Configure Network Interfaces;
  • выбираем сетевой адаптер для настройки (em0, № 1);
  • отказываемся его удалять (n);
  • отказываемся удалять текущие настройки адаптера (n);
  • отказываемся от DHCP (Наш сервер в Selectel и DHCP нет. Если будете делать это дома, DHCP — всегда плохой выбор для сервера. Его стоит использовать только если вы четко понимаете что и зачем вы делаете;
  • соглашаемся настроить IPv4;
  • выбираем интерфейс em0 (он подставлен по умолчанию, нажимаете Еnter).
интерфейс em0

В примере сетевой интерфейс был настроен ранее и перенастраивается для наглядности. Сначала будет запрос на ввод IP-адреса, затем на ввод маски подсети. Ее можно вводить в формате 255.255.255.0, /24 или просто 24. После ввода этих двух параметров вам предложат настроить IPv6. В нашем случае он не нужен, вводим n, Еnter.

настройка IPv6

Теперь нужно настроить маршрут по умолчанию. Проще говоря, сказать системе, кто роутер. Это пункт 4 в главном меню (на скриншоте ниже). Просто введите адрес роутера и нажмите Enter.

настройка маршрута по умолчанию

Следующий пункт — настройка DNS, на этом настройка сети будет закончена.

Пункт номер 6. Домен можно оставить по умолчанию, local. Нажимаем Enter, значение применяется по умолчанию, указанное в квадратных скобках.

DNS-серверов желательно ввести как минимум два, но система готова принять и больше.

Используем два: 1.1.1.1 от CloudFlare и 8.8.8.8 от Google. Вместо ввода третьего нажмите Enter, это завершит настройку DNS. Если вы устанавливаете сервер «у себя», лучше используйте DNS-сервера провайдера.

настройка DNS

Работа с веб-интерфейсом

На скриншотах выше вы могли заметить под главным меню строки начинающиеся с http:// и https://. Так ОС подсказывает нам, как попасть в главный веб-интерфейс сервера. 

Пройдите по предложенной в главном меню FreeNAS ссылке (мы будем использовать http) и, введя root и заданный на этапе установки root-пароль, войдите в веб-интерфейс FreeNAS.

вход в веб-интерфейс FreeNAS

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

дашборд FreeNAS

Слева главное меню FreeNAS. Через него можно попасть во все необходимые для настройки разделы. Вверху справа значок шестеренки. Через него можно настроить тему оформления веб-интерфейса и сменить пароль. Правее — значок кнопки питания, через него осуществляется управление питанием: выключение, перезагрузка, а также кнопка выхода из сессии (Log out).

В секции System -> General мы можем настроить язык системы, а также некоторые другие интересные вещи, о которых расскажем ниже.

настройка языка системы

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

то же меню на русском

Самое нужное и интересное:

  • Часовой пояс. Стоит установить его на свой.
  • HTTP(s) порт сервера. Стоит его изменить, если ваш сервер смотрит наружу. Чтобы меньше различных ботов и слишком любопытных людей нашли ваш web-интерфейс и имели возможность попытаться его сломать. 
  • IPv4-адрес веб-интерфейса на случай, если у вас больше одного IP-адреса в сервере. Стоит задать конкретный. Один — для управления сервером, второй — для доступа пользователей. 

Настройки в интерфейсе

В верхнем правом углу есть иконка в виде шестеренки, она приведет вас в меню настроек. 

вход  в меню настроек
разрешение на просмотр пароля

Из интересного:

  • «Сбросить столбцы таблицы по умолчанию» сбросит отображение таблиц во всех меню к настройкам по умолчанию. 
  • «Предпочитать кнопки только с иконками» сменит текстовые кнопки на кнопки с иконками и всплывающими подсказками. 
  • «Разрешить просмотр пароля». Когда этот параметр установлен, рядом с полями пароля появляется значок глаза. Щелчок по значку открывает пароль. 
  • Также, вы можете выбрать тему по своему вкусу. 

Настройка FreeNAS

Подключение дисков

Первое, что необходимо сделать, подключить диски нашего сервера к системе FreeNAS. Создать пул из дисков(pool) в терминологии FreeNAS можно в соответствующем меню.

Хранилище -> Пулы.

Пулы хранения — это подключенные диски, организованные в виртуальные устройства (vdevs). ZFS и FreeNAS периодически проверяют и «лечат» каждый раз, когда в пуле обнаруживается плохой блок. Диски расположены внутри vdev для обеспечения различной степени избыточности и производительности. Это позволяет создавать высокопроизводительные пулы, пулы, обеспечивающие максимальный срок службы данных, и все промежуточные ситуации.

Добавляем новый пул через кнопку «Добавить».

Создать новый пул -> Создать пул

создание пула дисков

Настройка самого пула дисков определенно требует более развернутого объяснения. Это меню создания пула. Все ваши незанятые диски будут находится в левой части меню. Те диски, которые вы желаете объединить в пул, надо отметить галочками и нажать на стрелку указывающую вправо, между двумя списками дисков («Доступные диски» —  список доступных для добавления дисков, «VDev данных» — список выбранных для участия в пуле дисков).

выбор дисков для участия в пуле

Под списком VDevs есть переключатель между «Зеркало/Чередование» (Mirror/Stripe в оригинале). 

  • Mirror (зеркало) — способ организации пула таким образом, что вся информация на одном диске клонируется на другом. Это существенно повышает надежность хранения информации. Емкость Mirror равно емкости самого маленького из дисков в пуле.
  • Stripe (чередование) — способ организации пула таким образом, что вся информация разделяется между двумя дисками поровну. Это позволяет задействовать всю емкость дисков. Кроме того это повышает производительность, ведь все операции ввода-вывода производятся сразу с двух разных дисков. Производительность повышается не в два раза, потому что есть накладные расходы на доступ к информации, есть необходимость синхронизировать чтение/запись на диски, но прирост существенный. В нашу эпоху засилья SSD польза от этого режима работы сомнительная, а риски потерять все данные при выходе из строя хотя бы одного накопителя велики, поэтому использовать этот режим не рекомендуется.
  • Вы также можете использовать пул из одного диска если вам не нужна избыточность.

Итого, пулу надо задать имя, режим работы (Stripe/Mirror) и выбрать участвующие в нeм диски. После чего нажать «Создать». 

задание имени

Время создания пула зависит от скорости дисков. Если все пройдет успешно, вы увидите новый пул в списке пулов.

новый пул в списке

Статус дисков

Список и статус подключенных к серверу дисков вы можете увидеть в соответствующем меню Хранилище -> Диски.

Вам доступны параметры S.M.A.R.T., по ним можно ориентироваться о состоянии здоровья ваших дисков.

мониторинг здоровья дисков

Настройка пула дисков

Правила хранения

Дедупликацияименно эта опция работы с дисками во FreeNAS требовательна к объему оперативной памяти. Но оно того стоит. Если вашим сервером пользуется много пользователей или вы сохраняете много резервных копий, файлы будут повторятся в рамках одной файловой системы (пула). 

Они, по очевидным причинам, зря съедают полезное место. Вы можете сэкономить пространство на дисках, включив опцию дедупликации. Хранилище ->Пулы  -> Меню настроек датасета (три вертикальных точки справа) -> Редактировать параметры

дедупликация

Из интересного для неопытного пользователя тут есть Степень сжатия и Дедупликация ZFS

данные по диску

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

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

Сервисы

NAS нужен для того, чтобы хранить на нем какие-то файлы и эти файлы оттуда скачивать. Делать это можно разными способами. В данной статье мы рассмотрим самые популярные: WebDAV и Samba\SMB. Сначала их надо включить в меню «Службы».

Нас интересуют WebDAV и SMB. Чтобы сервисы запускались автоматически, надо поставить соответствующую галочку, чтобы включить их прямо сейчас, и нажать на переключатель.

настройки сервисов

Samba/SMB

Сначала создадим пользователя, который будет в этой папке общего доступа хозяином. Делаем это через меню Учетные записи -> Пользователи. Кнопка «Добавить».

Для наших целей достаточно задать имя пользователя и пароль.

логин и пароль хозяина

Теперь нужно добавить «Набор данных» (Dataset). Это делается через знакомое нам меню Хранилище -> Пулы

Три вертикальных точки справа от названия пула вызовут меню, в котором можно выбрать «Добавить набор данных».

добавление набора данных

Из параметров надо прописать имя и установить «Тип ресурса» в SMB.

установка типа ресурса

Теперь время создать саму «шару» (share). Нажмите Общий доступ -> Ресурсы Windows (SMB) -> Добавить.

создание share-папки

После создания надо отредактировать ACL (Access Control List или ACL — список управления доступом) свежесозданной «шары». 

редактирование ACL

Кнопка «Добавить элемент ACL» создаст внизу справа еще одно поле с параметрами ACL. 

Его надо привести к такому виду:

  • Кто: User,
  • Пользователь: someuser (мы создавали его ранее, ваш может называться иначе),
  • Права доступа: Full Control.
добавление элемента

Если вы добавляете еще одного пользователя, рекомендуем поставить галочку «Применить разрешения рекурсивно». Далее просто нажмите «Сохранить» в самом низу меню.

добавление другого пользователя

Теперь вы можете подключиться к свежесозданной папке общего доступа.

В Windows в строке проводника вы можете просто прописать адрес вашего сервера, начиная с \\: \\ServerAddressOrIP. 

подключение к папке общего доступа

Вы увидите список доступных папок общего доступа, нажав на нужную вам правой кнопкой мыши, выберите «Подключить как сетевой диск». Выберите желаемую букву диска и установите галочку на «Использовать другую учетную запись». Кнопка «Готово» вызовет окно для ввода логина и пароля. Если вы все введете правильно, только что подключенный сетевой диск откроется в новом окне. На других ОС процедура отличается, но суть остается той же. 

WebDAV

Так как сервер не в нашей локальной сети, можно настроить WebDAV. WebDAV — надстройка над протоколом HTTP, разработанная для совместного использования документов и их редактирования. Для пользователей (речь про пользователей Windows) подключение доступно «Из коробки», актуальная версия Windows умеет работать с WebDAV как с сетевыми дисками.

Сначала надо создать соответствующие директории для новой «шары».

В созданном нами пуле (disk1and2 в этой статье) надо создать еще один «Набор данных», который мы будем использовать для WebDAV-доступа. В меню Хранилище ->Пулы

создание набора данных для WebDAV-доступа

Назовем «Набор данных» как webdavdataset. Все остальные параметры по умолчанию.

Управление WebDAV-папками находится в Общий доступ -> Ресурсы WebDAV. Кнопка «Добавить» откроет меню создания новой «шары». 

новый ресурс WebDAV

В файловом браузере в середине страницы выберите наш свежесозданный датасет webdavdataset

Надо задать имя (снова webdavdataset), остальные параметры можно не трогать.

После «Сохранить» система предупредит вас, что все права на директорию будут переназначены для пользователя webdav и группы webdav. Это позволит вам получать  доступ к этой директории через webdav-протокол. 

предупреждение системы

После создания, надо задать пароль пользователю webdav.

Делается это в меню «Службы». Пролистайте вниз до сервиса WebDAV и нажмите на иконку карандаша, чтобы перейти к изменению конфигурации.

меню конфигурации

Самое важное — задать пароль. Доступ к директории вы будете получать по логину webdav и паролю, который зададите здесь. Также вы можете здесь переназначить порт и протокол доступа.

Подключиться к WebDAV (под Windows) очень просто. В верхнем меню выберите иконку с подписью  «Подключить сетевой диск», в секции «Папка» введите http://serverAddressOrIP:8080/webdavdataset и установите галочку «Использовать другие учетные данные». Нажмите «Готово». 

Появится запрос имени пользователя и пароля. Имя пользователя — webdav, пароль вы установили на предыдущем шаге. Рекомендую поставить галочку рядом с пунктом «Запомнить учетные данные».

Особые возможности

VirtualBox

VirtualBox — проект с открытым исходным кодом от компании Oracle. Он интегрирован в FreeNAS, что позволяет удобно его использовать. Детальный разбор VirtualBox за рамками этой статьи, но общие принципы создания виртуальной машины будут показаны.

В меню выберите «Виртуальные машины» и нажмите кнопку «Добавить». Откроется мастер(wizard) создания виртуальной машины.

Здесь надо задать имя виртуальной машины, а также выбрать ее тип — windows, linux или bsd-based.

создание виртуальной машины

Следующий пункт мастера — настройка «железа». Количество процессоров, количество ядер процессоров и количество потоков. Размер оперативной памяти. Все зависит от ваших потребностей.

настройка железа

Следующий пункт — создание диска для виртуальной машины. Надо выбрать место хранения диска, (рекомендуем создать отдельный dataset, подробнее смотрите в пункте про SMB и WebDAV) если вы создаете новый, или выбрать место хранения уже существующего образа диска.

создание диска ВМ

Настройка сети — тип адаптера (для linux стоит оставить по умолчанию), mac-адрес машины, адаптер вашего сервера, к которому будет присоединен будущий виртуальный адаптер.

настройка адаптера сети

Выбор образа для установки. Ни одного образа на сервере нет, загрузим его со своей рабочей машины. Пункт меню «Загрузите файл образа установщика» как раз для этого. 

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

Кнопка «Выгрузить» запустит загрузку файла в указанное вами место. 

директория выгрузки образа
процесс выгрузки

После загрузки файл придется выбрать в верхнем диалоге Choose installation media image

 Choose installation media image

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

отображение информации о настройках

После создания вы можете начать использование. Машина появится в списке, вы сможете ей управлять. Для каждой виртуальной машины доступны стандартные пункты меню: управление питанием, изменение настроек, удаление. 

Чтобы управлять установкой системы, стоит подключиться через VNC. Он уже встроен. Кнопка VNC (появляется после включения виртуальной машины) откроет доступ к консоли виртуальной машины. 

Так выглядит окно с интерфейсом VNC. Virtual Network Computing — система удаленного доступа к компьютеру. Является свободным открытым программным обеспечением, есть множество реализаций серверов и клиентов, так что при должной настройке вы можете подключаться к вашим виртуальным машинам не через браузер (хотя подключаться одной кнопкой очень удобно).

Virtual Network Computing — система удаленного доступа к компьютеру

Официальные плагины

Собрали самые интересные (из официальных) плагины для FreeNAS, на некоторых остановимся подробнее.

Asigra backup

Позволяет создавать резервные копии данных с подключенных к сети компьютеров и мобильных устройств. Использует стандартные вызовы API из единой службы Asigra на месте (DS-Client) для доступа к этим устройствам и получения доступа к данным. официальное описание.

Iconic

Доступ ко всему вашему медиа через общий интерфейс. 

Nextcloud

Очень мощное облако на вашем сервере. Обладает огромным числом возможностей. Это фактически полноценный self-hosted-сервис синхронизации файлов и совместной работы с документами. Кроме того к нему тоже есть огромное число плагинов, в том числе для медиасервисов типа видеоконференций и просто чатов и звонков. FreeNAS управляет на уровне «железа», дисков, а Next Cloud дает гибкий интерфейс именно для разграничения доступа пользователей к их медиафайлам и преимущества облачных хранилищ, таких как dropbox, google drive, яндекс.диск.

Plex Media Server

Рекомендуем как каталог ваших медиафайлов (фото, музыка, фильмы, сериалы). Плагин все удобно каталогизирует, ведет учет просмотренного, метаданные подтягиваются из внешних сервисов: imdb, «Кинопоиск». Есть клиенты для android, iOS, Windows, PlayStation(!), браузерная версия.

Syncthing

Peer-to-peer синхронизация файлов основанная на протоколе Torrent.

Tarsnap

Еще один сервис резервного копирования, только для unix-like операционных систем.

Transmission

Легкий и удобный торрент-клиент в виде сервиса, управляется через отдельные клиенты. Например, есть расширения для браузера.

Zoneminder

Очень мощная бесплатная opensource-система видеонаблюдения.

Заключение

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

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