Знание должно быть доступно!

Путь /ОС/Linux

zfs = управление датасетами/файловыми системами/снапшотами внутри пула.

Создание

zfs create pool/fs             # новый датасет
zfs create -o mountpoint=/mnt/arch archive/films
zfs destroy pool/fs            # снести датасет
zfs rename pool/fs pool/newfs  # переименовать

Монтирование

zfs set mountpoint=/path pool/fs
zfs mount pool/fs
zfs umount pool/fs
zfs mount -a    # смонтить всё

Снапшоты и клоны

zfs snapshot pool/fs@tag              # создать снапшот
zfs list -t snapshot                  # список снапшотов
zfs rollback pool/fs@tag              # откатиться
zfs destroy pool/fs@tag               # удалить снапшот
zfs clone pool/fs@tag pool/newclone   # клон
zfs promote pool/clone                # сделать клон основным

Репликация/отправка

zfs send pool/fs@tag > dump.zfs
zfs recv pool/fs < dump.zfs

инкрементально

zfs send -i oldsnap newsnap | ssh host zfs recv pool/fs

Свойства

zfs get all pool/fs                     # все параметры
zfs set compression=lz4 pool/fs         # включить сжатие
zfs set atime=off pool/fs               # выключить atime
zfs set quota=100G pool/fs              # лимит
zfs set reservation=20G pool/fs         # зарезервировать
zfs set dedup=on pool/fs                # дедуп (осторожно)

Листинг

zfs list             # датасеты
zfs list -r pool     # рекурсивно
zfs list -t snapshot # только снапшоты

Экспорт/импорт датасета

(обычно делают через send/recv, см. выше).

Трюки

zfs inherit mountpoint pool/fs   # сбросить настройку
zfs upgrade -a                   # обновить версии
zfs diff pool/fs@snap1 pool/fs@snap2  # показать изменения

Автоснапшоты

Ставят zfs-auto-snapshot или пишут свои systemd-таймеры:

zfs snapshot -r pool/fs@$(date +%Y-%m-%d)

zfs рулит файловыми системами, снапами, квотами и фичами.