Bacula-users

Re: [Bacula-users] Virtual diff instead of full

2011-08-10 10:25:27
Subject: Re: [Bacula-users] Virtual diff instead of full
From: Marcus Hallberg <marcus AT wimlet DOT se>
To: bacula-users AT lists.sourceforge DOT net
Date: Wed, 10 Aug 2011 16:22:37 +0200 (CEST)
Hi!

Is there anyone out there that has seen this problem or have any idea of what 
it could be?

I have rewritten all the configparts related to this job, I have copied and 
pasted from other configfiles that works and as you can see from earlier 
postings it selcts the correct files needed to do the job but then it just 
ignores the fullbackup and starts reading from the diffbackup and if I let it 
do the job it finishes happy, says that it worked fine but the size is that of 
a diffbackup.

This problem is only for one backupjob all the others where I use VirtualFull 
is working great, unfortunatly this is my largest fullbackup so I would really 
want to make it work. 



/marcus 
-- 



/Marcus Hallberg 
Wimlet Consulting AB 
Gamla Varvsgatan 1 
414 59 Göteborg 
Tel: 031-3107000 
Direkt 031-3107010 
e-post: marcus AT wimlet DOT se 
hemsida: www.wimlet.se 

----- Ursprungligt meddelande -----
Från: "Marcus Hallberg" <marcus AT wimlet DOT se>
Till: bacula-users AT lists.sourceforge DOT net
Skickat: måndag, 25 jul 2011 11:47:10
Ämne: Re: [Bacula-users] Virtual diff instead of full

Hi!

Thanks for the tip and sorry for the delay in feedback.

I turned on logging and I have tried to sift through to find out where it goes 
wrong...

I made a new Differential backup and I tried to make a new VirtualFull but with 
the same result.

According to the logs it makes a query containing the four JobIds needed to 
complete a virtual full (42420,43284,43296,43332)

SELECT Path.Path, Filename.Name, Temp.FileIndex, Temp.JobId, LStat, MD5 FROM ( 
SELECT FileId, Job.JobId AS JobId, FileIndex, File.PathId AS PathId, 
File.FilenameId AS FilenameId, LStat, MD5 FROM Job, File, ( SELECT 
MAX(JobTDate) AS JobTDate, PathId, FilenameId FROM ( SELECT JobTDate, PathId, 
FilenameId FROM File JOIN Job USING (JobId) WHERE File.JobId IN 
(42420,43284,43296,43332) UNION ALL SELECT JobTDate, PathId, FilenameId FROM 
BaseFiles JOIN File USING (FileId) JOIN Job  ON    (BaseJobId = Job.JobId) 
WHERE BaseFiles.JobId IN (42420,43284,43296,43332) ) AS tmp GROUP BY PathId, 
FilenameId ) AS T1 WHERE (Job.JobId IN ( SELECT DISTINCT BaseJobId FROM 
BaseFiles WHERE JobId IN (42420,43284,43296,43332)) OR Job.JobId IN 
(42420,43284,43296,43332)) AND T1.JobTDate = Job.JobTDate AND Job.JobId = 
File.JobId AND T1.PathId = File.PathId AND T1.FilenameId = File.FilenameId ) AS 
Temp JOIN Filename ON (Filename.FilenameId = Temp.FilenameId) JOIN Path ON 
(Path.PathId = Temp.PathId) WHERE FileIndex > 0 ORDER BY Temp.JobId, FileIndex 
ASC;

If I query the database to make sure that this is the four jobbs needed I get 
the right result:

mysql> select Job, Type, Level, ClientId, JobStatus from Job where JobId = 
42420 or JobId = 43284 or JobId = 43296 or JobId = 43332;
+--------------------------------+------+-------+----------+-----------+
| Job                            | Type | Level | ClientId | JobStatus |
+--------------------------------+------+-------+----------+-----------+
| edstrom.2010-09-17_23.55.00_07 | B    | F     |        8 | T         |
| edstrom.2011-07-22_22.42.11_23 | B    | D     |        8 | T         |
| edstrom.2011-07-23_22.04.00_37 | B    | I     |        8 | T         |
| edstrom.2011-07-24_22.04.00_19 | B    | I     |        8 | T         |
+--------------------------------+------+-------+----------+-----------+
4 rows in set (0.00 sec)

After this I do not get another referens to the Fulljob not by JobId or by name 
but the Diffjob is referenced both by Id and by name.


I'm not really sure where to go from here so if anyone has an Ideas I am 
willing to try it.


/marcus 
-- 





----- Ursprungligt meddelande -----
Från: "James Harper" <james.harper AT bendigoit.com DOT au>
Till: "Marcus Hallberg" <marcus AT wimlet DOT se>, Bacula-users AT 
lists.sourceforge DOT net
Skickat: tisdag, 12 jul 2011 13:37:41
Ämne: RE: [Bacula-users] Virtual diff instead of full

> Hi!
> 
> I have problem with Virtual full on one set of backups where it does
not give
> me a virtual full but a virtual diff instead.
> 
> The last fullbackup was about 125 GB and an new estimate says that a
new full
> would be about 200 GB.
> 
> When I ask i to produce a new VirtualFull it starts reading from the
last Diff
> and gives me a virtual full file of about 50 GB wich is about the size
of my
> diffs.
> 
> Does anyone have any pointers they would be greatly appressiated
> 

If you want to get your hands dirty and like sifting through logfiles
you can turn on mysql logging (assuming you are using mysql) and have a
look at what queries are used to determine the volumes that make up the
virtualfull.

Regular bacula debug logging may help too.

James

------------------------------------------------------------------------------
Storage Efficiency Calculator
This modeling tool is based on patent-pending intellectual property that
has been used successfully in hundreds of IBM storage optimization engage-
ments, worldwide.  Store less, Store more with what you own, Move data to 
the right place. Try It Now! http://www.accelacomm.com/jaw/sfnl/114/51427378/
_______________________________________________
Bacula-users mailing list
Bacula-users AT lists.sourceforge DOT net
https://lists.sourceforge.net/lists/listinfo/bacula-users

------------------------------------------------------------------------------
uberSVN's rich system and user administration capabilities and model 
configuration take the hassle out of deploying and managing Subversion and 
the tools developers use with it. Learn more about uberSVN and get a free 
download at:  http://p.sf.net/sfu/wandisco-dev2dev
_______________________________________________
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>
  • Re: [Bacula-users] Virtual diff instead of full, Marcus Hallberg <=