У меня есть один сервер 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, и использовать его из того же хранилища-демона на исходном сервере.