Restic сервер на офшорном VPS: шифрованные бэкапы с дедупликацией
Restic - один из лучших инструментов резервного копирования с открытым исходным кодом. Шифрование AES-256, дедупликация, поддержка инкрементальных снапшотов и работа поверх SFTP, S3 или собственного REST-сервера. Anubiz Host даёт VPS с большим NVMe и безлимитным трафиком, чтобы поднять Restic REST-сервер и хранить бэкапы офшорно.
Need this done for your project?
We implement, you ship. Async, documented, done in days.
Архитектура Restic и роль REST-сервера
Restic работает в архитектуре клиент-репозиторий. На стороне клиента стоит исполняемый файл restic, который сканирует файлы, разбивает их на чанки переменного размера, шифрует AES-256 и отправляет в репозиторий. Репозиторий - это набор файлов с понятной структурой каталогов, который можно хранить локально, на SFTP, в S3-совместимом хранилище или через специальный Restic REST-сервер. REST-сервер - это маленький Go-демон, который слушает HTTP-запросы и отдаёт или принимает блобы. У него есть критическое преимущество перед SFTP: поддержка режима append-only, при котором клиент может только добавлять данные, но не удалять и не модифицировать существующие. Это означает, что даже если основной сервер скомпрометирован и вымогатель попытается уничтожить бэкапы, append-only флаг защитит репозиторий. Anubiz Host рекомендует поднять Restic REST-сервер на офшорном VPS, защитить его TLS и Basic Auth, и хранить пароль шифрования репозитория отдельно от учётных данных доступа к серверу.
Дедупликация и эффективность хранения
Главное достоинство Restic - content-defined chunking с дедупликацией. Каждый файл разбивается на чанки переменного размера на основе содержимого, и в репозиторий загружаются только уникальные чанки. Если вы делаете снапшот папки с виртуальной машиной размером 50 ГБ, а на следующий день меняется 100 МБ внутри ВМ, в репозитории прибавится только эти 100 МБ. При резервном копировании похожих серверов или общих библиотек дедупликация работает между разными машинами: чанки, уже загруженные с одного сервера, не дублируются при бэкапе другого. На практике это означает экономию диска в 5-20 раз по сравнению с классическим хранением полных копий. Anubiz Host предоставляет NVMe-диски, что критично для Restic: и дедупликация, и проверка целостности репозитория интенсивно работают с диском. На SATA-SSD или HDD проверка крупного репозитория может занять часы, на NVMe - минуты.
Развёртывание Restic REST-сервера на VPS Anubiz Host
Базовая установка занимает 15 минут. Скачайте бинарь rest-server с GitHub, создайте systemd-сервис с флагами --append-only и --private-repos, настройте каталог /srv/restic с правильными правами. Сгенерируйте htpasswd-файл с учётными данными для каждого клиента. Настройте Caddy или Nginx как обратный прокси с автоматическим TLS-сертификатом Let's Encrypt. Откройте 443-й порт и закройте всё остальное, кроме SSH на нестандартном порту с ключевой аутентификацией. На клиентах задайте переменные окружения RESTIC_REPOSITORY=rest:https://user:[email protected]/repo и RESTIC_PASSWORD=long-random-string, после чего запустите restic init и restic backup /path/to/data. Для регулярного бэкапа достаточно cron или systemd-timer с командой restic backup плюс restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 12 --prune. Anubiz Host рекомендует хранить копию пароля шифрования и ключей доступа в офлайн-хранилище, чтобы катастрофическая потеря основной машины не сделала бэкапы недоступными.
Related Services
Why Anubiz Host
Ready to get started?
Skip the research. Tell us what you need, and we'll scope it, implement it, and hand it back — fully documented and production-ready.