Что это
| Параметр | ZFS | Btrfs |
|---|---|---|
| Тип | FS + Volume Manager | File System (CoW) |
| Лицензия | CDDL | GPL (Mainline Kernel) |
| RAID 5/6 | Стабильно (RAIDZ) | Не рекомендуется (Write hole) |
| Сжатие | LZ4, GZIP, ZSTD | LZO, zlib, ZSTD |
| Изменение размера | Сложно (добавление vdev) | Гибко (добавление дисков) |
ZFS (OpenZFS) — это зрелая система управления хранилищем, объединяющая функции файловой системы и менеджера томов. Она ориентирована на целостность данных и масштабируемость. Btrfs (B-Tree FS) — современная файловая система Linux, использующая принцип Copy-on-Write (CoW) для обеспечения отказоустойчивости и упрощения администрирования.
Производительность
ZFS использует алгоритм ARC (Adaptive Replacement Cache), который значительно эффективнее стандартного Linux Page Cache при наличии достаточного объема RAM. В операциях чтения ZFS превосходит Btrfs за счет интеллектуального кэширования. Btrfs показывает лучшие результаты на SSD в сценариях с мелкими файлами и быстрыми снимками (snapshots), но деградирует при сильной фрагментации, характерной для баз данных и VM образов.
Конфигурация и сложность
ZFS требует управления пулами и виртуальными устройствами (vdev). Команда создания пула: zpool create mypool raidz1 /dev/sda /dev/sdb /dev/sdc. После создания vdev в него нельзя добавить отдельный диск для расширения (только замена всех дисков или добавление нового vdev). Btrfs позволяет динамически добавлять и удалять устройства: btrfs device add /dev/sdd /mnt/data с последующей балансировкой btrfs balance start /mnt/data.
Когда выбрать что
- ZFS: Корпоративные хранилища, NAS (TrueNAS), серверы с критически важными данными, где важна стабильность RAIDZ и защита от «тихого» повреждения данных.
- Btrfs: Домашние ПК (Fedora, openSUSE), Docker-контейнеры (за счет эффективных подтомов), системы с дисками разного объема, где требуется частое изменение конфигурации.
Стоимость / лицензия
ZFS распространяется под лицензией CDDL, что препятствует ее включению непосредственно в ядро Linux (за исключением дистрибутивов вроде Ubuntu, использующих модули DKMS). Btrfs является частью ванильного ядра Linux (GPL), что упрощает поддержку и обновление без сторонних репозиториев.
Экосистема и интеграции
ZFS является стандартом для FreeBSD и широко используется в Solaris-подобных системах. В Linux требует установки zfsutils-linux. Btrfs поддерживается всеми современными дистрибутивами «из коробки» и интегрирована в инструменты управления вроде Snapper для автоматических откатов системы.
Вердикт
Выбирайте ZFS для серверов и RAID-массивов, где надежность и скорость кэширования важнее гибкости расширения. Выбирайте Btrfs для рабочих станций и гибких облачных сред, где важна нативная поддержка ядром и возможность легкого изменения размера хранилища.