Вот четыре команды, которые решают 80 процентов задач по запуску ZFS на свежей Debian 12. Выполняй по порядку от root или с sudo, после обновления системы.
sudo apt update && sudo apt install -y linux-headers-amd64
sudo apt install -y zfs-dkms zfsutils-linux
sudo modprobe zfs
sudo zpool create -o ashift=12 tank mirror /dev/sdb /dev/sdc
В 80 процентах случаев после этого у тебя уже рабочий mirror-пул tank с двумя дисками. Монтируется автоматически в /tank. Если нужно больше дисков или raidz, тогда читаем дальше. Это реально помогает быстро поднять хранилище без лишних заморочек.

Почему ZFS стоит использовать в 2026 году на Debian
Я администрирую сервера уже 12 лет и ZFS до сих пор остаётся моим любимым инструментом для важных данных. На Debian 12 в 2026 году OpenZFS 2.2.x (или новее из backports) даёт чек-суммы на каждый блок, самоконтроль целостности, снапшоты за секунду, компрессию lz4 без заметной нагрузки, дедупликацию если нужно. Обычный ext4 или btrfs не дают такой защиты от бит-рот и silent corruption. Особенно круто для NAS, бэкапов, виртуалок, где данные не должны теряться.
Минусы есть: жрёт RAM на ARC (кэш), DKMS модуль иногда перестраивается после обновления ядра. Но если сервер не 512 МБ, то это окупается сторицей. На слабом железе лучше не ставить, минимум 8 ГБ RAM для нормальной работы.
Установка OpenZFS на Debian 12
Debian 12 Bookworm держит ZFS в contrib, часто берём свежий из backports.
- Добавляем contrib и backports если нет
sudo nano /etc/apt/sources.list
Добавь строки (замени bookworm на свою версию если нужно):
deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
deb http://deb.debian.org/debian bookworm-backports main contrib non-free non-free-firmware
- Обновляем и ставим
sudo apt updatesudo apt install -y linux-headers-$(uname -r)
sudo apt install -t bookworm-backports zfs-dkms zfsutils-linux
На Debian 12 иногда лучше backports, там 2.2.6+ в 2026 году. DKMS сам соберёт модуль под текущее ядро.
- Загружаем модуль и проверяем
sudo modprobe zfszfs version
Должно показать zfs-2.2.x и spl. Если ошибка, перезагрузись и повтори modprobe.
Создание первого ZFS пула
Самое важное: используй /dev/disk/by-id/ или by-partuuid, не /dev/sdX, потому что sdX меняются после перезагрузки.
ls -l /dev/disk/by-id/
Примеры пулов (выбирай по нуждам):
Mirror (как RAID1, 2 диска):
sudo zpool create -o ashift=12 -O compression=lz4 -O atime=off tank mirror /dev/disk/by-id/ata-SSD1 /dev/disk/by-id/ata-SSD2
Raidz1 (как RAID5, минимум 3 диска):
sudo zpool create -o ashift=12 tank raidz /dev/disk/by-id/disk1 /dev/disk/by-id/disk2 /dev/disk/by-id/disk3
Одиночный диск для теста:
sudo zpool create -o ashift=12 testpool /dev/disk/by-id/ata-testdisk
Ремарка: ashift=12 для 4K секторов современных дисков, compression=lz4 почти всегда выгодно, atime=off экономит IOPS.
Создание датасетов, настройка свойств
Пул создан, теперь датасеты как LVM volumes, но круче.
sudo zfs create tank/data
sudo zfs set compression=lz4 tank/data
sudo zfs set atime=off tank/data
sudo zfs set mountpoint=/data tank/data
Для бэкапов отдельный датасет с квотой:
sudo zfs create tank/backup
sudo zfs set quota=500G tank/backup
Работа со снапшотами
Снапшоты это мгновенная копия датасета, места почти не занимают до изменений.
sudo zfs snapshot tank/data@backup-2026-03-06
sudo zfs list -t snapshot
Откат:
sudo zfs rollback tank/data@backup-2026-03-06
Автоматизация: ставь sanoid или zfs-auto-snapshot из репозиториев, они сами чистят старые.
Замена диска в пуле
Диск умер? Меняем без остановки пула (если зеркало или raidz).
- Определяем деградированный
sudo zpool status tank
- Заменяем (оффлайн старый, добавляем новый)
sudo zpool offline tank /dev/disk/by-id/old-bad-disksudo zpool replace -f tank /dev/disk/by-id/old-bad-disk /dev/disk/by-id/new-good-disk
Ресильвинг начнётся автоматически. Следи zpool status.
Расшифровка свойств пула и датасетов
| Свойство | Значение по умолчанию | Рекомендация 2026 | Зачем |
|---|---|---|---|
| ashift | 0 | 12 | Для 4K дисков |
| compression | off | lz4 | Скорость + экономия места |
| atime | on | off | Меньше IOPS |
| recordsize | 128K | 1M для больших файлов | Оптимизация под нагрузку |
| quota | none | по нужде | Ограничение места |
Сравнение конфигураций пула
| Тип | Диски мин | Отказоустойчивость | Полезная ёмкость | Когда использовать |
|---|---|---|---|---|
| stripe | 1 | 0 | 100% | Тесты, не важные данные |
| mirror | 2 | 1 диск | 50% | Скорость + надёжность |
| raidz1 | 3 | 1 диск | n-1 | Бюджетный NAS |
| raidz2 | 4 | 2 диска | n-2 | Важные данные |
Частые ошибки таблица
| Ошибка | Причина | Как исправить |
|---|---|---|
| module zfs not found | DKMS не собрался | apt install linux-headers-$(uname -r) && dpkg-reconfigure zfs-dkms |
| cannot create pool: no such device | неверный /dev/sdX | Используй by-id или by-partuuid |
| pool full но места много | ARC жрёт RAM | arc_summary.py или echo 1 > /sys/module/zfs/parameters/zfs_arc_max |
| resilvering медленно | мало RAM | Добавь память, минимум 8 ГБ |
| chmod 777 на датасет | опасно | Никогда не ставь 777, используй ACL или chown |
Альтернативные способы
Root on ZFS: используй debootstrap + ZFSBootMenu, но это для продвинутых. ZFS + LUKS: сначала LUKS на дисках, потом zpool create на /dev/mapper. Для домашнего NAS проще чистый ZFS mirror.
FAQ
Нужен ли backports для ZFS в Debian 12?
Сколько RAM нужно для ZFS?
Можно ли использовать ZFS на root?
Что лучше lz4 или gzip?
Как мониторить пул?
Что если диск умер в mirror?
ZFS и SSD TRIM?
Можно ли добавить диск в mirror потом?
Вывод
ZFS на Debian 12 в 2026 году это мощный инструмент для надёжного хранилища. Установка простая, снапшоты спасают от случайных удалений, замена диска без даунтайма, компрессия экономит место. Главное не экономь на RAM и используй правильные идентификаторы дисков. Если что-то сломалось, смотри zpool status и journalctl -u zfs*.
Смотри также полезные статьи:
Если застрял на каком-то шаге, пиши в комментариях вывод zpool status или ошибку, разберём вместе.
Понравилась статья?
Помогите Setiwik.ru создавать больше глубоких обзоров и новостей. Один клик и ваш вклад помогает держать серверы включёнными и авторов мотивированными!
Поддержать проектСпасибо, что вы с нами!




