планирование

253 views
Skip to first unread message

sinaps

unread,
Aug 3, 2011, 3:59:49 AM8/3/11
to ru-b...@googlegroups.com
Здравствуйте.

Пытаюсь спланировать бекап но немного путаюсь. Хочется разобрать общий случай, что бы, в случае необходимости вернуться к теме через полгода, не нужно было мучительно вспоминать "как же это оно тут всё работает".

Думаю хранить в течении недели суточные копии, в течении месяца недельные, и в течении года ежемесячные. Это разумно или на инкрементах много не сэкономишь? Да, понимаю что инкременты могут быть разные, но хочется оглядываться на распространённый случай.

Если применять такой план то, насколько я могу видеть, разделить эти три случая можно можно только сохраняя их в разные пулы и указанием соответственного периода хранения для каждого пула.

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

Решаема ли такая задача или лучше так не планировать?

rogozhnik...@gmail.com

unread,
Aug 3, 2011, 6:00:20 AM8/3/11
to ru-b...@googlegroups.com
Этот случай описан в Bacula Main Reference Guide, глава 27, Automated Disk Backup. http://bacula.org/5.0.x-manuals/en/main/main.pdf

sinaps

unread,
Aug 4, 2011, 1:27:58 AM8/4/11
to ru-b...@googlegroups.com
Спасибо, именно этот случай и достаточно ясно описано.

sinaps

unread,
Aug 5, 2011, 2:10:33 PM8/5/11
to ru-bacula
Насколько я понял, такое поведение определяется следующими параметрами
в задании:

Full Backup Pool = Full-Pool
Incremental Backup Pool = Inc-Pool
Differential Backup Pool = Diff-Pool

которые и распределяют копирование по пулам. Описание для этих
параметров я нашёл здесь: http://bacula.org/5.0.x-manuals/en/main/main/Configuring_Director.html

Но здесь возникает и ещё одно желание, распределить их также по разным
накопителям. В моём случае это разные винчестеры с разной надёжностью,
а в общем случае можно сочетать диски с лентами например складывая на
вторые долговременные архивы а на первые короткоживущие. Но судя по
всему для storage в секции job таких изысков уже не предусмотрено?

Или я не нашёл?

Andrey Rogozhnikov

unread,
Aug 6, 2011, 1:54:01 AM8/6/11
to ru-b...@googlegroups.com


2011/8/6 sinaps <a.sin...@gmail.com>

Таки не нашли. В мануале по ссылке говорится, что Storage должен быть определен хотя бы в одном из ресурсов - Job или Pool. Storage в Job имеет приоритет над пулом, но если его не указывать, то можно в каждом пуле приписывать разные хранилища и тем самым решить задачу (секции The Job Resource и The Pool Resource).

Хотя лично мне кажется, что если разговор идет о винчестерах (для бэкапов!) с разной надежностью, то надежность всей системы оказывается равна надежности самого "плохого" винчестера. Следовательно, такие диски лучше вообще исключить ради собственного спокойствия.

--
С уважением,
 Андрей Рогожников                    mailto:rogozhnik...@gmail.com

sinaps

unread,
Aug 6, 2011, 4:44:29 AM8/6/11
to ru-bacula

On 6 авг, 09:54, Andrey Rogozhnikov <rogozhnikov.and...@gmail.com>
wrote:
> 2011/8/6 sinaps <a.sinit...@gmail.com>

> > Насколько я понял, такое поведение определяется следующими параметрами
> > в задании:
>
> >  Full Backup Pool = Full-Pool
> >  Incremental Backup Pool = Inc-Pool
> >  Differential Backup Pool = Diff-Pool
>
> > которые и распределяют копирование по пулам. Описание для этих
> > параметров я нашёл здесь:
> >http://bacula.org/5.0.x-manuals/en/main/main/Configuring_Director.html
>
> > Но здесь возникает и ещё одно желание, распределить их также по разным
> > накопителям. В моём случае это разные винчестеры с разной надёжностью,
> > а в общем случае можно сочетать диски с лентами например складывая на
> > вторые долговременные архивы а на первые короткоживущие. Но судя по
> > всему для storage в секции job таких изысков уже не предусмотрено?
>
> > Или я не нашёл?
>
> Таки не нашли. В мануале по ссылке говорится, что Storage должен быть
> определен хотя бы в одном из ресурсов - Job или Pool. Storage в Job имеет
> приоритет над пулом, но если его не указывать, то можно в каждом пуле
> приписывать разные хранилища и тем самым решить задачу (секции The Job
> Resource и The Pool Resource).
>

Спасибо. У меня теплилась надежда :)

> Хотя лично мне кажется, что если разговор идет о винчестерах (для бэкапов!)
> с разной надежностью, то надежность всей системы оказывается равна
> надежности самого "плохого" винчестера. Следовательно, такие диски лучше
> вообще исключить ради собственного спокойствия.
>

С этим всё просто.

Можно складывать полные резервные копии на хороший винчестер и на
долгий срок, а инкрементными добивать тот, которому уже недолго
осталось. Вероятность того что одновременно понадобится бекап и
откажет накопитель не очень большая, но если это случится то самое
худшее что ждёт - последний бекап окажется чуть старее. Но смарт никто
не отменял и по идее он должен дать о себе знать заблаговременно.

В случае же с совмещением лент (впрочем, это уже не мой случай) и
дисков мне кажется разделить полные бекапы на ленты а инкрементные на
диски тоже может быть разумным. Насколько я понимаю, как бы ни были
хороши ленты - чем меньше их механически гонять тем дольше они будут
жить, тогда как для дисков постоянная перезапись это уже скорее
нормально.

И чтоб два раза не вставать, по поводу БД (дамп sql): я правильно
понимаю что в их случае инкрементные копии не имеют смысла,
оказываются такими же полными?

Собственно для того что бы организовать такое же расписание хранения
видимо нужно будет просто использовать такую же схему, при этом все
бекапы фактически будут полными но согласно названию (D, I) они
разложатся по пулам на соответственные периоды.

Сергей

unread,
Aug 6, 2011, 6:52:03 AM8/6/11
to ru-b...@googlegroups.com
Можно в расписаниях указывать пулы, когда что куда писать, примерно так

JobDefs {
  Name = "DefaultJob"
  Type = Backup
  Level = Incremental
  FileSet = "Full Set"
  Schedule = "WeeklyCycle"
  Storage = DDS-4.orca.HP
  Messages = Standard
  Pool = Default
  Full Backup Pool = pool.tape.6m
  Differential Backup Pool = pool.disk.2m
  Incremental Backup Pool = pool.disk.2w
  Priority = 10
  Cancel Queued Duplicates = yes
  Cancel Lower Level Duplicates = yes
  SpoolData = yes
}


Schedule {
  Name = "WeeklyCycle"
  Run = Level=Full jan 3rd fri at 09:05
  Run = Level=Full jul 1st fri at 09:05
  Run = Level=Differential SpoolData=yes 1st-3rd fri at 23:05
  Run = Level=Differential SpoolData=yes 5th fri at 23:05
  Run = Level=Differential Pool=pool.tape.2m 4th fri at 14:05
  Run = Level=Incremental  SpoolData=no mon-thu at 23:05
  Run = Level=Incremental  SpoolData=no sat at 23:05
}


По поводу БД - все зависит от собственно СУБД и от задачи, единого решения нет


Andrey Rogozhnikov

unread,
Aug 6, 2011, 10:11:44 AM8/6/11
to ru-b...@googlegroups.com


2011/8/6 sinaps <a.sin...@gmail.com>

 И чтоб два раза не вставать, по поводу БД (дамп sql): я правильно
понимаю что в их случае инкрементные копии не имеют смысла,
оказываются такими же полными?

Да, так как файл дампа оказывается изменившимся при каждом бэкапе.
 

 Собственно для того что бы организовать такое же расписание хранения
видимо нужно будет просто использовать такую же схему, при этом все
бекапы фактически будут полными но согласно названию (D, I) они
разложатся по пулам на соответственные периоды.

Так как дамп каталога все равно оказывается полным бэкапом, то нет смысла заводить для него инкременты.

sinaps

unread,
Aug 6, 2011, 10:34:46 AM8/6/11
to ru-bacula

On 6 авг, 18:11, Andrey Rogozhnikov <rogozhnikov.and...@gmail.com>
wrote:
> 2011/8/6 sinaps <a.sinit...@gmail.com>

> >  Собственно для того что бы организовать такое же расписание хранения


> > видимо нужно будет просто использовать такую же схему, при этом все
> > бекапы фактически будут полными но согласно названию (D, I) они
> > разложатся по пулам на соответственные периоды.
>
> Так как дамп каталога все равно оказывается полным бэкапом, то нет смысла
> заводить для него инкременты.
>

Наверно я неправильно выразился.

Хочется использовать ту же схему: неделю ежедневный, месяц
еженедельный и дольше ежемесячный. Но для этого я пока знаю только
один приём: разделить на инкрементальные, декрементальные и полные.
Специфика БД видимо скажется только в том, что при разных названиях
они все фактически будут полными, но желаемое расписание хранения
должно получиться.

Andrey Rogozhnikov

unread,
Aug 6, 2011, 12:42:35 PM8/6/11
to ru-b...@googlegroups.com


2011/8/6 sinaps <a.sin...@gmail.com>

> >  Собственно для того что бы организовать такое же расписание хранения
> > видимо нужно будет просто использовать такую же схему, при этом все
> > бекапы фактически будут полными но согласно названию (D, I) они
> > разложатся по пулам на соответственные периоды.
>
> Так как дамп каталога все равно оказывается полным бэкапом, то нет смысла
> заводить для него инкременты.
>

 Наверно я неправильно выразился.

 Хочется использовать ту же схему: неделю ежедневный, месяц
еженедельный и дольше ежемесячный. Но для этого я пока знаю только
один приём: разделить на инкрементальные, декрементальные и полные.
Специфика БД видимо скажется только в том, что при разных названиях
они все фактически будут полными, но желаемое расписание хранения
должно получиться.

Мне кажется, что написать отдельный ресурс Schedule для бэкапа каталога не будет большой проблемой.

sinaps

unread,
Aug 6, 2011, 2:27:00 PM8/6/11
to ru-bacula

On 6 авг, 20:42, Andrey Rogozhnikov <rogozhnikov.and...@gmail.com>
wrote:

> >  Хочется использовать ту же схему: неделю ежедневный, месяц
> > еженедельный и дольше ежемесячный. Но для этого я пока знаю только
> > один приём: разделить на инкрементальные, декрементальные и полные.
> > Специфика БД видимо скажется только в том, что при разных названиях
> > они все фактически будут полными, но желаемое расписание хранения
> > должно получиться.
>
> Мне кажется, что написать отдельный ресурс Schedule для бэкапа каталога не
> будет большой проблемой.
>

Да, конечно не проблема. Собственно бекап каталога бакулы задан в
конфигурационных файлах по умолчанию, и для любой другой базы данных
его легко взять за основу.

То что меня здесь задержало - это повторение странного расписания
хранения. Хочется найти компромисс между занимаемым местом и частотой
копий. И здесь хорошо выглядит рассмотренная, и описанная в Main
Reference Guide, схема, когда свежие копии хранятся все, а чем старее
- тем реже.

С дампом базы данных правда от инкрементов остаётся только название,
но по крайней мере остаётся возможность прореживать копии по мере
старения.

В общем, ещё раз спасибо.

Reply all
Reply to author
Forward
0 new messages