Определение простыми словами
ZFS — гибрид файловой системы и менеджера томов. Диски объединяются в пул (zpool), поверх которого создают наборы данных (dataset) с независимыми настройками сжатия, квот и снапшотов. Каждый блок защищён контрольной суммой SHA-256 — система сама обнаруживает и исправляет битые сектора при чтении, если есть избыточность.
Главные отличия от ext4 и xfs — встроенный RAID (RAID-Z), мгновенные снимки без копирования данных и онлайн-сжатие LZ4. Стандарт для NAS, бэкап-серверов и файловых хранилищ под FreeBSD, Linux (через OpenZFS) и Solaris.
Сравнение
| Свойство | ZFS | ext4 | btrfs |
|---|---|---|---|
| Контрольные суммы блоков | Да | Нет | Да |
| Снапшоты | Мгновенные | Через LVM | Мгновенные |
| Встроенный RAID | RAID-Z 1/2/3 | Нет | RAID 0/1/10 |
| Сжатие | LZ4, ZSTD | Нет | ZLIB, ZSTD |
| Требования к RAM | 1 ГБ на 1 ТБ | Минимальные | Средние |
Кейсы использования
- NAS на FreeNAS/TrueNAS — RAID-Z2 на 6 дисках держит 2 отказа без потери данных.
- Бэкап-сервер с дедупликацией — ZFS снимает копию базы за секунды через
zfs snapshot. - VM-хранилище под Proxmox — снапшоты дисков перед обновлением, откат за минуту.
- Негативный сценарий: ZFS не любит расширение пула «по одному диску» — нужно сразу добавлять vdev той же конфигурации, иначе производительность падает и появляется риск потери всего пула при отказе нового vdev.
Технические детали
zpool create tank raidz2 sda sdb sdc sdd sde sdf
zfs create -o compression=lz4 -o atime=off tank/data
zfs snapshot tank/data@daily-$(date +%F)
zfs send tank/data@daily-2026-05-11 | ssh backup zfs recv pool/backup
zpool scrub tank && zpool status tank
Скраб (scrub) проверяет контрольные суммы всех блоков и автоматически чинит ошибки, если есть избыточность. Для арендованных VPS с одним диском ZFS избыточен — выгодно ставить от трёх дисков. ARC-кэш в RAM ускоряет случайное чтение в десятки раз.
🔥 Где это применяется
Частые вопросы
Сколько RAM нужно для ZFS?
Базово 1 ГБ на 1 ТБ ёмкости пула без дедупликации. С дедупликацией требования вырастают до 5 ГБ на 1 ТБ.
ZFS работает на Linux?
Да, через проект OpenZFS. Стабильно на Ubuntu 22.04+, Debian 12, AlmaLinux 9. На Ubuntu есть установка из коробки при разметке корня.
Можно ли расширить RAID-Z добавлением одного диска?
До OpenZFS 2.3 нельзя — добавляли только новый vdev. С версии 2.3 появилась поддержка raidz expansion, но процесс длится сутки.