URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 77017
[ Назад ]

Исходное сообщение
"bacula + transactions"

Отправлено R4z0R , 25-Окт-07 15:26 
Как идет процесс бэкапа при работающей БД? Как Бакула поступает с используемыми в настоящий момент таблицами?

Содержание

Сообщения в этом обсуждении
"bacula + transactions"
Отправлено Brainbug , 25-Окт-07 15:40 
>Как идет процесс бэкапа при работающей БД? Как Бакула поступает с используемыми
>в настоящий момент таблицами?

Nikak. Kopirujet faili i vse.


"bacula + transactions"
Отправлено R4z0R , 25-Окт-07 16:20 
>>Как идет процесс бэкапа при работающей БД? Как Бакула поступает с используемыми
>>в настоящий момент таблицами?
>
>Nikak. Kopirujet faili i vse.

Т.е могут быть косяки при восстановлении БД (Postgresql)?

И есть ещё один вопрос - как правильно настроить ротацию архивов, чтобы при каждом монтировании Бакула удаляла сама все архивы и записывала текущий на чистую ленту?


"bacula + transactions"
Отправлено anonymous , 30-Окт-07 01:37 
>>>Как идет процесс бэкапа при работающей БД? Как Бакула поступает с используемыми
>>>в настоящий момент таблицами?
>>
>>Nikak. Kopirujet faili i vse.
>
>Т.е могут быть косяки при восстановлении БД (Postgresql)?

Могут.  Если есть способ "заморозить" базу перед бэкапом -- надо им воспользоваться.

>И есть ещё один вопрос - как правильно настроить ротацию архивов, чтобы
>при каждом монтировании Бакула удаляла сама все архивы и записывала текущий
>на чистую ленту?

purge current volume = yes?

Уточните, что такое "ротация архивов"...


"bacula + transactions"
Отправлено R4z0R , 02-Ноя-07 10:01 
Подскажите почему происходит такая ерунда - при создании бэкапа постоянно просит один и тот же том (Среду) Please mount Volume "Wednesday" on Storage Device "Ultrium 1-SCSI" (/dev/nst0)
А тот том, который установлен помечает как Used. 8  | Thursday | Used  | 1 | 9779438592  | 10 | 604800 | 1 | 0 | 1 | LTO | 2007-10-25 23:11:55
Вот мой Pool
Pool {
  Name = BaculaPool
  Pool Type = Backup
  Catalog Files = yes
  Purge Oldest Volume = yes
  Recycle = yes                       # Bacula can automatically recycle Volumes
  AutoPrune = yes                     # Prune expired volumes
  Maximum Volume Jobs = 1
  Volume Retention = 15 days         # one week
}


"bacula + transactions"
Отправлено anonymous , 07-Ноя-07 21:20 
>Подскажите почему происходит такая ерунда - при создании бэкапа постоянно просит один
>и тот же том (Среду) Please mount Volume "Wednesday" on Storage
>Device "Ultrium 1-SCSI" (/dev/nst0)
>А тот том, который установлен помечает как Used. 8  | Thursday

потому, что

>  Maximum Volume Jobs = 1

а вот это интересно.  какие-нибудь слова про prune/purge в логе есть?

>  Purge Oldest Volume = yes


"bacula + transactions"
Отправлено R4z0R , 09-Ноя-07 10:22 
>[оверквотинг удален]
>>А тот том, который установлен помечает как Used. 8  | Thursday
>
>потому, что
>
>>  Maximum Volume Jobs = 1
>
>а вот это интересно.  какие-нибудь слова про prune/purge в логе есть?
>
>
>>  Purge Oldest Volume = yes

что вообще нужно написать чтобы:
- на 5 ленточек (пон-птн) записывался каждый день бэкап
- через неделю старый бэкап стирался и записывался новый
- чейнджера нет, ленты меняются каждый день вручную
- всего бэкапится 2 директории на разных клиентах
- бэкап пишется на ленту, которая смонтирована
Я предполагаю это так:
Pool {
Name = WeekPool
Pool Type = Backup       # создаем резервные копии
Catalog Files = yes      # записываем в БД список сохраненных файлов
Maximum Volume Jobs = 2  # разрешаем выполнять 2 задания для тома (пишем с 2-х клиентов)
Volume Retention = 6 day # сохраняем запись в БД о заданиях до следующего такого же дня             недели
AutoPrune = yes          # как только проходит неделя - очищаем том
Recycle = yes            # и пишем на него по новой

Recycle Current Volume = yes #???? (нужно ли?) удаляем том, если он очищен и используем по новой


"bacula + transactions"
Отправлено R4z0R , 15-Ноя-07 10:15 
После того как прописал пул вот так:
Pool {
Name = WeekPool
Pool Type = Backup       # создаем
резервные копии
Catalog Files = yes      # записываем в
БД список сохраненных файлов
Maximum Volume Jobs = 2  # разрешаем выполнять 2 задания для
тома (пишем с 2-х клиентов)
Volume Retention = 6 day # сохраняем запись в БД о заданиях
до следующего такого же дня      
      недели
Purge Oldest Volume = yes #помечаем самый старый том как Recycle
AutoPrune = yes          
# как только проходит неделя - очищаем том
Recycle = yes # при надобности ищем том с пометкой  Recycle и пишем на него

Помечать то помечает как надо, но записывать в него не хочет, пишет смонтируйте том такой-то (тот который помечен как Recycle), а он уже смонтирован! Что за фигня? Что я не так указал?



"bacula + transactions"
Отправлено anonymous , 16-Ноя-07 19:04 
>Purge Oldest Volume = yes #помечаем самый старый том как Recycle

это лишнее

>Помечать то помечает как надо, но записывать в него не хочет, пишет
>смонтируйте том такой-то (тот который помечен как Recycle), а он уже
>смонтирован! Что за фигня? Что я не так указал?

Не знаю.  скажите номер версии и покажите конфиг bacula-dir, bacula-sd целиком (минус пароли).


"bacula + transactions"
Отправлено R4z0R , 19-Ноя-07 10:33 
Версия Бакулы - bacula-2.0.3

***************** bacula-sd.conf: ********************************

Storage {                             # definition of myself
  Name = corporateDB-sd
  SDPort = 6545                  # Director's port      
  WorkingDirectory = "/backup/working"
  Pid Directory = "/backup/working"
  Maximum Concurrent Jobs = 20
}

Director {
  Name = corporateDB-dir
  Password = "*****"
}


Director {
  Name = corporateDB-mon
  Password = "*****"
  Monitor = yes
}


Device {
  Name = "Ultrium 1-SCSI"                        #
  Media Type = LTO
  Archive Device = /dev/nst0
  Device Type = Tape
  AutomaticMount = yes;               # when device opened, read it
  AlwaysOpen = yes;
  RemovableMedia = yes;
  RandomAccess = no;
  AutoChanger = no;
}

Messages {
  Name = Standard
  director = corporateDB-dir = all
}

************ bacula-dir.conf ******************************
Director {                            # define myself
  Name = corporateDB-dir
  DIRport = 6543                # where we listen for UA connections
  QueryFile = "/backup/etc/query.sql"
  WorkingDirectory = "/backup/working"
  PidDirectory = "/backup/working"
  Maximum Concurrent Jobs = 1
  Password = "******"         # Console password
  Messages = Daemon
}

JobDefs {
  Name = "BackupCDB"
  Type = Backup
  Level = Full
  Client = corporateDB-fd
  FileSet = "Only needed dirs"
  Schedule = "AppBaculaCycle_MonFri"
  Storage = "Ultrium 1-SCSI"
  Messages = Standard
  Pool = BaculaPool
  Priority = 10
}
JobDefs {
  Name = "WINServ"
  Type = Backup
  Level = Full
  Client = winserv-fd
  FileSet = "Winfile"
  Schedule = "AppBaculaCycle_MonFri"
  Storage = "Ultrium 1-SCSI"
  Messages = Standard
  Pool = BaculaPool
  Priority = 10
}
JobDefs {
  Name = "BackupCDB_m"
  Type = Backup
  Level = Full
  Client = corporateDB-fd
  FileSet = "Only needed dirs"
  Schedule = "AppBaculaCycle_Month"
  Storage = "Ultrium 1-SCSI"
  Messages = Standard
  Pool = BaculaPool_m
  Priority = 10
}
JobDefs {
  Name = "WinServ_m"
  Type = Backup
  Level = Full
  Client = winserv-fd
  FileSet = "Winfile"
  Schedule = "AppBaculaCycle_Month"
  Storage = "Ultrium 1-SCSI"
  Messages = Standard
  Pool = BaculaPool_m
  Priority = 10
}

Job {
  Name = "CorpDB"
  JobDefs = "BackupCDB"
  Write Bootstrap = "/backup/working/Client1.bsr"
}
Job {
  Name = "WinBackup"
  JobDefs = "WinServ"
  Write Bootstrap = "/backup/working/Client2.bsr"
}

Job {
  Name = "CorpDB_m"
  JobDefs = "BackupCDB_m"
  Write Bootstrap = "/backup/working/Client3.bsr"
}
Job {
  Name = "NTBackup_m"
  JobDefs = "NTServ_m"
  Write Bootstrap = "/backup/working/Client4.bsr"
}

FileSet {
  Name = "Winfile"
  Include {
    Options {
      signature = MD5
    }
    File = "c:/Winfile"
    }
    }

FileSet {
  Name = "Only needed dirs"
  Include {
    Options {
      signature = MD5
    }
     File = /bin
     File = /boot
     File = /etc
     File = /home
     File = /lib
     File = /lost+found
     File = /opt
     File = /pgsql
     File = /root
     File = /sbin
     File = /srv
     File = /sys
     File = /usr/local
     File = /usr/X11R6
     File = /usr/bin
     File = /usr/doc
     File = /usr/include
     File = /usr/lib
     File = /usr/sbin
     File = /usr/share
     File = /var
}

  Exclude {
    File = /usr/local/src
    File = /var/log
    File = /var/tmp
    File = /var/run
    }
}

Schedule {
  Name = "AppBaculaCycle_MonFri"
  Run = Full mon-fri at 23:00
}

Schedule {
  Name = "AppBaculaCycle_Month"
  Run = Full 1st monthly at 18:00
}


Client {
  Name = corporateDB-fd
  Address = 192.168.0.3
  FDPort = 6544
  Catalog = MyCatalog
  Password = "*****"          # password for FileDaemon
  File Retention = 30 days            # 30 days
  Job Retention = 6 months            # six months
  AutoPrune = yes                     # Prune expired Jobs/Files
}
Client {
  Name = winserv-fd
  Address = 192.168.0.7
  FDPort = 9102
  Catalog = MyCatalog
  Password = "******"    # password for FileDaemon
  File Retention = 30 days            # 30 days
  Job Retention = 6 months            # six months
  AutoPrune = yes                     # Prune expired Jobs/Files
}

Storage {
  Name = "Ultrium 1-SCSI"
  Address = 192.168.0.3                # N.B. Use a fully qualified name here
  SDPort = 6545
  Password = "*****"
  Device = "Ultrium 1-SCSI"
  Media Type = LTO
}

Catalog {
  Name = MyCatalog
  dbname = bacula; user = bacula; password = ""
}

Messages {
  Name = Standard

  mailcommand = "/backup/sbin/bsmtp -h myserv.ru -f \"\(Bacula\) %r\" -s \"Bacula: %t %e of %c %l\" %r"
  operatorcommand = "/backup/sbin/bsmtp -h myserv.ru -f \"\(Bacula\) %r\" -s \"Bacula: Intervention needed for %j\" %r"
  mail = backup@myserv.ru = all, !skipped            
  operator = backup@myserv.ru = mount
  console = all, !skipped, !saved
  append = "/backup/working/log" = all, !skipped
}


Messages {
  Name = Daemon
  mailcommand = "/backup/sbin/bsmtp -h myserv.ru -f \"\(Bacula\) %r\" -s \"Bacula daemon message\" %r"
  mail = backup@myserv.ru = all, !skipped, !error            
  console = all, !skipped, !saved
  append = "/var/log/bacula.log" = all, !skipped
}

Pool {
  Name = BaculaPool
  Pool Type = Backup
  Catalog Files = yes      # записываем в БД список сохраненных файлов
  Maximum Volume Jobs = 2  # разрешаем выполнять 2 задания для тома (пишем с 2-х клиентов)
  Volume Retention = 6 day # сохраняем запись в БД о заданиях до следующего такого же дня недели
  Purge Oldest Volume = yes# если ничего нет для записи, очищаем самый старый
  AutoPrune = yes          # как только проходит неделя - очищаем том
  Recycle = yes            # и пишем на него по новой
}

Pool {
  Name = BaculaPool_m
  Pool Type = Backup
  Catalog Files = yes
  Recycle Current Volume = yes
  Recycle = yes                       # Bacula can automatically recycle Volumes
  AutoPrune = yes                     # Prune expired volumes
  Maximum Volume Jobs = 2
  Volume Retention = 60 days         # two month
}

Console {
  Name = corporateDB-mon
  Password = "*******"
  CommandACL = status, .status
}


"bacula + transactions"
Отправлено R4z0R , 21-Ноя-07 09:59 
Выложить - выложил, а дальше то что?