Hello,

Running 2 jobs with same priority at the same is running well.
So I used the priority to order the start of the jobs and try to run
different priority jobs by using "Allowed Mixed Priority = yes" for
all the relevant jobs:

# Job definition for rotate
JobDefs {
  Name = "RotateJob"
  Type = Backup
  Level = Incremental
  Schedule = "Cycle"
  Max Start Delay = 1240000
  Max Wait Time = 3600000
  Max Run Time = 3600000
  Spool Data = yes
  Spool Attributes = yes
  Messages = Standard
  Pool = Daily
  Storage = "Disk2"
  Incremental Backup Pool = Daily
  Differential Backup Pool = Weekly
  Full Backup Pool = Monthly
  Rerun Failed Levels = yes
  Allow Duplicate Jobs = no
  Cancel lower level duplicates = yes
  Cancel Queued Duplicates = yes
  Cancel Running Duplicates = no
  Accurate = yes
  Priority = 9
  Allow Mixed Priority = yes
}
…

Here for each priority one job def:

…
Job {
  Name = "conny_full"
  JobDefs = "RotateJob"
  Client = conny-fd
  FileSet = "Full Set"
  Write Bootstrap = "/var/lib/bacula/conny_full.bsr"
}

Job {
  Name = "conny_home"
  JobDefs = "RotateJob"
  Client = conny-fd
  FileSet = "home Set"
  Write Bootstrap = "/var/lib/bacula/conny_home.bsr"
  Priority = 13
}

Job {
  Name = "nihilnihil_home"
  JobDefs = "RotateJob"
  Client = nihilnihil-fd
  FileSet = "home wo WinWork Set"
  Write Bootstrap = "/var/lib/bacula/nihilnihil_home.bsr"
  Priority = 12
}
…

By the way only nihilnihil_home is running for the moment although:

*status dir
backup-dir Version: 9.4.2 (04 February 2019) x86_64-pc-linux-gnu debian 
buster/sid
Daemon started 21-May-20 22:27, conf reloaded 21-May-2020 22:27:40
 Jobs: run=560, running=6 mode=0,0
 Heap: heap=913,408 smbytes=378,789 max_bytes=951,271 bufs=1,227 max_bufs=1,521
 Res: njobs=40 nclients=17 nstores=6 npools=10 ncats=1 nfsets=8 nscheds=3

Scheduled Jobs:
Level          Type     Pri  Scheduled          Job Name           Volume
===================================================================================
Incremental    Backup     9  06-Jul-20 23:50    backup_full        DISK005
Incremental    Backup     9  06-Jul-20 23:50    nihilnihil_full    DISK005
Incremental    Backup     9  06-Jul-20 23:50    conny_full         DISK005
Incremental    Backup     9  06-Jul-20 23:50    mail_full          DISK005
Incremental    Backup     9  06-Jul-20 23:50    file_full          DISK005
Incremental    Backup     9  06-Jul-20 23:50    web_full           DISK005
Incremental    Backup    12  06-Jul-20 23:50    nihilnihil_home    DISK005
Incremental    Backup    13  06-Jul-20 23:50    web_server         DISK005
Incremental    Backup    13  06-Jul-20 23:50    file_home          DISK005
Incremental    Backup    13  06-Jul-20 23:50    conny_home         DISK005
Incremental    Backup    13  06-Jul-20 23:50    mail_home          DISK005
Full           Backup    19  06-Jul-20 23:51    BackupCatalog      DISK002
====

Running Jobs:
Console connected using TLS at 26-Jun-20 06:37
 JobId  Type Level     Files     Bytes  Name              Status
======================================================================
 48916  Back Full    209,045    61.50 G nihilnihil_home   is running
 48917  Back Full          0         0  web_server        is waiting for higher 
priority jobs to finish
 48918  Back Full          0         0  file_home         is waiting execution
 48919  Back Full          0         0  mail_home         is waiting execution
 48920  Back Full          0         0  conny_home        is waiting execution
 48921  Back Full          0         0  BackupCatalog     is waiting execution
====

The limit of max 2 jobs is setup in the drives configuration area.
…
Director {                            # define myself
  Name = backup-dir
  Description = "Director on backup server backup."
  DIRport = 9101
  QueryFile = "/etc/bacula/scripts/query.sql"
  WorkingDirectory = "/var/lib/bacula"
  PidDirectory = "/run/bacula"
  Maximum Concurrent Jobs = 4
  Password = "password"
  Messages = Daemon
  DirAddress = backup
  # TLS configuration
  TLS Enable = yes
  TLS Require = yes
  TLS Verify Peer = yes
  TLS Allowed CN = "bacula@backup"
  TLS Allowed CN = "bacula@in94"
  TLS Allowed CN = "bacula@nihilnihil"
  TLS Allowed CN = "pierrei@"
  @/etc/bacula/tls_server.conf
}
…
Storage {                             # definition of myself
  Name = backup-sd
  SDPort = 9103                  # Director's port
  WorkingDirectory = "/var/lib/bacula"
  Pid Directory = "/var/run/bacula"
  Maximum Concurrent Jobs = 20
  SDAddress = backup
  # Incoming connections from director
  TLS Enable = yes
  TLS Require = yes
  # No Verify because of sd connection cookie
  TLS Verify Peer = no
  # Server port
  @/etc/bacula/tls_server.conf
}
…
Storage {
  Name = "FibreCAT TX48 S2"
  address = backup
  SDPort = 9103
  Password = "password"
  Device = "FibreCAT TX48 S2"
  Media Type = "LTO-3"
  Autochanger = Yes
  Maximum Concurrent Jobs = 2
  # TLS Configuration
  TLS Enable = yes
  TLS Require = yes
  @/etc/bacula/tls_client.conf
}
…


So I would be expected that if only one job of prio 9 is running the job 
nihilnihil_home
would be started. If the last prio 9 job ended the next prio 12 job would be 
started.
By the way, as shown above the job web_server is still waiting and the als shown
below from the logs the running job nihilnihil_home wasn't already started
before all prio 9 has been ended.

The prio 9 jobs has been running in parallel with max of 2 concurent jobs:

  Job:                    backup_full.2020-07-05_23.50.00_21
  Scheduled time:         05-Jul-2020 23:50:00
  Start time:             05-Jul-2020 23:54:15
  End time:               06-Jul-2020 01:30:36
  Elapsed time:           1 hour 36 mins 21 secs
  Priority:               9

  Job:                    web_full.2020-07-05_23.50.00_22
  Scheduled time:         05-Jul-2020 23:50:00
  Start time:             05-Jul-2020 23:54:15
  End time:               06-Jul-2020 00:49:51
  Elapsed time:           55 mins 36 secs
  Priority:               9

  Job:                    file_full.2020-07-05_23.50.00_23
  Scheduled time:         05-Jul-2020 23:50:00
  Start time:             06-Jul-2020 00:49:58
  End time:               06-Jul-2020 01:30:36
  Elapsed time:           40 mins 38 secs
  Priority:               9

  Job:                    conny_full.2020-07-05_23.50.00_25
  Scheduled time:         05-Jul-2020 23:50:00
  Start time:             06-Jul-2020 01:30:47
  End time:               06-Jul-2020 03:52:43
  Elapsed time:           2 hours 21 mins 56 secs
  Priority:               9

  Job:                    mail_full.2020-07-05_23.50.00_24
  Scheduled time:         05-Jul-2020 23:50:00
  Start time:             06-Jul-2020 01:30:44
  End time:               06-Jul-2020 02:07:52
  Elapsed time:           37 mins 8 secs
  Priority:               9

You can see at the time backup_full was running in meantime the two jobs
web_full and file_full has been running.
I wonder me that file_full has same endtime with backup_full, but maybe this
is a limit of storing the attrs to the database? This is not really relevant.

conny_full and mail_full has been started and running in parallel so
I would expect that nihilhihil_home should be started after 02:07:52,
but it has been really started after 03:52:43 so it was waiting for the
end of the last prio 9 job mail_full.

Any idea why the allow mixed priority = yes rule is not working well?

I'm unsure but I mean with older release 7.x before upgraded to buster
it has been worked well.

Cheers,
Pierre



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

Reply via email to