The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Проблемы с восстановлением файлов. BACULA 5.0.0"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Резервное копирование / FreeBSD)
Изначальное сообщение [ Отслеживать ]

"Проблемы с восстановлением файлов. BACULA 5.0.0"  +/
Сообщение от ReND (ok) on 16-Дек-10, 17:40 
Всем привет!

столкнулся с проблемой восстановления файлов на BACULA 5.0.0. Все компонетны системы BACULA находятся на одном сервере (FreeBSD 7.3 64bit). Пытаюсь разом восстановить 60Гб с тома. Процесс может прерываться спонтанно, т.е. клиент в сказанную директорию восстанавливает и задача повисает. никакие данные не передаются. Сервер и клиент-приемник общаются через сеть.
При создании резервной копии ( с которой пытаюсь восстановить файлы) никаких ошибок не появляется в отчете задания за исключением ошибок по файлам которые в момент бекапа изменили размер. Обе системы FreeBSD. Как можно отловить проблему? Что не так может быть?

параметры FileSet проблемного клиента из конфига директора:
FileSet {
  Name = "cl-set"
  Ignore FileSet Changes = yes
  Include {
    Options {
      compression = GZIP            
      onefs = yes
      aclsupport = yes
      noatime = yes
      checkfilechanges = yes
      signature = MD5
}

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Проблемы с восстановлением файлов. BACULA 5.0.0"  +/
Сообщение от McLeod095 (??) on 16-Дек-10, 19:50 
>[оверквотинг удален]
>   Ignore FileSet Changes = yes
>   Include {
>     Options {
>       compression = GZIP
>       onefs = yes
>       aclsupport = yes
>       noatime = yes
>       checkfilechanges = yes
>       signature = MD5
>  }

Между клиентом и сервером нет шлюзов, они в одной подсети?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Проблемы с восстановлением файлов. BACULA 5.0.0"  +/
Сообщение от ReND (ok) on 17-Дек-10, 11:03 

> Между клиентом и сервером нет шлюзов, они в одной подсети?

пробовал восстанавливать на клиента который через один шлюз и в одной сети: результат одинаковый - проблема.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Проблемы с восстановлением файлов. BACULA 5.0.0"  +/
Сообщение от McLeod095 (??) on 17-Дек-10, 11:57 
>> Между клиентом и сервером нет шлюзов, они в одной подсети?
> пробовал восстанавливать на клиента который через один шлюз и в одной сети:
> результат одинаковый - проблема.

Ну все таки кусок лога тогда можно?
И настройки?

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Проблемы с восстановлением файлов. BACULA 5.0.0"  +/
Сообщение от ReND (ok) on 17-Дек-10, 14:00 
>>> Между клиентом и сервером нет шлюзов, они в одной подсети?
>> пробовал восстанавливать на клиента который через один шлюз и в одной сети:
>> результат одинаковый - проблема.
> Ну все таки кусок лога тогда можно?
> И настройки?

вот :)
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  во время этого никаких ресурсов не потребляет. В системные логи никаких ошибок не выдает. Может есть какой-либо способ отдебажить проблему. Заметил вот еще, что: если восстаравливать задание на самом сервере, где стоят все компоненты системы,то все происходит удачно. В голову приходят мысли, что-то неправильно настроено у на клиентской стороне.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Проблемы с восстановлением файлов. BACULA 5.0.0"  +/
Сообщение от ReND (ok) on 21-Дек-10, 11:03 
в лог попало вот такое:
2010-12-21 13:56:04   server-fd JobId 1042: Fatal error: restore.c:267 Record header scan error: 746 5 /usr/local/man/en.ISO8859-1/cat6/
2010-12-21 13:56:04 server-fd: ERROR in bget_msg.c:103 bget_msg: unknown signal -529754870

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру