Truenas установка на флешку
При всем богатстве выбора готовых сетевых хранилищ от крупных производителей энтузиазм желающих собрать и настроить свой собственный NAS не иссякает. Сегодня, пожалуй, лучшее время для того, чтобы это сделать. От возможностей буквально разбегаются глаза: TrueNAS Core, TrueNAS Scale, openmediavault, а также варианты для специфических сценариев использования Unraid и SnapRAID. Все варианты по‑своему хороши и обладают при этом своими специфическими особенностями. Что из этого подойдет тебе? Попробуем разобраться.
TRUENAS SCALE, TRUENAS CORE И OPENMEDIAVAULT
Еще недавно при настройке нового сетевого хранилища у пользователей самосборных NAS было две основные возможности: FreeNAS и openmediavault. Интересна история этих проектов. FreeNAS был выпущен в 2005 году разработчиком Оливье Кошар‑Лаббе (Olivier Cochard-Labbé), который со временем потерял интерес к проекту. К 2009 году единственным активным разработчиком FreeNAS остался Фолькер Тайле (Volker Theile), предложивший перевести проект на основу Linux вместо использовавшейся на тот момент m0n0wall, основанной, в свою очередь, на embedded FreeBSD. Оливье переводить проект на новые рельсы отказался, и Фолькер покинул FreeNAS, создав новую систему openmediavault на основе Debian Linux. Оливье же передал права на FreeNAS американской компании iXSystems, которая и занимается разработкой и продвижением проекта.
Мир тесен: openmediavault разрабатывается и поддерживается бывшим ключевым разработчиком FreeNAS.
Со временем под управлением iXSystems вышла коммерческая версия — TrueNAS. Еще чуть позже ветки бесплатного FreeNAS и коммерческого TrueNAS были объединены, а совсем недавно уже объединенный TrueNAS вновь разделился на два проекта: основанный на FreeBSD TrueNAS Core и TrueNAS Scale, работающий на Debian 11 (Bullseye).
Таким образом, на сегодняшний день выбор стоит между тремя похожими, но очень разными системами: TrueNAS Core, TrueNAS Scale и openmediavault. Для начала приведу таблицу, в которой сравниваются выбранные мной ключевые параметры трех систем.
(* Миграция зашифрованных GELI томов описана в документации)
А теперь — расшифровка таблицы.
РАЗРАБОТЧИК
Обе системы доступны как в виде готовых дистрибутивов, так и в виде открытого исходного кода. Обе версии TrueNAS разрабатываются и поддерживаются компанией iXSystems, которая зарабатывает на лицензировании коммерческой версии системы (в том числе достаточно крупным компаниям), продаже готовых NAS с предустановленной системой TrueNAS и оказании услуг поддержки и сопровождения.
Openmediavault разрабатывается единственным разработчиком Фолькером Тайле, а поддержка осуществляется через форум. К слову, мне довелось пообщаться с Фолькером; отмечу дружелюбие и профессионализм разработчика, который не получает за работу ни цента.
БАЗОВАЯ ОС И ВНЕШНИЙ ВИД
Все три системы являются надстройками над UNIX-подобными системами. TrueNAS Core работает на FreeBSD со всеми ее особенностями (отмечу монолитные обновления и собственный, отличный от Linux стек драйверов), преимуществами и недостатками (наиболее значимы среди них, пожалуй, отсутствие поддержки Docker и несовместимость с некоторыми популярными и недорогими 10-гигабитными сетевыми картами и картами HBA).
TrueNAS Scale, напротив, основана на актуальной версии Debian 11, что позволило добиться как поддержки несовместимых с TrueNAS Core карт расширения, так и контейнеров Docker.
По умолчанию в TrueNAS установлена темная тема интерфейса.
При желании можно переключиться на светлую или создать собственную.
OMV тесно интегрируется с Debian Linux. OMV 4.x работает поверх Debian 9, актуальная OMV 5.x использует Debian 10, а OMV 6 (на сегодня имеет статус тестовой сборки) — Debian 11.
В OMV 4 и 5 доступна единственная светлая тема.
В OMV 6.0 интерфейс был изменен.
УСТАНОВКА, НАСТРОЙКА И ОСОБЕННОСТИ ОРГАНИЗАЦИИ ХРАНИЛИЩА
Установка всех описанных вариантов довольно проста: достаточно скачать дистрибутив для нужной платформы, создать загрузочный накопитель и загрузиться с него. Однако для openmediavault доступен и альтернативный способ установки — поверх уже настроенной версии Debian (на Debian 9 можно установить OMV 4.x, а на Debian 10 — 5.x).
А вот с созданием многодискового массива у неопытного пользователя TrueNAS могут возникнуть сложности. Если OMV использует стандартный для Linux и всем привычный mdadm для создания и управления RAID, то ZFS в TrueNAS — это не только файловая система, но и низкоуровневый менеджер многодисковых конфигураций. Стандартные уровни RAID в ZFS отсутствуют; вместо них используются функциональные аналоги. Так, аналогом RAID 5 будет RAID-Z1, а аналогом RAID 6 — RAID-Z2. Z1 и Z2 указывают на уровень избыточности и означают количество дисков в массиве, которые могут выйти из строя без потери данных: в массиве RAID-Z1 без потери данных может выйти из строя любой один диск, а в RAID-Z2 — любые два.
Однако на этом сложности только начинаются. Дисковый массив формирует один vdev (virtual device); один или несколько vdev формируют пул (zpool), на котором, в свою очередь, можно создать один или несколько логических разделов (dataset в терминах ZFS). (О топологии ZFS почитать можно, например, здесь.)
В сравнении со стандартным mdadm такая организация сложнее для понимания, однако она обеспечивает отличную гибкость. Так, можно создать пул из трех дисков, сформированных в массив RAID-Z1, а потом расширить его еще тремя дисками, также сформированными в RAID-Z1, причем размеры изначального и добавленного позднее vdev могут не совпадать. Это, безусловно, удобно и создает иллюзию бесконечных возможностей расширения. Увы, именно иллюзию.
На сегодняшний день в TrueNAS не поддерживается расширение объема хранилища на уровне vdev. Ты можешь расширить пул (zpool), добавив к нему еще один vdev, сформированный из любого количества дисков в любой поддерживаемой конфигурации, но расширить доступный объем vdev добавлением еще одного диска в уже существующий vdev или установкой в vdev диски большего объема у тебя не получится. Может быть, через несколько лет эта возможность и появится в TrueNAS, но в скором времени я бы ее не ожидал. Подробно о сложностях расширения vdev — в статье ZFS fans, rejoice — RAIDz expansion will be a thing very soon.
КУДА УСТАНАВЛИВАЕТСЯ
Все три системы требуют для установки отдельный накопитель — жесткий диск или SSD, соглашаясь, впрочем, и на флеш‑накопитель или карту памяти (если ты собираешься использовать флешку или карту памяти для установки OMV — не поленись установить плагин flashmemory из репозитория omv-extras; он перенесет в оперативную память части файловой системы, в которые идут частые операции записи, и будет синхронизировать эти данные при загрузке и выключении устройства). У этого подхода есть как достоинства (диски с данными смогут корректно «засыпать», и система не будет раскручивать их каждый раз, когда ей придет в голову добавить запись в журнал), так и недостатки (все настройки системы пропадут, если выделенный накопитель выйдет из строя, а резервной копии настроек под рукой нет).
Кстати, приложив определенные усилия, OMV можно установить и на тот же диск, на котором будут храниться данные. Так было сделано, например, в сборках для однодисковых NAS WD MyCloud Home. Подводных камней здесь тоже хватает; в первую очередь — трудно добиться качественного «засыпания» такого диска.
СОВМЕСТИМОСТЬ И СИСТЕМНЫЕ ТРЕБОВАНИЯ
Здесь все просто: TrueNAS требует процессор с архитектурой Intel и как минимум 8 Гбайт оперативной памяти. Openmediavault, напротив, предельно нетребователен; его можно установить даже на Raspberry Pi. По личному опыту, он отлично (и очень быстро!) работает даже на устройствах ARM с четырьмя ядрами Cortex A53 и 512 Мбайт оперативной памяти. OMV можно установить даже на такие устройства, как WD MyCloud Home (как одно-, так и двухдисковые модели)!
Для чего TrueNAS столько оперативной памяти? Разгадка кроется в возможности дедупликации записываемых данных в реальном времени. Если эта возможность включена, то таблицы дедупликации хранятся в оперативной памяти. ZFS будет считать контрольные суммы записываемых блоков данных, и если найдется совпадение, то блок не будет записан на диск; вместо него добавится указатель. Отмечу, что дедупликация в режиме реального времени работает довольно медленно: скорость записи может упасть в 3–5 раз, если мы говорим о достаточно быстром массиве и 10-гигабитной сети. Впрочем, при гигабитном соединении падение скорости можно и не заметить.
Очень часто можно встретить рекомендацию использовать TrueNAS совместно с памятью с коррекцией ошибок (ECC RAM). Здесь нужно понимать, что это именно рекомендация; TrueNAS будет работать и с обычной памятью, не отличаясь в этом от любых других систем. В то же время ZFS действительно жадная до памяти файловая система, и повреждения данных в RAM вполне могут привести к повреждению данных на дисках, в ряде случаев фатальным. Впрочем, то же самое справедливо и для других систем. Если есть возможность использовать ECC RAM — используй, нет — пользуйся тем, что есть под рукой.
ПОДДЕРЖКА ФАЙЛОВЫХ СИСТЕМ
TrueNAS в обоих вариантах выделяется полноценной поддержкой всех возможностей ZFS — как собственно файловой системы, так и системы управления дисками. Сюда входит создание всех уровней хранилищ (vdev, zpool, dataset) и управление ими, шифрование, снапшоты и их репликация, а также дедупликация данных в режиме реального времени. Другие файловые системы поддерживаются TrueNAS постольку‑поскольку, например для импорта данных с отформатированного в такой файловой системе накопителя.
В openmediavault по умолчанию поддерживаются те файловые системы, которые поддерживаются в Debian Linux. По умолчанию для хранения данных будет использована ext4. Полный список поддерживаемых файловых систем.
В число поддерживаемых OMV файловых систем формально входят BTRFS и ZFS, однако не жди от них многого: для управления дисками BTRFS используется командная строка, а для ZFS поддерживаются далеко не все возможности. В частности, ни для одной файловой системы не поддерживаются снапшоты и их репликация. Ты можешь создавать снапшоты вручную из командной строки (в конце концов, OMV работает поверх полноценного дистрибутива Debian) или даже через веб‑интерфейс в качестве Scheduled Tasks, но это все равно будет сложнее, чем готовое решение. Так что, если тебе нужны возможности файловой системы, связанные с созданием и репликацией снапшотов, смотри в сторону TrueNAS.
ШИФРОВАНИЕ ДАННЫХ
В openmediavault встроенного шифрования нет, но есть плагин openmediavault-luksencryption.
Из этой статьи мы узнаем, как организовать надежную систему хранения данных на базе ОС TrueNAS CORE. Выполним пошаговую установку TrueNAS CORE на физическое оборудование, виртуальную машину, а также познакомимся с основным функционалом и внешним видом ОС.
Общие сведения
TrueNAS – это операционная система, основанная на базе FreeBSD, с открытым исходным кодом, которая уже приобрела огромную популярность, так как позволяет создать собственную, профессиональную систему хранения данных без затрат на программное обеспечение.
Высокая надежность хранения данных обеспечивается благодаря:
- файловой системе OpenZFS, которая лежит в основе TrueNAS CORE;
- Интегрированному программному RAID, обеспечивающий дополнительную защиту данных;
- Автоматическому обнаружению и устранению повреждений в данных;
- Моментальным снимкам системы, которые позволяют откатывать ее к предыдущему состоянию;
- Перемещению информации в облако или другую локальную систему при помощи репликации;
- Интеграции с существующими решениями для резервного копирования (Veeam, Asigra).
Расширить функциональность TrueNAS позволяет установка бесплатных плагинов (NextCloud, Plex Media Server и многие другие).
Совместимость и системные требования
iXSystems для надежной работы системы рекомендует следующие требования:
- Процессор 2-Core Intel 64-Bit или AMD x86_64;
- 8 Гб оперативной памяти;
- 16 Гб свободного пространства HDD или SSD;
- 2 накопителя (HDD, SDD) одинакового размера для организации пула хранения данных;
- Сетевой порт.
Полное руководство по аппаратному обеспечению можно найти на официальном сайте.
Установка TrueNAS
Как говорилось ранее мы рассмотрим несколько типов установки ОС, но для начала нам необходимо скачать образ системы. Для этого выполните следующие действия:
По окончании загрузки файла (*.iso), мы можем приступить к установке TrueNAS.
TrueNAS CORE установка на виртуальную машину
Поскольку TrueNAS построен и предоставляется как .iso файл, он работает на всех решениях виртуальных машин (VMware, VirtualBox, Citrix Hypervisor и т. д.).
Рассмотрим пример установки TrueNAS CORE на программный продукт виртуализации VirtualBox в Windows.
Виртуальная машина будет иметь следующую конфигурацию:
- ОПЕРАТИВНАЯ ПАМЯТЬ: 8192 МБ (8 ГБ);
- ДИСКИ: один виртуальный диск 8 ГБ для ОС и загрузочной среды, один дополнительный виртуальный диск с объемом памяти не менее 4 ГБ, который будет использоваться в качестве хранилища данных;
- СЕТЬ: используем мост. Этот режим является оптимальным, поскольку при этом сетевая карта обрабатывается так, как если бы она была подключена к простому коммутатору в существующей сети.
Запускаем VirtualBox и создаем новую виртуальную машину (ВМ):
Укажем объем оперативной памяти.
Напомним, что производитель рекомендует минимум 8 Gb.
После этого шага виртуальная машина создана.
Выполним дополнительную настройку виртуальной машины:
Отключим загрузку гибких дисков.
Добавим в оптический привод сохранённый ранее загрузочный образ TrueNAS CORE.
Добавим новый контроллер (SCSI) для виртуального диска под хранилище данных.
Следующим шагом, добавим сам виртуальный диск.
Следующим шагом указываем диск для загрузочных сред.
Внимание! Это удалит все содержимое диска.
Следующим шагом устанавливаем пароль для входа в систему root.
После окончания установки TrueNAS выключаем виртуальную машину, чтобы изъять из оптического привода загрузочный образ:
Установка TrueNAS CORE закончена.
TrueNAS CORE установка на физическое оборудование
Установка TrueNAS CORE на физический сервер происходит аналогичным образом, за исключением того, что установочный образ ОС необходимо записать на физическое устройство. Обычно для этого используется компакт-диск или съемное USB-устройство.
Давай рассмотрим пример того, как создать загрузочную USB флешку из установочного образа ОС TrueNas CORE при помощи бесплатной утилиты balenaEtcher.
Для начала скачаем и установим утилиту balenaEtcher.
После запуска выберем ранее скаченный файл (*.iso):
Укажем флешку, на которую будем производить запись.
Загрузочная флэшка готова.
Для начала установки Truenas CORE необходимо перезагрузить компьютер и выбрать загрузку с USB-устройства.
TrueNAS настройка Samba
Рассмотрим, как происходит настройка TrueNAS CORE в роли файлового сервера Samba, что может быть полезно государственным и муниципальным компаниям, которых первыми обязуют отказаться от Windows.
Итак, зайдем на сервер и авторизуемся под пользователем root. Поскольку мы пробуем настроить Samba на чистой ОС, то сперва нам необходимо создать пул для хранения данных, для этого перейдем:
Сразу добавим папку, которую будем расшаривать по сети.
Откроется страница, где укажем имя пользователя, пароль, домашний каталог пользователя или создадим его без домашней папки (/nonexistent).
Осталось открыть общий доступ к папке. Для этого:
Если у вас до этого не была включена служба Samba, то после этого шага, система предложит сделать это.
Укажем права для сетевого ресурса.
Для проверки откроем свойства сетевого ресурса и проверим установленные права доступа:
Настройка Samba в TrueNAS CORE закончена. Видно, что функциональность ОС позволяет настраивать гибкие правила доступа к сетевым папкам.
Долгое время бесплатный FreeNAS и его коммерческий вариант TrueNAS развивались параллельно. Теперь iXsystems полностью отказалась FreeNAS и теперь обе ветки будут базироваться в рамках TrueNAS. Если представить это графически, то получим нечто подобное.
Минимальные требования TrueNAS:
Для операционной системы TrueNAS CORE можно использовать SSD или жесткий диск. На диске должно быть не менее 8 ГБ свободного места. Рекомендуется 32 ГБ и более, чтобы обеспечить место для ведения журналов операционной системы и устанавливаемых дополнений. Для TrueNAS будет использоваться всё имеющееся место устройства.
После того, как загрузили установочный образ TrueNAS, нужно записать его на USB-накопитель. При записи образа TrueNAS на USB-накопитель все данные на устройстве стираются .Для записи можно использовать одну из программ: ISO2Disk, rufus, Etcher, UltraISO.
Мы будем использовать инструмент под названием balenaEtcher, также известный как Etcher. Программа минималистична и не требует особой подготовки
Загружаемся с созданной флешки
В отобразившемся меню, выбираем в меню опцию 1, чтобы начать установку TrueNAS.
Следующее меню спрашивает, какой диск следует использовать для TrueNAS. Убедитесь, что вы выбрали загрузочное устройство, а не диск для хранения.
Предупреждение, что все данные будут удалены и что загрузочное устройство нельзя использовать ни для чего, кроме самой операционной системы . соглашаемся и продолжаем установку.
Вводим пароль с подтверждением, который будет использоваться для входа в TrueNAS.
TrueNAS можно загрузить в режиме BIOS или UEFI. BIOS работает практически со всеми материнскими платами и, как правило, подходит для более старого оборудования. При выборе UEFI потребуется, чтобы материнская плата была более современной и имела поддержку UEFI.
Выбираем ОК для перезагрузки.
Когда загрузка будет завершена, внизу этого экрана будет указан IP-адрес. По умолчанию TrueNAS получает адрес от DHCP сервера.
Открываем браузер и подключаемся. Вводим root в качестве имени пользователя и пароля, который вы создали во время установки.
Но взрослым детям лень было этим заниматься!
Поэтому, я решил сменить NAS. Или лучше сказать дополнить его еще одним устройством.
Какое железо я использовал для нового хранилища:
Из NETGEAR я вынул два жестких диска: - SEAGATE Barracuda 7200.12 ST31000528AS, 1ТБ. Будет зеркало (Raid).
Самая дешевая материнская плата, которую нашел на Яндекс Маркете - это материнская плата ASUS J1900I-C [Intel Celeron J1900 4х2.41 ГГц, 2xDDR3L-1333 МГц, аудио 7.1, USB 3.1 Gen 1, Mini-ITX].
Оперативная память SODIMM AMD Radeon R5 Entertainment Series [R534G1601S1S-U] 4 ГБ 2 штуки.Разрабы требуют 8 ГБ. Модули подошли и работает нормально.
Для загрузки использую флешку Samsung BAR Plus [MUF-32BE4/APC] USB 3.1 Gen 1, соответствует usb порту на материнской плате. Грузится очень быстро.
Корпус под мини ITX у меня был: - старенький AeroCool Qs-101.
Пришлось подогнуть дно корпуса, чтобы блок влез по высоте. Получилось, так как дно оказалось двойное. Родной блок питания по-видимому был потоньше.
Блок питания на 500 ватт тоже у меня был.
Выбор операционной системы:
На работе уже более 5 лет функционирует хранилище на базе NAS4Free, которое грузится с флешки и никогда не выключается. Это меня впечатляет! Поэтому, я решил остановится на последней версии этой ОС, которая теперь называется TrueNAS-12.0-U2.1. Подкупает также то, что она имеет на борту более 40 плагинов, в том числе интересующий меня Plex Media Server.
Установка операционной системы TrueNAS:
Записал на лазерный диск и устанавливал с usb cd-rom-a.
Подчеркну обязательные моменты:
1. В биосе материнской платы надо сменить загрузку с Windows на Другую ОС.
2. Чтобы флешка нормально грузилась на этой MB, при записи True NAS на загрузочный диск, надо выбрать кнопку "Boot via UEFI".
Так как сложностей больших установка не вызывает просто просмотрите ролик с официального сайта. В реалии, установка тоже на английском.
А с настройкой TrueNAS+PMS, мне пришлось повозится, логика творцов официального документа, да ещё и на английском языке, воспринималась мною с трудом.
Настройка общего ресурса Windows SMB
Набираем в браузере IP адрес который виден на последнем экране установки TrueNAS или который вы присвоили своему хранилищу сами , у меня это: 192.168.1.250.
Должно появиться вот такое окно:
Установим русский язык и часовой пояс:
Создаем пул. Присваиваем имя. У меня - mypool. Выделяю два диска HDD слева, нажимаю на стрелку, переношу их в право, выделяю, ниже отмеченных дисков вижу надпись - зеркало вместо чередования. То есть мне предлагают сделать RAID.
Нажимаю кнопку - СОЗДАТЬ. Через несколько секунд имею зеркальный раид из двух дисков!
После создания пула, добавляем набор данных (dataset). Присваиваем ему имя. У меня homefiles. Внизу окна меняем Generic на SMB.
Смотри на рисунке ниже:
Запускаем службу SMB.
Редактируем настройки службы нажав на карандашик.
Группу администраторов пока не трогаем. Я включил поддержку SMB1, так как у меня в сети есть старые устройства.
Включаем общий доступ к ресурсам Windows (smb). В руководстве, правда про Home SMB, рекомендуют делать имя шары smb и имя dataset одинаковыми. Я так и сделал. Гостевой доступ (безпарольный) я не включаю.
Добавляем в систему пользователя, который будет управлять smb ресурсом. У меня smbuser. Проверяем наличие птички в чекбоксе: Samba Autification.
Как видим в окне, нам предлагают создать основную группу для нашего пользователя, с таким же названием и без домашней папки.
Получаем пользователя без домашней папки и некоторых прав на неё.
Но мы отредактируем ему разрешения на пул. Вместо root выбираем нашего пользователя.
Отредактируем разрешения (права) пользователя smbuser на набор данных dataset c именем homefiles. Покажем домашним каталогом пользователя каталог homefiles. Птички поставим в 6 чекбоксах.
Нажмем кнопку СОХРАНИТЬ.
Редактируем группу smbuser. Ставим птичку в чекбоксе: Samba Authentiction. Сохраняем изменения.
В настройках службы SMB, заменяем "Группу Администраторов" на smbroot.
Для того, чтобы устанавливать плагины включаем сервис Jail.
Теперь можем установить плагин PlexMediaServer:
Будет предложено создать Jail для нашего конкретного плагина:
P.S.: в настройках пролистаем все страницы настройки вниз, нажимая на кнопку СЛЕДУЮЩАЯ, затем, вернёмся на начальную и повторим имя Джайла, тогда плагин установиться нормально.
Ждем окончания установки:
Теперь надо создать точку монтирования, для где будут лежать по папкам наши медиа файлы.
Но перед созданием точки монтирования, останавливаем Plex Media Server. После установки точки монтирования не забудьте вновь его запустить!
Выбираем источник: (у меня homefiles), затем добавляем название точки монтирования - на картинке /FreeNAS, ПРАВДА ПОТОМ ЗАМЕНИЛ НА /TrueNAS (хотя это не принципиально, просто, чтобы вы понимали)
Затем на своем домашнем компьютере проверяем видимость расшаренных на сервере папок. Создаем папки: Фильмы, Музыка, Фото.
Переходим к настройке непосредственно Plex Servera:
Заливаем свои медиа файлы в созданные на сервере папки, подстраиваем сервер под себя. Пользуемся на здоровье.
Наверняка многие задавались вопросом, что делать со старым железом после полного апгрейда. Продать? Чувство собственности стоит выше. Вы со своей старенькой, но верной платформой повидали в этом мире многое. Прошли через огонь Skyim и воду Томми Версетти. Отложите свое старое железо, пока не подумаете: «Зачем мне нужен NAS (Network Attached Storage)?» При появлении второго вопроса, первый станет риторическим и исчезнет, как кубики в тетрисе.
NAS — зачем он нужен
Первое, с чем стоит определиться, это какие задачи будет решать NAS. Основные его функции:
- Снятие нагрузки с рабочего компьютера. Часть клиентов можно перенести на NAS. В случае с торрентами можно забыть про тонкие настройки скорости, кэширования, соединения.
- Медиа-сервер. Отличная возможность обзавестись домашней библиотекой и делиться медиаконтентом по домашней сети. Смотрите фильмы с того момента, где остановились в последний раз, независимо от устройства. Транскодирование потребляет ресурсы процессора. Даже если дома гигабитная сеть, а скорость внешней сети достигает 500 Мбит/с, это не гарантирует корректной работы медиа-сервера, если процессор занят другими задачами. Для примера, возьмем один из самых популярных медиа-серверов PLEX. Системные требования — 2 ГБ оперативной памяти и процессор не медленнее Intel Core i3.
- Резервное копирование. Наверное, самая важная операция в NAS. Человек существо ленивое. Никто не хочет на каждодневной основе доставать с полки внешний накопитель данных и переносить на него файлы, которые скопились за сутки. Гораздо лучше осуществлять операции резервного копирования в автоматическом режиме задачей в планировщике или отдельным программным обеспечением. Еще лучше, когда резервное хранилище состоит из нескольких дисковых устройств и управляется RAID-контроллером.
- Раздача файлов. Общее рабочее пространство.
Есть два вида RAID-контроллеров — аппаратный и программный. У каждого из видов есть свои преимущества и недостатки. Хороший аппаратный RAID обойдется недешево. Программный RAID будет работать медленнее. RAID-контроллер с материнской платы (аппаратный) способен выйти из строя, и никакой другой контроллер данные больше не прочитает. Для low-end систем достаточно использовать программный RAID.
В данном случае low-end является определяющим фактором. Строим NAS на обычном компьютере, т. е. предполагается использование типов памяти DDR3-DDR4 без поддержки ECC. Если планируется использовать NAS под задачи, связанные с бизнесом, то стоит пересмотреть свой подход и озадачиться вопросом приобретения буферизированной памяти.
Программная часть строится на *nix/GNU/Linux операционных системах. Есть масса сборок для реализации NAS, которые позволяют избежать избыточности. У каждой есть свои плюсы, но и еще не создан такой продукт, на который бы никто не жаловался. Под наш список основных задач подойдет любая ОС для NAS.
Список популярных операционных систем для NAS:
-
(FreeBSD; он же NAS4free) от Ixsystems (FreeBSD) (Debian)
- Xpenology (сборка от производителя NAS - Synology)
Построение NAS на примере FreeNAS
FreeNAS поддерживал 32-разрядную архитектуру до версии 9.2.1.9 (все еще доступна для скачивания). На момент написания статьи актуальная версия — 11.3-U3.1.
FreeNAS портативна. Операционную систему можно установить на USB-накопитель, изолировав ее от основных накопителей. В случае поломки, например, материнской платы, операционную систему можно будет запустить на любом другом оборудовании. Полезная функция в случае использования шифрования дисков. Нагрузка на флешку оказывается минимальная, быстрый износ ей не грозит. Основные настройки ОС можно бэкапить и подменить в случае смены USB накопителя на новый (вся конфигурация хранится в одном xml файле).
Минимальные требования к оборудованию:
С базовой производительностью для 1-4 пользователей.
- 64-битный процессор.
- Один диск для операционной системы (минимум 8 ГБ; USB-диск).
- 8 ГБ ОЗУ будет поддерживать до 8 жестких дисков; для каждого дополнительного диска производитель предлагает добавлять по 1 ГБ ОЗУ.
- Контроллер дисков SATA или SAS с отключенной аппаратной функциональностью RAID (это связано с особенностями файловой системы ZFS).
- Хотя бы один диск с прямым подключением.
- Один физический сетевой порт.
Выбор железа определяется набором задач.
Установка
Скачиваем с официального сайта ISO образ (750 МБ) и устанавливаем.
Что-то вроде «как нарисовать сову», но нюансов нет. Есть масса инструкций по установке, легко гуглится по слову FreeNAS.
Статический IP-адрес лучше задавать через DHCP-сервер (отдельный или предустановленный на маршрутизатор). Это позволит переносить конфигурацию NAS на другое железо, в другую сеть и в другие условия без лишних манипуляций.
10 минут установки и операционная система готова к работе.
Логин для первой авторизации — root (во вкладке Accounts можно управлять пользователями). Пароль задается при установке операционной системы.
Что есть в коробке, и действительно ли это «running out-of-the-box» решение?
Веб-интерфейс
Удобный, современный, интуитивно понятный. Можно менять расцветку. Основные элементы мониторинга вынесены на главный экран.
Программный RAID
Перед работой любого NAS требуется собрать пул (Storage/Pools/Add).
Системный диск не может быть задействован в создании пула.
Чем больше накопителей в системе, тем шире выбор уровня RAID (он же ZFS RAID-Z). Изменять количество дисков в массиве нельзя.
- Stripe (группа блоков, каждая из которых расположена на отдельном накопителе)
- Mirror
- RAID-Z
- RAID-Z2
- RAID-Z3
RAID-Z* из-за особенностей работы имеет повышенные требования к оперативной памяти. Отсюда и вытекает требование разработчика — «По 1 ГБ на каждый новый накопитель».
Статья о RAID-Z и зеркалах от Ixsystems: Часть 1, Часть 2
Доступ к сетевым дискам (SAMBA)
NAS без общих ресурсов не является полезным NAS. После создания пула перед нами открывается возможность сетевой шары.
Создаем Dataset (Storage/Pools).
Можно добавил zvol (том ZFS), но zvol это блочное хранение (фрагмент пространства). Применяется для репликации и экспорта.
Share Type — SMB.
Переходим в Sharing (Sharing/Windows Shares (SMB)/Add).
Выбираем Windows, т. к. его использую я. Да и большинство домашних клиентов управляются именно этой операционной системой.
SMB по умолчанию отключен, при первом создании сетевой шары FreeNAS попросит включить службу.
Службу в любой момент можно отключить во вкладке Services.
Сетевой ресурс создан.
Edit ACL — Access Control List. Тоже немаловажный момент на случай, если у вас многопользовательский NAS — пользователи постоянно меняются и имеют разделение прав по группам.
Через проводник сетевой ресурс также доступен.
Сторонние плагины
Из интересного. Да тут все интересно и нет ничего лишнего. Начиная от домашних потребностей в виде торрент-клиента и домашнего PLEX медиа-сервера и до средств разработчика Jenkins для CI/CD.
Asigra Backup и BackupPC — два очень мощных интрумента для бэкапа данных, которые работают по разному принципу и разработаны для разных задач. Asigra Backup работает с API. Бэкапы можно снимать Snapshot`ами (для этого требуется его создать Storage/Snapshot). Snapshot представляет собой сохранение текущего состояния файловой системы. Все изменения, сделанные после снапшота, пишутся физически в другое (свободное) место на диске. То есть после удаления файла в снапшоте сохраняется его положение на диске, и запись новой информации в это место производиться не будет. В случае, если файл изменен, отличия от исходного файла снапшота также будут записаны в другое место, позволяя позже пересобрать файл в исходное состояние.
Снапшоты занимают не очень много места на диске, поскольку сохраняются только сделанные изменения, а не несколько экземпляров одного и того же файла (однако в случае удаления файла он сохраняется в снапшоте).
PLEX Media Server
Установка в два клика. Jail создается автоматически, установка через терминал не требуется.
qBittorrent
Логин/пароль — по умолчанию admin/adminadmin.
Из коробки мы получили веб-интерфейс, программный RAID, поднятый SMB с удобным управлением правами пользователей, и само создание/редактирование пользователей и групп. Добавьте сюда наличие виртуализации, мониторинга и поддержку сторонних программных плагинов. На выходе получается добротный NAS, который покрывает любые потребности. Останется только вовремя подносить оперативную память с ростом потребностей.
Читайте также: