Назад | Перейти на главную страницу

Задание копирования Bacula не может найти устройство

У меня есть один сервер bacula на сайте, который регулярно выполняет резервное копирование всех моих серверов. Теперь я пытаюсь создать задание копирования, которое должно копировать все полные резервные копии на удаленный компьютер. Но я все еще получаю ошибку:

Устройство "FileStorage" отсутствует в ресурсах SD-устройства.

это странно, потому что внутреннее устройство хранения называется FileStorage, а внешнее устройство хранения - OffsiteFileStorage. (если я переименую внешнее устройство, работа просто зависнет), если я попытаюсь сделать регулярное резервное копирование на внешнее хранилище, все будет работать нормально.

файлы конфигурации:

bacula-storage.conf (на сайте)

Storage {
  Name = Offsite
    Address = offsite.example.com
    SDPort = 9103
    Password = "password"
    Device = "OffsiteFileStorage"
    Media Type = File
    }


Storage {
  Name = File
    Address = bacula.example.com
    SDPort = 9103
    Password = "password"
    Device = FileStorage
    Media Type = File
    }

Pool {
  Name = Server-Full-Pool
  Pool Type = Backup
  Storage = File
  Recycle = yes
  AutoPrune = yes
  Volume Retention = 6 months
  Maximum Volumes = 40 # Limit number of Volumes in Pool
  Maximum Volume Bytes = 10G
  LabelFormat = "Server-Full"
  RecyclePool = Scratch
  Next Pool = Offsite-Pool
  Cleaning Prefix = "CLN"
  }

Pool {
    Name = Offsite-Pool
    Pool Type = Backup
    Storage = Offsite
    Volume Use Duration = 1 day
    Volume Retention = 6 months
    Scratch Pool = Offsite-Scratch
    RecyclePool = Offsite-Scratch
    File Retention =  1 year
    Job Retention =  1 year
    LabelFormat = "Copy-full"
    Cleaning Prefix = "CLN"
    }

Job {
    Name = "OffsiteCopyFull"
    Type = Copy
    Pool = Server-Full-Pool
    Schedule = "WeeklyOffsiteCopy"
    Client = None
    FileSet = None
    Selection Type = PoolUncopiedJobs
    Maximum Concurrent Jobs = 1
    Storage = Offsite
    Messages = Standard
    Priority = 10
    Write Bootstrap = "/var/spool/bacula/offsite-copy-%c.bsr"
    }

Schedule {
  Name = "WeeklyOffsiteCopy"
  Run = Full tue at 11:02
}

Client {
  Name = None
  Address = localhost
  Catalog = MyCatalog
  Password = "NoNe"          # password for FileDaemon
}

FileSet {
  Name = None
  Include {
      Options {
         signature = MD5
      }
  }
}

bacula-sd.conf (на сайте)

Storage {                             # definition of myself
  Name = bacula-sd
  SDPort = 9103                  # Director's port
  WorkingDirectory = "/var/spool/bacula"
  Pid Directory = "/var/run"
  Maximum Concurrent Jobs = 20
  Heartbeat Interval = 1 Minute            # Prevents timeouts
}

Director {
  Name = bacula-dir
  Password = "password"
}

Device {
  Name = FileStorage
  Media Type = File
  Archive Device = /storage/raid5/BACKUP/
  LabelMedia = yes;                   # lets Bacula label unlabeled media
  Random Access = Yes;
  AutomaticMount = yes;               # when device opened, read it
  RemovableMedia = no;
  AlwaysOpen = no;
}

bacula-sd.conf (внешний)

Storage {                             # definition of myself                                                                                                                                                       
  Name = bacula-sd                                                                                                                                                                                                 
  SDPort = 9103                  # Director's port                                                                                                                                                                 
  WorkingDirectory = "/var/spool/bacula"                                                                                                                                                                           
  Pid Directory = "/var/run"                                                                                                                                                                                       
  Maximum Concurrent Jobs = 20                                                                                                                                                                                     
  Heartbeat Interval = 1 Minute            # Prevents timeouts                                                                                                                                                     
}                                                                                                                                                                                                                  

Director {                                                                                                                                                                                                         
  Name = bacula-dir                                                                                                                                                                                                
  Password = "password"                                                                                                                                                                                     
}                                                                                                                                                                                                                  


                                                                                                                                                                                                                 Device {                                                                                                                                                                                                           
  Name = OffsiteFileStorage                                                                                                                                                                                        
  Media Type = File                                                                                                                                                                                                
  Archive Device = /Backup/Offsite/                                                                                                                                                                                
  LabelMedia = yes;                   # lets Bacula label unlabeled media                                                                                                                                          
  Random Access = yes;                                                                                                                                                                                             
  AutomaticMount = yes;               # when device opened, read it                                                                                                                                                
  RemovableMedia = no;                                                                                                                                                                                             
  AlwaysOpen = no;                                                                                                                                                                                                 
}   

AFAIK копирование заданий между хранилищами-демонами по-прежнему невозможно.

Да, в это время. В настоящее время задания миграции и копирования ограничены использованием одной SD в качестве источника и назначения, поскольку в настоящее время в Bacula нет протокола для прямой связи одной SD с другой. (см. второй ответ здесь: http://bacula.10910.n7.nabble.com/Migration-Copy-jobs-from-Storage-daemon-to-another-td66239.html)

Единственное решение, которое приходит мне в голову, - это смонтировать удаленное местоположение с помощью какого-либо протокола более низкого уровня, такого как nfs, и использовать его из того же хранилища-демона на исходном сервере.