Почему облачный бэкап для минимального NAS - это необходимость
RAID-массив в вашем NAS не заменяет резервную копию. Он защищает от выхода из строя одного-двух дисков, но бессилен перед пожаром, кражей оборудования, скачком напряжения, который сжигает контроллер, или ошибкой файловой системы, повреждающей данные на всех дисках одновременно. Для компактных конфигураций на 1–4 ТБ эта угроза особенно остра: весь объём данных часто помещается на двух дисках в зеркале, и потеря такого массива означает полную остановку рабочих процессов.
Правило 3-2-1 требует хранить три копии данных на двух разных типах носителей, одна из которых находится вне площадки. Облако закрывает требование offsite-копии без покупки второго NAS, аренды стойки в дата-центре или возни с внешними дисками, которые нужно регулярно возить в другое здание. Вы платите только за фактически занятые гигабайты и не обслуживаете дополнительное железо.
Для минимального NAS с ограниченным объёмом дисков облачный бэкап решает ещё одну задачу: освобождает локальное пространство. Холодные данные, к которым вы обращаетесь раз в полгода, можно хранить в облаке с низким тарифом, оставив на NAS только активно используемые файлы. При грамотной настройке инкрементального резервирования и дедупликации ежемесячный счёт за хранение 1 ТБ редко превышает 5–7 долларов.
Выбор облачного хранилища: Backblaze B2, Hetzner Storage Box или S3
Три кандидата покрывают потребности небольших инсталляций. Backblaze B2 берёт плату за хранение и скачивание, Hetzner Storage Box даёт фиксированный объём за фиксированную цену, S3-совместимые сервисы обеспечивают максимальную гибкость с запутанной моделью расчёта. Выбор сводится к предсказуемости счёта и географическому расположению дата-центра.
Backblaze B2 с дата-центрами в США и Европе стоит около $6 за терабайт в месяц. Загрузка данных бесплатна, скачивание - $0.01 за гигабайт. Для бэкапа, который вы восстанавливаете раз в год при реальной аварии, плата за скачивание не критична. Hetzner Storage Box предлагает фиксированные тарифы: 1 ТБ за €3.81 в месяц или 5 ТБ за €12.73. Скорость внутри европейского региона высокая, но из России или Азии может проседать. S3-совместимые хранилища вроде Timeweb Cloud Object Storage или Яндекс Облака удобны, если вы уже пользуетесь экосистемой провайдера, но требуют внимательного изучения цен на операции PUT/GET и минимальный срок хранения для cold-классов.
Сравнение стоимости: как не получить «облачный шок»
Сюрприз в счёте приходит не от хранения, а от операций. Представьте: вы настроили синхронизацию без дедупликации, и каждую ночь rclone заново заливает 10 ГБ изменённых виртуальных дисков. За месяц набегает 300 ГБ трафика загрузки - это бесплатно у Backblaze B2. Но если вы решите проверить целостность и скачаете те же 300 ГБ обратно, счёт увеличится на $3. Мелочь, но при регулярных проверках или случайном полном скачивании сумма растёт.
Холодное хранение снижает цену до $1–2 за терабайт, но добавляет плату за досрочное удаление. Backblaze B2 Cold резервирует объект минимум на 90 дней: удалили раньше - заплатили как за полный срок. Для бэкапов с ежедневной ротацией это неприемлемо. Холодный класс оправдан для архивов, которые точно не потребуются в ближайшие три месяца.
| Провайдер | Хранение 1 ТБ/мес | Загрузка | Скачивание | Мин. срок cold |
|---|---|---|---|---|
| Backblaze B2 | $6 | Бесплатно | $0.01/ГБ | 90 дней |
| Hetzner Storage Box | €3.81 | Бесплатно | Бесплатно | Нет cold |
| S3-совместимые | $5–7 | $0.005/1000 запросов | $0.01–0.05/ГБ | 30–180 дней |
Пример расчёта для 500 ГБ данных с 10% ежедневных изменений при использовании дедупликации: фактически в облако уходит только 2–3 ГБ новых чанков в день. За месяц набегает около 60–90 ГБ загрузки и 560–590 ГБ хранения. Счёт Backblaze B2: ~$3.5 за хранение плюс $0 за загрузку. Без дедупликации те же 10% изменений означают 50 ГБ новых полных файлов ежедневно, или 1.5 ТБ загрузки в месяц, что быстро выходит за пределы бесплатных лимитов у некоторых провайдеров.
rclone vs Duplicacy: какой инструмент выбрать для бэкапа NAS
rclone синхронизирует файлы и директории между локальным хранилищем и облаком, поддерживая более 40 провайдеров из коробки. Это «швейцарский нож»: можно зеркалировать папку с документами, скопировать медиатеку в холодное хранилище или примонтировать облачный бакет как локальный диск. Шифрование включается через crypt remote - прозрачный слой, который оборачивает любое облачное хранилище.
Duplicacy решает другую задачу: дедуплицированный бэкап на уровне блоков с версионированием. Утилита разбивает файлы на чанки переменного размера, вычисляет их хеши и загружает в облако только уникальные блоки. Одинаковые последовательности байт в разных файлах или версиях одного файла хранятся однократно. Для виртуальных машин, баз данных и проектов с частыми изменениями это даёт экономию места в 5–10 раз по сравнению с посегментной синхронизацией.
Когда выбирать rclone: сценарии и ограничения
rclone подходит для зеркалирования структурированных наборов файлов, которые редко меняются целиком. Типичный сценарий: папка с бухгалтерскими отчётами, куда раз в месяц добавляется новый PDF. Вы запускаете rclone sync /mnt/nas/docs remote:bucket/docs, и в облако уходят только изменившиеся файлы. Восстановление - обратная команда rclone copy.
Ограничения проявляются при работе с большими бинарными файлами, которые меняются частично. Виртуальный диск VMware на 100 ГБ, в котором изменилось 2 ГБ данных, будет загружен целиком, потому что rclone оперирует файлами, а не блоками внутри них. При ежедневном бэкапе такой ВМ вы за месяц потратите на трафик в 30 раз больше объёма самого диска. Встроенной дедупликации нет: если вы скопируете тот же файл в другую папку и синхронизируете обе, облако будет хранить две полные копии.
Когда выбирать Duplicacy: эффективность и дедупликация
Duplicacy реализует lock-free дедупликацию, которая не требует координации между параллельными задачами бэкапа. Это важно для NAS с ограниченными ресурсами: вы можете запустить резервное копирование нескольких исходных папок в одно облачное хранилище одновременно, и утилита корректно обработает пересекающиеся чанки без блокировок и гонок.
Практический пример: три виртуальные машины Windows Server с одинаковой операционной системой и набором обновлений. При первом бэкапе Duplicacy загрузит системные файлы один раз, сохранив ссылки на чанки в метаданных каждой ВМ. При ежедневном инкременте в облако уходят только изменившиеся блоки размером от 4 КБ до 4 МБ. Для 500 ГБ данных с 10% ежедневных изменений это означает около 2–3 ГБ трафика в день вместо 50 ГБ при пофайловой синхронизации.
Лицензирование Duplicacy: CLI-версия бесплатна для личного использования. Коммерческое применение требует лицензии - $20 в год за машину для версии с веб-интерфейсом или $50 в год для CLI. rclone полностью бесплатен и открыт под лицензией MIT.
Пошаговая настройка rclone для автоматического бэкапа в облако
Установка rclone на все три платформы сводится к скачиванию одного бинарного файла. Никаких зависимостей, кроме стандартной библиотеки C, не требуется. Настройка выполняется командой rclone config, которая интерактивно проведёт через создание remote-подключения и опционального crypt-слоя.
Установка и конфигурация rclone на TrueNAS Scale, Synology и QNAP
На TrueNAS Scale используйте Docker-образ rclone/rclone. Создайте контейнер с монтированием директории с данными и конфигурационным файлом:
docker run -d --name rclone-backup \ -v /mnt/pool/data:/data:ro \ -v /root/.config/rclone:/config/rclone \ rclone/rclone sync /data remote:bucket/backup
На Synology установите rclone через SynoCommunity (пакет доступен в Package Center после добавления репозитория https://packages.synocommunity.com) или запустите в Docker через тот же образ. Конфигурационный файл разместите в домашней директории пользователя, от которого будет запускаться задача.
На QNAP воспользуйтесь Entware: установите менеджер пакетов через App Center, затем выполните opkg install rclone. Альтернативный путь - Container Station с тем же Docker-образом.
Базовая конфигурация для Backblaze B2 с шифрованием:
rclone config # n) New remote # name: b2-encrypted # type: crypt # remote: b2-raw:bucket-name # filename_encryption: standard # directory_name_encryption: true # password: generate-and-save # salt: generate-and-save
Предварительно настройте remote b2-raw типа B2 с ключом приложения (Application Key ID и Application Key) из панели управления Backblaze. Для Hetzner Storage Box выберите тип WebDAV и укажите URL, выданный при создании бокса.
Автоматизация с cron и systemd: расписание и мониторинг
Создайте shell-скрипт, который выполняет синхронизацию и проверяет код возврата:
#!/bin/bash LOG=/var/log/rclone-backup.log rclone sync /mnt/nas/data b2-encrypted:/nas-backup --log-file=$LOG --log-level INFO if [ $? -eq 0 ]; then echo "Backup OK: $(date)" >> $LOG else echo "Backup FAILED: $(date)" | mail -s "NAS backup error" admin@example.com fi
Добавьте задачу в cron (запуск ежедневно в 2:30 ночи):
30 2 * * * /usr/local/bin/rclone-backup.sh
На системах с systemd создайте timer unit. Файл /etc/systemd/system/rclone-backup.timer:
[Timer] OnCalendar=daily Persistent=true [Install] WantedBy=timers.target
Флаг --transfers 4 ограничит количество параллельных загрузок, снижая нагрузку на процессор NAS. Для медленных каналов добавьте --bwlimit 1M - ограничение полосы пропускания одним мегабайтом в секунду.
Пошаговая настройка Duplicacy для дедуплицированного бэкапа
Duplicacy CLI скачивается с официального GitHub-репозитория. Распакуйте бинарник в /usr/local/bin и сделайте исполняемым. В отличие от rclone, Duplicacy требует инициализации репозитория в каждой папке, которую вы планируете бэкапить.
Инициализация хранилища и первый бэкап в Duplicacy
Перейдите в директорию, которую нужно бэкапить, и выполните инициализацию:
cd /mnt/nas/important-data duplicacy init -encrypt -storage-name b2-backup b2://bucket-name/path
Утилита запросит пароль шифрования и создаст директорию .duplicacy с конфигурацией. Первый запуск бэкапа:
duplicacy backup -stats
Флаг -stats выводит статистику: количество проанализированных файлов, размер загруженных чанков, процент дедупликации. После завершения проверьте целостность репозитория командой duplicacy check -files - она сверит хеши всех чанков в облаке с локальным индексом.
Структура репозитория в облаке: папка chunks/ содержит уникальные блоки данных, snapshots/ хранит метаданные ревизий, fossils/ - удалённые, но ещё не очищенные чанки. Такая организация позволяет восстанавливать любую предыдущую версию файла, пока соответствующие чанки не удалены командой prune.
Настройка политик хранения и автоматической очистки
Политики удержания задаются флагом -keep при запуске бэкапа. Пример для хранения 7 ежедневных, 4 еженедельных и 3 ежемесячных копий:
duplicacy backup -keep 0:7 -keep 7:4 -keep 30:3
Параметр -keep 0:7 означает «хранить по одной копии за каждый из последних 7 дней». -keep 7:4 - «хранить по одной копии в неделю для ревизий старше 7 дней, но не более 4 таких недельных копий». После того как политика применена, запустите очистку:
duplicacy prune
Prune удаляет чанки, на которые не ссылается ни одна из оставленных ревизий. Операция не блокирует бэкап: Duplicacy использует механизм fossils, помечая удаляемые чанки и стирая их только после подтверждения, что ни один параллельный процесс их не читает.
Автоматизация через cron аналогична rclone. Создайте скрипт и добавьте задачу с ежедневным запуском. Рекомендуется запускать prune раз в неделю, чтобы не нагружать облачное хранилище операциями листинга и удаления.
Восстановление данных: от облака к NAS
Восстановление - этап, который вы должны протестировать до того, как случится авария. Оба инструмента предоставляют простые команды, но есть нюансы с правами доступа и путями.
Для rclone восстановление из зашифрованного remote выглядит как обычное копирование: crypt-слой прозрачно расшифровывает данные на лету.
rclone copy b2-encrypted:/nas-backup /mnt/nas/restored --progress
Если вы восстанавливаете отдельный файл, укажите его путь относительно корня бакета. Флаг --progress показывает скорость и оставшееся время. Типичная ошибка - неверный пароль шифрования. rclone в этом случае выдаёт «failed to authenticate» без уточнения причины. Проверьте пароль командой rclone config show b2-encrypted и убедитесь, что соль и пароль совпадают с теми, что вы сохранили при настройке.
Duplicacy восстанавливает данные командой restore с указанием идентификатора ревизии или относительного времени:
duplicacy restore -r 5
Восстановит состояние на 5 ревизий назад. Для восстановления на определённую дату используйте -t 2026-07-20. Перед восстановлением обязательно выполните duplicacy check -files, чтобы убедиться в целостности чанков в облаке. Проблема с правами возникает, если бэкап делался от root, а восстановление - от обычного пользователя: используйте -ignore-owner для сброса владельца на текущего пользователя.
Оптимизация затрат и ресурсов: холодное хранение и дедупликация
Для данных, которые не меняются годами - фотоархивы, завершённые проекты, старые логи - используйте холодное хранение. Backblaze B2 Cold стоит $1.5 за терабайт в месяц против $6 за стандартный класс. Настройте жизненный цикл в панели управления бакетом: правило «переместить в Cold через 30 дней после загрузки» автоматически снизит счёт для редко обновляемых бэкапов.
Duplicacy даёт максимальную экономию на объёме хранимых данных. На тестовой выборке из 500 ГБ корпоративных данных (документы, исходный код, виртуальные машины) с 10% ежедневных изменений дедупликация сократила месячный прирост хранилища с 1.5 ТБ до 90 ГБ. В денежном выражении: $9 за хранение без дедупликации против $3.5 с дедупликацией на Backblaze B2. За год разница составляет $66 - стоимость лицензии Duplicacy для коммерческого использования окупается за несколько месяцев.
Ограничение потребления ресурсов на слабом NAS. Для rclone уменьшите количество параллельных передач: --transfers 2 снизит нагрузку на CPU и сеть. Для Duplicacy увеличьте размер чанка до 4 МБ флагом -c 4M при инициализации - это уменьшит количество операций ввода-вывода ценой небольшого снижения эффективности дедупликации. На NAS с 512 МБ ОЗУ этого достаточно для стабильной работы без своппинга.
Типичные проблемы и их решение
Ошибка аутентификации при подключении к облаку. Для Backblaze B2 проверьте, что Application Key не просрочен и имеет права на чтение/запись в целевой бакет. Для Hetzner Storage Box убедитесь, что WebDAV URL указан с учётом поддиректории бокса. rclone выводит подробный лог при запуске с флагом -vv - используйте его для диагностики.
Превышение лимитов API. Backblaze B2 ограничивает количество вызовов в секунду. При массовой загрузке мелких файлов rclone может упереться в лимит. Решение: флаг --b2-upload-cutoff 200M заставляет использовать многопоточную загрузку только для файлов крупнее 200 МБ, снижая количество API-вызовов для мелочи.
Медленная скорость загрузки. Проверьте, не упираетесь ли вы в пропускную способность канала командой rclone speedtest. Если канал загружен другими задачами, ограничьте полосу флагом --bwlimit. Для Duplicacy проблема часто связана с размером чанка: слишком мелкие чанки генерируют избыточные запросы. Увеличьте размер до 4 МБ.
Нехватка памяти при дедупликации. Duplicacy держит в ОЗУ индекс чанков. Для хранилищ объёмом более 2 ТБ на NAS с 1 ГБ памяти этого может не хватить. Решение: разбейте бэкап на несколько репозиториев по 500 ГБ каждый. Индекс каждого репозитория поместится в доступную память, и вы избежите деградации производительности из-за своппинга.
Выбор между rclone и Duplicacy сводится к характеру ваших данных. Если вы работаете с документами, медиафайлами и конфигурациями, которые редко меняются - rclone даст простоту и предсказуемость. Если в бэкап попадают виртуальные машины, базы данных или проекты с частыми изменениями - Duplicacy окупится за счёт дедупликации. Оба инструмента проверены в эксплуатации на TrueNAS Scale, Synology и QNAP с объёмом дисков от 1 до 4 ТБ и обеспечивают надёжную offsite-копию без дополнительного оборудования.