Bacula-users

Re: [Bacula-users] About retention, and pruning.

2011-04-28 11:37:03
Subject: Re: [Bacula-users] About retention, and pruning.
From: Hugo Letemplier <hugo.let.35 AT gmail DOT com>
To: bacula-users <bacula-users AT lists.sourceforge DOT net>
Date: Thu, 28 Apr 2011 17:33:48 +0200
2011/4/28 Hugo Letemplier <hugo.let.35 AT gmail DOT com>:
> Hi,
>
> I am adding this to precise question and "reopen" the topic.
> I read many time the chapter of the documentation but I was never sure
> of what I understood.
>
> As you know when you do an inc you need a " sequence of job " : at
> least a full + maybe 1 diff + maybe many incs
> That would be nice to have some security option that make sure that a
> full a diff or a previous inc wont be purged although  there is still
> a valid job that is dependent of theses ones.
> For the moment i have set 3 pools for a "kind of data" ( ex: mail data )
> For the full I configured on 0 (unlimited)
> For the diff 2 week
> For the incs 1 week
>
> one problem is that the last inc of a sequence will be kept whereas
> the first inc of the same sequence is purged.
>
> when I do a diff that should be like that :
>
> diff  : ==================>
> inc  :   =======>>>
> inc  :     =======>>
> inc  :       =======>
>
> and not like that :
> diff  : ==================>
> inc  :   =======>
> inc  :     =======>
> inc  :       =======>
>
> Can you tell me if bacula, when it's going to purge a job check if
> another job depends of the one that it's going to purge ?
>
> 2011/3/24 Hugo Letemplier <hugo.let.35 AT gmail DOT com>:
>> Hi,
>>
>> Hi,
>> I work for an enterprise that need a good backup software and I chosen 
>> Bacula;
>> I am now trying to configure it but I have a doubt.
>> I am setting up a disk based backup server with manual LTO tapes archiving.
>> I have 4 "Class" of data to backup :
>> -My mail server
>> -My infrastructure (DNS, Directory…)
>> -My file server
>> -My information services
>>
>> I created 3 pools per class (Full - Diff - Inc ) plus one more for
>> Archive with an infinite retention.
>>
>> My question, for the moment is about my file server that represent the
>> biggest amount of data to backup and the higher backup frequency w/
>> the datas of the intra/extranet software
>>
>> My difficulties are in setting retention periods for my pools. I read
>> a bacula-dir.conf example and I saw that it keeps the full for one 1
>> year.
>> I am about to keep my full for 28 weeks my diff for 4 weeks my inc for 10 
>> days
>> I will do 1 inc per day 2 diff per months and 3 full per year
>> How can I be sure that it will work ? If I do my last inc does it will
>> update retention time on the previous incs so the restore would be
>> possible 1 week after the last inc.
>> as an example:
>> - 1st inc (1 week retention)
>> - 2nd inc (1 w)
>> - 3rd inc (1 w)
>> .....
>> - 8th inc (1 w)
>>
>> I have the same kind of question with many jobs of different level.
>> Does a higher level job inherits the lower job retention ? Indeed, an
>> inc need the full and eventually a diff to be fully restored.
>> Does bacula come with a mechanism
>> that avoid an inc or a diff to be there without the full (or the diff,
>> and previous incs) that it used as a base ?
>>
>> My second question is more bound to my file server. How can I
>> "estimate" and configure safely job retention because I have no idea
>> on how my datas will grow job after job ? Is there a good method ?
>>
>> I am using bacula 5.0.3 on CentOS 5.5
>>
>> I hope you understood my English and you will have a time to answer my
>> questions.
>>
>> Thank you very much in advance.
>>
>> Hugo
>>
>

I have made some tests:
Here is my pool configuration
 Job {
     Name = "Test:retention"
     Schedule = "Test:retention"
     Type = Backup
     Pool = default
     Full Backup Pool = TestRetention-full
         Incremental Backup Pool = TestRetention-incs
     Client = bacula-fd
     Priority = 10
     Fileset = Test:retention
     Spool Data  = no
     Spool Attributes = yes
     Messages = Standard
}
Schedule {
        Name = "Test:retention"
        Run = Full hourly at 00:40
        Run = Incremental hourly at 00:50
        Run = Incremental hourly at 00:00
        Run = Incremental hourly at 00:10
        Run = Incremental hourly at 00:20
        Run = Incremental hourly at 00:30
}
Pool {                                                  
        Name = TestRetention-full
        Storage = "Local"
        Pool Type = Backup
        Recycle = yes                                   
        AutoPrune = yes                                 
        Maximum Volume Bytes = 5G               
        Maximum Volumes = 100   
        Volume Retention = 1 hour
        File retention = 1 hour
        Job retention = 1 hour
        Use volume once = yes
}

Pool {                                                  
        Name = TestRetention-incs
        Storage = "Local"
        Pool Type = Backup
        Recycle = yes                                   
        AutoPrune = yes
        Use volume once = yes
        Maximum Volume Bytes = 5G               
        Maximum Volumes = 100                   
    Volume Retention = 20 minutes
        Label Format = "TestRetention-"
        File retention = 20 minutes
        Job retention = 20 minutes
        Use volume once = yes
}

After the job ran many times: I have the following volume <=> job matching
Vol name   Level      Time
Test1         Full        15:50
324            Inc         16:00
325            Inc         16:10
326            Inc         16:20
324            Inc         16:30
Test2         Full        16:40
325            Inc         16:50
326            Inc         17:00

This is problematic because Vol324 is recycled instead of creating a new one
I am not sure to understand the various retention periods : File, job, volume
I think that I can increase the retention times but the problem will
always be the same.
ex : if I keep my incremental one hour then my first ones will always
be purged first
In a good strategy you purge the full sequence of incremental at the
same time because you need to recycle you volume and don't want to
keep a recent volume (incremental) without the previous ones.

To do that I imagine that I need to create one pool per day and reduce
progressively the retention periods. It doesn't makes sense !
 I turned the problem on all its sides but I cant find a good
solution. Maybe the other retention period are the solution but I
didn't succeeded ?
Thanks in advance

Hugo

------------------------------------------------------------------------------
WhatsUp Gold - Download Free Network Management Software
The most intuitive, comprehensive, and cost-effective network 
management toolset available today.  Delivers lowest initial 
acquisition cost and overall TCO of any competing solution.
http://p.sf.net/sfu/whatsupgold-sd
_______________________________________________
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>