O plugin de Nuvem do Bacula Enterprise usa APIs compatíveis com o S3 para armazenar backups, que atualmente não são suportados pelo BackBlaze. No entanto, o servidor de armazenamento de objeto distribuído Minio, escrito em Go e com licença livre Apache Versão 2.0, pode ser usado para converter todas as chamadas de API S3 recebidas em chamadas de API de armazenamento B2 equivalentes, o que significa que todos os buckets e objetos Minio são armazenados como buckets e objetos B2 nativos. A camada de objeto do S3 é transparente para os aplicativos que usam a API do S3. Dessa forma, você pode usar simultaneamente APIs do Amazon S3 e B2 sem comprometer nenhum recurso.
Configuração
Conforme mostrado na Figura 1, clique em “Show Account ID and Application Key”. Copie e cole a conta e gerou informações importantes em um bloco de notas. Além disso, crie um bucket com seu nome favorito.
Figura 1 – Painel de Buckets do B2
Baixe, instale e inicie gateways Mini locais com os seguintes comandos, substituindo os ACCESS_KEY e SECRET_KEY que foram buscados anteriormente.
wget https://dl.minio.io/server/minio/release/linux-amd64/minio -P /usr/bin chmod +x /usr/bin/minio export MINIO_ACCESS_KEY=eae4xxxxxfa export MINIO_SECRET_KEY=00134a639d6xxxxxx6914a046b13b04635a minio gateway b2 &
Adicione configurações semelhantes ao seu bacula-sd.conf. Isso também pode ser feito usando o Enterprise Bacula Bweb GUI.
Cloud { Name = BackBlaze Driver = "S3" HostName = "localhost:9000" BucketName = "heitor-bacula" AccessKey = "eae4xxxxxfa" SecretKey = "00134a639d6xxxxxx6914a046b13b04635a" Protocol = HTTP Upload = EachPart UriStyle = Path } Device { Name = BB Device Type = Cloud Cloud = BackBlaze Archive Device = /opt/bacula/backups Maximum Part Size = 10000000 Media Type = CloudType LabelMedia = yes Random Access = Yes; AutomaticMount = yes RemovableMedia = no AlwaysOpen = no }
Anexe o novo dispositivo e o pool associado ao Bacula Director.
Autochanger { Name = BB # Do not use "localhost" here Address = hfaria-asus-i5 # N.B. Use a fully qualified name here SDPort = 9103 Password = "O0yFMuPy2jZM8L7eMg9TQccW4SvXdVl-n" Device = BB Media Type = CloudType Maximum Concurrent Jobs = 10 # run up to 10 jobs a the same time Autochanger = BB # point to ourself } Pool { Name = BBPool Pool Type = Backup Recycle = yes # Bacula can automatically recycle Volumes AutoPrune = yes # Prune expired volumes Volume Retention = 365 days # one year Maximum Volume Bytes = 50G # Limit Volume size to something reasonable Maximum Volumes = 100 # Limit number of Volumes in Pool Storage = BB }
Reinicie os daemons bacula-sd e bacula-dir para aplicar as mudanças.
Execute um trabalho de teste (por exemplo) usando o bconsole. O log de backup (mensagens) deve exibir informações sobre o sucesso do upload e a taxa de transferência:
run job=BackupClient1 pool=BBPool yes messages +----------------------------------------------------------------------------------------------------+ | logtext | +----------------------------------------------------------------------------------------------------+ | hfaria-asus-i5-dir JobId 31: Start Backup JobId 31, Job=BackupClient1.2018-03-20_18.43.26_03 | | hfaria-asus-i5-dir JobId 31: Using Device "BB" to write. | | hfaria-asus-i5-sd JobId 31: Volume "teste3" previously written, moving to end of data. | | hfaria-asus-i5-sd JobId 31: s3_driver.c:583 Using S3 cloud driver Host=localhost:9000 Bucket=heitor-bacula | | hfaria-asus-i5-sd JobId 31: Elapsed time=00:00:01, Transfer rate=8.581 M Bytes/second | | hfaria-asus-i5-sd JobId 31: Cloud Upload transfers: | | hfaria-asus-i5-sd JobId 31: teste3/part.18 state=done size=8.588 MB duration=14s | | hfaria-asus-i5-sd JobId 31: Sending spooled attrs to the Director. Despooling 4,698 bytes ... | | hfaria-asus-i5-dir JobId 31: Bacula Enterprise hfaria-asus-i5-dir 8.10.1 (13Feb18): Build OS: x86_64-pc-linux-gnu-bacula-enterprise ubuntu 16.04 JobId: 31 Job: BackupClient1.2018-03-20_18.43.26_03 Backup Level: Full Client: "hfaria-asus-i5-fd" 8.10.1 (13Feb18) x86_64-pc-linux-gnu-bacula-enterprise,ubuntu,16.04 FileSet: "Full Set" 2018-03-18 09:42:04 Pool: "BBPool" (From Command input) Catalog: "MyCatalog" (From Client resource) Storage: "BB" (From Pool resource) Scheduled time: 20-mar-2018 18:43:26 Start time: 20-mar-2018 18:43:28 End time: 20-mar-2018 18:43:43 Elapsed time: 15 secs Priority: 10 FD Files Written: 22 SD Files Written: 22 FD Bytes Written: 8,578,863 (8.578 MB) SD Bytes Written: 8,581,196 (8.581 MB) Rate: 571.9 KB/s Software Compression: None Comm Line Compression: 40.0% 1.7:1 Snapshot/VSS: no Encryption: no Accurate: no Volume name(s): teste3 Volume Session Id: 2 Volume Session Time: 1521582178 Last Volume Bytes: 662 (662 B) Non-fatal FD errors: 0 SD Errors: 0 FD termination status: OK SD termination status: OK Termination: Backup OK | | hfaria-asus-i5-dir JobId 31: Begin pruning Jobs older than 6 months . | | hfaria-asus-i5-dir JobId 31: No Jobs found to prune. | | hfaria-asus-i5-dir JobId 31: Begin pruning Files. | | hfaria-asus-i5-dir JobId 31: No Files found to prune. | | hfaria-asus-i5-dir JobId 31: End auto prune. | +----------------------------------------------------------------------------------------------------+
Disponível em: PortuguêsEnglish (Inglês)Español (Espanhol)