====== Unraid - ZFS ======
Встроенная в unraid технология защиты от выхода из строя дисков обладает не только преимуществом объединения дисков любой ёмкости но и очень существенным недостатком - это низкая производительность и высокий расход ресурсов сервера.
Среди множества технологий и подходов по-настоящему кроссплатформенной схемой объединения дисков в NAS системах SOHO уровня является ZFS. Пулы собранные в TrueNAS, XigmaNAS, OMV, PVE или просто в Linux везде работают, импортируются и позволяют менять дистрибутив без необходимости миграции данных.
Из коробки Unraid не поддерживает ZFS, но компания [[https://unraid.net/blog/6-11-stable|ведет разработку в данном направлении]]. Уровень с которым ZFS будет встроен в Unraid предмет отдельных дискуссий.
На текущий момент пользователь может использовать ZFS пулы в системе, но с помощью стороннего плагина [[https://forums.unraid.net/topic/41333-zfs-plugin-for-unraid/|ZFS for unRAID 6]]. В нем содержатся все необходимые компоненты для поддержки файловой системы на уровне ядра ОС. Все администрирование производится из командной строки, а интеграция со стороны NAS полностью отсутствует.
{{:wiki:nas:unraid-zfs:20220926-221540.png}}
При работе с ZFS следует иметь ввиду ряд следующих ограничений:
- Системный функционал Docker и KVM работает только когда массив запущен.
- Массив может состоять минимум из одного диска или ssd накопителя.
- Не обязательно хранить на массиве unraid какие либо данные. Расположение docker файлов и виртуальных машин можно изменить в интерфейсе.
- Шары не создаются на ZFS.
===== Как поделиться папкой с ZFS по SMB =====
Встроенные шары не могут быть созданы на ZFS, а если изменить файл smb.conf он будет возвращен в исходное состояние при перезапуске массива.
Для сохранения изменений необходимо внести раздел с требуемой общей папкой в SMB Extras.
Settings > SMB > SMB Extras
{{:wiki:nas:unraid:zfs:20221109-192127.png}}
Синтаксис обычный для smb.conf файла, пример ниже.
==== Публичный доступ ====
[share]
path = /mnt/tank/share
comment =
browseable = yes
# Public
public = yes
writeable = no
vfs objects = catia fruit streams_xattr
case sensitive = auto
preserve case = yes
short preserve case = yes
==== Доступ с авторизацией (private) ====
[private]
path = /mnt/tank/private
comment =
browseable = yes
# Private
writeable = no
read list =
write list = username,username2
valid users = username,username2
case sensitive = auto
preserve case = yes
short preserve case = yes
vfs objects = catia fruit streams_xattr
fruit:encoding = native