Файловая система, которая никогда не теряет данные — контрольные суммы, self-healing и снапшоты за миллисекунды.
«ZFS не просто хранит данные — она их охраняет. Каждый блок имеет контрольную сумму, и система сама исправляет ошибки, не спрашивая администратора.»
ZFS (Zettabyte File System) была создана в Sun Microsystems в 2005 году и сегодня является стандартом хранения данных в стеке IgNix. Главный принцип ZFS — "always consistent": нет частично записанных блоков, нет journal/replay при крашах, нет потенциальной потери данных при внезапном отключении питания. Copy-on-Write (COW) означает, что старая версия данных существует до момента полного завершения записи новой.
Контрольные суммы (checksums) хранятся для каждого блока данных и метаданных отдельно от самих данных. При чтении ZFS сравнивает данные с контрольной суммой и, при несоответствии, автоматически восстанавливает блок из зеркала или RAID-Z — без участия администратора. Это защита от bit rot: тихой порчи данных на диске, которую традиционные файловые системы не обнаруживают годами.
В стеке IgNix ZFS является фундаментом всего хранилища: ВМ bhyve, Jails, базы данных PostgreSQL, бэкапы Bacula, снапшоты TrueNAS — всё на ZFS. Block cloning (ZFS 2.4) создаёт мгновенные COW-копии файлов без физического копирования данных — ускоряет клонирование ВМ, дедупликацию бэкапов и файловые операции в разы. Scrub регулярно проверяет и восстанавливает весь массив данных в фоне.
Килл-фичи:
Контрольные суммы каждого блока — защита от bit rot: обнаружение и автоисправление тихой порчи данных без вмешательства
Copy-on-Write (COW) — всегда консистентное состояние, нет частично записанных блоков при сбое питания
Снапшоты за миллисекунды — мгновенное создание точки восстановления без остановки сервиса, нулевой overhead в момент создания
Block Cloning (ZFS 2.4) — мгновенные COW-копии файлов и датасетов без физического копирования байт
RAID-Z1/Z2/Z3 — RAID с переменной шириной полосы, нет write hole проблемы классического RAID-5
Сжатие lz4/zstd — прозрачное сжатие данных с минимальным CPU overhead (lz4) или высокой степенью (zstd)
Self-healing — автоматическое восстановление повреждённых блоков из зеркала/RAID-Z при каждом чтении
Что заменяет: ext4 + mdadm RAID, NTFS, Btrfs, XFS, дорогие аппаратные RAID-контроллеры с firmware
Версия: ZFS 2.4 (OpenZFS), встроен в FreeBSD 15.x
Роль в стеке: Слой 3 — Данные / Файловая система и управление томами