Инструкция резервного копирования в объектные хранилища с использованием утилиты Rclone
Сисадмины делятся на две категории - те, которые не делают бекапы и те которые уже делают. А как известно, два бекапа лучше, чем ни одного. Как правило, когда возникает задача, а в нашем случае, это резервирование любых данных на альтернативных облачных платформах, надо понимать ключевые аспекты:
- Цель внедрения.
- Выбор решения (внешнего хранилища и инструмента резервирования).
- Реализация.
Цель проекта
Основная цель - дублирование бэкапов (резервных копий) данных не только на ресурсах компании, но и на альтернативных облачных платформах, в частности, в облачных объектных хранилищах данных. Преимущество этой стратегии в повышении надежности хранения. При этом есть и определенные риски и “подводные камни”, такие как: скорость синхронизации данных, валидность данных, т.е. гарантия того, что они были переданы полностью и соответствуют оригиналу, скорость восстановления данных, максимальная автоматизация всех рабочих процессов.
Наш выбор
Мы рассматривали различные варианты решения и цель статьи не реклама конкретного вендора. В выборе внешнего хранилища у каждой компании могут быть свои приоритеты, а это: доступность сервиса, поддержка 24/7, скорость обмена, стоимость и лимиты трафика и даже юридические аспекты, такие как, например, запрет на хранение персональных данных не на территории государства и прочие.
На данном этапе мы выбрали в качестве внешнего хранилища решение - бакет S3 от mail.ru, а в качестве клиента для обмена используем консольную утилиту Rclone, которая хорошо себя зарекомендовала.
Реализация с помощью Rclone
Rclone это бесплатная консольная утилита, которая предоставляет широкий функционал по операциям с файлами и папками между различными хранилищами, перечень которых перечислен в официальной документации. Преимущества этого решения - возможность работы с различными типами хранилищ, многопоточность передачи данных, обеспечивающая скорость операций и поддержка алгоритма передачи данных MD5, гарантирующая целостность переданных данных. Консольный режим работы позволяет использовать любой планировщик заданий для её запуска.
В нашем примере мы будем рассматривать версию для Windows платформы. Скачать приложение можно с официального сайта. Программа не требует инсталляции, её достаточно извлечь из архива, например в папку C:\Tools\rclone. Для настройки подключений используйте команду rclone config.

Далее выбираем пункт “n” - новое соединение и заполним предлагаемые параметры:
Name S3mail-ru (любое удобное для Вас имя), из многообразия хранилищ

выбираем 4й пункт и далее выбираем пункт 13 - “другой совместимый провайдер”

Выберите тип ввода учетных данных (вручную или из переменных окружения) Для ввода данных вручную укажите false:
env_auth> 1

Вводим Access Key ID
Вводим Secret Key
Вводим регион, например 1
region> 1
Вводим Endpoint Можно узнать на портале: mcs.mail.ru
endpoint> bucket.hb.bizmrg.com
Укажите регион создания бакета - оставьте поле пустым (нажмите Enter):
location_constraint>
Установите права доступа ACL, private:
acl> 1

От расширенной конфигурации отказываемся:
y/n> n
и как результат подтверждаем создание
y/e/d>y

и выходим из утилиты
e/n/d/r/c/s/q>q
На этом подготовительный этап закончен, для обмена информацией с объектным хранилищем используем стандартный набор опций утилиты, таких, как копирование, синхронизация. Наиболее популярный это синхронизация каталогов. Например:
c:\tools\rclone\rclone sync \\LocalServer\Folder\Subfolder\ S3mail-ru:FolderOnBacket/Subfolder -P