У меня в хранилище установлены две ленточные библиотеки HP (LibHP08 и LibHP09), я попытался настроить некоторые задания для доступа к обеим библиотекам, но у меня возникли проблемы с доступом bacula к неправильной библиотеке.
Например, bacula пытается получить доступ к тому «G00022L5» в слоте 20 в LibHP08, но достигает тома «H00011L5» в слоте 20 в LibHP09. Обычно он пытается установить ленту в правильный слот, но в неправильную библиотеку. Он генерирует следующую ошибку:
LibHP 3307 Issuing autochanger "unload slot 20, drive 1" command.
Warning: Director wanted Volume "G00022L5".
Current Volume "H00011L5" not acceptable because:
1998 Volume "H00011L5" catalog status is Append, not in Pool.
Затем bacula выгружает диск, пытается найти правильную ленту, но загружает не ту, снова генерирует ошибку и т. Д.
Работа никогда не завершается, поскольку не удается найти нужную ленту.
Некоторые из моих пулов:
Pool {
Name = machine-Pool-Weekly
Pool Type = Backup
Storage = LibHP08, LibHP09
Recycle = yes
AutoPrune = yes
Volume Retention = 34 days
}
Pool {
Name = machine-Pool-Monthly
Pool Type = Backup
Storage = LibHP08, LibHP09
Recycle = yes
AutoPrune = yes
Volume Retention = 1825 days
}
Изменить: обновлено с помощью конфигурации хранилища и устройства / автосмены
Конфигурация устройств / авточейнджеров:
#
## An autochanger device with four drives
## Library HP (LibHP08)
##
Autochanger {
Name = LibHP08_Changer
Device = LibHP08-drive_1, LibHP08-drive_2, LibHP08-drive_3, LibHP08-drive_4
Changer Command = "/usr/lib64/bacula/mtx-changer %c %o %S %a %d"
Changer Device = /dev/tape/by-id/scsi-35001438016063c04
}
#
## An autochanger device with four drives
## Library HP (LibHP09)
##
Autochanger {
Name = LibHP09_Changer
Device = LibHP09-drive_1, LibHP09-drive_2, LibHP09-drive_3, LibHP09-drive_4
Changer Command = "/usr/lib64/bacula/mtx-changer %c %o %S %a %d"
Changer Device = /dev/tape/by-id/scsi-3500143801606395c
}
Device {
Name = LibHP08-drive_1 #
Drive Index = 0
Media Type = LTO-5
Archive Device = /dev/tape/by-id/scsi-35001438016063c05-nst
AutomaticMount = yes; # when device opened, read it
AlwaysOpen = yes;
RemovableMedia = yes;
RandomAccess = no;
AutoChanger = yes
Alert Command = "sh -c 'smartctl -H -l error %c'"
Maximum Changer Wait = 600
Maximum Concurrent Jobs = 1
LabelMedia = yes
}
Device {
Name = LibHP08-drive_2 #
Drive Index = 1
Media Type = LTO-5
Archive Device = /dev/tape/by-id/scsi-35001438016063c08-nst
AutomaticMount = yes; # when device opened, read it
AlwaysOpen = yes;
RemovableMedia = yes;
RandomAccess = no;
AutoChanger = yes
Alert Command = "sh -c 'smartctl -H -l error %c'"
Maximum Changer Wait = 600
Maximum Concurrent Jobs = 1
LabelMedia = yes
}
Device {
Name = LibHP08-drive_3 #
Drive Index = 2
Media Type = LTO-5
Archive Device = /dev/tape/by-id/scsi-35001438016063c0b-nst
AutomaticMount = yes; # when device opened, read it
AlwaysOpen = yes;
RemovableMedia = yes;
RandomAccess = no;
AutoChanger = yes
Alert Command = "sh -c 'smartctl -H -l error %c'"
Maximum Changer Wait = 600
Maximum Concurrent Jobs = 1
LabelMedia = yes
}
Device {
Name = LibHP08-drive_4 #
Drive Index = 3
Media Type = LTO-5
Archive Device = /dev/tape/by-id/scsi-35001438016063c0e-nst
AutomaticMount = yes; # when device opened, read it
AlwaysOpen = yes;
RemovableMedia = yes;
RandomAccess = no;
AutoChanger = yes
Alert Command = "sh -c 'smartctl -H -l error %c'"
Maximum Changer Wait = 600
Maximum Concurrent Jobs = 1
LabelMedia = yes
}
Device {
Name = LibHP09-drive_1 #
Drive Index = 0
Media Type = LTO-5
Archive Device = /dev/tape/by-id/scsi-3500143801606395d-nst
AutomaticMount = yes; # when device opened, read it
AlwaysOpen = yes;
RemovableMedia = yes;
RandomAccess = no;
AutoChanger = yes
Alert Command = "sh -c 'smartctl -H -l error %c'"
Maximum Changer Wait = 600
Maximum Concurrent Jobs = 1
LabelMedia = yes
}
Device {
Name = LibHP09-drive_2 #
Drive Index = 1
Media Type = LTO-5
Archive Device = /dev/tape/by-id/scsi-35001438016063960-nst
AutomaticMount = yes; # when device opened, read it
AlwaysOpen = yes;
RemovableMedia = yes;
RandomAccess = no;
AutoChanger = yes
Alert Command = "sh -c 'smartctl -H -l error %c'"
Maximum Changer Wait = 600
Maximum Concurrent Jobs = 1
LabelMedia = yes
}
Device {
Name = LibHP09-drive_3 #
Drive Index = 2
Media Type = LTO-5
Archive Device = /dev/tape/by-id/scsi-35001438016063963-nst
AutomaticMount = yes; # when device opened, read it
AlwaysOpen = yes;
RemovableMedia = yes;
RandomAccess = no;
AutoChanger = yes
Alert Command = "sh -c 'smartctl -H -l error %c'"
Maximum Changer Wait = 600
Maximum Concurrent Jobs = 1
LabelMedia = yes
}
Device {
Name = LibHP09-drive_4 #
Drive Index = 3
Media Type = LTO-5
Archive Device = /dev/tape/by-id/scsi-35001438016063966-nst
AutomaticMount = yes; # when device opened, read it
AlwaysOpen = yes;
RemovableMedia = yes;
RandomAccess = no;
AutoChanger = yes
Alert Command = "sh -c 'smartctl -H -l error %c'"
Maximum Changer Wait = 600
Maximum Concurrent Jobs = 1
LabelMedia = yes
}
Конфигурация хранилища:
Storage {
Name = LibHP08
Address = sd-host
SDPort = 9103
Password = "myPassword"
Device = LibHP08_Changer
Media Type = LTO-5
Autochanger = yes
Maximum Concurrent Jobs = 4
}
Storage {
Name = LibHP09
Address = sd-host
SDPort = 9103
Password = "myPassword"
Device = LibHP09_Changer
Media Type = LTO-5
Autochanger = yes
Maximum Concurrent Jobs = 4
}
В bconsole я выполнил следующее:
update slots
Было несколько лент не в том месте, каталог обновился, но ошибка сохраняется.
В настоящее время я использую Bacula v5.2.12, я установил директор и хранилище на разных машинах, оба без проблем общаются.
Изменить: я выполнил следующие sqls на postgresql:
select mediaid, volumename, slot, poolid, storageid, deviceid from media where storageid=2 order by volumename;
select mediaid, volumename, slot, poolid, storageid, deviceid from media where storageid=1 order by volumename;
В обеих моих библиотеках должно быть 48 лент, но после запуска sql я заметил, что в одной библиотеке было 51 ленты, а в другой - 45, после повторного запуска «слотов обновления» было 3 ленты, которые были перемещены в каждой библиотеке.
Видимо, простой факт выполнения задания дезорганизовал ленты в postgresql.
Моя версия postgresql:
postgresql-server.x86_64 8.4.13-1.el6_3
Любые идеи?