Инструменты расширения ZFS RAIDZ

Древнейшее правило ZFS гласило: «вы не можете добавить диск к vdev RAIDZ». Пятнадцать лет это означало, что расширение домашнего NAS требовало либо полного резервного копирования и восстановления, либо покупки целого второго набора дисков сразу. OpenZFS 2.3 привнесла поддержку расширения RAIDZ, и это правило уже в прошлом. Добавьте один диск к существующему RAIDZ1, дождитесь переуплотнения, и vdev станет шире без переформирования.

Семь лучших приложений для расширения ZFS RAIDZ ниже охватывают само расширение, мониторинг, который нужен вам во время 30-часового переуплотнения на домашнем NAS с восемью отсеками, и инструменты снимков и репликации, которые защищают работающий пул при его расширении. Всё работает на Linux (TrueNAS SCALE, Debian, Ubuntu Server, Proxmox); большинство также совместимо с FreeBSD.

На что обратить внимание при выборе набора инструментов для расширения RAIDZ

Таблица быстрого сравнения

Приложение Лучше всего для Платформы Бесплатный план Начальная цена/мес Оценка
OpenZFS 2.3 Среда выполнения, выполняющая расширение Linux, FreeBSD, illumos Полностью бесплатно (CDDL) Бесплатно Необходимо
TrueNAS SCALE 24.10+ Расширение через веб-интерфейс Bare-metal, VM Полностью бесплатно Бесплатно (Enterprise support отдельно) Рекомендуется
Cockpit ZFS Manager Управление пулом в Cockpit Linux Полностью бесплатно (OSS) Бесплатно Лёгкое
Sanoid Автоматизация политики снимков Linux Полностью бесплатно (OSS) Бесплатно Выбор сообщества
zrepl Репликация снимков с шифрованием Linux, FreeBSD Полностью бесплатно (OSS) Бесплатно Надёжное
Houston UI Веб-консоль Rocky Linux для ZFS Rocky Linux Полностью бесплатно (OSS) Бесплатно Новое, но многообещающее
zfs-auto-snapshot Простые почасовые/дневные снимки Linux Полностью бесплатно (OSS) Бесплатно Проверенное

Приложения

1. OpenZFS 2.3 — среда выполнения, которая делает расширение возможным

OpenZFS 2.3 — это место, где живёт zpool attach для vdev RAIDZ. Команда в одну строку: zpool attach tank raidz1-0 /dev/sdX. Пул остаётся в сети во время переуплотнения, чтение и запись продолжаются, а когда процесс завершится, vdev будет иметь ёмкость на один диск больше. Все остальные инструменты ниже предполагают эту среду выполнения.

Недостатки: Новые записи после расширения используют более широкий stripe. Данные, записанные до расширения, сохраняют старую ширину stripe до переписания файлов. Также расширение RAIDZ — одно подключение за раз; второе подключение не может начаться до завершения первого.

Цены:

Платформы: Linux, FreeBSD, illumos.

Загрузка: OpenZFS releases на GitHub

Итог: Сначала установите OpenZFS 2.3. Всё остальное — вспомогательный инструмент.

2. TrueNAS SCALE 24.10 — лучше всего для расширения через веб-интерфейс

TrueNAS SCALE 24.10 и новее поставляются с OpenZFS 2.3 и расширением RAIDZ, доступным в вкладке Storage. Добавьте диск, нажмите Expand VDEV, подтвердите, и смотрите, как прогресс переуплотнения отсчитывает часы или дни в зависимости от размера пула. Оповещения срабатывают при завершении переуплотнения, а также при scrub, ошибках SMART и здоровье пула.

Недостатки: Невозможно расширить vdev mirror-of-mirror таким же способом (зеркала всегда были простыми в расширении, поэтому потерь нет). Невозможно комбинировать расширение с удалением vdev в одной операции.

Цены:

Платформы: Bare-metal x86, VM.

Загрузка: TrueNAS.com

Итог: Если ZFS — это ваш уровень хранилища, TrueNAS SCALE 24.10+ — это кратчайший путь от «лишнего диска на полке» к «расширенному RAIDZ1».

3. Cockpit ZFS Manager — лучше всего для управления пулом внутри Cockpit

Cockpit ZFS Manager добавляет панель ZFS в веб-консоль Cockpit, поставляемую с Fedora Server, Rocky Linux и Debian. Создавайте датасеты, просматривайте снимки, создавайте вручную снимки и проверяйте статус пула без терминала. Расширение пока запускается из оболочки, но видимость встроена в Cockpit.

Недостатки: Интерфейс расширения минималистичен по сравнению с TrueNAS. Некоторые функции предполагают, что Cockpit уже установлен на машине.

Цены:

Платформы: Linux (Cockpit).

Загрузка: optiplex-networks GitHub

Итог: Cockpit ZFS Manager — правильное дополнение для сервера Linux, управляемого через Cockpit, который запускает ZFS на стороне.

4. Sanoid — лучше всего для автоматизации политики снимков

Sanoid применяет файл политики к вашим датасетам и создаёт почасовые, дневные, месячные и годовые снимки по расписанию. Вспомогательный инструмент syncoid обрабатывает репликацию. Когда вы собираетесь запустить расширение RAIDZ, дневной снимок Sanoid до расширения — это точка отката, за которую вы благодарны себе.

Недостатки: Конфигурация — текстовый файл; нет веб-интерфейса. Отладка репликации по медленным каналам требует чтения логов syncoid.

Цены:

Платформы: Linux, FreeBSD.

Загрузка: jimsalterjrs GitHub

Итог: Sanoid — это выбор «автоматические снимки, которые просто работают» для каждого пользователя ZFS, который должен быть установлен к третьему дню.

5. zrepl — лучше всего для шифрованной репликации

zrepl обрабатывает репликацию снимков между хостами с нативными ключами шифрования, режимом push или pull и правилами holdback, так что сбой целевого устройства не очищает ваш исходный пул. Масштабируется за пределы домашней лаборатории, если вы когда-либо перемещаете пул на размещённый сервер.

Недостатки: Файл конфигурации (hcl) имеет кривую обучения. Sanoid обрабатывает более простые случаи с меньшей подготовкой.

Цены:

Платформы: Linux, FreeBSD.

Загрузка: zrepl.github.io

Итог: Выбирайте zrepl, когда репликация идёт куда-то, чему вы не полностью доверяете, и шифрование в покое не опционально.

6. Houston UI — лучше всего для веб-консоли Rocky Linux

Houston UI от 45Drives — это консоль на основе Cockpit для ZFS на Rocky Linux. Она предоставляет создание пула, управление датасетами, общий доступ и теперь расширение RAIDZ в интерфейсе, похожем на TrueNAS SCALE. Предпочтителен пользователями, которые хотят базу rolling-release Linux под знакомым интерфейсом ZFS.

Недостатки: Поддержка community edition — по возможности. Enterprise support требует оборудования 45Drives.

Цены:

Платформы: Rocky Linux, AlmaLinux.

Загрузка: 45Drives Houston

Итог: Houston UI — это сильная альтернатива TrueNAS для поклонников Rocky Linux, которые по-прежнему хотят дружественную панель ZFS.

7. zfs-auto-snapshot — лучше всего для простых почасовых снимков

zfs-auto-snapshot — это оригинальный набор-и-забудь снимок cron. Он устанавливает несколько заданий cron и начинает создавать частые, почасовые, дневные, еженедельные и ежемесячные снимки с сохранением. Идеально, когда Sanoid кажется излишним.

Недостатки: Нет встроенной репликации. Сохранение per-schedule, не per-dataset без дополнительной конфигурации.

Цены:

Платформы: Linux (Debian и Ubuntu пакетируют это), FreeBSD (через ports).

Загрузка: zfsonlinux GitHub

Итог: zfs-auto-snapshot — это «одна установка apt и забудь» уровень снимков для пулов, которые не нуждаются в гибкости Sanoid.

Как выбрать правильный инструмент

Не складывайте Sanoid и zfs-auto-snapshot на один датасет. Они оба создают снимки с одинаковыми именами и борются за сохранение.

Часто задаваемые вопросы

Как долго расширение RAIDZ занимает на домашнем NAS?

Для диска объёмом 8 ТБ, добавленного к здоровому 4-дисковому RAIDZ1, ожидайте 12-30 часов в зависимости от того, насколько полон пул. Чтение и запись продолжаются во время переуплотнения; производительность снижается, но пул остаётся в сети.

Нужно ли мне всё ещё переписывать существующие файлы после расширения RAIDZ?

В некотором смысле да. Файлы, записанные до расширения, сохраняют старую ширину stripe, поэтому добавленный диск вносит меньший вклад в чтение этих файлов до их переписания. zfs send | zfs recv на датасете (или проход Sanoid syncoid) красиво переуплотняет. На большом пуле запланированное ночное переписание — хорошая идея.

Безопасно ли расширение RAIDZ, если выполняется scrub?

Расширение не начнётся, пока выполняется scrub; ZFS аккуратно отказывает. Дождитесь scrub, затем начните расширение. Сначала создайте снимок.

В чём разница между расширением RAIDZ и добавлением vdev?

Расширение расширяет существующий vdev на один диск за раз. Добавление vdev создаёт отдельную группу RAIDZ внутри одного пула. Оба увеличивают ёмкость; расширение сохраняет коэффициент чётности, который вы уже имеете, в то время как добавление vdev умножает отказоустойчивость.

Можно ли расширить RAIDZ2 или RAIDZ3?

Да. zpool attach для RAIDZ работает для RAIDZ1, RAIDZ2 и RAIDZ3 в OpenZFS 2.3 и новее. Команда одинакова; переуплотнение просто перемещает блоки чётности, подходящие для уровня RAIDZ.