Предупреждение XDA о том, что снимки вашего NAS, вероятно, отключены, — это правильная позиция. Избыточность не является резервной копией, и снимок ZFS в одном пуле также не является резервной копией. Неправильная команда zfs destroy по-прежнему уничтожает снимок. Настоящее резервное копирование снимков ZFS означает автоматизированные снимки по политике плюс асинхронная репликация на целевой объект, который бедствие не может достичь. Это лучшие приложения для резервного копирования снимков ZFS на рабочем столе, которые мы протестировали для снимков, управляемых политикой, и репликации вне сайта.
Мы тестировали на TrueNAS SCALE 25, Ubuntu 24.04 и хосте Proxmox VE 8.4, каждый с пулом OpenZFS, содержащим около 12 ТБ данных. Время восстановления и административные накладные расходы были метриками, которые нас интересовали. Установка инструмента, который создает снимки, которые вы никогда не восстанавливаете, — это то же самое, что отсутствие инструмента вообще.
На что обратить внимание при выборе инструмента резервного копирования снимков ZFS
Ищите модель планирования, которая работает на cron или таймерах systemd, чтобы у вас не было пользовательского демона, который нужно поддерживать в живом состоянии. Политики хранения, которые автоматически прореживают снимки, иначе вы исчерпаете свободное место в пуле за три месяца. Добавочная репликация через zfs send | zfs recv, желательно с поддержкой возобновления после сбоя сети. Зашифрованная репликация для целевых объектов вне сайта, которым вы не полностью доверяете. Перехватчики мониторинга, которые вызывают вас, когда снимок не срабатывает, потому что неработающий конвейер, о котором вы не знаете, хуже, чем вообще отсутствие конвейера.
Быстрое сравнение
| Приложение | Лучше всего для | Платформы | Бесплатный план | Стоимость | Оценка |
|---|---|---|---|---|---|
| Sanoid & Syncoid | Большинство домашних лабораторий и небольших предприятий | Linux, FreeBSD | Да | Бесплатно | Выбор редактора |
| zrepl | Крупные развертывания | Linux, FreeBSD | Да | Бесплатно | Очень положительно |
| TrueNAS Replication | Пользователи TrueNAS | TrueNAS CORE / SCALE | Да | Бесплатно | Очень положительно |
| pyznap | Простота файла конфигурации | Linux | Да | Бесплатно | Положительно |
| znapzend | Установки, находящиеся под влиянием устаревшей Solaris | Solaris, illumos, Linux | Да | Бесплатно | Положительно |
| OpenZFS built-in tools | Резервное копирование по требованию | Linux, FreeBSD, TrueNAS | Да | Бесплатно | Базовая линия |
| Rclone with zfs send | Репликация облака | Linux, Windows, macOS | Да | Бесплатно | Положительно |
Приложения
1. Sanoid & Syncoid, лучше всего для большинства домашних лабораторий и небольших предприятий
Sanoid — это демон управления снимками, управляемый политикой, который работает по графику, создает снимки в соответствии с конфигурацией хранения и автоматически удаляет старые снимки. Syncoid — его аналог репликации, оболочка вокруг zfs send | zfs recv, которая обрабатывает добавочные отправки, транспорт SSH с сжатием и буферизацию mbuffer для предотвращения зависаний ввода-вывода.
Где он работает хуже: Нет графического интерфейса, и конфигурация находится в простом текстовом файле INI. Первоначальная настройка занимает пару часов, чтобы чувствовать себя уверенно. Нет облачной цели из коробки, хотя транспорт на основе SSH охватывает большинство сценариев вне сайта.
Ценообразование:
- Бесплатно: полностью бесплатно и открыто
Платформы: Linux, FreeBSD
Загрузить: github.com/jimsalterjrs/sanoid
Итоговая строка: Sanoid и Syncoid для резервного копирования снимков ZFS — это то, что мы запускаем в производстве. Девять из десяти домашних лабораторий не нуждаются ни в чем другом.
2. zrepl, лучше всего для крупных развертываний со множеством целей
zrepl — это самый мощный из инструментов в этом списке, но цена — это сложность. Он предназначен для флотов: много исходных пулов, реплицирующихся на много целей, с репликацией в режиме вытягивания для защищенных брандмауэром сред и политик хранения для каждого задания.
Где он работает хуже: Сложнее начать работу, потому что файл конфигурации требуется даже для одного базового передачи. Документация тщательна, но плотна.
Ценообразование:
- Бесплатно: полностью бесплатно
Платформы: Linux, FreeBSD
Загрузить: zrepl.github.io
Итоговая строка: zrepl для резервного копирования снимков ZFS в масштабе. Если вы управляете стойкой, это ваш инструмент.
3. TrueNAS Replication, лучше всего для пользователей TrueNAS
TrueNAS Replication — это встроенная репликация снимков и репликация, управляемая веб-интерфейсом в TrueNAS CORE и SCALE. Политики по щелчку, планирование на основе календаря и список задач репликации, который вы можете просматривать в реальном времени.
Где он работает хуже: Полезно только если вы используете TrueNAS. Базовый инструментарий — это те же примитивы OpenZFS с оболочкой.
Ценообразование:
- Бесплатно: включено в TrueNAS CORE и SCALE
Платформы: TrueNAS CORE, TrueNAS SCALE
Загрузить: Поставляется с TrueNAS. Смотрите документацию TrueNAS по репликации.
Итоговая строка: Если вы используете TrueNAS, используйте встроенную репликацию перед установкой чего-либо еще. Это уже там.
4. pyznap, лучше всего для простоты файла конфигурации
pyznap — это повторная реализация на Python идей Sanoid/Syncoid с немного более удобным файлом конфигурации. Снимки и репликация в одном бинарном файле, конфигурация в стиле INI, без сложности для каждой цели.
Где он работает хуже: Меньшее сообщество, чем Sanoid. Темп разработки медленнее.
Ценообразование:
- Бесплатно: полностью бесплатно
Платформы: Linux
Загрузить: github.com/yboetz/pyznap
Итоговая строка: Отличная альтернатива Sanoid, если экосистема на основе Perl вам не подходит.
5. znapzend, лучше всего для установок, находящихся под влиянием Solaris
znapzend восходит к эпохе Solaris и до сих пор работает на illumos, FreeBSD и Linux. Его язык политики хранения легендарен своей точностью.
Где он работает хуже: Более старая кодовая база, тихая разработка, меньше активных пользователей, чем у Sanoid или zrepl.
Ценообразование:
- Бесплатно: полностью бесплатно
Платформы: Solaris, illumos, Linux
Загрузить: github.com/oetiker/znapzend
Итоговая строка: Устаревший, но все еще способный. Выполните миграцию на Sanoid или zrepl для новой сборки.
6. OpenZFS встроенные инструменты, лучше всего для резервного копирования по требованию
OpenZFS поставляется со всем необходимым: zfs snapshot создает снимок, zfs send создает поток, zfs recv принимает его на другом конце, zfs list -t snapshot проверяет. Подключите их вместе с задачей cron и у вас будет простой конвейер резервного копирования.
Где он работает хуже: Нет политики хранения, нет восстановления после ошибок, нет мониторинга. Вы напишете свои собственные сценарии.
Ценообразование:
- Бесплатно: Поставляется с OpenZFS
Платформы: Linux, FreeBSD, TrueNAS, illumos
Загрузить: openzfs.org
Итоговая строка: Хорошо для разового использования. Не самостоятельное решение резервного копирования.
7. Rclone с zfs send, лучше всего для репликации облака
Rclone не понимает ZFS изначально, но вы можете передать zfs send в него и передать результат в Backblaze B2, Wasabi или хранилище, совместимое с S3. Существуют скрипты сообщества для этого без присмотра.
Где он работает хуже: Потеря семантики снимков на облачной стороне. Вы храните необработанный поток, и восстановление означает загрузку всего потока и его прием через zfs recv.
Ценообразование:
- Бесплатно: Rclone бесплатен, облачное хранилище измеряется
Платформы: Linux, Windows, macOS
Загрузить: rclone.org
Итоговая строка: Правильный выбор, когда единственная цель вне сайта — это облачное хранилище объектов.
Как выбрать правильный
Если вы используете TrueNAS, используйте TrueNAS Replication в первую очередь. Он уже установлен, и веб-интерфейс скрывает сложные части.
Если вы используете Linux или FreeBSD с домашней лабораторией, установите Sanoid и Syncoid. Это сладкое пятно для соотношения функций и усилий.
Если вы управляете 20 или более исходными пулами, zrepl стоит кривой обучения файла конфигурации.
Если аллергия на Perl срабатывает вокруг Sanoid, pyznap — это замена идеи.
Если вы на устаревшей Solaris или illumos, znapzend уже знает вашу платформу.
Если облачное хранилище объектов — это ваша единственная цель вне сайта, подключите Rclone в конвейер zfs send.
Часто задаваемые вопросы
Разве снимки ZFS не являются уже резервными копиями?
Нет. Снимок в одном пуле защищает вас от случайного rm -rf, но не от сбоя пула, пожара карты RAID или неправильного zpool destroy. Резервная копия означает, что данные находятся в другом пуле, в идеале в другом физическом местоположении.
Как часто я должен делать снимки ZFS?
Для большинства домашних лабораторий — каждый час за последний день, ежедневно за последнюю неделю, еженедельно за последний месяц, ежемесячно за последний год. Sanoid поставляется с этими настройками по умолчанию из коробки.
Может ли Sanoid реплицироваться в облачное хранилище?
Не напрямую. Sanoid управляет снимками, а Syncoid обрабатывает репликацию через SSH. Для облачного хранилища объектов передайте zfs send через Rclone. Встроенная репликация TrueNAS теперь поддерживает облачные цели в SCALE.
Работают ли эти инструменты с зашифрованным ZFS?
Да. Syncoid поддерживает необработанную репликацию зашифрованных наборов данных с флагом --sendoptions=w. Сервер резервного копирования хранит зашифрованный текст и не может прочитать данные без ключа шифрования.
В чем разница между zrepl и Sanoid?
zrepl использует собственный протокол и может репликировать в режиме вытягивания через брандмауэры, что полезно в корпоративных установках. Sanoid использует простой транспорт SSH и более простую конфигурацию. Для большинства людей Sanoid достаточно.