Hi,

First of all, if this topic has been already discussed, please redirect 
me to the location in question; I've tried searching the list but I 
haven't found anything relevant. 

I'm trying to implement Bacula and I'm still in the testing phase. 

My defined storage looks like this:

        Director Storage         
----------------------------------
Name  | Device      | Media Type  
----------------------------------
File  | FileStorage | FileSystem  
HDD   | HDDStorage  | HDisk       
Tape  | TapeStorage | Ultrium-1   

        Storage Daemon devices
----------------------------------------------------------
 Name        | Device Type | Media Type  | Archive Device
----------------------------------------------------------
 FileStorage |   File      | FileSystem  | /tmp
 HDDStorage  |   File      | HDisk       | /mnt/backup
 TapeStorage |   Tape      | Ultrium-1   | /dev/nst0

We have a tape drive and a cold swap HDD bay and the final goal is to 
make a weekly full backup on the tape and then a daily differential 
backup on the HDD device (as the HDD is replaced daily).  

The HDD is mounted on /mnt/backup. 

The tape volume is creatively labeled Tape001 and the HDD is labeled 
Disk003.

I can normally run backup and restore jobs with no problem, but 
sometimes (and I stress the "sometimes" part) Bacula seems to mismatch 
the storage name with the archive device. For instance, it would try to 
mount the tape volume in /mnt/backup (which is for the HDD storage) or 
the HD volume into /tmp (which is the File storage) or the Tape volume 
into /tmp.

Since I'm running the same job first at Full level on Tape storage then 
at Differential level on HDD storage, I have to use overrides and, 
coincidence or not, Bacula tries to use the original storage setting 
specified in the configuration file instead of the override used within 
the Schedule definition or entered when running the job manually.

After each of these, a restart of the director and the storage daemon 
temporarily solves the problem, i.e. the same identical job runs without 
problems, without any intervention in the configuration files. 
In other words, it always runs the first time after a restart of the 
daemons.

This happens to both backup jobs and restores.

It would look like this:

Run Restore job
JobName:    RestoreFiles
Bootstrap:  /var/bacula/fc6_32_build2-dir.restore.3.bsr
Where:      /tmp/bacula-restores
Replace:    always
FileSet:    FullSystem
Client:     Server_name
Storage:    Tape
When:       2007-03-23 14:32:22
Catalog:    MyCatalog
Priority:   10
OK to run? (yes/mod/no): yes
Job queued. JobId=4
*messages
23-Mar 14:32 fc6_32_build2-dir: Start Restore Job 
RestoreFiles.2007-03-23_14.32.37
23-Mar 14:32 fc6_32_build2-sd: RestoreFiles.2007-03-23_14.32.37 Warning: 
acquire.c:200 Read open device "FileStorage" (/tmp) Volume "Tape001" 
failed: 
ERR=dev.c:482 Could not open: /tmp/Tape001, ERR=No such file or 
directory

23-Mar 14:32 fc6_32_build2-sd: Please mount Volume "Tape001" on Storage 
Device "FileStorage" (/tmp) for Job RestoreFiles.2007-03-23_14.32.37
*
---------------------------------------------------------------------------
user cancelled job 4
restarted bacula director and sd
---------------------------------------------------------------------------
Run Restore job
JobName:    RestoreFiles
Bootstrap:  /var/bacula/fc6_32_build2-dir.restore.1.bsr
Where:      /tmp/bacula-restores
Replace:    always
FileSet:    FullSystem
Client:     Server_name
Storage:    Tape
When:       2007-03-23 14:35:21
Catalog:    MyCatalog
Priority:   10
OK to run? (yes/mod/no): yes
Job queued. JobId=5
*messages
23-Mar 14:35 fc6_32_build2-dir: Start Restore Job 
RestoreFiles.2007-03-23_14.35.44
*messages
You have no messages.
*messages
You have no messages.
*
23-Mar 14:35 fc6_32_build2-sd: Ready to read from volume "Tape001" on 
device "TapeStorage" (/dev/nst0).
23-Mar 14:35 fc6_32_build2-sd: Forward spacing Volume "Tape001" to 
file:block 
0:1.

... and everything works just fine.

I have the same issue when using run-only-once scheduled jobs; sometimes 
they mess up, but after restarting the daemons and modifying the 
schedule so it would run again, everything goes fine.

The Director and storage daemon are from bacula-mysql-2.0.2-1 running on 
Fedora 6.
I am backing-up/restoring two servers, one running bacula-client-2.0.2-1 
on RHEL4 and the other running bacula-client-2.0.3-1 on RHEL5 beta2.
The issue appears with jobs on both clients.

I'm a little puzzled, can anyone help ?

Thanks !

Best regards,
Andrei

P.S. Here are the job and storage definitions from the configuration 
files. 
The jobs are run with parameter overrides you can see in the schedule 
definition.

-----------------------
bacula-dir.conf:

Job {
  Name = "BackupYoyo"
  JobDefs = "StandardJob"
  Client = Yoyo
  Level = Full
  Storage = HDD
  FileSet = "FullSystem"
  Priority = 7
  Schedule = BackupCycle
  Enabled=yes
  Client Run Before Job = "/etc/init.d/httpd stop"
  Client Run Before Job = "/etc/init.d/postfix stop"
  Client Run Before Job = "/etc/init.d/xendomains stop"
  Client Run Before Job = "/etc/init.d/xend stop"

  Client Run After Job = "/etc/init.d/xend start"
  Client Run After Job = "/etc/init.d/xendomains start"
  Client Run After Job = "/etc/init.d/postfix start"
  Client Run After Job = "/etc/init.d/httpd start"
}

Job {
  Name = "RestoreFiles"
  Type = Restore
  Client = Yoyo
  FileSet = "FullSystem"                  
  Storage = File                      
  Pool = Default
  Messages = Standard
  Where = /tmp/bacula-restores
}

Schedule {
  Name = "BackupCycle"
  Run = Level=Full Storage=Tape fri at 15:40
  Run = Level=Differential Storage=HDD fri at 16:10
}

# Definition of file storage device
Storage {
  Name = File
  Address = server.domain.com
  SDPort = 9103
  Password = "some_pwd"
  Device = FileStorage
  Media Type = FileSystem
}

Storage {
  Name = HDD
  Address = server.domain.com
  SDPort = 9103
  Password = "some_pwd"
  Device = HDDStorage
  Media Type = HDisk
}


# Definition of DDS tape storage device
Storage {
  Name = Tape    
  Address = server.domain.com   
  SDPort = 9103
  Password = "some_pwd"
  Device = TapeStorage                
  Media Type = Ultrium-1              
}

--------------------------------
bacula-sd.conf:

Device {
  Name = FileStorage
  Device Type = File
  Media Type = FileSystem
  Archive Device = /tmp
  LabelMedia = yes;            
  Random Access = Yes;
  AutomaticMount = yes;        
  RemovableMedia = no;
  AlwaysOpen = no;
}

Device {
  Name = HDDStorage
  Device Type = File
  Media Type = HDisk
  Archive Device = /mnt/backup
  LabelMedia = yes;            
  Random Access = Yes;
  AutomaticMount = yes;        
  RemovableMedia = yes;
  AlwaysOpen = no;
}

Device {
  Name = TapeStorage           
  Device Type = Tape
  Media Type = Ultrium-1
  Archive Device = /dev/nst0
  AutomaticMount = yes;        
  AlwaysOpen = yes;
  RemovableMedia = yes;
  RandomAccess = no;
}





-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Bacula-users mailing list
Bacula-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-users

Reply via email to