Hi,

I have a Job that I want to use data spooling with. The Job reads from a
locally-mounted NFS share, and writes to an LTO-4 tape. Since writing to
tape will be faster than reading over the network, I want to spool the data
locally. However, when I run the job, it terminates with an error that it
cannot write to the spool directory.

Here is a message log from a job run that fails:

18-Jun 03:18 pacific-dir JobId 32: Start Backup JobId 32,
Job=SynologyTest.2020-06-18_03.18.31_03
18-Jun 03:18 pacific-dir JobId 32: Using Device "LTO-4" to write.
18-Jun 03:18 pacific-sd JobId 32: No slot defined in catalog (slot=0) for
Volume "Vol-A-0001" on "LTO-4" (/dev/nst0).
18-Jun 03:18 pacific-sd JobId 32: Cartridge change or "update slots" may be
required.
18-Jun 03:18 pacific-sd JobId 32: Volume "Vol-A-0001" previously written,
moving to end of data.
18-Jun 03:18 pacific-sd JobId 32: Ready to append to end of Volume
"Vol-A-0001" at file=2.
18-Jun 03:18 pacific-sd JobId 32: Fatal error: Open data spool file
/scratch/spool/pacific-sd.data.32.SynologyTest.2020-06-18_03.18.31_03.LTO-4.spool
failed: ERR=Permission denied
18-Jun 03:18 pacific-sd JobId 32: Fatal error: append.c:124 Write session
label failed. ERR=
18-Jun 03:18 pacific-sd JobId 32: Elapsed time=00:00:01, Transfer rate=0
 Bytes/second
18-Jun 03:18 pacific-fd JobId 32: Error: bsock.c:649 Write error sending
137 bytes to Storage daemon:127.0.0.1:9103: ERR=Broken pipe
18-Jun 03:18 pacific-fd JobId 32: Fatal error: backup.c:1028 Network send
error to SD. ERR=Broken pipe
18-Jun 03:18 pacific-fd JobId 32: Error: bsock.c:537 Socket has errors=1 on
call to Storage daemon:127.0.0.1:9103
18-Jun 03:18 pacific-fd JobId 32: Error: bsock.c:537 Socket has errors=1 on
call to Storage daemon:127.0.0.1:9103
18-Jun 03:18 pacific-dir JobId 32: Error: Bacula pacific-dir 9.0.6
(20Nov17):
  Build OS:               x86_64-pc-linux-gnu ubuntu 18.04
  JobId:                  32
  Job:                    SynologyTest.2020-06-18_03.18.31_03
  Backup Level:           Incremental, since=2020-06-18 02:08:02
  Client:                 "pacific-fd" 9.0.6 (20Nov17)
x86_64-pc-linux-gnu,ubuntu,18.04
  FileSet:                "SynologyTestFileSet" 2020-06-17 23:05:00
  Pool:                   "TapePool" (From Job resource)
  Catalog:                "MyCatalog" (From Client resource)
  Storage:                "LTO-4" (From Job resource)
  Scheduled time:         18-Jun-2020 03:18:29
  Start time:             18-Jun-2020 03:18:33
  End time:               18-Jun-2020 03:18:51
  Elapsed time:           18 secs
  Priority:               10
  FD Files Written:       1
  SD Files Written:       0
  FD Bytes Written:       0 (0 B)
  SD Bytes Written:       0 (0 B)
  Rate:                   0.0 KB/s
  Software Compression:   None
  Comm Line Compression:  None
  Snapshot/VSS:           no
  Encryption:             no
  Accurate:               no
  Volume name(s):
  Volume Session Id:      1
  Volume Session Time:    1592450219
  Last Volume Bytes:      391,523,328 (391.5 MB)
  Non-fatal FD errors:    3
  SD Errors:              1
  FD termination status:  Error
  SD termination status:  Error
  Termination:            *** Backup Error ***

Here is the device configuration from bacula-sd.conf:

Device {
  Name = LTO-4
  Media Type = LTO-4
  Archive Device = /dev/nst0
  AutomaticMount = yes;
  AlwaysOpen = yes;
  RemovableMedia = yes;
  RandomAccess = no;
  Maximum File Size = 10GB
  AutoChanger = yes
  Maximum Spool Size = 1000GB
  Spool Directory = "/scratch/spool"
}

Here are the JobDefs and Job from the director:

JobDefs {
  Name = "DefaultJob"
  Type = Backup
  Level = Incremental
  Client = pacific-fd
  FileSet = "Full Set"
  Schedule = "WeeklyCycle"
  Storage = File1
  Messages = Standard
  Pool = File
  SpoolAttributes = yes
  Priority = 10
  Write Bootstrap = "/var/lib/bacula/%c.bsr"
}

Job {
  Name = "SynologyTest"
  JobDefs = "DefaultJob"
  FileSet = "SynologyTestFileSet"
  Storage = LTO-4
  Pool = TapePool
  SpoolData = yes
}

The spool directory is configured to use /scratch/spool and /spool is a
RAID0 array. The array is mounted as read-write:

root@pacific:/etc/bacula# mount | grep scratch
/dev/md127p1 on /scratch type ext4 (rw,relatime,stripe=384,data=ordered)

The spool directory is owned by bacula (and permissioned to allow write by
all for troubleshooting):

root@pacific:/etc/bacula# ls -lsa /scratch/
total 28
 4 drw-------  4 bacula bacula  4096 Jun 18 01:55 .
 4 drwxr-xr-x 26 root   root    4096 Jun 18 01:55 ..
16 drwx------  2 root   root   16384 Jun 17 19:45 lost+found
 4 drwxrwxrwx  2 bacula bacula  4096 Jun 18 03:03 spool

Can someone point out where I am going wrong here? Perhaps this isn't
actually a permission problem?

If I disable the spool directory, the job does complete successfully.

Thanks,

-- 
Ryan Sizemore
_______________________________________________
Bacula-users mailing list
Bacula-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-users

Reply via email to