ZFS: что это за файловая система, плюсы, минусы и кому нужна
ZFS - это файловая система, которая одновременно управляет дисками и сама следит за целостностью данных. Главная её особенность - контрольные суммы: ZFS проверяет каждый блок при чтении и, если данные на диске незаметно испортились (так называемый bit rot), обнаруживает это и при наличии избыточности восстанавливает. Плюс снапшоты, сжатие на лету и собственные RAID-массивы (RAID-Z). За это приходится платить аппетитом к оперативной памяти. Разберём, что ZFS даёт, чего стоит и кому она действительно нужна.
Что делает ZFS особенной
Обычные файловые системы (NTFS, ext4) доверяют диску: записали блок - и считают, что он там и останется в целости. ZFS так не делает. Она устроена иначе сразу по нескольким направлениям:
- Контрольные суммы для всего. На каждый блок данных считается контрольная сумма. При чтении ZFS сверяет её и видит, если данные «протухли». Это ловит тихую порчу, которую обычные системы просто не замечают.
- Самовосстановление. Если данные в массиве с избыточностью испортились, ZFS берёт здоровую копию (или восстанавливает по чётности) и чинит блок автоматически.
- Copy-on-write. Новые данные пишутся в свободное место, а не поверх старых. Поэтому файловая система всегда в согласованном состоянии - даже если в момент записи выключилось питание, старая версия данных цела.
- Снапшоты. Мгновенные снимки состояния, которые почти не занимают места, - с ними легко откатиться назад. Удобно перед обновлением или против шифровальщика.
- Сжатие на лету. Часто экономит место и даже ускоряет работу - сжатых данных физически читается меньше.
RAID-Z: массивы внутри ZFS
ZFS совмещает в себе и файловую систему, и менеджер томов, поэтому собирает RAID сама, без отдельного контроллера. Её варианты массивов называются RAID-Z:
| Уровень | Переживает отказ | Аналог классического RAID |
|---|---|---|
| RAID-Z1 | одного диска | RAID 5 |
| RAID-Z2 | двух дисков | RAID 6 |
| RAID-Z3 | трёх дисков | (тройная чётность) |
| Зеркало | зависит от числа копий | RAID 1 |
Важный нюанс: ZFS должна видеть диски напрямую, поэтому аппаратный RAID-контроллер ей мешает - диски отдают через простой HBA. Чем RAID-Z отличается от классического RAID по сути - можно понять из материала что такое RAID.
Минусы и за что приходится платить
ZFS - мощная, но не бесплатная по ресурсам и не для каждого сценария.
- Аппетит к оперативной памяти. ZFS активно кэширует данные в RAM (механизм ARC). Минимум для комфортной работы - около 8 ГБ, а под нагрузку и большие объёмы - заметно больше. На слабом железе ZFS будет тормозить.
- ECC-память желательна. ZFS прекрасно работает и без неё, но для ответственных данных память с коррекцией ошибок снимает риск тихого сбоя бита в самой RAM. Зачем нужна ECC - в материале про актуальность ECC-памяти.
- Сложнее в освоении. Пулы, vdev, наборы данных - порог входа выше, чем у обычной файловой системы.
- Дедупликация прожорлива. Встроенная дедупликация данных требует очень много памяти, поэтому включают её редко и осознанно.
Где используется ZFS
ZFS родом из мира серверов и хранилищ, и там же чаще всего и встречается:
- Системы хранения и NAS. На ZFS построена TrueNAS - одна из самых популярных систем для сетевых хранилищ, где целостность данных в приоритете.
- Серверы с критичными данными. Базы, архивы, файловые хранилища, где тихая порча недопустима.
- Linux и BSD. Реализация OpenZFS работает на Linux и FreeBSD; в Windows как основная файловая система ZFS не используется.
Когда ZFS не нужна
Если данные некритичны, железо слабое, а сценарий простой - например, рабочая станция или маленький файловый сервер на пару человек - ZFS избыточна. Её сильные стороны (контроль целостности, снапшоты, самовосстановление) раскрываются на серьёзных объёмах и ответственных данных. Для домашнего ПК подойдёт обычная файловая система, без требований к памяти и без лишней сложности.
Коротко
ZFS - это файловая система с собственным менеджером томов, которая считает контрольные суммы для всех данных, сама чинит тихую порчу, умеет снапшоты, сжатие и свои RAID-массивы (RAID-Z). Платит за это аппетитом к оперативной памяти (от 8 ГБ, желательно ECC) и более высоким порогом входа. Нужна там, где важна целостность данных: серверы, NAS, хранилища. Для простых задач на слабом железе она избыточна.
Частые вопросы
Чем ZFS лучше обычной файловой системы?
ZFS считает контрольные суммы для каждого блока и обнаруживает тихую порчу данных (bit rot), которую NTFS и ext4 не замечают, а при наличии избыточности сама её исправляет. Плюс снапшоты, сжатие и встроенные RAID-массивы.
Сколько оперативной памяти нужно для ZFS?
Минимум около 8 ГБ для комфортной работы, под большие объёмы и нагрузку - больше. ZFS активно кэширует данные в памяти, поэтому на слабом железе она тормозит.
Нужна ли ECC-память для ZFS?
Не обязательна - ZFS работает и без неё. Но для ответственных данных ECC желательна: она исключает тихий сбой бита в самой оперативной памяти. Дома без ECC живут спокойно, для бизнеса лучше заложить серверное железо.
Где применяется ZFS?
В системах хранения и NAS (например, TrueNAS), на серверах с критичными данными, в среде Linux и FreeBSD через OpenZFS. Как основная файловая система Windows ZFS не используется.

