meta data for this page
This is an old revision of the document!
Unraid
Unraid — это платный дистрибутив домашнего файлового сервера с обязательной для всех поддержкой контейнеров и виртуализации. Основное отличие этого дистрибутива в проприетарной технологии защиты от выхода из строя дисков (вместо RAID). В данной ОС не предусмотрено использование RAID поэтому видимо и было выбрано название unRAID.
Список возможностей на словах выглядит внушающее:
- Многоуровневое хранение с поддержкой двух уровней (об этом подробнее ниже);
- Загрузка с USB (это единственный вариант запуска системы);
- Встроенный магазин приложений;
- Встроенная поддержка виртуальных машин и Docker движок;
- Встроенная поддержка WireGuard;
Основное хранилище в данной системе представлено группой, назовем её unRAID группа, потому что именно она реализует фирменный функционал. Наличие данного уровня хранения хоть и можно обойти, но именно по нему лицензируется продукт и именно на нем создаются файловые шары. Основные характеристики:
- Объединять в одну unRAID группу до 30 дисков;
- Поддержка уровня защиты от одновременного выхода из строя до двух дисков;
- Диски в группе могут быть любого объема и любых характеристик (если это HDD).
ОС поддерживает следующие дополнительные к unRAID группе способы хранения:
- до 35 пулов по 30 дисков каждый, которые могут быть объединены в Stripe или Mirror (средствами BTRFS);
- подключение внешних дисков и файловых шар;
- плагин для поддержки ZFS;
Лицензирование
Лицензируется только количество дисков в unRAID группе. На 2022 год существует 3 вида лицензий:
- Basic - 6 дисков, $59;
- Plus - 12 дисков, $89;
- Pro - без ограничений (30 дисков) - $129;
Лицензия приобретается одноразово, подписки нет, техподдержка сообществом. Лицензия привязывается к GUID флеш-диска с которого система загружается, поддерживается смена GUID лицензии при гибели флешки. Есть пробный период, и возможность докупить лицензию до более высокого уровня за разницу в цене.
Многоуровневое хранение
Функционал многоуровневого хранения поддерживает использование выделенных пулов для ускорения операций записи (подразумевается, что это будут быстрые диски, хотя никто вас не ограничивает в выборе) и фиксации определенных папок в данном пуле.
В системе данный функционал называется “Cache Pool” и реализован он достаточно просто:
- Новые данные пишутся на SSD диски;
- По расписанию запускается команда
mover- модифицированная версия rsync которая прозрачно переносит файлы с SSD на HDD;
Основные характеристики пула в таблице, в Enterprise-терминах:
| Параметр | Значение |
|---|---|
| Уровни хранения | 2 |
| Тип кэш-дисков | Любой |
| Емкость кэш-дисков добавляется к хранилищу | Да |
| Кол-во кэш-дисков на шару | до 30 |
| Уровень RAID кэш-дисков | RAID0 / RAID1 |
| Как данные попадают в кэш | При записи в шару |
| Какие данные покидают кэш | По расписанию |
Система поддерживает до 35 именных пулов, каждый из которых может состоять из 30 дисков. В пуле работает файловая система BTRFS и штатно поддерживается либо Stripe либо Mirror.
Для каждой шары (так тут называются системные папки, даже если к ним нет общего доступа) поддерживается установка трёх режимов работы с пулом:
- “No” - данные записываются сразу в unRAID группу, минуя Cache Pool;
- “Yes” - данные записываются в Cache Pool, по расписанию все данные этой шары из Cache Pool копируются в unRAID группу;
- “Prefer”- данные записываются в Cache Pool, по расписанию все данные этой шары из unRAID группы (если они там есть) копируются в Cache Pool, если там достаточно места. Если в Cache Pool недостаточно места данные записываются в unRAID группу.
- “Only” - данные записываются в Cache Pool и, если там недостаточно места - выдается ошибка.
Существуют плагины-надстройки, которые позволяют тонко настраивать параметры команды mover но они вносят нестабильность в процесс работы и достаточно топорно выполнены, хотя позволяют перемещать, например только файлы старше определенного возраста или размера.



