Thank you Dan, here's all information I have
Before posting, it's an evidence, I searched on my friend google, but
the only concrete solution I found was to change permission on /dev/nst0.
before : crw-rw---- 1 root tape 9, 128 2006-05-03 17:51 /dev/nst0
after : crw-rw---- 1 bacula tape 9, 128 2006-05-03 17:51 /dev/nst0
I found this solution dirty because at every reboot /dev/nst0 recover
root owner. but, it's true, this solution works.
So I was wondering if there were an elegant answer. like using sudo?
Do you think using sudo with something like that is pretty ?
# /etc/sudoers
Host_Alias MES_ORDIS = localhost
User_Alias MES_USERS = bacula
Cmnd_Alias MES_COMMANDES = /bin/mt
root ALL=(ALL) ALL
MES_USERS MES_ORDIS=(root)NOPASSWD:MES_COMMANDES
in fact it seems that this sudo config isn't sufficient : I have this
message 2 times :
1) at beginning of backup but I don't know which binary try to access
/dev/nst0
2) at ending of backup but I know : my after_backup_script do a mt
rewind and mt eject...
But you're right, my question was too short I didn't give you
anything. So :
--------------------------------------------------------------------------------
My configuration is :
- Dell poweredge 1850 / Certance Ultrium LTO2 (powervault 110T)
- Debian Sarge 3.1 stable with custom kernel 2.6.12.6
- bacula installation by apt-get (1.36)
--------------------------------------------------------------------------------
id bacula returns :
uid=108(bacula) gid=108(bacula) groupes=108(bacula),26(tape)
(why bacula can't do mt correctly??? he's in tape group??!!)
--------------------------------------------------------------------------------
My syslog :
(snip)
May 3 23:50:04 server02 kernel: st0: Block limits 1 - 16777215 bytes.
May 3 23:50:04 server02 kernel: st0: MTSETDRVBUFFER only allowed for
root.
(snip)
May 4 03:46:05 server02 kernel: st0: MTSETDRVBUFFER only allowed for
root.
(snip)
--------------------------------------------------------------------------------
my bacula.log with the job result :
03-May 23:50 server02-dir: Created new FileSet record "WeeklySet"
2006-05-03 23:50:02
03-May 23:50 server02-dir: Start Backup JobId 21,
Job=NightlySave.2006-05-03_23.50.00
03-May 23:50 server02-dir: Recycled volume "mercredi"
03-May 23:50 server02-sd: Recycled volume "mercredi" on device
"/dev/nst0", all previous data lost.
04-May 03:46 server02-dir: Bacula 1.36.2 (28Feb05): 04-May-2006 03:46:00
JobId: 21
Job: NightlySave.2006-05-03_23.50.00
Backup Level: Full
Client: server02-fd
FileSet: "WeeklySet" 2006-05-03 23:50:02
Pool: "WednesdayPool"
Storage: "LTO-2"
Start time: 03-May-2006 23:50:02
End time: 04-May-2006 03:46:00
FD Files Written: 258,198
SD Files Written: 258,198
FD Bytes Written: 87,399,243,313
SD Bytes Written: 87,447,439,486
Rate: 6173.1 KB/s
Software Compression: 36.1 %
Volume name(s): mercredi
Volume Session Id: 1
Volume Session Time: 1146671501
Last Volume Bytes: 87,554,491,405
Non-fatal FD errors: 0
SD Errors: 0
FD termination status: OK
SD termination status: OK
Termination: Backup OK
04-May 03:46 server02-dir: Begin pruning Jobs.
04-May 03:46 server02-dir: No Jobs found to prune.
04-May 03:46 server02-dir: Begin pruning Files.
04-May 03:46 server02-dir: No Files found to prune.
04-May 03:46 server02-dir: End auto prune.
04-May 03:46 server02-dir: Start Backup JobId 22,
Job=Catalog.2006-05-03_23.51.00
04-May 03:46 server02-sd: Volume "mercredi" previously written, moving
to end of data.
04-May 03:47 server02-sd: Ready to append to end of Volume "mercredi"
at file=88.
04-May 03:47 server02-dir: Max Volume jobs exceeded. Marking Volume
"mercredi" as Used.
04-May 03:48 server02-dir: Bacula 1.36.2 (28Feb05): 04-May-2006 03:48:28
JobId: 22
Job: Catalog.2006-05-03_23.51.00
Backup Level: Full
Client: server02-fd
FileSet: "Catalog" 2006-04-29 03:51:07
Pool: "WednesdayPool"
Storage: "LTO-2"
Start time: 04-May-2006 03:46:02
End time: 04-May-2006 03:48:28
FD Files Written: 1
SD Files Written: 1
FD Bytes Written: 10,356,813
SD Bytes Written: 10,356,924
Rate: 70.9 KB/s
Software Compression: 70.4 %
Volume name(s): mercredi
Volume Session Id: 2
Volume Session Time: 1146671501
Last Volume Bytes: 87,564,867,307
Non-fatal FD errors: 0
SD Errors: 0
FD termination status: OK
SD termination status: OK
Termination: Backup OK
04-May 03:48 server02-dir: Begin pruning Jobs.
04-May 03:48 server02-dir: No Jobs found to prune.
04-May 03:48 server02-dir: Begin pruning Files.
04-May 03:48 server02-dir: No Files found to prune.
04-May 03:48 server02-dir: End auto prune.
04-May 03:48 server02-dir: RunAfter: mt: /dev/nst0: Permission denied
04-May 03:48 server02-dir: RunAfter: mt: /dev/nst0: Permission denied
--------------------------------------------------------------------------------
my bacula-dir.conf :
#
----------------------------------------------------------------------------------
# Bacula Director Configuration file ETRANGES LIBELLULES
#
----------------------------------------------------------------------------------
#
Director {
Name = server02-dir
DIRport = 9101
QueryFile = "/etc/bacula/scripts/query.sql"
WorkingDirectory = "/var/lib/bacula"
PidDirectory = "/var/run/bacula"
Maximum Concurrent Jobs = 1
Password = "*******"
Messages = Standard
}
#
----------------------------------------------------------------------------------
Job {
Name = "NightlySave"
Type = Backup
Client = server02-fd
FileSet = "WeeklySet"
Schedule = "WeeklyCycle"
Storage = LTO-2
Messages = Standard
Pool = Default
Write Bootstrap = "/var/lib/bacula/NightlySave.bsr"
Max Start Delay = 22h
Priority = 10
}
Job {
Name = "Catalog"
Type = Backup
Client = server02-fd
FileSet = "Catalog"
Schedule = "WeeklyCycleAfterBackup"
Storage = LTO-2
Messages = Standard
Pool = Default
RunBeforeJob = "/etc/bacula/scripts/make_catalog_backup -ubacula
-p*******"
RunAfterJob = "/etc/bacula/scripts/end_of_backup.sh"
Write Bootstrap = "/var/lib/bacula/BackupCatalog.bsr"
Priority = 11
Max Start Delay = 22h
}
Job {
# default restoration
Name = "RestoreFiles"
Type = Restore
Client = server02-fd
FileSet = "WeeklySet"
Storage = LTO-2
Pool = Default
Messages = Standard
Where = /mnt/SAN01/vd6_backup/restore
}
#
----------------------------------------------------------------------------------
FileSet {
Name = "WeeklySet"
Include {
Options {
signature = MD5
compression = GZIP6
}
File = /mnt/SAN01/vd2_gestion
File = /mnt/SAN01/vd5_projet
}
Exclude {
File = /mnt/SAN01/vd2_gestion/lost+found
File = /mnt/SAN01/vd5_projet/lost+found
}
}
FileSet {
Name = "Catalog"
Include {
Options {
signature = MD5
compression = GZIP6
}
File = /var/lib/bacula/bacula.sql
}
}
FileSet {
Name = "test"
Include {
Options {
signature = MD5
compression = GZIP6
}
File = /mnt/SAN01/vd5_projet/test
}
Exclude {
File = /mnt/SAN01/vd5_projet/test/exclude
}
}
#
----------------------------------------------------------------------------------
Schedule {
Name = "WeeklyCycle"
Run = Level=Full Pool=MondayPool Monday at 23:50
Run = Level=Full Pool=TuesdayPool Tuesday at 23:50
Run = Level=Full Pool=WednesdayPool Wednesday at 23:50
Run = Level=Full Pool=ThursdayPool Thursday at 23:50
Run = Level=Full Pool=WeeklyPool Friday at 23:50
}
Schedule {
Name = "WeeklyCycleAfterBackup"
Run = Level=Full Pool=MondayPool Monday at 23:51
Run = Level=Full Pool=TuesdayPool Tuesday at 23:51
Run = Level=Full Pool=WednesdayPool Wednesday at 23:51
Run = Level=Full Pool=ThursdayPool Thursday at 23:51
Run = Level=Full Pool=WeeklyPool Friday at 23:51
}
#
----------------------------------------------------------------------------------
Client {
Name = server02-fd
Address = server02
FDPort = 9102
Catalog = MyCatalog
Password = "*******"
File Retention = 30 days
Job Retention = 30 days
AutoPrune = yes
}
#
----------------------------------------------------------------------------------
Storage {
Name = File
Address = server02
SDPort = 9103
Password = "*******"
Device = FileStorage
Media Type = File
}
Storage {
Name = LTO-2
Address = server02
SDPort = 9103
Password = "*******"
Device = LTO-2
Media Type = LTO-2
}
#
----------------------------------------------------------------------------------
Catalog {
Name = MyCatalog
dbname = bacula; DB Address = localhost; user = bacula; password =
"*******"
}
#
----------------------------------------------------------------------------------
Messages {
Name = Standard
mailcommand = "/usr/lib/bacula/bsmtp -h 192.168.1.1 -f \"\(Bacula\)
%r\" -s \"Bacula: %t %e of %c %l\" %r"
operatorcommand = "/usr/lib/bacula/bsmtp -h 192.168.1.1 -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
}
# Message delivery for daemon messages (no job).
Messages {
Name = Daemon
mailcommand = "/usr/lib/bacula/bsmtp -h 192.168.1.1 -f \"\(Bacula\)
%r\" -s \"Bacula daemon message\" %r"
mail = [EMAIL PROTECTED] = all, !skipped
console = all, !skipped, !saved
append = "/var/lib/bacula/log" = all, !skipped
}
#
----------------------------------------------------------------------------------
# Default pool definition
Pool {
Name = Default
Pool Type = Backup
Recycle = yes # Bacula can automatically
recycle Volumes
AutoPrune = yes # Prune expired volumes
Volume Retention = 1 years # one year
Accept Any Volume = yes # write on any volume in the pool
}
Pool {
Name = MondayPool
Pool Type = Backup
Recycle = yes
AutoPrune = yes
Volume Retention = 6d
Maximum Volume Jobs = 2
}
Pool {
Name = TuesdayPool
Pool Type = Backup
Recycle = yes
AutoPrune = yes
Volume Retention = 6d
Maximum Volume Jobs = 2
}
Pool {
Name = WednesdayPool
Pool Type = Backup
Recycle = yes
AutoPrune = yes
Volume Retention = 6d
Maximum Volume Jobs = 2
}
Pool {
Name = ThursdayPool
Pool Type = Backup
Recycle = yes
AutoPrune = yes
Volume Retention = 6d
Maximum Volume Jobs = 2
}
Pool {
# on garde un vendredi de côté
Name = WeeklyPool
Pool Type = Backup
Recycle = yes
AutoPrune = yes
Volume Retention = 12d
Maximum Volume Jobs = 2
}
#
----------------------------------------------------------------------------------
# Restricted console used by tray-monitor to get the status of the
director
Console {
Name = server02-mon
Password = ""
CommandACL = status, .status
}
Dan Langille a écrit :
On 4 May 2006 at 10:25, [EMAIL PROTECTED] wrote:
At beginning and ending of my backup i receive this message in my
syslog : kernel: st0: MTSETDRVBUFFER only allowed for root
What does it mean?
Does this Google search help? http://tinyurl.com/lyvps
Failing that, you need to show us the job output, tell us what OS
you're using, and the version of Bacula. It'll also help to know
what UID/GID each bacula daemon is using, and the permissions on st0.