Bacula: для тех кому надо по-быстрому и в картинках

Доброго времени суток всем тем, кто собирается делать Backup'ы постоянно.

В этом посте я попытаюсь облегчить жизнь тем, кто пробует познакомится с этой системой. Ничего сверхъестественного я не расскажу, просто добавлю то, что мне бы самому пригодилось. За основу взят отменно написанный пост, так что переписывать и копировать нет смысла.
И так, открываем статью, изучаем, понимаем что в голове каша и открываем схемы и вперед! Схемы получились большие, потому что в них указаны все параметры из выше указанной статьи. Вам останется вбить в схему свои данные, проследить по стрелкам зависимости (все что отмечено любым видом стрелочек надо проверить/заменить), ну и скопировать текст в свои конфиги. Одинаковые блоки копировать много раз не надо, если такой блок есть его просто оставляем (ну мало ли, вдруг кто не понял)!
Все в схемах и картинках, для простоты потребления информации. Надеюсь это облегчит вам жизнь!

Предыстория или как я перешел на сторону админов которые регулярно делают backup'ы
Июнь месяц, жена получила водительские права и закрыла сессию, и надо ехать забирать ее с ребенком из Пензенской губернии (живем в Москве). Я взял первый двух недельный отпуск за последние 5 лет жизни, скопировал все бухгалтерские базы на NAS, сделал резервный архив с почтой Zimbra и положил на второй NAS и с чистой душой поехал к жене.
День пятницы не предвещал ни каких событий, но в 5 вечера звонит коллега и говорит что почта не пашет. Тонкие нотки волнения пробежались по мне, потому что подключится к серверам было проблематично — я в глухом лесу в «секретном» военном городке! Я за 3G модем — а он глючит и отказывается подключатся. Я за телефон — только EDGE. И тут я замечаю, что ноут сообщил о WIFI сетях — самое смешное есть несколько без пароля. Ну кому еще придет в голову паролить WIFI в глухом лесу. Дальше веселее — первый же тест говорит что это 10мб/с до Пензы. Но счастье было не полным: подключившись к компьютеру я понимаю что админка VMWare жестко тупит, потом вообще выдала, что подключится не может ни к одной виртуалке на одном из серверов. Отправил сервер в перезагрузку из которой он так и не вышел. Прошу коллегу перегрузит сервер жестко и за одно подключить монитор. Через пару минут коллега перезванивает и говорит что сервер не может найти операционку и какие то 2 лампочки горят на передней панели. Да те самые лампочки которые намекнули, что меня ждет быстрое возвращение в Москву для воскрешение сервера.
Вечером перед выездом меня покусали пчелы опухла морда лица и затек глаз, по этому пришлось ехать пассажиром. Но новоиспеченный водитель отлично справилась с дорогой и уже через день я был на работе.
Страхи подтвердились — упали 2 HDD из 8 в Raid 50. Понятно что на том серваке я потерял все. Я полез на NAS где лежал архив с почты — но NAS оказался не в сети! Я полез под потолок (там хранятся NAS) и притащил его к себе, а он с заводскими настройками. Что произошло не знаю, но он сбросился и отформатировал HDD. Почтовик был утерян окончательно. Пока я ждал гарантийные HDD воскрешал все на втором сервер. Но с тех пор я решил, что системой резервирования надо заняться по полной программе. Меня спасло то что мои пользователи используют почтовые клиенты, из которых была воскрешена вся переписка. Но это долго муторно и не приятно. Теперь я отношусь к тем, кто уже делает backup'ы централизованно.
Как итог: raid теперь 51 и HDD про запас лежат. За полгода в 2х серверах я потерял еще 6 HDD. Причины так и не ясны. HP тоже не смогли сказать с чем это связано.




Схема для клиента Kubuntu в формате odg



Схема для клиента Windows в формате odg



Схема для сервера Bacula в формате odg

Пояснения к схемам


1. Я использовал как хранилище NAS D'Link DNS 323, подмонтирован он в папку /media/, каждый диск NAS в свою папку /media/nfs_linbackup_v1/ и /media/nfs_linbackup_v2/.
2. В отличии от статьи в схеме иные названия серверов и пунктов. Я так и не смог разобраться в названиях из статьи (в принципе по этой причине и появилась схема).
3. Выложены 3 схемы: для Linux, Windows и отдельно для сервера. Схема 3 (Schem_center) является схемой настройки резервного копирования самого сервера и основана на дефолтных настройках из шаблонов. Я это не реализовывал за ненадобностью лично мне. Но если решили это делать, то просто добавляете в уже созданные файлы недостающие блоки кода.

Секция Director /etc/bacula/bacula-dir.conf

1. Center.domain.local — сервер резервных копий он же 192.168.1.100;
2. Пароль Director «Center.domain.local» — «Passdir_1»;
3. Файл конфигурации для клиента kub-fd — @/etc/bacula/client-conf/client-dir-kubuntu.conf

Для клиента Kubuntu

Секция /etc/bacula/client-conf/client-dir-kubuntu.conf

1. kub-fd — клиент он же 192.168.1.20 (ОС Kubuntu 13.10);
2. Пароль клиента «PassClient_3»;
3. Имя хранилища — «Kubunt-nfs» (используется в задании для общего описания хранилища и указания на устройства хранения самих данных);
4. Имя «девайса» — «KubFileStorage» (используется как ссылка на конкретное физическое устройство хранения в файле /etc/bacula/bacula-sd.conf);
5. Имя File-set — «KubFileSet» (описывает то, что именно мы будем копировать или исключать из копирования);
6. Имя пула — «poolkubnfs» (описывает тип пула, какого размера должны быть базы бэкапов и сколько их хранить).
7. Имя планировщика (он же шедулер ) — «KubDiff» (устанавливает расписание и тип выполняемой операции т. е. полная по субботам, дифференциальная по всем остальным дням);

Секция /etc/bacula/bacula-sd.conf

1. Имя хранилища сервер — «center-sd»
2. Адрес сервера на котором запущен сервис STORAGE — SDAddress = 192.168.1.100
3. Ссылка на файл конфигурации клиента KubFileStorage @/etc/bacula/client-conf/client-sd-kubuntu.conf

Для клиента WinSrv cекция /etc/bacula/client-conf/client-dir-winsrv.conf

1. winsrv-fd — клиент он же 192.168.1.40 (ОС WinServ2003)

Все остальные пояснения в тексте комментариев.

То что получилось: содержимое конфигурационных файлов
bacula-dir.conf
Director {
  Name = center.domain.local-dir
  # какой порт слушать, у нас default
  DIRport = 9101
  # путь к скрипту, где лежат sql запросы для работы 
  # с Bacula Catalog(mysql database)
  QueryFile = "/etc/bacula/scripts/query.sql"
  # здесь хранятся статус файлы демона
  WorkingDirectory = "/var/lib/bacula"
  # pid файл демона
  PidDirectory = "/var/run/bacula"
  # сколько заданий может запускаться одновременно
  Maximum Concurrent Jobs = 1
  # пароль для доступа в BC и управления демонами 
  Password = "Passdir_1"  
  # куда слать mail'ы, описано в ресурсе Messages
  Messages = Daemon
   # на какой адрес биндится процессу
  DirAddress = 192.168.1.100
}

Messages {
 # это имя прописано в ресурсе Director  
Name = Daemon
# команда для отправки email
mailcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula daemon message\" %r"
# шлем все на майл админам(root алиас на admins@domain.ru) 
# высылаются только алярмы, ероры и прочую важность
mail = milo@mydomena.ru = alert,error,fatal,terminate, !skipped    
# что выводить на консоль     
console = all, !skipped, !saved
# что в лог
append = "/var/log/bacula/bacula.log" = all, !skipped
}

Console {
  Name = center.domain.local-mon
  Password = "Passdir_1"
  CommandACL = status, .status
}

Messages {
  Name = Standard
  mailcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula: %t %e of %c %l\" %r"
  operatorcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula: Intervention needed for %j\" %r"
  mail = root = all, !skipped            
  operator = root = mount
  console = all, !skipped, !saved
  append = "/var/log/bacula/bacula.log" = all, !skipped
  catalog = all
}

Catalog {
  Name = MyCatalog
  dbname = "bacula"; DB Address = ""; dbuser = "bacula"; dbpassword = "SQL_pass"
}

# Что бы основные файл конфигов не разрастались, удобнее и лучше 
# делать на них ссылки - @ и далее путь к файлу,
#  где лежит конфиг для конкретного клиента
@/etc/bacula/client-conf/client-dir-kubuntu.conf
@/etc/bacula/client-conf/client-dir-winsrv.conf


bacula-sd.conf
/etc/bacula/bacula-sd.conf (на стороне сервера)             
Storage { 
  # имя для SD
  Name = center-sd 
  # порт стандартный
  SDPort = 9103 
  # рабочая директория процесса(для статус файлов)
  WorkingDirectory = "/var/lib/bacula" 
  # pid будет здесь
  Pid Directory = "/var/run/bacula" 
  # биндится на этом ip
  SDAddress = 192.168.1.100 
} 
Director {
  # имя DD, того самого, который был описан ранее
  Name = center.domain.local-dir
  # пароль  
  Password = "Passtor_2"
}
# Что бы основные файл конфигов не разрастались, удобнее и лучше 
# делать на них ссылки - @ и далее путь к файлу где лежит конфиг для
# конкретного клиента
@/etc/bacula/client-conf/client-sd-kubuntu.conf 
@/etc/bacula/client-conf/client-sd-winsrv.conf


bacula-fd.conf
Director {
  Name = center.domain.local-dir
  Password = "PassClient_01"
}

FileDaemon { 
  Name =  center.domain.local-fd
  FDport = 9102 
  WorkingDirectory = /var/lib/bacula
  Pid Directory = /var/run/bacula
  Maximum Concurrent Jobs = 20
  FDAddress = 192.168.1.100  # адрес или имя клиента
}

Messages {
  Name = Standard
  director = center.domain.local-dir = all, !skipped, !restored
}


bconsole.conf
Director {
  Name = center.domain.local-dir
  DIRport = 9101
  Address = 192.168.1.100
  Password = "Passdir_1"
}


client-dir-kubuntu.conf
Client {
  # имя 
  Name = kub-fd
  # ip адрес клиента
  Address = 192.168.1.20
  # порт, который клиент слушает
  FDPort = 9102
  # имя mysql базы данных Bacula
  Catalog = MyCatalog
  # пароль для FD
  Password = "PassClient_3"
  # период в течении которого информация о файлах задания
  # хранится в базе данных, по истечению периода эта
  #  информация удаляется(но не сами данные!!)
  File Retention = 30 days
  # тоже самое, только для самого задания
  Job Retention = 2 months
  # удалять записи из каталога(бд mysql) старше
  # вышеуказанных значений
  AutoPrune = yes
}

Storage {
  # имя хранилища и пароль
  Name = Kubunt-nfs
   Password = "Passtor_2"
  # fqdn имя сервера
  Address = 192.168.1.100
  # порт оставляем стандартный
  SDPort = 9103
  # имя девайса описанного в конфиге SD 
  Device = KubFileStorage
  # у нас все пишется на софтовый рэйд в файлы собственного
  # формата bacula(например
  # /media/nfs_linbackup_v1/kubuntu/Vol0001)
  Media Type = File
}

Schedule {
Name = "KubDiff"
Run = Level=Full on sat at 15:01
Run = Level=Differential on tue-fri at 15:02
} 

Pool {
  # имя пула, указывается в заданиях резервного копирования
  Name = poolkubnfs
  # тип пула, емнип  этой версии только такой поддерживается
  Pool Type = Backup
  # повторно использовать тома (сначала пишет в 1-ый,
  #потом в 2-ой, потом 3-й, 3-й закончился - снова в 1-й)   
   AutoPrune = yes 
  # удалять записи из bacula catalog (из mysql базы бакулы) 
  # старше нижеуказанных значений
   Recycle = yes                       
  # период в течении которого информация о томах(Voumes)
  # хранится в базе данных, по истечению периода эта 
  # информация удаляется
  Volume Retention = 5 days     
  Maximum Volume Bytes = 1G          
  Maximum Volumes = 3
  LabelFormat = "Kubvol"
}

FileSet {
  Name = "KubFileSet" 
  Include {
    Options {
      # разработчики яро рекомендуют юзать это опцию, 
      # создается сигнатура забекапленных файлов в md5
      signature = MD5 
    }
    # перечисляем то, что нужно бекапить
    File = /var/backups/opt/ 
    File = /etc/hosts 
    File = /etc/host.conf 
    File = /etc/network/interfaces 
    File = /etc/dnsmasq.conf 
    File = /etc/resolv.conf 
    File = /etc/ntp.conf 
    File = /home/rk/testbackup/
  }
  Exclude {
    # а это бекапить нет нужды
    File = /home/rk/testbackup/NTFS.dmg
 }
} 

Job {
  # имя задания 
  Name = "BackupKubFull"
  # тип(backup or restore)
  Type = Backup
  # уровень(полный, диференциальный или
  # инкрементный)
  Level = Full
  # имя SD ресурса                            
  Storage = Kubunt-nfs 
  # имя файл-сета(там рассказано что 
  # бекапить, а что не бекапить)
  FileSet="KubFileSet"
  # имя шедулера
  Schedule = "KubDiff"
  # имя пула(для разных клиентов разные пулы
  # томов(volume) куда пишутся сами  бекапы)
  Pool = poolkubnfs
  # имя клиента 
  Client=kub-fd
  # в этом файле содержится информация о том,
  # какие файлы должны будут востанавливаться, 
  #на каком вольюме находятся файлы, где конкретно
  # они находятся - это очень важные файлы, их
  # нужно бэкапить
  Write Bootstrap = "/var/lib/bacula/%n.bsr"
  # имя ресурса messages, который будет 
  # использоваться для этого задания
  Messages = Standard
  # скрипт запускающийся ДО выполнения задания 
  #(путь до скрипта  - это путь НА КЛИЕНТЕ!)
  ClientRunBeforeJob = "/root/sh/before_bg_db_backup.sh" 
  # скрипт запускающийся ПОСЛЕ выполнения задания            
  ClientRunAfterJob = "/root/sh/after_bg_db_backup.sh" 
  # УБРАТЬ ЕСЛИ НЕ ИСПОЛЬЗУЕТЕ СКРИПТЫ!!! 
}

Job {
# Имя задачи для восстановления данных
   Name = "RestoreKub"
   Type = Restore
   Client=kub-fd 
   FileSet="KubFileSet"
   Storage = winsrv-nfs
   Pool = poolkubnfs
   Messages = Standard
# Папка куда будут складывать восстановленные
# данные на клиенте. И что не затереть новую версию
# файлов, лучше их восстанавливать в отдельную папку
   Where = /home/rb/1/
}


client-dir-WinSrv.conf
Client {
  # имя 
  Name = winsrv-fd
  # ip адрес клиента
  Address = 192.168.1.40
  # порт, который клиент слушает
  FDPort = 9102
  # имя mysql базы данных Bacula
  Catalog = MyCatalog
  # пароль для FD
  Password = "PassClient_3"
  # период в течении которого информация о файлах задания
  # хранится в базе данных, по истечению периода эта
  #  информация удаляется(но не сами данные!!)
  File Retention = 30 days
  # тоже самое, только для самого задания
  Job Retention = 2 months
  # удалять записи из каталога(бд mysql) старше
  # вышеуказанных значений
  AutoPrune = yes
}

Storage {
  # имя хранилища и пароль 
  Name = winsrv-nfs
   Password = "Passtor_2"
  # fqdn имя сервера
  Address = center.domain.local
  # порт оставляем стандартный
  SDPort = 9103
  # имя девайса описанного в конфиге SD 
  Device = winsrvFileStorage
  # у нас все пишется на NFS NAS  в файлы собственного
  # формата bacula(например /backup/bgbilling/Vol0001)
  Media Type = File
}

Schedule {
Name = "WinDiff"
Run = Level=Full on sat at 00:02
Run = Level=Differential on tue-fri at 00:03
} 

Pool {
  # имя пула, указывается в заданиях резервного копирования
  Name = poolwinsrvnfs
  # тип пула, емнип  этой версии только такой поддерживается
  Pool Type = Backup
  # повторно использовать тома (сначала пишет в 1-ый,
  #потом в 2-ой, потом 3-й, 3-й закончился - снова в 1-й)   
  AutoPrune = yes 
  # удалять записи из bacula catalog (из mysql базы бакулы) 
  # старше нижеуказанных значений
   Recycle = yes                       
  # период в течении которого информация о томах(Voumes)
  # хранится в базе данных, по истечению периода эта 
  # информация удаляется
  Volume Retention = 5 days     
  Maximum Volume Bytes = 1G          
  Maximum Volumes = 3
  LabelFormat = "winvol"
}

FileSet {
  Name = "WinFileSet" 
#VSS при востановлении дает ошибку, посему отключил 
#Причина мне не ясна
  Enable VSS = no
  Include {
    Options {
      compression = GZIP
      signature = MD5
      portable=yes
      noatime = yes
      checkfilechanges = yes
      Ignore Case = yes
      wildfile = "*.avi"
      wildfile = "*.wmv"
      wildfile = "*.mp3"
      wilddir = "System Volume Information"
     exclude = yes
    }
    # перечисляем то, что нужно бекапить
    File = "C:/Buh"
    File = "C:/Supply"
    File = "C:/Doc"
  }
 Exclude {
     File = "C:/Doc/myphoto/"
  }
} 

Job {
  # имя задания 
  Name = "BackupWinFull"
  # тип(backup or restore)
  Type = Backup
  # уровень(полный, диференциальный или
  # инкрементный)
  Level = Full
  # имя SD ресурса                            
  Storage = winsrv-nfs 
  # имя файл-сета(там рассказано что 
  # бекапить, а что не бекапить)
  FileSet="WinFileSet"
  # имя шедулера
  Schedule = "WinDiff"
  # имя пула(для разных клиентов разные пулы
  # томов(volume) куда пишутся сами  бекапы)
  Pool = poolwinsrvnfs
  # имя клиента 
  Client=winsrv-fd
  # в этом файле содержится информация о том,
  # какие файлы должны будут востанавливаться, 
  #на каком вольюме находятся файлы, где конкретно
  # они находятся - это очень важные файлы, их
  # нужно бэкапить
  Write Bootstrap = "/var/lib/bacula/%n.bsr"
  # имя ресурса messages, который будет 
  # использоваться для этого задания
  Messages = Standard
}

Job {
# Имя задачи для восстановления данных
   Name = "ResotreWinsrv"
   Type = Restore
   Client=winsrv-fd 
   FileSet="WinFileSet"
   Storage = winsrv-nfs
   Pool = poolwinsrvnfs
   Messages = Standard
# Папка куда будут складывать восстановленные
# данные на клиенте. И что не затереть новую версию
# файлов, лучше их восстанавливать в отдельную папку
   Where = /1/
}


client-sd-kubuntu.conf
Device {
# имя, о соответствии имен и паролей будет сказано ниже
Name = KubFileStorage
# тип
Media Type = File
# директория где лежат файлы этого устройства(тома, volumes)
Archive Device = /media/nfs_linbackup_v1/kubuntu
# новые тома будут обзываться согласно настроек Pool'а(здесь Vol*) см.
# конфиг DD
LabelMedia = yes;
# для устройства типа File должно быть так
Random Access = Yes;
# если устройство открыто, использовать его
AutomaticMount = yes;
# думаю понятно =)
RemovableMedia = no;
# открывать только тогда, когда стартует соответствующие задание
AlwaysOpen = no;
}

client-sd-winsrv.conf
Device {
# имя, о соответствии имен и паролей будет сказано ниже
Name = winsrvFileStorage
# тип
Media Type = File
# директория где лежат файлы этого устройства(тома, volumes)
Archive Device = /media/nfs_linbackup_v2/winsrv
# новые тома будут обзываться согласно настроек Pool'а(здесь Vol*) см.
# конфиг DD
LabelMedia = yes;
# для устройства типа File должно быть так
Random Access = Yes;
# если устройство открыто, использовать его
AutomaticMount = yes;
# думаю понятно =)
RemovableMedia = no;
# открывать только тогда, когда стартует соответствующие задание
AlwaysOpen = no;
}

ClientPCKUBUNT_usr_local_etc_bacula-fd.conf
Director {
Name = center.domain.local-dir
Password = «PassClient_3»
}
FileDaemon {
Name = kub-fd
FDport = 9102
WorkingDirectory = /var/lib/bacula
Pid Directory = /var/run/bacula
Maximum Concurrent Jobs = 20
FDAddress = 192.168.1.20 # адрес или имя клиента
}
Messages {
Name = Standard
director = center.domain.local-dir = all, !skipped, !restored
}

ClientPCWIN_backup_bacula_winsrv-fd.conf
# Client (File Services) to backup
Client {
Name = winsrv-fd
Address = 192.168.1.40
FDPort = 9102
Catalog = MyCatalog
Password = «PassClient_3»
File Retention = 30 days
Job Retention = 2 months
AutoPrune = yes
}

ClientPCWIN_ProgramFiles_Bacula_bacula-fd.conf
Director {
Name = center.domain.local-dir
Password = «PassClient_3»
}
FileDaemon {
Name = winsrv-fd
FDport = 9102
WorkingDirectory = «C:\\Program Files\\Bacula\\working»
Pid Directory = «C:\\Program Files\\Bacula\\working»
# Plugin Directory = «C:\\Program Files\\Bacula\\plugins»
Maximum Concurrent Jobs = 10

Messages {
Name = Standard
director = center.domain.local-dir = all, !skipped, !restored
}



Как управлять этим локомотивам


Наш паровоз завелся и вроде помчался в наше счастливое будущее. Но нужно всегда за ним посматривать. Для этого умные люди придумали Bacula Administration Tool (BAT). Что бы им пользоваться вам его надо установить из репозитариев. Так как дистрибутивы у всех разные вдаваться в подробности не станем. Но вот настроить следует. Для этого открываем файл /etc/bacula/bat.conf на компьютере с которого будем управлять и вносим изменения:

Director {
  Name = center.domain.local-dir
  DIRport = 9101
  address = 192.168.1.100
  Password = "Passdir_1"
}

Если все правильно настроено запускаем Bacula Administration Tool и видим подобное окно:



Далее нам нужно посмотреть какие все таки задания мы сделали — вкладка JOBS. Особенно данная вкладка нам пригодится когда мы будем что либо восстанавливать.



Далее нам будет интересно глянуть что же техника уже успела натворить — вкладка Jobs Run



А если дважды нажать на задание то мы получаем полную информацию что сделано, за сколько и как обстоят дела.



Обязательно забредем во вкладку Media, где нам наглядно покажут заполняемость наших файликов и их перезапись (Крайне удобная штука, которая позволяет определить все ли хорошо у нас с местом. А то я количество вольюмов перебрал и мой NAS быстро переполнился.)



А теперь самое важное — как восстанавливать. Уже известная нам вкладка JOBS_RUN и выбираем ту выполненную задачу, в которой есть нужный нам файл. Но бывает такое что мы не знаем, есть ли там нужный нам файл. Нажав правой кнопкой получаем меню, в котором нужно выбрать «List files on job».



Убедившись что там есть нужный нам файл, возвращаемся к «Jobs Run» и на нужном нам задании вызываем контекстное меню и выбираем «Restore from Job» — восстановить из задания или «Restore from Time» — восстановить по времени. В появившемся окне можно выбрать — по номеру задания, ну или вообще по заданию за одно проверив все настройки.





Нажимаем «ОК» и через несколько секунд нашему взору предстанет дерево файлов, сохраненные в этом задании, где нам галочками нужно отметить интересующие нас файлы.



После выбора файлов система предложит нам выбрать задание, которым мы будем восстанавливать. Интересная особенность — если у вас для данного конкретного клиента нету задачи на восстановление, то можно использовать любое задание на восстановление, лишь изменив параметры задачи перед ее применением (см. ниже). Жмем «ОК» и наслаждаемся выполнением задания.





Вот впринципе и все. Надеюсь статья найдет своего читателя. Все файлы использованные в статье лежат на моем диске.
Возможно слишком много картинок и текстов, возможно есть ошибки, возможно не хватает каких-то серьезных деталей, но я пытался облегчить использование программы для тех кто не хочет сильно углубляться (ну или для тех, у кого мало опыта, например для меня).
P.S. Главное что бы это работало, а все остальное не важно
Share post
AdBlock has stolen the banner, but banners are not teeth — they will be back

More
Ads

Comments 46

    0
    Хочу и буду читать/разбирать все это многобуквее в картинках (не сарказм).
    Не согласен только с P.S. ибо «процесс важнее результата, процесс это жизнь, результат это смерть» (с)
    Автору спасибо.
      0
      Я имел ввиду: Не важно как настраивался сервер, по-быстрому или вдумчиво. Главное что бы все работало надежно и стабильно. А сэкономленное время можно потратить на вдумчивое изучение тонкостей. Оно же проще пойдет, когда основные функции уже стабильно работают?
      +1
      Стоит только один раз настроить и потом все становится довольно просто и понятно
      Я бы еще посоветовал все объявления которые например могут использоваться не один раз, а в нескольких заданиях выносить в отдельные файлы. То есть в файле bacula-dir.conf оставляем только описание директора каталога сообщений и прав доступа, например в файл /etc/bacula/bacula-dir/_default.conf уже включить задание по умолчанию на восстановление и другие вещи которые обязательно нужны. Ну и далее уже задания создавать в отдельных файлах типа /etc/bacula/bacula-dir/job-name.conf. Имея такую структуру можно организовать довольно логичное разделение сущностей и в дальнейшем не лазить по одному очень большому файлу конфигу.
        0
        Стоит только один раз настроить и потом все становится довольно просто и понятно

        Не соглашусь. Коварство Bacula в том, что один раз настроив все задания — получаешь очень стабильно работающую систему. И когда, спустя два-три года, собираешься что-то подправить — сидишь, как дурак, и вспоминаешь, как всё это у тебя устроено — потому что забыл напрочь, как конфигуровал.
          +1
          Ну я обычно настроив один раз тоже не подходу довольно долго, но тк все разбито по файлам то намного проще, если надо добавить задание нахожу файл с уже настроенным похожим заданием и просто его копирую, изменяю нужные параметры и можно перезапускать бакулу. Хорошо что в основном все настраивается по определенным шаблонам, время хранения, время выполнения зачастую даже параметры какие файлы надо копировать почти одинаковые, кроме путей. Да и если надо создать новый список файлов, уже есть аналогичный который в себе содержит правила сжатия для архивов и тп, копирую его меняю путь и готово.
          0
          Да вроде так и описано? Или я что-то не так понял?
          В схемах это указано сплошными контурами, и в верхней части каждого контура написано название файла. Это и правда позволяет навести порядок в конфигах.
          0
          Советую еще посмотреть в сторону Bareos, fork-a бакулы. В связи с тем, что бакула стала платной, бесплатная версия.больше не развивается. А с бареосом в этом плане все ОК.
          Мне, например, очень понравилась плюшка бареоса в ограничении величины загрузки канала во время выполнения бэкапа.
            +2
            Заголовок неоднозначный.
              +2
              Я не понял, это тайный тред массонов?
                +2
                Угу, бекапы это хорошо, но восстановление то тоже надо тестировать и желательно — полное.
                  0
                  Есть варианты как это сделать? Может стоит дописать и добавить? Дело нужное для всех.
                    0
                    тестировать? ну процедура обратнаю бекапу, тоесть восстановление, что там дописывать то?
                    можно парой скриптов автоматизировать процесс, как мне кажется, если нет штатной тестилки, я бакулу толком не видел, ничего сказать не могу
                      0
                      Если кто знает подскажите стандартные методы тестирования.
                      А вообще у меня раз в неделю делается полный backup и всю неделю дифференциальные копии. По моей логике если один из дней система «накосячит», то вторым днем она сама же и исправит, сравнивая изменения файлов в backup'е и оригинале. Того потеря 2 дня? Если не прав то поправьте!
                        0
                        еще раз говорю — стандартный метод тестировать бекап — это восстановить файлы из бекапа и проверить, насколько они соответствуют исходном.
                        логично, что разворачивать надо в другое расположение, чтобы не затереть оригиналы.
                        Работает для любой системы бекапов
                  0
                  Странно, думал, что увижу в статье много скриптов для консольной бакулы. Вообще впервые увидел GUI для бакулы, двоякие ощущения, однако.
                    0
                    А что есть надёжное, попроще, для домашнего использования с графическим интерфейсом?
                      +1
                      Да тысячи их. Лично я пользуюсь Cobain Backup для бекапа на домашний NAS и Duplicati для бекапа в облака (я в меру параноик).
                      0
                      Спасибо за ответы.
                      По поводу неоднозначности названия:
                      — у меня всегда были проблемы с тем, что бы объяснить людям все так как я вижу. То что для меня просто и вроде по-другому не сделать, остальные не понимают.
                      Я же хотел сказать, что данный пост облегчает и позволяет запустить сервер быстрее, так как информация в картинках и схемах усваивается проще. Тем более можно скачать схему, в которую надо лишь только добавь воды добавить/заменить свои параметры попутно проникаясь философией Bacula.
                      По поводу графического интерфейса:
                      — пост же для тех кому по-быстрому. Ну и GUI тут как раз в тему. Если честно я долго плевался пока пытался понять как работает текстовый режим, и не во все вник. А учитывая, что мои запросы не велики, зачем тратить время когда надо воскресить удаленных бухом документ? Ну разумеется по-быстром, ибо им то нужно мгновенно.
                      По поводу других приложений:
                      — оно конечно хорошо, что есть альтернативы, но речь то про Bacula. Как пример: зачем при обсуждении Android приплетать iphone?

                      Странное обстоятельство. Отсутствие возможности комментировать статью-донар, заставило написать статью, которая исключает необходимость комментировать статью-донар.

                      P.S. Всем спасибо за коменты и внимание.
                        0
                        Подскажите пожалуйста, Bacula поддерживает создание backup и восстановление DC Windows 2k8 с ролями fsmo? И если да, то восстановление это происходит без проблем? Или же возможны варианты с UNS rollback и другими подобными проблемами :)
                          0
                          возможны варианты с UNS rollback и другими подобными проблемами

                          Так и есть.

                          Лично я не встречал решений, которые бы эти проблемы исключали.
                          Если КД один, то и бакула норм. Хотя она не умеет КД и т.п. бэкапить… Но можно ntbackup задействовать.
                            0
                            Не готов рискнуть КД, уже имел дело с USN, впечатления остались ниже среднего — на решение ушла только неделя, о том через какое место работали разрешения запросов думаю все и так понимают, особенно в привязке к территориально распределенной сети.
                              0
                              А какие решения исключают варианты с UNS rollback? Я правда не знаю.
                                0
                                Из того, что тестировал:
                                Symantec Backup Exec 2012 — многострадальный по отношению к Windows Server 2012.
                                Acronis Backup & Recovery® 11.5 Server for Windows with Microsoft Active Directory
                                После восстановления этими программными продуктами КД с ролями fsmo проблем не наблюдал. А вот Акронис до конца осени 2013 года действительно устраивал развлекаловку.
                                  0
                                  Эти решения, если не ошибаюсь, создают полный образ системы. Для виртуальных сред это не очень… Можете чего подсказать?
                                  У меня все на VMWare ESX 5 крутится. Реплики Veeam B&R делаю. Не давно столкнулся с UNS rollback (понадобилось восстановить оба кд), наплясался хорошо.
                                    +1
                                    Совершенно верно, создается образ системы. Сам механизм того, что зашито в продукты Symantec и Acronis не изучал, могу судить только косвенно. Первые MS денег отстегнули за информацию о AD, вторые вышли из положения через SQL (еще раз подчеркну, что могу ошибаться, моей задачей была проверка, а не выворачивание наизнанку продуктов и судил я по косвенным данным). Кстати, если речь идет о system state полном, то тут все хитрее и тот и тот продукт помимо него могут создавать и обычные бекапы — инкрементальные и полные.
                                    Теперь про Вашу систему. Не все так просто с Vmware. Пожалуйста поясните ситуацию с wmware, чтобы избежать путаницы уже в самом начале из-за жести в лицензионной политики Vm, у Вас полноценный ESX или это ESX гипервизор бесплатный? А дальше уже что-нибудь можно попробовать придумать. Но начнем с большего)
                                      0
                                      Спасибо заранее.
                                      У меня полноценные ESX'ы, купленные — VMware vSphere 5 Standard Licensed for 4 physical CPUs (unlimited cores per CPU). Управляю через vCenter + vSphere (обе 5.0 версии, как и ESX). Veeam подключается через vCenter. Сами Veeam и vCenter виртуальные, стоят на этих же ESX'ах (3 гипервизора).
                                        +1
                                        Интересная среда какая.
                                        В качестве продуктов стоит рассматривать:
                                        Acronis® vmProtect® 9
                                        Acronis Backup & Recovery 11.5 Virtual Edition for VMware vSphere
                                        Symantec Backup Exec V-Ray Edition
                                        Symantec Backup Exec
                                        Каждое решение стоит тех или иных денег, соответственно каждый продукт имеет свою специфику. К примеру vmProtect может восстанавливать и DC и Exchange, но судя по стоимости он не может быть подключен к централизованной консоли управления. В то же время Virtual Edition for VMware vSphere дает возможность бекапа виртуалок самих целиком (а вот подробности про DC надо уже проверять или уточнять у саппорта Acronis), а так же управление с консоли.
                                        С Симантеком не все так просто к сожалению, продукты рабочие, но их надо тестировать перед внедрением на своей среде, иначе можно нарваться на какую-то маленькую частность, которая испортит все (у меня так было уже).
                                        Можно изнутри самой виртуалки настроить backup контроллера, но ведь смысл тогда виртуалки теряется. Главное в сторону снапшотов не лезть.
                                          0
                                          Надо будет поковырять на досуге. Спасибо :)

                                          У меня недавно была такая картина… Разворачивал свежекупленный корп. антивирь. После перезагрузки оба КД + Veeam + vCenter отказались работать в сети (пинговали только свой ИП и больше ничего не видели, сеть по нулям). Хотя с другими серверами нормально все было. Не знаю, что к чему (причину так и не нашел, к сожалению), но откат на предыдущую реплику не помогал, на препредыдущую тоже. Только на 3 дня назад. (понимаю, что выглядит бредом...)
                                          Решил вопрос так: выкинул один из КД, оставил тот, у которого fsmo и т.д. Поднял новый (все равно на 2012 собирался переводить) и передал ему все роли + DNS настроил. А потом уже ручками несколько пользователей сделали, которых завели за эти 3 дня. В общем обошлось. Но осадок остался.
                                            0
                                            Да не за что, для меня важность backup очевидна :) Так что могу и советом подсказать.
                                            На счет картины, действительно странно выходит. Хотя есть предположение одно, а антивирь тоже был на DC установлен? Если так, то ожидаемо, как показывает практика это еще не предел. Я не являюсь сторонником антивиря на контроллере, т.к. были преценденты когда антивирь находил что-то подозрительное в репликации и блочил ее, бывало что это «чудо» выдавало глюки при DNS запросах. Я конечно понимаю, что можно настроить исключения, но и тогда 100% гарантии бесперебойной работы дать я не смог, руководство отказалось от использования антивиря на DC.
                                            Про КД у тебя все ровно получилось, жаль что действительность требует скорейшего устранения проблемы, а не поиска причины, я таким образом упустил пару интересных случаев, которые с удовольствием бы разобрал. Упустил из-за отсутствия ресурсов для копирования всей среды…
                                              0
                                              Да, я так же к бэкапам отношусь. А особо важные данные и вовсе несколькими интрументами делаю и в разных местах храню. Я тут параноик немного… Особенно после того, как попринимал маленькое участие в восстановлении бэкапа с компакта с помощью микроскопа, ручки и бумаги (писали на бумагу 1 и 0, а потом все это в комп заносили и преобразовывали в iso-шку). Это было у знакомого (в какой-то мере моего учителя).

                                              Да, антивирь на КД стоит. Сейчас на главном не стоит (и не хочу ставить, тем более после этого), а на вторичном стоит. Хотя файрвол отключен, только файловый антивирус и защиту от сетевых атак оставил включенными.
                                              До этого другой антивирь стоял на КД. Этот новый сам умеет сносить другие антивири при установке, может это повлияло. (я в госконторе, тут все по госзакупкам, приходится периодически менять вендоров). На всех остальных (и тех, что слетели, и тех где нормально все прошло) точно так же.
                                              Я его (новый антивирь) снес, после того, как увидел, что сеть не работает, но это не помогло. При этом реплика за вчера и позавчера была без этого антивиря (т.е. со старым). Виндовый брэндмауэр тоже не при чем, он и вовсе был отключен.
                                              Сетевое оборудование, гипервизор, сетевая плата, мак адрес… Все это пробовал перезагружать/менять. Без толку.
                                              Не вникал в подробности репликаций вима, но они делаются за счет снэпшотов ВМ + механизм CBT (только измененные блоки) задействуют. Может где и здесь слабое место.

                                              Да… Тоже такое бывало. Уж очень хотелось разобраться в чем тут дело, да время горело.
                                              В этот раз сохранил эти сбойные ВМ с КД, вимом и вицентром. Но времени пока нету, чтобы поковырять их серьезно.
                                                0
                                                Если будет время напишу в личку о результатах изысканий. Хотя бы результаты ping x.y.z.w и снифера, любопытно где пакеты все же валились и хотя бы на каком уровне OSI.
                                                На счет времени согласен)
                                                И все же необычно как-то, блок на шлюз (пингует только сам себя) и понеслись проблемы… А вот снос антивирем другого очень даже мог повлиять.
                                            +2
                                            Читаю и понимаю что я хочу пересесть на *Nix основы еще сильнее… И дело не в деньгах а в каком то сумасшествие связанного с MS.
                                            И это мое личное мнение
                                              0
                                              Скажу так, ты очень сильно повышаешь свою ценность для руководства ;) Это правильно. Но к сожалению далеко не всегда можно использовать только *NIX решения.
                                                0
                                                У меня так же было… Все началось с журнала ][akep и Хабра. Просто читал да читал… А потом в один момент поставил но ноут пингвина, с тех пор и живем бок о бок :) Хотя с виндом приходится работать регулярно, но, славабогу, только с серверными продуктами.
                                                  0
                                                  Все мы так начинали, и у всех стоит винда в виртуалке. И порой я подумываю ее погасить на всегда. Но я люблю альтернативу)
                                                    0
                                                    Я FreeBSD люблю) Но по субъективным причинам на ноуте использовать Free не могу (модель моего ноутбука содержит продукт ATI, как следствие я рискую словить перегрев ноута). Купить что-то новое пока себе позволить не могу)
                                                    На тему только серверных виндовых продуктов — все правильно. Просто нужно понимать, что бизнес особо морочаться не любит и предпочитает виндовые решения) Но когда начинаются разговоры о цене и о лицухах, вот тогда вылезает *NIX.
                                                    Вот взять опять таки те же бекапы, я бы с удовольствием использовал Acronis для всего, но не могу, т.к. лицухи стоят денег, а бюджет не резиновый. Потому и заглянул сюда, чтобы почитать о Bacula и понять сможет ли она полностью заменить виндовые решения или нет)
                                                      0
                                                      Ага… это верно.
                                                      но когда приходит манагер и говорит, мол, надо почту на эксчендж перевести, ибо ему хочется календарик, контактики и чтобы его виндофон все это из коробки принимал и синкал. а когда ты ему показываешь своё решение на никсах он трубит, что это не то, что много разных решений (разные вендоры, например)… вот тогда меня реально бесить начинает все что с виндой связано.

                                                      а меня часто отталкивают продукты, в которых все мышкой делать надо. хотя для винды акронис очень даже хорошая штука.
                                                        0
                                                        По этому поводу я сразу обговорил с начальством — IT решения принимаю Я и если советы принимаю только от технических специалистов. Остальная «важная шушера» идет лесом. Да я прибиваю плинтусы и и занимаюсь всем что только можно в офисе, но в эту сферу не лезет ни кто!
                                                        А все это потому что IT воспринимается как вспомогательный обслуживающий персонал. По этому поводу написано много, разглагольствовать не буду.
                                                          0
                                                          Это все понятно и верно… Но вот когда ты не являешься начальником и, тем более, действие происходит в госконторе…
                                                          Хотя с другой стороны… Мне немного сложно судить, ибо не являюсь ни начальником ни директором и не знаю подходы своего начальства.
                                  0
                                  Bacula бэкапит файлы. Например, при бэкапе СУБД, нужно сначала сохранить дамп базы в файл, затем отбэкапить этот файл. Хотя можно использовать именованный канал (fifo-файл).

                                  Bacula умеет выполнять скрипты. Если бы можно было с помощью запуска скрипта перед/после бэкапа решить проблему с usn rollback…
                                    0
                                    Само решение для бэкапа файлов Bacula очень неплоха, но к бизнес критичным приложениям типа КД, Exchange, 1C, SQL подпускать как-то боязно, надеюсь что будет у меня время и ресурсы для развертки полноценной модели для тестов.
                                    Да и если честно всегда с теплотой могу отозваться о *NIX системах, 1 раз настроил и забыл на пару лет, только диски подпихивать новые.
                                      0
                                      Трудно не согласится.
                                      Но насчет бизнес-критических приложений, я решил все перевести на linux основы… Почта на Zimbra, backup на Bacula, документооборот на Alfresco/Alvex. Остался MS DC перетащить (Zyntyal нахрапом взять не удалось, осталась чистую Samba пробовать)… А посему решение на bacula было идеальным — останавливай процессы скриптом, копируй opt и радуйся жизни.
                                      Заранее соглашусь что и тут есть подводные камни, и я их соберу когда нибудь и надеюсь успею поделится. Взламывать такой винегрет будет сложнее.
                                        0
                                        На счет DC — рекомендую FreeBSD. От новичка к профессионалу. 2-е изд. Д. Колисниченко. Очень хорошо написано про контроллер, в т.ч. RODC.
                                        За такие изменения — респект!
                                          0
                                          Спасибо. То что надо.
                                          Жаль только в epub'е ни где нету :( Придется тогда бумажную брать…
                                            0
                                            Если очень надо будет, то смогу странички про AD отсканировать.
                                              0
                                              меня в целом все интересует. давно хочу фряху изучить. думаю эта книга будет в самый раз.

                                Only users with full accounts can post comments. Log in, please.