Backups externos do Bacula

3

Eu tenho dois locais, um na Europa, um na Ásia. Cada local tem um sistema Bacula totalmente funcional para lidar com backups locais. O que eu quero fazer é copiar alguns trabalhos de um local SD para o outro local SD. Idealmente, se eu puder executar um backup no local A, copie para o local B e a restauração para um servidor no local B.
Eu entendo que a versão inicial 7.0.0 Bacula permite backup SD para SD. Eu acho que esse é o recurso que eu preciso (manual do bacula)

Bacula version 7.0 permits SD to SD transfer of Copy and Migration Jobs. This permits what is commonly referred to as replication or off-site transfer of Bacula backups. It occurs automatically, if the source SD and destination SD of a Copy or Migration job are different.

O problema é que eu não sei como definir esses trabalhos. Eu não encontrei nenhum tutorial sobre isso.
Meu pensamento inicial foi que eu tenho que usar um trabalho de cópia, mas a partir do mesmo manual:

Migration is only implemented for a single Storage daemon. You cannot read on one Storage daemon and write on another.

que é exatamente o que eu queria fazer ...
Alguma idéia de como posso conseguir isso?

    
por Videanu Adrian 30.03.2015 / 16:18

2 respostas

2

Eu encontrei (a) a solução ...
parece que a chave está aqui:

It occurs automatically, if the source SD and destination SD of a Copy or Migration job are different.

Meu objetivo era copiar alguns trabalhos de backup da Ásia para a Europa. Para fazer isso, criei um dispositivo no SD da Europa:

Device {
  Name = asiaBackup
  Media Type = File1
  Device Type = File
  Archive Device = /bacula/asia
  LabelMedia = yes
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = no;
  Maximum Concurrent Jobs = 40;
  Autochanger = no;
}

Em seguida, no diretor da Ásia, criei um armazenamento que aponta para este dispositivo a partir do SD da Europa.

Storage {
  Name = europeStorage
  Address = myEuropeDomain.com
  SDPort = 9103
  Password = "blaBlaBla...."
  Device = asiaBackup
  Media Type = File1
  Maximum Concurrent Jobs = 5
  Heartbeat Interval = 10
}

/* dbPool = the pool where the backup sits locally */
Pool {
  Name = dbPool
  Label Format = "dbBackup"
  Pool Type = Backup
  Recycle = yes                       
  AutoPrune = yes                     
  Volume Retention = 365 days         
  Maximum Volume Bytes = 5G          
  Maximum Volumes = 1000             
  Label Format = "dbVol-"            
  Recycle Oldest Volume = yes
  Next pool = "europeBackupPool"
  Storage = dbStorage
}


/* europeBackupPool = the destination pool of copy job */
Pool {
  Name = europeBackupPool
  Label Format = "dbBackup"
  Pool Type = Backup
  Recycle = yes                       
  AutoPrune = yes                     
  Volume Retention = 365 days         
  Maximum Volume Bytes = 5G          
  Maximum Volumes = 1000             
  Label Format = "euBKVol-"          
  Recycle Oldest Volume = yes
  Storage = europeStorage
}

e este trabalho de cópia

Job {
    Name = backupToEurope
    Type = Copy
    Pool = dbPool
    Selection Type = PoolUncopiedJobs
    Schedule = "dailyFullSchedule"
    Client = "none"
    FileSet = "none"
    Messages = Standard
}

Preste atenção à diretiva "Próximo Pool" do conjunto inicial, pois isso está especificando o pool onde os trabalhos serão copiados.
Depois disso, quando eu executo o backup, recebo:

    Run Copy job
JobName:       backupToEurope
Bootstrap:     *None*
Client:        none
FileSet:       none
Pool:          dbPool (From Job resource)
NextPool:      europeBackupPool (From Job Pool's NextPool resource)
Read Storage:  dbStorage (From Pool resource)
Write Storage: europeStorage (From Job Pool's NextPool resource)
JobId:         *None*
When:          2015-04-01 18:44:27
Catalog:       MyCatalog
Priority:      10

A desvantagem aqui é que, se você quiser restaurar esse backup, você teria que fazer isso com o Diretor da Ásia, porque o diretor da Europa não tem nenhuma pista sobre esses trabalhos ...

    
por 01.04.2015 / 12:49
2

Apenas para adicionar uma coisa. Tente usar bscan e você pode "ler" os Volumes novamente (os copiados) e importá-los para o Catálogo do outro local. Do que você pode restaurá-los no segundo site também;) evitando assim a dependência do primeiro diretor, caso algo dê errado.

Espero que ajude. Felicidades Filipe

    
por 14.07.2015 / 23:56

Tags