Bacula-users

[Bacula-users] How to get free hard disk space back ?

2012-04-18 22:21:10
Subject: [Bacula-users] How to get free hard disk space back ?
From: Jerome Alet <jerome.alet AT univ-nc DOT nc>
To: bacula-users AT lists.sourceforge DOT net
Date: Thu, 19 Apr 2012 13:18:41 +1100
Hi,

We've got a Bacula 5.0.2 setup here under Debian (standard packages).

We only use hard disk storage pools, and have created 3 of them on a
single partition : FileFull, FileDifferential, and FileIncremental.

The problem is, after adding more and more servers to our backup
strategy over the years, we went out of free hard disk space, so I've
updated the configuration and database to expire jobs, files and volumes
after 45 days instead of 70 before.

I've also changed the configuration of the catalog backup job to be
something like this :

  RunBeforeJob = "/etc/bacula/scripts/make_catalog_backup bacula bacula xxx 
localhost"
  RunAfterJob  = "/etc/bacula/scripts/delete_catalog_backup"
  Write Bootstrap = "/backups/bootstraps/BackupCatalog-%n.bsr"
  Priority = 11                   # run after main backup
  RunScript {
      RunsWhen=After
      RunsOnClient=No
      Console = "purge volume action=all allpools storage=FileFull"
      Console = "purge volume action=all allpools storage=FileDifferential"
      Console = "purge volume action=all allpools storage=FileIncremental"
  }

And all storage pools are defined with "Action On Purge = Truncate"

But of course the volume that are purged remain on disk, and so our hard
disk is still full.

The problem is that the three storage pools reside on the same
partition, so for example you do an incremental backup, it will
correctly truncate one of the "dead" volumes and so on until the
incremental backup is done. At that time, our hard disk is still full.
But now a full backup takes place, and unfortunately there's no more any
volume from the Full storage pool to expire.

Of course Bacula won't reuse a "dead" volume from a different storage
pool, of which there are plenty, so now I can successfully do
incremental backups, since dead volumes are truncated when needed in
this pool, but my full backups don't work because there's no more volume
to recycle in the Full pool.

So I'd like to know the way to physically delete all dead volumes from
the disk with rm, regaining almost 50% of our total hard disk space
which is occuped by volumes containing expired datas.

I suppose there's some SQL query to launch to retrieve the list of them
all, and then another query to delete all matching records from the
database, but there are several tables involved and I don't want to make
an error.

So please could you tell me how to proceed now to :


 1 - Extract all the names of the "expired" volumes.

 2 - Clean my database from any and all "expired" volumes from all pools.

 3 - With the list obtained in 1 I think I'll be able to rm them ;-)

Thanks so much in advance.

--
Jérôme Alet - <jerome.alet AT univ-nc DOT nc> - Direction du Système 
d'Information
      Université de la Nouvelle-Calédonie - BPR4 - 98851 NOUMEA CEDEX
   Tél : +687 290081                                  Fax : +687 254829

------------------------------------------------------------------------------
For Developers, A Lot Can Happen In A Second.
Boundary is the first to Know...and Tell You.
Monitor Your Applications in Ultra-Fine Resolution. Try it FREE!
http://p.sf.net/sfu/Boundary-d2dvs2
_______________________________________________
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>