Дружим Bareos И Backblaze
Для работы нам понадобится установленный пакет bareos-storage-droplet
.
Увы, на ubuntu такой пакет не доступен (какие где пакеты доступны - нужно смотреть в документации).
Создаем устройство в хранилище /etc/bareos/bareos-sd.d/device/S3_ObjectStorage.conf
из следующем содержанием
Device {
Name = Backblaze_S3_Object1
Media Type = S3_Object1
Archive Device = S3 Object Storage
Device Options = "profile=/etc/bareos/bareos-sd.d/device/droplet/backblaze.profile,bucket=test-bareos,chunksize=100M,iothreads=8"
Device Type = droplet
Label Media = yes
Random Access = yes
Automatic Mount = yes
Removable Media = no
Always Open = no
Description = "S3 device"
Maximum Concurrent Jobs = 1
}
Где test-bareos
- имя бакета.
Нужно обратить внимание на размер чанка для хранения. От этого зависит скорость восстановления данных. В среднем нужно иметь окно в двойной размер максимального размера файла, который бекапится. Но ставить слишком маленький или слишком большой размер - не совсем корректно. Это число подбирается в процессе запуска и работы.
В хранилище оно будет выглядит как <volume name>/<chunk id>
. Сам <chunk id>
выглядит как четыре цыфренное число.
В файле /etc/bareos/bareos-sd.d/device/droplet/backblaze.profile
приводим к такому выгляде:
host = s3.us-west-001.backblazeb2.com:443
use_https = true
backend = s3
access_key = "<keyID>"
secret_key = "<applicationKey>"
pricing_dir = ""
Прежде чем заполнять - нужно создать Application key
.
Где
host
- копируем адрес сS3 Endpoint
, не забывая указать https порт. В противном случае оно работать не будет.access_key
- копируем сkeyID
applicationKey
- копируем сapplicationKey
pricing_dir
- оставляем пустым
В этой интеграции есть много разных плюсов.
Когда происходит резервное копирования - данные сразу заливаются на S3.
Благодаря опции iothreads
можно избежать сбоев загрузки данных во время записи - буферизируя данные.
Дальше идем на директор и настраиваем.
В файле /etc/bareos/bareos-dir.d/storage/S3_Object.conf
прописываем
Storage {
Name = S3_Object
Address = ""
Password = ""
Device = "Backblaze_S3_Object1"
Media Type = S3_Object1
}
Где:
Address
- адрес вашего сторедж сервераPassword
- пароль подключенияDevice
иMedia Type
- берем с стореджа.
Дальше, чтоб пользовать этот новый сторедж - нужно прописать в пулах его. Пример:
Pool {
...
Storage = S3_Object
...
}