ZFS: файловая система будущего, которая заменит полсотни утилит
Что делает ZFS уникальной?
Представьте, что вместо mdadm, bcache, cryptsetup, LVM и btrfs вы используете… одну единственную файловую систему. Такую, которая умеет всё сразу: шифровать, кэшировать, сжимать, создавать снапшоты и при этом не ломаться при сбоях.
Это и есть ZFS — настоящий «швейцарский нож» в мире хранения данных. Если раньше вы собирали монстра из десятка инструментов, то теперь вы просто устанавливаете ZFS. Всё.
Архитектура ZFS: как это устроено
Всё начинается с pула — zpool
. Это как фундамент вашего хранилища.
Что такое zpool и vdev?
Zpool создаётся поверх vdev — виртуального устройства, которое может состоять из одного или нескольких дисков. На этом уровне ZFS сразу же предлагает вам выбор отказоустойчивости.
Таблица: ZFS vs классические RAID
Уровень ZFS | Аналог RAID | Отказоустойчивость | Особенности |
---|---|---|---|
stripe | RAID 0 | 0 дисков | Максимальная скорость, но никакой защиты |
mirror | RAID 1 | 1+ диск | Копирование данных на все диски |
raidz1 | RAID 5 | 1 диск | Эффективность + надёжность |
raidz2 | RAID 6 | 2 диска | Можно потерять 2 диска без потерь |
raidz3 | — | 3 диска | Аналогов в RAID нет — максимальная надёжность |
Dataset и Volume: две стороны одной монеты
Внутри пула можно создать:
- Dataset — примонтируемая файловая система, куда можно класть файлы.
- Volume (zvol) — блочное устройство, которое можно использовать, как обычный диск (например, для ВМ или iSCSI).
Главное: на volume действуют все фичи ZFS
- Сжатие (lz4, zstd, gzip)
- Шифрование (AES-256, с разными ключами)
- Снапшоты и клонирование
- Кэширование
Кэширование в ZFS: не всё так просто
В ZFS кэш — это целая система. Она разделяется на кэш записи и чтения.
Кэш записи: ZIL и SLOG
ZFS разделяет два типа записи:
- Асинхронная — пишется сначала в RAM, а потом в
zpool
- Синхронная — сначала в ZIL (журнал), потом в
zpool
- Что такое SLOG?
SLOG — это отдельный быстрый диск, на который ZFS может выносить ZIL. Это особенно полезно для баз данных, iSCSI и виртуальных машин, где критична скорость и надёжность синхронной записи.
Кэш чтения: ARC и L2ARC
- ARC — основной кэш в оперативной памяти. Быстрый, умный, адаптивный.
- L2ARC — расширение ARC на SSD. Помогает, если RAM не хватает.
Приятно: и ARC, и L2ARC не требуют ручной настройки — они просто работают.
Почему ZFS — это “всё в одном” решение?
Если вы:
- используете mdadm ради отказоустойчивости,
- прикручивали bcache к тормозному HDD,
- шифровали диски через cryptsetup,
- разбивали блочные устройства в LVM,
- фанатели от btrfs за снапшоты и сжатие…
…то теперь вы можете просто установить ZFS и получить всё это в одном флаконе. Без 10 слоёв, без конфликтов, без плясок с бубном.
Заключение: стоит ли пробовать ZFS?
ZFS — это как Tesla среди файловых систем. Сначала кажется избыточной. А потом не понимаешь, как вообще раньше жил без неё.
Она даёт:
- отказоустойчивость уровня RAID 6 и выше;
- кэширование, сравнимое с аппаратными контроллерами;
- удобство администрирования;
- возможность снапшотов, сжатия и шифрования — прямо из коробки.
Если вы хотите стабильность, производительность и контроль — попробуйте ZFS. Вы удивитесь, сколько всего она берёт на себя.
Часто задаваемые вопросы о ZFS
1. ZFS заменяет RAID?
Да. ZFS сам умеет строить отказоустойчивые массивы. RAID-контроллер не нужен.
2. Можно ли шифровать данные в ZFS?
Да, встроенное шифрование на уровне dataset или volume с выбором алгоритма и ключей.
3. Что будет, если заполнить zpool под завязку?
ZFS уйдёт в read-only. Рекомендуется оставлять минимум 10% свободного пространства.
4. Поддерживает ли ZFS сжатие данных?
Да, сжатие в реальном времени. Поддерживаются алгоритмы lz4, gzip, zstd и другие.
5. Чем отличается SLOG от L2ARC?
SLOG — это буфер для синхронной записи.
L2ARC — кэш для ускорения чтения, размещается на SSD.