Hi Martin,
I managed to get back on my feet: there were several issues that made
things difficult to understand, but you helped me a lot.
Thank you so much !
And thanks also to everyone who spent time on my problem !
Best,
Sam


Le ven. 13 déc. 2024 à 19:05, Martin Simmons <mar...@lispworks.com> a
écrit :

> Using 'o' in the fileset accurate option has caused problems with restore
> for
> another user on the list recently.  I don't know if it could also break
> estimate.  Have you used the 'o' option in previous incremental backups?
>
> Accurate backups assume that the full path to each file is the same as
> before.
> Has /path/to/ARCHIVES (the root of the backup) changed since previous
> backups?
> Have you renamed/moved any files or directories within the files being
> backed
> up?
>
> You could try to find more info about some file that is being included
> unexpectedly by:
>
> 1. Add the listing option to the two estimate commands and record the
> outputs
> somewhere.
>
> 2. Find a file in the accurate=yes listing that doesn't appear in the
> accurate=no listing.
>
> 3. Run this SQL command:
>
> SELECT DISTINCT Job.JobId,StartTime AS JobStartTime,VolumeName, File.lstat
>  FROM Job,Path,File,Media,JobMedia,Client
>  WHERE File.JobId=Job.JobId
>  AND File.FileIndex > 0
>  AND Path.Path='%1'
>  AND File.FileName='%2'
>  AND Client.Name='%3'
>  AND Path.PathId=File.PathId
>  AND JobMedia.JobId=Job.JobId
>  AND JobMedia.MediaId=Media.MediaId
>  AND Client.ClientId=Job.ClientId
>  ORDER BY Job.StartTime DESC LIMIT 1;
>
> where %1 is the full path to the directory of the file with trailing
> slash, %2
> is the filename of the file and %3 is the Bacula client name (lto8-fd).
>
> 4. Run the shell commands:
>
> stat /full/path/to/filename
>
> stat -t /full/path/to/filename
>
> __Martin
>
>
> >>>>> On Wed, 11 Dec 2024 11:37:19 +0100, Samuel Zaslavsky said:
> >
> > Hello everyone !
> >
> > Any ideas for solving this problem?
> > I'm stuck here...
> >
> > Thanks a lot for your help,
> >
> > Best,
> >
> > Sam
> >
> >
> > Le ven. 6 déc. 2024 à 12:38, Samuel Zaslavsky <s...@w4tch.tv> a écrit :
> >
> > > Hello all,
> > >
> > > Sorry for this late reply.  (According to Murphy's law, our Bacula
> server
> > > failed, and it took some time to figure out that the SAS card was
> dead, and
> > > get another one ...)
> > >
> > > I did some tests, and there's something new :
> > > In fact, the fileset seems to be OK, and the Incremental "could"
> resume...
> > >
> > > If I do an estimate without accurate, I get around 18K files / 3To ,
> which
> > > looks like "OK" for incremental :
> > >
> > > *estimate accurate=no level=incremental job=BackupARCHIVES
> > > Using Catalog "MyCatalog"
> > > Connecting to Client lto8-fd at localhost:9102
> > > 2000 OK estimate files=17,949 bytes=3,465,825,854,672
> > >
> > > But with accurate=yes , I get 530K files / 23To, which is (almost ? see
> > > below) a FULL backup  :
> > >
> > > *estimate accurate=yes level=incremental job=BackupARCHIVES
> > > Using Catalog "MyCatalog"
> > > Connecting to Client lto8-fd at localhost:9102
> > > 2000 OK estimate files=530,779 bytes=23,005,947,679,372
> > >
> > > So I have tried to estimate my job with acurate=true and several
> options
> > > for accurate in the fileset :
> > >
> > > FileSet {
> > >   Name = "ARCHIVES"
> > >   Ignore FileSet Changes=yes
> > >   Include {
> > >     Options {
> > >                 signature=MD5
> > >                 *#I have tried many accurate options here :  mcso5,
> mso5,
> > > so5,M,m,o5,sm,s, or nothing (line commented)*
> > >                 accurate=s
> > >                 mtimeonly=yes
> > >                 #Verify = pin5
> > >     }
> > >         File = /path/to/ARCHIVES
> > >   }
> > >
> > >   Exclude {
> > >         File = "/path/to/ARCHIVES/#recycle"
> > >   }
> > > }
> > >
> > > But all my attempts with Job accurate=yes give me almost the same
> result -
> > > but slightly different sometimes ( could be 531,057 files, or 530,719
> > > or 530,779 files, depending on the accurate option chosen...)
> > >
> > > As I understand it, accurate=s in the Fileset definition should tell
> > > Bacula that a file with "same path, same size" shouldn't be backed up
> > > again...
> > > But this isn't the case and my understanding is clearly wrong...
> > > And as I understand it also, accurate=no would lead, in case of
> restore,
> > > to restore even suppressed and moved files, which is not what I want.
> > >
> > > So I am stuck : resume incremental backup without accurate option, or
> > > restart a full backup with accurate option. Or understand better
> things ...
> > > :)
> > > Can anyone help me there ?
> > >
> > > Thanks a lot !
> > >
> > > Sam
> > >
> > >
> > > Le mar. 12 nov. 2024 à 17:18, Radosław Korzeniewski <
> > > rados...@korzeniewski.net> a écrit :
> > >
> > >> Hello,
> > >>
> > >> wt., 12 lis 2024 o 12:00 Samuel Zaslavsky <s...@w4tch.tv> napisał(a):
> > >>
> > >>> So, precisely, how does Bacula "decides" a fileset is different from
> > >>> another one ?
> > >>>
> > >>
> > >> Bacula is checking the fileset changes based on a fileset content.
> > >>
> > >>
> > >>> Where is this information stored in the database ?
> > >>>
> > >>
> > >> It is a fileset table.
> > >>
> > >>
> > >>> How could I trick bacula to believe that all previous jobs have been
> > >>> made with the new fileset : This would be OK for me !
> > >>> My idea was that it would be using the fileset.md5 field (or
> createtime
> > >>> ?)
> > >>>
> > >>
> > >> From what I know Bacula is checking the md5 column for this purpose.
> So,
> > >> if your new fileset md5 will be the same of which is already saved
> then
> > >> Bacula won't have any traces it is a different fileset.
> > >>
> > >>
> > >>>
> > >>> So, a few related questions : When will bacula add another entry in
> the
> > >>> fileset database table ?
> > >>>
> > >>
> > >> If your current configuration includes a selected fileset and md5 does
> > >> not match the one saved in the database then Bacula will create a new
> entry.
> > >>
> > >>
> > >>> It seems it's not when doing an estimate...
> > >>> So, should I start ( and abort quickly) a dummy job using the "new"
> > >>> fileset, to see the "new" fileset in the database ? And then try to
> trick
> > >>> Bacula into thinking the old one is the new one ?
> > >>>
> > >>
> > >> Yes, it sounds good to me.
> > >>
> > >>
> > >>> If this is a pertinent approach, how exactly do that ?
> > >>> For example, where in the database is the information that a "file"
> > >>> belongs to some files set ?
> > >>>
> > >>
> > >> Database relation.
> > >> bacula=# \d file
> > >>                                 Table "public.file"
> > >>   Column   |   Type   | Collation | Nullable |               Default
> > >>
> > >>
> > >>
> -----------+----------+-----------+----------+--------------------------------------
> > >>  fileid    | bigint   |           | not null |
> > >> nextval('file_fileid_seq'::regclass)
> > >>  jobid     | integer  |           | not null |
> > >> ...
> > >> bacula=# \d job
> > >>                                              Table "public.job"
> > >>       Column       |            Type             | Collation |
> Nullable |
> > >>              Default
> > >>
> > >>
> -------------------+-----------------------------+-----------+----------+------------------------------------
> > >>  jobid             | integer                     |           | not
> null |
> > >> nextval('job_jobid_seq'::regclass)
> > >>  filesetid         | integer                     |           |
>   |
> > >> 0
> > >> ...
> > >> bacula=# \d fileset
> > >>                                             Table "public.fileset"
> > >>    Column   |            Type             | Collation | Nullable |
> > >>            Default
> > >>
> > >>
> ------------+-----------------------------+-----------+----------+--------------------------------------------
> > >>  filesetid  | integer                     |           | not null |
> > >> nextval('fileset_filesetid_seq'::regclass)
> > >>
> > >> Is it in the file.lstat column ? If yes, how is it "encoded" here ?
> > >>>
> > >>
> > >> This column is a "direct" serialisation of lstat(2), struct stat {};
> > >> buffer. It is (to some extent) OS dependent.
> > >>
> > >>
> > >>>
> > >>> Basically, I need to understand how the relationship between fileset
> > >>> conf <--> fileset in database <--> files in fileset is handled...
> > >>>
> > >>>
> > >> When Bacula detects a fileset change, because the md5 is different
> then
> > >> the one saved in the database then it creates a new entry. Then a job
> will
> > >> get a new filesetid as a reference for job entry in the database and
> all
> > >> files saved will get a jobid reference.
> > >>
> > >>
> > >>> Or maybe I am completely wrong here ?
> > >>>
> > >>
> > >> You are just asking questions. You can't be wrong asking questions.
> > >>
> > >>
> > >>> The filesystem to be backed up is mounted as NFS share on the bacula
> > >>> host.
> > >>>
> > >>
> > >> Any chance you can access this filesystem directly without mounting
> it on
> > >> the remote host? It would be better.
> > >>
> > >>
> > >>> Is it possible that the reboot/remount changed a key parameter for
> > >>> Bacula ?
> > >>>
> > >>
> > >> Well. Let's assume your first mount point is: /mnt/data. Then you
> reboot
> > >> and the new mount point is /mnt/data1. Then it makes a huge
> difference for
> > >> Bacula, for sure.
> > >>
> > >>
> > >>> So that Bacula recognizes well the filesystem as the old one,
> > >>>
> > >>
> > >> It doesn't matter. What matters are some metadata for the file, i.e.
> > >> modify time. You can configure what metadata should be verified in
> this
> > >> case. But you can't force Bacula to not backup a file which does not
> exist
> > >> at the previous backup jobs.
> > >>
> > >>
> > >>> but doesn't recognize any file anymore ? ( Remember that fileset
> name,
> > >>> and all paths in the fileset configuration are the same as before ! )
> > >>>
> > >>
> > >> I'm pretty sure your fileset content is different then the one used
> > >> before, so Bacula wants to create a full backup.
> > >>
> > >> best regards
> > >> --
> > >> Radosław Korzeniewski
> > >> rados...@korzeniewski.net
> > >>
> > >
> >
>
_______________________________________________
Bacula-users mailing list
Bacula-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-users

Reply via email to