Резервное копирование и восстановление
Ваше приложение работает в продакшене. Теперь убедитесь, что вы его никогда не потеряете. rdc может отправить весь репозиторий (приложение, базу данных, файлы, конфигурации) во внешнее хранилище и восстановить его в любой момент. Защита от программ-вымогателей, отказов оборудования и всего прочего.
Смотреть урок
Три шага
- Настройте провайдера хранилища.
- Отправьте резервную копию.
- Восстановите, когда потребуется.
Шаг 1: Настройка хранилища
Вам понадобится файл конфигурации rclone. Если вы уже используете rclone, импортируйте его напрямую:
time rdc config storage import --file rclone.conf
Поддерживаются S3, B2, Google Drive, Dropbox и многое другое. Проверьте, что подключено:
time rdc config storage list
Шаг 2: Отправка резервной копии
time rdc repo push --name my-app -m my-server --to my-storage
Весь репозиторий (приложение, база данных, файлы, всё) теперь сохранён. Поскольку репозиторий зашифрован, резервная копия тоже зашифрована. Никакого дополнительного управления ключами.
Просматривайте резервные копии в любое время:
time rdc repo backup list --from my-storage -m my-server
Почему нет простоя?
Приложение продолжает работать, пока загружается резервная копия. Как это согласовано?
Та же логика, что и при форке. rdc сначала делает форк, потом загружает его. Форк фиксирует момент, а живое приложение продолжает работать. Никакого простоя, никаких несоответствий.
Шаг 3: Восстановление на новом сервере
Допустим, ваш сервер вышел из строя. Настройте новый сервер, добавьте его в rdc и восстановите:
time rdc repo pull --name my-app -m new-server --from my-storage
Затем запустите:
time rdc repo up --name my-app -m new-server
Приложение восстановлено. Те же данные, те же контейнеры, другая машина.
Быстрее: напрямую между машинами
Можно также передавать данные напрямую между машинами, без облачного хранилища:
time rdc repo push --name my-app -m my-server --to-machine backup-server
Совет. Загрузка в хранилище всегда отправляет всё целиком. Между машинами отправляется только разница. Первая передача занимает обычное время, но каждая следующая намного быстрее. Отлично подходит для частых резервных копий.
Далее: Мониторинг.