我有一个bacula服务器现场定期备份我所有的服务器。 现在我正在尝试创build应将所有完整备份复制到异地的复制作业。 但我仍然收到错误:
设备“FileStorage”不在SD设备资源中。
这很奇怪,因为现场存储设备被称为:FileStorage和非现场存储设备是:OffsiteFileStorage。 (如果我重命名异地设备的工作将只是挂起),如果我尝试做定期备份到异地存储一切正常。
configuration文件:
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(offsite)
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直接与另一个SD进行通信的协议。 (见第二回答在这里: http : //bacula.10910.n7.nabble.com/Migration-Copy-jobs-from-Storage-daemon-to-another-td66239.html )
我唯一想到的解决scheme是使用一些较低级别的协议(如nfs)来挂载异地位置,并使用源服务器上相同的存储守护进程。