Page 1 of 1

Бэкап VestaCP в Backblaze B2

Posted: Fri Mar 29, 2019 4:10 pm
by rez0n
Привет всем, по мотивам Google Nearline experimental backup support и моего костыля Бекап VestaCP в Google Cloud Storage (Nearline) решил я значит оптимизировать расходы на резервное копирование и мигрировать по советам местных форумчан в OVH Cloud, я конечно наслышан о их нерасторопности, но пока я ждал аппрува аккаунта - родилось это самое решение, резервное копирование в Backblaze B2. Это сервис специализирующийся на хранении бэкапов с самой низкой ценой на рынке (0.005/GB). OVH идут кушать круассаны, а мы идем работать с B2.

Готовых решений для резервного копирования Linux в B2 не так уж много (Duplicity, Restic, CloudBerry и официальный "Command line tool b2"), использовать мы по старинке будем последний. В этот раз я решил не городить костылей вокруг Vesta, а интегрировать функции резервного копирования в саму Vesta. В итоге имеем pull-request в мастер ветку Vesta - https://github.com/serghey-rodin/vesta/pull/1848

Те, кто хочет попробовать решение уже сейчас - внесите изменения в файлы согласно коммиту, изменено 3 файла, ничего не сломано.
v-backup-user
v-delete-user-backup
v-restore-user

Создайте конфирурационный файл $VESTA/conf/b2.backup.conf содержащий

Code: Select all

BUCKET=<bucket_name>
B2_KEYID=<Application_Key_ID>
B2_KEY=<key>
Внесите изменение в $VESTA/conf/vesta.conf строка BACKUP_SYSTEM (local,b2 или только b2)

Code: Select all

BACKUP_SYSTEM='local,b2'
И самое главное - нужно установить модуль python именуемый "b2"
Ubuntu

Code: Select all

sudo apt install python-pip
sudo pip install b2
CentOS (немного замороченнее)

Code: Select all

easy_install pip
pip install --upgrade setuptools --user python
pip install --upgrade --ignore-installed b2
Все готово, бэекапы - бэкапятся, удаляются, восстанавливаются и скачиваются когда это необходимо.
Если мой pull-request будет принят следующим шагом будет модификация скрипта v-add-backup-host для автогенерации конфига b2.backup.conf, но я пока не вижу как это сделать красиво, так как он рассчитан исключительно на FTP/SFTP бэкапы, тут нужен диалог с разработчиками.