Bacula-users

[Bacula-users] bugs?

2009-01-27 23:41:46
Subject: [Bacula-users] bugs?
From: Basura <basura AT sympatico DOT ca>
To: bacula-users AT lists.sourceforge DOT net
Date: Tue, 27 Jan 2009 23:38:59 -0500
hey guys i think i've identified 2 bugs but i wanted to see if anyone else could reproduce them before i submit them
i'm using ubuntu and bacula 2.4.2

1) manual modification when running a job is not honored:

Run Backup job
JobName:  Big hilikus-pc Backup
Level:    Incremental
Client:   hilikus-pc-fd
FileSet:  hilikus-pc Big Set
Pool:     big (From Job resource)
Storage:  Files To Burn (From Pool resource)
When:     2009-01-27 19:24:15
Priority: 10
OK to run? (yes/mod/no): mod
Parameters to modify:
     1: Level
     2: Storage
     3: Job
     4: FileSet
     5: Client
     6: When
     7: Priority
     8: Pool
Select parameter to modify (1-8): 2
The defined Storage resources are:
     1: File
     2: Files To Burn
     3: DVD
Select Storage resource (1-3): 3
Run Backup job
JobName:  Big hilikus-pc Backup
Level:    Incremental
Client:   hilikus-pc-fd
FileSet:  hilikus-pc Big Set
Pool:     big (From Job resource)
Storage:  DVD (From user selection)
When:     2009-01-27 19:24:15
Priority: 10
OK to run? (yes/mod/no): yes

27-Jan 19:24 mazinger-dir JobId 227: Start Backup JobId 227, Job=Big_hilikus-pc_Backup.2009-01-27_19.24.07
27-Jan 19:24 mazinger-dir JobId 227: Created new Volume "Big_hilikus-pc_Backup.2009-01-27_19.24.07-Incremental" in catalog.
27-Jan 19:24 mazinger-dir JobId 227: Using Device "ToBurn"
27-Jan 19:24 mazinger-sd JobId 227: Labeled new Volume "Big_hilikus-pc_Backup.2009-01-27_19.24.07-Incremental" on device "To Burn" (/var/backups/bacula/dvd).

the device actually used is the device from the original storage "Files to burn" and NOT from "DVD"

Device {
  Name = "To Burn"
  Media Type = "Burn Files"
  Archive Device = /var/backups/bacula/dvd
  Maximum Part Size = 1049.6M  #to create 4 files in a 4.7GiB dvd, it adds up t\
o 4.1GB and the disk is 4.3GB
  LabelMedia = yes;                   # lets Bacula label unlabeled media
  Random Access = Yes;
  AutomaticMount = yes;               # when device opened, read it
  RemovableMedia = no;
  AlwaysOpen = no;
  Device Type = File
}

Device {
 Name = "DVD Writer"
 Media Type = DVD
 Device Type = DVD
 Archive Device = /dev/dvdrw1
 #Archive Device = /dev/scd0 #actual device (no links)
 LabelMedia = yes;                   # lets Bacula label unlabeled media
 Random Access = Yes;
 AutomaticMount = yes;               # when device opened, read it
 RemovableMedia = yes;
 AlwaysOpen = no;
 MaximumPartSize = 1049.6M; #to create 4 files in a 4.7GiB dvd, it adds up to 4\
.1GB and thi disk is 4.3GB
 RequiresMount = yes;
 MountPoint = "/media/cdrom";
 #MountCommand = "/bin/mount -t iso9660 %a %m";
 MountCommand = "/bin/mount %m";
 UnmountCommand = "/bin/umount %m";
 SpoolDirectory = "/var/backups/bacula/spool";
 WritePartCommand = "/etc/bacula/scripts/dvd-handler %a write %e %v"
 FreeSpaceCommand = "/etc/bacula/scripts/dvd-handler %a free"
}

and to make sure this is not a problem with the director this is the relevant section from bacula-dir.conf
Storage {
  Name = "DVD"
#  Do not use "localhost" here
  Address = mazinger                # N.B. Use a fully qualified name here
  SDPort = 9103
  Password = "some password"
  Device = "DVD Writer"
  MediaType = "DVD"
}

Storage {
  Name = "Files To Burn"
# Do not use "localhost" here
  Address = mazinger                # N.B. Use a fully qualified name here
  SDPort = 9103
  Password = "some passowrd"
  Device = "To Burn"
  Media Type = "Burn Files"
}


2) Maximum part size ignored for device type File
although i had a discussion here with some guys i'm still convinced that bacula is not doing what the documentation says:

Maximum Part Size = bytes
This is the maximum size of a volume part file. The default is no limit. This directive is implemented only in version 1.37 and later.

If the device requires mount, it is transferred to the device when this size is reached. In this case, you must take care to have enough disk space left in the spool directory.

Otherwise, it is left on the hard disk.

It is ignored for tape and FIFO devices.

it doesn't say anything about being ignored for File backups.

Now if i understand correctly, this argument is similar to maximum volume bytes except that it is handled by the storage daemon. So the SD needs to split files, the director doesn't know anything about storing stuff so limitations like "this file is too big for iso9660" should be handled by the SD. The director sees everything as 1 single volume (or several if there are reasons to split a volume OTHER than storage, which is not the director's job).

Yes, You can accomplish the same thing with max volume bytes (e.g. split volumes in 1GB chunks) but this Device directive is there for a reason. Now, having presented my argument for why i think a workaround at the volume level is not very good, is the actual bug. The argument that takes care of splitting volumes for storage purposes (Maximum Part Size) is not working on File storage. With the same Device directive i pasted before, bacula produced a volume with volBytes=2,672,706,936 (which is correct, since i didn't tell it to split volumes) but it's storage file is also a single file of that same size, which violates the argument that i gave it since it is more than the maximum size.

maybe these bugs have been addressed in newer versions not yet in ubuntu? i checked the changelogs in the bugs website and couldn't find anything about them


Alejandro

------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
_______________________________________________
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>