Bacula-users

Re: [Bacula-users] VirtualFull and NextPool definitions, good practice to "create a loop" ?

2013-02-24 06:22:22
Subject: Re: [Bacula-users] VirtualFull and NextPool definitions, good practice to "create a loop" ?
From: Adrian Reyer <bacula-lists AT lihas DOT de>
To: "Masopust, Christian" <christian.masopust AT siemens DOT com>
Date: Sun, 24 Feb 2013 12:18:37 +0100
Hi Christian,

On Fri, Feb 22, 2013 at 09:23:05AM +0100, Masopust, Christian wrote:
> I've now defined the necessary two pools but am unsure now if it is a good 
> practice to
> create a "loop" in these pools:
> I googled a lot and found some concerns that these configuration can cause a 
> deadlock, is that right?

If you only have one or two drives, you will have a deadlock for sure
quite fast. You need to make sure you have enough drives available for
at least 1 process writing the virtual full and 1 job reading the last
virtual full/differential/incremental backup. If you do backup-to-disk,
I suggest a vchanger with many drives.

> If not using that loop I found that the Virtual Full backups alternate 
> between the two pools but the
> differential and incremental are always done to the first pool.  What I would 
> like is that all diff and incr
> backups are done to that pool that has the most recent full backup and I 
> think that will be possible
> by defining the loop above, right?

Not really with that loop alone, and if I get it right not directly with
plain bacula config. You would need two alternating schedules for the
same job that select the right pool. Bacula defines target pools, but it
doesn't actually check the pool when it collects data, it just takes the
data it needs for the complete virtual full, regardless in which pools
it resides.

> So.... how do you configure your Virtual Full?  What is the best practice for 
> it?

An alternate way is to just have your backup pool for everyday backups
and a dummy virtualfull-pool for the virtual full run, just having your
normal backup pool as 'next pool', see
http://thread.gmane.org/gmane.comp.sysutils.backup.bacula.devel/14084
for a similar question, referenced from
http://article.gmane.org/gmane.comp.bacula.user/69268

E.g.:
Pool {
  Name = Pool1
  ....
}
Pool {
  Name = Pool2
  ...
  Next Pool = Pool1
}
Job {
  Name "Job1"
  Pool = Pool1
  ...
}
Schedule {
  Name = "Schedule1"
  Run = Level=VirtualFull Pool=Pool2 1st sat at 16:05
  Run = Level=Differential 2nd-5th sat at 20:05
  Run = Level=Incremental  sun-fri at 21:05
}

> And... how likely is it that a deadlock can/will occur?

Without enough drives: 100%
The minimum number for 'enough' is 2, if you have other jobs running
same time, you need more. 'Spool Data' might help, but technically it
doesn't sound especially bright to copy things from disk via disk to
disk instead of from disk to disk. Respectively for Tape: Tape-Disk-Tape
instead of Tape-Tape, while with tapes it might have a benefit in terms
of tape wearing.

Regards,
        Adrian
-- 
LiHAS - Adrian Reyer - Hessenwiesenstraße 10 - D-70565 Stuttgart
Fon: +49 (7 11) 78 28 50 90 - Fax:  +49 (7 11) 78 28 50 91
Mail: lihas AT lihas DOT de - Web: http://lihas.de
Linux, Netzwerke, Consulting & Support - USt-ID: DE 227 816 626 Stuttgart

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
_______________________________________________
Bacula-users mailing list
Bacula-users AT lists.sourceforge DOT net
https://lists.sourceforge.net/lists/listinfo/bacula-users
<Prev in Thread] Current Thread [Next in Thread>