Bacula-users

Re: [Bacula-users] The tipically error: Cannot find any appendable volumes.

2009-06-22 01:13:51
Subject: Re: [Bacula-users] The tipically error: Cannot find any appendable volumes.
From: Bruno Friedmann <bruno AT ioda-net DOT ch>
Date: Mon, 22 Jun 2009 07:09:09 +0200
Reynier Pérez Mira wrote:
> Bruno Friedmann wrote:
>> Ok for the pool you have a maximum of two volumes and a recycle delay
>> at 1 year.
>> Even if you are making incremental backup, you have the limit of
>> Maximum Volume Jobs = 1
>> Which allow you to save only two jobs on this pool.
>>
>> Did you really save this fd only once a year ? That's sound strange to
>> me ...
> 
> No my politics is:
> - Full 4th sunday (the last of the month)
> - Differential (every sunday except the last one)
> - Incremental (diary except sundays)
> 
> Wich will be the correct setup for this politics?
> 

Ok in my case I use something like you, just I made the full on the 1st sun 
because of some month having 5 weeks.
+1 data_year

I prepare 4 pools : data_day, data_week, data_month, data_year

For bacula-sd I define a Device different for each type of backup
This is not really mandatory, It just help with restore, and keep files well 
organize.
It also simplify my bash job which export to off-site.

# Day Device
Device {
  Name = SDev_DATA_FSDAY
  Media Type = FSDAY_DATA
  Archive Device = /bacula.storage/FS_DAY/
  AutomaticMount = Yes;
  AlwaysOpen = No;
  RemovableMedia = No;
  LabelMedia = Yes;
}

# Week Device
Device {
  Name = SDev_DATA_FSWEEK
  Media Type = FSWEEK_DATA
  Archive Device = /bacula.storage/FS_WEEK/
  AutomaticMount = Yes;
  AlwaysOpen = No;
  RemovableMedia = No;
  LabelMedia = Yes;
}

# Month Device
Device {
  Name = SDev_DATA_FSMONTH
  Media Type = FSMONTH_DATA
  Archive Device = /bacula.storage/FS_MONTH/
  AutomaticMount = Yes;
  AlwaysOpen = No;
  RemovableMedia = Yes;
  LabelMedia = Yes;
}

# Year Device
Device {
  Name = SDev_DATA_FSYEAR
  Media Type = FSYEAR_DATA
  Archive Device = /bacula.storage/FS_YEAR/
  AutomaticMount = Yes;
  AlwaysOpen = No;
  RemovableMedia = Yes;
  LabelMedia = Yes;
}

Now in the bclient conf which is include in dir with the command @

There's a job def, a pool def, a storage def for each time sequence, eventually 
a different fileset

#
# DAY DATA
Job {
  Name = "Data-DayJob"                  # Nom du job
  JobDefs = "DefBackupJob"              # Base du job
  Client = "yoda-fd"                    # nom du client défini plus haut
  Type = Backup                         # Type
  FileSet = "FileSet_DATA_Full"         # Correspond au FileSet défini plus bas
  Schedule = "Schedule_G_Day"           # L'ordonnancement normal
  Storage = Store_DATA_FSDAY            # Doit correspondre à ce qui est défini 
dans bacula-sd.conf
  Messages = Standard                   # Mode de communication des messages, 
défini dans "   "
  Pool = Pool_DATA_DAY                  # Lieu de rassemblement des médias
  Write Bootstrap = "/var/lib/bacula/data_DayJob.bsr"      # Tape Bootstrap
  Priority = 10                         # Niveau de priorité
  Maximum Concurrent Jobs = 5           # Nombre de jobs
  Max Wait Time = 9 hours               # Temps d'attente maximum
}

# DATA File Daily pool definition
Pool {
  Name = Pool_DATA_DAY
  Pool Type = Backup
  Recycle = yes                         # Bacula can automatically recycle 
Volumes
  Recycle Current Volume = yes
  AutoPrune = yes                       # Prune expired volumes
  Volume Retention = 13 days 12 hours   # Expires automatically after pay 
attention that volume really expire after that.
  LabelFormat = "DDATA-"                # AutoLabel media inside the pool 
${WeekDay:p/2/0/r}(day 0 to 6 0=Sunday)
  Maximum Volumes = 14                  # 1 by day for 2 weeks
  Maximum Volume Jobs = 1               # 1 job by volume
}

# Def file storage device DAY
Storage {
  Name = Store_DATA_FSDAY
  Address = bacula-sd.local
  SDPort = 9103
  Password = "this is secret"
  Device = SDev_DATA_FSMONTH
  Media Type = FSMONTH_DATA
  Maximum Concurrent Jobs = 5
}

I don't repeat the conf for week, month, year quite same things.

Now in global definition ( depending of the volume of data & number of fd ) I 
define global schedules

Schedule {
  Name = "Schedule_G_Day"        # For days backup
  Run = Full Pool=Pool_DATA_DAY sun at 22:00             # One full by week here
  Run = Incremental Pool=Pool_DATA_DAY  mon-sat at 22:00 #
}

# Here we can bundle Week & Month in one schedule.
Schedule {
  Name = "Schedule_G_WeekMonth"                # For month ending and normal 
week
  Run = Full Pool=Pool_DATA_MONTH 1st sun at 00:15
  Run = Differential Pool=Pool_DATA_WEEK 2nd-5th sun at 00:15
}

Schedule {
  Name = "Schedule_G_Year"      # For yearly backup
  Run = Full 1st jan at 06:00
}

Hope this help you a bit.

Keep in mind, this is only one way of doing things in Bacula.
It's a bit old as we start doing this like this from version 1.32 of bacula.
( Just adapting tape to file ).


>> For the svn you save, I would dump the svn structure, and save the
>> dump with svnadmin dump command

> I don't know how to do this. Where I can find relative information?
> Cheer

All infos are in the documentation of svn here
http://svnbook.red-bean.com/en/1.0/re31.html

I've a bash script doing a loop to my svn repositories directoy making a dump 
for each repository.


Perharps with the new plugin ability in bacula > 3 there's a more elegant 
fashion.
(Anybody have already done it ? )


-- 

     Bruno Friedmann


------------------------------------------------------------------------------
Are you an open source citizen? Join us for the Open Source Bridge conference!
Portland, OR, June 17-19. Two days of sessions, one day of unconference: $250.
Need another reason to go? 24-hour hacker lounge. Register today!
http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org
_______________________________________________
Bacula-users mailing list
Bacula-users AT lists.sourceforge DOT net
https://lists.sourceforge.net/lists/listinfo/bacula-users