ZFS

ZFS

Файловая система, которая никогда не теряет данные — контрольные суммы, 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 — Данные / Файловая система и управление томами