Hello list, I have spent much time trying to set up DVD-writing with Bacula, and almost made it work... But I come to you for (hopefully) the last step which I can't get working.
When running a backup job supposed to write on DVD, bacula-sd wait for me to mount a volume: "Please mount Volume "BaculaDVD0001" on Storage Device "DVD-Writer" (/dev/hdd) for Job Full_Set_on_DVD.2007-07-16_14.51.42", it says. How should I do that? The "mount" command from the console does not stop bacula for asking this. Mounting the DVD from command-line is impossible as the DVD is blank (has no FS). Shouldn't the mount happen automatically, as I asked for automatic labelling? Here below, the config and testing procedure details. Thanks a lot for any hint. I am stuck there since a very long time and already tried everything I could find in the mailing lists archive regarding this problem. Olivier ==Config== Bacula 2.0.3, installed using apt-get from Debian distribution "testing" AKA "lenny". Also tried with Bacula 1.38.11 (from "stable"), same behavior encountered (a bit worse, in fact, I can add details if somebody is interrested). Olivier:/etc/bacula# bacula-console Connecting to Director (address hidden):9101 1000 OK: Olivier-dir Version: 2.0.3 (06 March 2007) Olivier:/etc/bacula# growisofs --version * growisofs by <[EMAIL PROTECTED]>, version 7.0.1, front-ending to mkisofs: mkisofs 2.01.01a03-unofficial-iconv (i686-pc-linux-gnu) [most probably patched version, as it is the debian one] Olivier:/etc/bacula# uname -a Linux Olivier 2.6.15.6 #1 SMP Tue Mar 14 15:17:05 CET 2006 i686 GNU/Linux no automount (as far as I know) The three daemons run on the same computer, started from a root ("su") shell. Config files (see after for the tests I made): cat bacula-dir.conf | grep -v ^# | grep -v Password Director { # define myself Name = Olivier-dir DIRport = 9101 # where we listen for UA connections QueryFile = "/etc/bacula/scripts/query.sql" WorkingDirectory = "/var/lib/bacula" PidDirectory = "/var/run/bacula" Maximum Concurrent Jobs = 1 Messages = Daemon DirAddress = (hidden) } JobDefs { Name = "DefaultJob" Type = Backup Level = Incremental Client = Olivier-fd FileSet = "Full Set" Schedule = "WeeklyCycle" Storage = File Messages = Standard Pool = Default Priority = 10 } Job { Name = "Client1" JobDefs = "DefaultJob" Write Bootstrap = "/var/lib/bacula/Client1.bsr" } Job { Name = "Full Set on DVD" Enabled = no # disables auto run by scheduler Type = Backup Level = Full Client = Olivier-fd FileSet = "Full Set" Storage = "DVD-director-stor" Messages = Standard Pool = "DVDPool" Priority = 10 Write Bootstrap = "/var/lib/bacula/bootstrap-MonJob.bsr" } Job { Name = "BackupCatalog" JobDefs = "DefaultJob" Level = Full FileSet="Catalog" Schedule = "WeeklyCycleAfterBackup" Write Part After Job = yes # This creates an ASCII copy of the catalog RunBeforeJob = "/etc/bacula/scripts/make_catalog_backup -u<user> -p<password>" # This deletes the copy of the catalog RunAfterJob = "/etc/bacula/scripts/delete_catalog_backup" Write Bootstrap = "/var/lib/bacula/BackupCatalog.bsr" Priority = 11 # run after main backup } Job { Name = "RestoreFiles" Type = Restore Client=Olivier-fd FileSet="Full Set" Storage = File Pool = Default Messages = Standard Where = /tmp/bacula-restores } FileSet { Name = "Full Set" Include { Options { Compression=GZIP signature = MD5 } File = /usr/local/share/cruisecontrol } Exclude { File = /proc File = /tmp File = /.journal File = /.fsck } } Schedule { Name = "WeeklyCycle" Run = Full 1st sun at 23:05 Run = Differential 2nd-5th sun at 23:05 Run = Incremental mon-sat at 23:05 } Schedule { Name = "WeeklyCycleAfterBackup" Run = Full sun-sat at 23:10 } FileSet { Name = "Catalog" Include { Options { signature = MD5 } File = /var/lib/bacula/bacula.sql } } Client { Name = Olivier-fd Address = (hidden) FDPort = 9102 Catalog = MyCatalog File Retention = 30 days # 30 days Job Retention = 6 months # six months AutoPrune = yes # Prune expired Jobs/Files } Storage { Name = File Address = (hidden) # N.B. Use a fully qualified name here SDPort = 9103 Device = FileStorage Media Type = File } Storage { Name = "DVD-director-stor" Address = (hidden) # N.B. Use a fully qualified name here SDPort = 9103 Device = "DVD-Writer" MediaType = DVD } Catalog { Name = MyCatalog dbname = bacula; password = "@db_pswd@" } Messages { Name = Standard mailcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\) %r\" -s \"Bacula: %t %e of %c %l\" %r" operatorcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\) %r\" -s \"Bacula: Intervention needed for %j\" %r" mail = [EMAIL PROTECTED] = all, !skipped operator = [EMAIL PROTECTED] = mount console = all, !skipped, !saved append = "/var/lib/bacula/log" = all, !skipped } Messages { Name = Daemon mailcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\) %r\" -s \"Bacula daemon message\" %r" mail = [EMAIL PROTECTED] = all, !skipped console = all, !skipped, !saved append = "/var/lib/bacula/log" = all, !skipped } Pool { Name = Default Pool Type = Backup Recycle = yes # Bacula can automatically recycle Volumes AutoPrune = yes # Prune expired volumes Volume Retention = 365 days # one year Accept Any Volume = yes # write on any volume in the pool } Pool { Name = DVDPool LabelFormat = "BaculaDVD" Pool Type = Backup Recycle = no # Bacula can automatically recycle Volumes AutoPrune = yes # Prune expired volumes Volume Retention = 365 days # one year } Console { Name = Olivier-mon CommandACL = status, .status } cat bacula-sd.conf | grep -v ^# | grep -v Password Storage { # definition of myself Name = Olivier-sd SDPort = 9103 # Director's port WorkingDirectory = "/var/lib/bacula" Pid Directory = "/var/run/bacula" Maximum Concurrent Jobs = 20 SDAddress = (hidden) } Director { Name = Olivier-dir } Director { Name = Olivier-mon Monitor = yes } Device { Name = FileStorage Media Type = File Archive Device = /tmp LabelMedia = yes; # lets Bacula label unlabeled media Random Access = Yes; AutomaticMount = yes; #255652/888/32..3..2332 # when device opened, read it RemovableMedia = no; AlwaysOpen = no; } Device { Name = "DVD-Writer" Media Type = DVD Archive Device = /dev/hdd LabelMedia = yes; # lets Bacula label unlabeled media Random Access = Yes; AutomaticMount = yes; # when device opened, read it RemovableMedia = yes; AlwaysOpen = no; MaximumPartSize = 800M; RequiresMount = yes; MountPoint = /mnt/dvd; MountCommand = "/bin/mount -t iso9660 -o ro %a %m"; UnmountCommand = "/bin/umount %m"; SpoolDirectory = /tmp/backup; WritePartCommand = "/etc/bacula/scripts/dvd-handler %a write %e %v" FreeSpaceCommand = "/etc/bacula/scripts/dvd-handler %a free" } Messages { Name = Standard director = Olivier-dir = all } cat bacula-fd.conf | grep -v ^# | grep -v Password Director { Name = Olivier-dir } Director { Name = Olivier-mon Monitor = yes } FileDaemon { # this is me Name = Olivier-fd FDport = 9102 # where we listen for the director WorkingDirectory = /var/lib/bacula Pid Directory = /var/run/bacula Maximum Concurrent Jobs = 20 FDAddress = (hidden) } Messages { Name = Standard director = Olivier-dir = all, !skipped, !restored } == Test procedure == Using a DVD+RW disk. I blank the drive, then check that it can't be mounted. dd if=/dev/zero bs=1024 count=512 | growisofs -Z /dev/hdd=/dev/fd/0 Olivier:/etc/bacula# mount /dev/hdd /mnt/dvd mount: you must specify the filesystem type In the bacula console, after having restarted the three daemons, I check that no jobs are running and I use "update" to disable the current volume's status, if any (to start everything from scratch). Then I run the DVD-backup job: *run A job name must be specified. The defined Job resources are: 1: Client1 2: Full Set on DVD 3: BackupCatalog 4: RestoreFiles Select Job resource (1-4): 2 Run Backup job JobName: Full Set on DVD Level: Full Client: Olivier-fd FileSet: Full Set Pool: DVDPool (From Job resource) Storage: DVD-director-stor (From Job resource) When: 2007-07-17 14:43:26 Priority: 10 OK to run? (yes/mod/no): yes Job queued. JobId=39 *messages 17-jui 14:43 Olivier-dir: Start Backup JobId 39, Job=Full_Set_on_DVD.2007-07-17_14.43.30 17-jui 14:43 Olivier-dir: Created new Volume "BaculaDVD0003" in catalog. 17-jui 14:43 Olivier-sd: Please mount Volume "BaculaDVD0003" on Storage Device "DVD-Writer" (/dev/hdd) for Job Full_Set_on_DVD.2007-07-17_14.43.30 *mount The defined Storage resources are: 1: File 2: DVD-director-stor Select Storage resource (1-2): 2 3001 OK mount. Device="DVD-Writer" (/dev/hdd) *messages 17-jui 14:45 Olivier-sd: Please mount Volume "BaculaDVD0003" on Storage Device "DVD-Writer" (/dev/hdd) for Job Full_Set_on_DVD.2007-07-17_14.43.30 *status Status available for: 1: Director 2: Storage 3: Client 4: All Select daemon type for status (1-4): 2 The defined Storage resources are: 1: File 2: DVD-director-stor Select Storage resource (1-2): 2 Connecting to Storage daemon DVD-director-stor at (hidden):9103 Olivier-sd Version: 2.0.3 (06 March 2007) i486-pc-linux-gnu debian 4.0 Daemon started 17-jui-07 14:42, 0 Jobs run since started. Heap: bytes=156,816 max_bytes=222,620 bufs=118 max_bufs=123 Running Jobs: Writing: Full Backup job Full_Set_on_DVD JobId=39 Volume="BaculaDVD0003" pool="DVDPool" device=""DVD-Writer" (/dev/hdd)" spooling=0 despooling=0 despool_wait=0 Files=0 Bytes=0 Bytes/sec=0 FDReadSeqNo=6 in_msg=6 out_msg=4 fd=5 ==== Jobs waiting to reserve a drive: ==== Terminated Jobs: JobId Level Files Bytes Status Finished Name =================================================================== 6 0 0 OK 13-jui-07 14:19 RestoreFiles 15 Incr 112 325.5 K OK 13-jui-07 19:17 Client1 25 Full 0 0 Error 16-jui-07 11:07 Full_Set_on_DVD 27 Full 0 0 Cancel 16-jui-07 11:23 Full_Set_on_DVD 28 Full 0 0 Cancel 16-jui-07 11:29 Full_Set_on_DVD 33 Full 0 0 Cancel 16-jui-07 16:13 Full_Set_on_DVD 34 Full 0 0 Cancel 16-jui-07 16:15 Full_Set_on_DVD 35 Full 0 0 Cancel 17-jui-07 14:23 Full_Set_on_DVD 36 Incr 0 0 Cancel 17-jui-07 14:23 Client1 38 Full 0 0 Cancel 17-jui-07 14:40 Full_Set_on_DVD ==== Device status: Device "FileStorage" (/tmp) is not open. Device "DVD-Writer" (/dev/hdd) is not open. Device is BLOCKED waiting for media. ==== In Use Volume status: BaculaDVD0003 on device "DVD-Writer" (/dev/hdd) ==== == What works == (NB: /dev/cdrw is the same as /dev/dvd) Writing to DVD using growisofs works: growisofs -Z /dev/cdrw -R -J /etc => OK (mount then ls shows the /etc directory contents) Creating a "file1" random file, then writing it to DVD using dvd-handler script works: ls -l /tmp/file1 -rw-r--r-- 1 root root 82360320 2007-07-16 14:08 /tmp/file1 unmount DVD, blank it, then /etc/bacula/scripts/dvd-handler /dev/cdrw write 1 /tmp/file1 => OK (mount then ls and md5sum to check "file1" contents OK) Doing a simple "file" backup with bacula console works. The backup is indeed created in /tmp. Thanks again for any help. ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Bacula-users mailing list Bacula-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users