>>> Между клиентом и сервером нет шлюзов, они в одной подсети?
>> пробовал восстанавливать на клиента который через один шлюз и в одной сети:
>> результат одинаковый - проблема.
> Ну все таки кусок лога тогда можно?
> И настройки?вот :)
bacula-sd.conf
Storage { # definition of myself
Name = bacula-sd
SDPort = 9103 # Director's port
WorkingDirectory = "/var/db/bacula"
Pid Directory = "/var/run"
Maximum Concurrent Jobs = 20
Heartbeat Interval = 30 sec
}
#
# List Directors who are permitted to contact Storage daemon
#
Director {
Name = bacula-dir
Password = "xxx"
}
...
...
...
Device {
Name = FileStorage_server
Device Type = File
Media Type = File_server
Archive Device = /usr/bacula/server
LabelMedia = yes; # lets Bacula label unlabeled media
Random Access = Yes;
AutomaticMount = yes; # when device opened, read it
RemovableMedia = no;
AlwaysOpen = no;
}
#
# Send all messages to the Director,
# mount messages also are sent to the email address
#
Messages {
Name = Standard
director = bacula-dir = all
}
=============
bacula-dir.conf
Director { # define myself
Name = bacula-dir
DIRport = 9101 # where we listen for UA connections
QueryFile = "/usr/local/share/bacula/query.sql"
WorkingDirectory = "/var/db/bacula"
PidDirectory = "/var/run"
Maximum Concurrent Jobs = 20
Password = "xxx" # Console password
Messages = Daemon
}
JobDefs {
Name = "DefaultJob"
Type = Backup
Level = Incremental
Client = bacula-fd
FileSet = "Full Set"
Schedule = "WeeklyCycle"
Storage = File
Messages = Standard
Pool = File
Priority = 10
Write Bootstrap = "/var/db/bacula/%c.bsr"
}
Job {
Name = "BackupCatalog" # Имя задания
Type = Backup # Тип (backup, restore и т.д.)
Level = Full # Уровень бэкапа
Client = bacula-fd # Имя клиента
FileSet = "Catalog" # Определение набора файлов для сохранения
Schedule = "catalog_sch" # Расписание
Storage = File_bacula # Указываем файловое хранилище
Messages = Daemon # Уведомления
Pool = bacula_monthly
RunBeforeJob = "/usr/local/share/bacula/make_catalog_backup.pl MyCatalog"
RunAfterJob = "/usr/local/share/bacula/delete_catalog_backup"
Write Bootstrap = "/var/db/bacula/bacula-job.bsr"
Priority = 11 # run after main backup
}
Schedule {
Name = "catalog_sch"
Run = Level=Full Pool=bacula_yearly jan 1st fri at 23:30
Run = Level=Full Pool=bacula_monthly 1st fri at 23:30
Run = Level=Full Pool=bacula_weekly 2nd-5th fri at 23:30
Run = Level=Full Pool=bacula_daily mon-thu at 23:30
}
Job {
Name = "RestoreFiles"
Type = Restore
Client=bacula-fd
FileSet="Full Set"
Storage = File
Pool = Default
Messages = Standard
Where = /usr/bacula/bacula-restores
}
# This is the backup of the catalog
FileSet {
Name = "Catalog"
Include {
Options {
signature = MD5
}
File = "/var/db/bacula/bacula.sql"
}
}
# Client (File Services) to backup
# Definition of file storage device
Storage {
Name = File
Address = xxx.xxx.xxx.xxx # N.B. Use a fully qualified name here
SDPort = 9103
Password = "xxx"
Device = FileStorage
Maximum Concurrent Jobs = 20
Media Type = File
}
# Generic catalog service
Catalog {
Name = "MyCatalog"
dbname = "bacula"; dbuser = "bacula"; dbpassword = ""
}
# Reasonable message delivery -- send most everything to email address
# and to the console
Messages {
Name = Standard
mailcommand = "/usr/local/sbin/bsmtp -h localhost -f \"\(Bacula %c\) \<%r\>\" -s \"Bacul
a: %t %e of %c %l\" %r"
operatorcommand = "/usr/local/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacu
la: Intervention needed for %j\" %r"
mail = backup@mailserver.ru = all, !skipped
operator = backup@arqa.ru = mount
console = all, !skipped, !saved
append = "/var/db/bacula/log" = all, !skipped
catalog = all
# catalog = all, !skipped, !saved
}
#
# Message delivery for daemon messages (no job).
Messages {
Name = Daemon
mailcommand = "/usr/local/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula d
aemon message\" %r"
mail = backup@mailserver.ru = all, !skipped
console = all, !skipped, !saved
append = "/var/db/bacula/log" = all, !skipped
catalog = all
}
Console {
Name = bacula-mon
Password = "xxx"
CommandACL = status, .status
}
# часть конфига директора касаемая настроек для клиентов
## server conf job ##################################
Job {
Name = "server-job"
Type = Backup
Level = Full
Client = server-fd
FileSet = "server-set"
Schedule = "server_sch"
Storage = File_server
Messages = Standard
Priority = 10
Pool = server_monthly
Full Backup Pool = server_yearly
Incremental Backup Pool = server_daily
ClientRunBeforeJob = "/usr/local/bin/make_mysql_backup.sh"
ClientRunAfterJob = "/usr/local/bin/delete_mysql_backup.sh"
Write Bootstrap = "/var/db/bacula/server-job.bsr"
}
# Определение списка резервируемых файлов
FileSet {
Name = "server-set" # Имя списка
Ignore FileSet Changes = yes
Include {
Options {
compression = GZIP # Сжимаем на стороне клиента
onefs = yes
aclsupport = yes
noatime = yes
checkfilechanges = yes
signature = MD5
wilddir = "TEMP"
wilddir = "TMP"
wilddir = "lost+found"
wilddir = ".snap"
}
File = "/"
File = "/etc"
File = "/usr/local/ftp"
File = "/usr/local/squid"
File = "/usr/local/www"
File = "/var"
File = "/var/support"
}
Exclude {
File = /var/db/mysql
File = /tmp
File = /proc
File = /cdrom
File = /dev
File = /var/run
File = /var/named/var/run
File = /usr/local/ap-mailfilter3/run
File = /usr/local/squid/cache
File = /var/tmp
File = /rescue
File = /media
File = /usr/ports
File = /usr/src
File = /usr/obj
File = /.journal
File = /.fsck
}
}
# Client (File Services) to backup
# You should change Name, Address, and Password before using
#
Client {
Name = server-fd
Address = x.x.x.x
FDPort = 9102
Catalog = MyCatalog
Password = "xxx"
File Retention = 30 days
Job Retention = 6 months
AutoPrune = yes
}
Storage {
Name = File_server
Address = x.x.x.x
SDPort = 9103
Password = "x.x.x.x"
Device = FileStorage_server
Media Type = File_server
}
Pool {
Name = server_yearly
Pool Type = Backup
Maximum Volume Jobs = 1
Volume Retention = 3 year
File Retention = 3 year
Job Retention = 3 year
#Use Volume Once = yes
AutoPrune = yes
RecyclePool = server_yearly
Recycle = yes
Recycle Oldest Volume = yes
Label Format = "server_yearly-${Year}${Month:p/2/0/r}${Day:p/2/0/r}-${Hour:p/2/0/r}${Minut
e:p/2/0/r}"
}
Pool {
Name = server_quarterly
Pool Type = Backup
Maximum Volume Jobs = 1
Volume Retention = 1 year
File Retention = 1 year
Job Retention = 1 year
#Use Volume Once = yes
AutoPrune = yes
RecyclePool = server_quarterly
Recycle = yes
Recycle Oldest Volume = yes
Label Format = "server_quarterly-${Year}${Month:p/2/0/r}${Day:p/2/0/r}-${Hour:p/2/0/r}${Mi
nute:p/2/0/r}"
}
Pool {
Name = server_monthly
Pool Type = Backup
Maximum Volume Jobs = 1
Volume Retention = 2 months
File Retention = 2 months
Job Retention = 2 months
#Use Volume Once = yes
AutoPrune = yes
RecyclePool = server_monthly
Recycle = yes
Recycle Oldest Volume = yes
Label Format = "server_monthly-${Year}${Month:p/2/0/r}${Day:p/2/0/r}-${Hour:p/2/0/r}${Minu
te:p/2/0/r}"
}
Pool {
Name = server_weekly
Pool Type = Backup
Maximum Volume Jobs = 1
Volume Retention = 1 month
File Retention = 1 month
Job Retention = 1 month
#Use Volume Once = yes
AutoPrune = yes
RecyclePool = server_weekly
Recycle = yes
Recycle Oldest Volume = yes
Label Format = "server_weekly-${Year}${Month:p/2/0/r}${Day:p/2/0/r}-${Hour:p/2/0/r}${Minut
e:p/2/0/r}"
}
Pool {
Name = server_daily
Pool Type = Backup
Maximum Volume Jobs = 1
Volume Retention = 6 days
#Use Volume Once = yes
AutoPrune = yes
RecyclePool = server_daily
Recycle = yes
Recycle Oldest Volume = yes
Label Format = "server_daily-${Year}${Month:p/2/0/r}${Day:p/2/0/r}-${Hour:p/2/0/r}${Minute
:p/2/0/r}"
}
Schedule {
Name = "grom_sch"
Run = Level=Full Pool=server_yearly jan 1st fri at 23:30
Run = Level=Differential Pool=server_quarterly apr jul oct 1st fri at 23:30
Run = Level=Differential Pool=server_monthly feb mar may jun aug sep nov dec 1st fri at 23
:30
Run = Level=Differential Pool=server_weekly 2nd-5th fri at 23:30
Run = Level=Incremental Pool=server_daily mon-thu at 23:30
}
=========
bacula-fd.conf
Director {
Name = bacula-dir
Password = "xxx"
}
#
# Restricted Director, used by tray-monitor to get the
# status of the file daemon
#
#Director {
# Name = bacula.arqa.ru-mon
# Password = "aPpPuLQUf/OzBs60PfzspcZ1CIkhCU9jGKuR1JfjD1b/"
# Monitor = yes
#}
#
# "Global" File daemon configuration specifications
#
FileDaemon { # this is me
Name = bacula-fd
FDport = 9102 # where we listen for the director
WorkingDirectory = /var/db/bacula
Pid Directory = /var/run
Maximum Concurrent Jobs = 20
}
# Send all messages except skipped files back to Director
Messages {
Name = Standard
director = bacula-dir = all, !skipped, !restored
}
на счет логов. При запуске задания на восстановление. Все повисает в таком вот состоянии:
2010-12-17 14:36:40 bacula-dir JobId 991: Start Restore Job RestoreFiles.2010-12-17_14.36.38_36
2010-12-17 14:36:40 bacula-dir JobId 991: Using Device "FileStorage_server"
2010-12-17 14:36:40 bacula-sd JobId 991: Ready to read from volume "server_monthly-20101001-2343" on device "FileStorage_server" (/usr/bacula/server).
2010-12-17 14:36:40 bacula-sd JobId 991: Forward spacing Volume "server_monthly-20101001-2343" to file:block 0:239.
в статусе на клиенте в это время постоянно висит обработка одного файла и меняется со временем значение скорости передачи файла. Скорость медленно сползает к нулю. Ничего не происходит. bacula-fd во время этого никаких ресурсов не потребляет. В системные логи никаких ошибок не выдает. Может есть какой-либо способ отдебажить проблему. Заметил вот еще, что: если восстаравливать задание на самом сервере, где стоят все компоненты системы,то все происходит удачно. В голову приходят мысли, что-то неправильно настроено у на клиентской стороне.