ZFS - это файловая система, которая одновременно управляет дисками и сама следит за целостностью данных. Главная её особенность - контрольные суммы: ZFS проверяет каждый блок при чтении и, если данные на диске незаметно испортились (так называемый bit rot), обнаруживает это и при наличии избыточности восстанавливает. Плюс снапшоты, сжатие на лету и собственные RAID-массивы (RAID-Z). За это приходится платить аппетитом к оперативной памяти. Разберём, что ZFS даёт, чего стоит и кому она действительно нужна.
Обычные файловые системы (NTFS, ext4) доверяют диску: записали блок - и считают, что он там и останется в целости. 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 родом из мира серверов и хранилищ, и там же чаще всего и встречается:
Если данные некритичны, железо слабое, а сценарий простой - например, рабочая станция или маленький файловый сервер на пару человек - ZFS избыточна. Её сильные стороны (контроль целостности, снапшоты, самовосстановление) раскрываются на серьёзных объёмах и ответственных данных. Для домашнего ПК подойдёт обычная файловая система, без требований к памяти и без лишней сложности.
ZFS - это файловая система с собственным менеджером томов, которая считает контрольные суммы для всех данных, сама чинит тихую порчу, умеет снапшоты, сжатие и свои RAID-массивы (RAID-Z). Платит за это аппетитом к оперативной памяти (от 8 ГБ, желательно ECC) и более высоким порогом входа. Нужна там, где важна целостность данных: серверы, NAS, хранилища. Для простых задач на слабом железе она избыточна.
ZFS считает контрольные суммы для каждого блока и обнаруживает тихую порчу данных (bit rot), которую NTFS и ext4 не замечают, а при наличии избыточности сама её исправляет. Плюс снапшоты, сжатие и встроенные RAID-массивы.
Минимум около 8 ГБ для комфортной работы, под большие объёмы и нагрузку - больше. ZFS активно кэширует данные в памяти, поэтому на слабом железе она тормозит.
Не обязательна - ZFS работает и без неё. Но для ответственных данных ECC желательна: она исключает тихий сбой бита в самой оперативной памяти. Дома без ECC живут спокойно, для бизнеса лучше заложить серверное железо.
В системах хранения и NAS (например, TrueNAS), на серверах с критичными данными, в среде Linux и FreeBSD через OpenZFS. Как основная файловая система Windows ZFS не используется.