Bacula poza kopiami zapasowymi

4

Mam 2 lokalizacje, jedną w Europie, drugą w Azji. Każda lokalizacja ma w pełni funkcjonalny system Bacula do obsługi lokalnych kopii zapasowych.
Chcę skopiować niektóre zadania z jednej lokalizacji SD do drugiej lokalizacji SD. Idealnie, jeśli mogę wykonać kopię zapasową w lokalizacji A, skopiować do lokalizacji B i przywrócić na serwerze w lokalizacji B.
Rozumiem, że uruchomienie wersji 7.0.0 Bacula umożliwia tworzenie kopii zapasowych z SD na SD. Myślę, że jest to funkcja, której potrzebuję (podręcznik Bacula)

Bacula w wersji 7.0 umożliwia transfer zadań kopiowania i migracji z SD na SD. Pozwala to na tak zwaną replikację lub transfer kopii zapasowych Bacula poza siedzibą. Dzieje się to automatycznie, jeśli źródłowa SD i docelowa SD zadania kopiowania lub migracji są różne.

Problem polega na tym, że nie wiem, jak ustawić takie zadania. Nie znalazłem żadnych samouczków na ten temat.
Początkowo myślałem, że muszę użyć zadania kopiowania, ale potem z tej samej instrukcji:

Migracja jest realizowana tylko dla jednego demona pamięci. Nie można czytać na jednym demonie pamięci ani pisać na innym.

co dokładnie chciałem zrobić ...
Jakieś pomysły, jak to osiągnąć?

Videanu Adrian
źródło

Odpowiedzi:

3

Znalazłem (a) rozwiązanie ...
wydaje się, że klucz jest tutaj:

Dzieje się to automatycznie, jeśli źródłowa SD i docelowa SD zadania kopiowania lub migracji są różne.

Moim celem było skopiowanie niektórych zadań tworzenia kopii zapasowych z Azji do Europy. W tym celu stworzyłem urządzenie SD w Europie:

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;
}

Następnie w azjatyckim reżyserze stworzyłem jedną pamięć, która wskazuje na to urządzenie z Europe SD.

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
}

i to zadanie kopiowania

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

Zwróć uwagę na dyrektywę „Next Pool” z puli początkowej, ponieważ określa ona pulę, do której zadania będą kopiowane.
Po uruchomieniu kopii zapasowej otrzymuję:

    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

Minusem jest to, że jeśli chcesz przywrócić tę kopię zapasową, musisz to zrobić od dyrektora Azji, ponieważ dyrektor Europy nie ma pojęcia o tych zadaniach ...

Videanu Adrian
źródło
Jeśli Twoja odpowiedź odpowiada na twoje pytanie, możesz zaznaczyć je jako zaakceptowaną odpowiedź.
Raymond Tau
jak dobrze ci się sprawdza w zastosowaniach produkcyjnych? boję się układania / dodawania zbyt wielu następnych basenów któregoś dnia.
Florian Heigl
działa dobrze i stabilnie, ale mam tylko jedną następną pulę
Videanu Adrian
2

Wystarczy dodać jedną rzecz. Spróbuj użyć bscan , aby ponownie „odczytać” Woluminy (skopiowane) i zaimportować je do katalogu innej lokalizacji. Następnie możesz je przywrócić również na drugiej stronie;), unikając w ten sposób zależności od pierwszego reżysera, na wypadek, gdyby coś poszło nie tak.

Mam nadzieję, że to pomoże. Pozdrawiam Filipe

Filipe Lacerda
źródło