User Tools

Site Tools


bacula_manual:the_director_resource

This is an old revision of the document!


The Director Resource

The Director resource defines the attributes of the Directors running on the network. In the current implementation, there is only a single Director resource, but the final design will contain multiple Directors to maintain index and media database redundancy.

Director

Start of the Director resource. One and only one director resource must be supplied.

Name = name

The director name used by the system administrator.

This directive is required.

Description = text

The text field contains a description of the Director that will be displayed in the graphical user interface.

This directive is optional.

Password = UA-password

Specifies the password that must be supplied by a Bacula Console to be authorized. The same password must appear in the Director resource of the Console configuration file. For added security, the password is never passed across the network but instead a challenge response hash code created with the password.

The password is plain text. It is not generated through any special process but as noted above, it is better to use random text for security reasons.

This directive is required. If you have either /dev/random or bc on your machine, Bacula will generate a random password during the configuration process, otherwise it will be left blank and you must manually supply it.

Messages = Messages-resource-name

The Messages resource specifies where to deliver Director messages that are not associated with a specific Job. Most messages are specific to a job and will be directed to the Messages resource specified by the job. However, there are a few messages that can occur when no job is running; they'll be sent to this messages-resource/

This directive is required.

Working Directory = Directory

This directive is mandatory and specifies a directory in which the Director may put its status files. This directory should be used only by Bacula but may be shared between Bacula daemons on the same machine. If this directory is shared with other Bacula daemons (the File daemon and Storage daemon), you must ensure that the Name given to each daemon is unique so that the temporary filenames created will not collide.

By default the Bacula configure process creates unique daemon names by postfixing them with -dir, -fd, and -sd. Standard shell expansion of the Directory is done when the configuration file is read so that values such as $HOME will be properly expanded.

The working directory specified must already exist and be readable and writable by the Bacula daemon referencing it.

If you have specified a Director user and/or a Director group on your ./configure line with -with-dir-user and/or -with-dir-group the Working Directory owner and group will be set to those values.

This directive is required.

PID Directory = Directory

This directive specifies a directory in which the Director may put its process ID file. The process ID file is used to shutdown Bacula and to prevent multiple copies of Bacula from running simultaneously. Standard shell expansion of the Directory is done when the configuration file is read so that values such as $HOME will be properly expanded.

The PID directory specified must already exist and be readable and writable by the Bacula daemon referencing it

Typically on Linux systems, you will set this to: /var/run. If you are not installing Bacula in the system directories, you can use the Working Directory as defined above.

This directive is required.

Scripts Directory = Directory

This directive specifies a directory in which the Director (say *that* three times fast with marbles in your mouth :-) will look for the Python startup script DirStartup.py. This directory may be shared by other Bacula daemons. Standard shell expansion of the directory is done when the configuration file is read so that values such as $HOME will be properly expanded.

This directive is optional.

QueryFile = Path

This directive is mandatory and specifies a directory and file in which the Director can find the canned SQL statements for the Query command of the Console. Standard shell expansion of the Path is done when the configuration file is read so that values such as $HOME will be properly expanded.

This directive is required.

Heartbeat Interval = time-interval

This directive will cause the Director to set a keepalive interval (heartbeat) in seconds on each of the sockets it opens for the Client resource. This value will override any specified at the Director level. It is implemented only on systems (Linux, …) that provide the setsockopt TCP_KEEPIDLE function. The default value is zero, which means no change is made to the socket.

This directive is optional.

Maximum Concurrent Jobs = number

where number is the maximum number of total Director Jobs that should run concurrently. The default is set to 1, but you may set it to a larger number.

The Volume format becomes more complicated with multiple simultaneous jobs, consequently, restores may take longer if Bacula must sort through interleaved volume blocks from multiple simultaneous jobs. This can be avoided by having each simultaneous job write to a different volume or by using data spooling, which will first spool the data to disk simultaneously, then write one spool file at a time to the volume thus avoiding excessive interleaving of the different job blocks.

FD Connect Timeout = time

where time is the time that the Director should continue attempting to contact the File daemon to start a job, and after which the Director will cancel the job. The default is 30 minutes.

SD Connect Timeout = time

where time is the time that the Director should continue attempting to contact the Storage daemon to start a job, and after which the Director will cancel the job. The default is 30 minutes.

DirAddresses = IP-address-specification

Specify the ports and addresses on which the Director daemon will listen for Bacula Console connections. Probably the simplest way to explain this is to show an example:

     DirAddresses  = { 
        ip = { addr = 1.2.3.4; port = 1205;}
        ipv4 = {
            addr = 1.2.3.4; port = http;}
        ipv6 = {
            addr = 1.2.3.4;
            port = 1205;
        }
        ip = {
            addr = 1.2.3.4
            port = 1205
        }
        ip = { addr = 1.2.3.4 }
        ip = { addr = 201:220:222::2 }
        ip = {
            addr = bluedot.thun.net
        }
    }

where ip, ip4, ip6, addr, and port are all keywords. Note, that the address can be specified as either a dotted quadruple, or IPv6 colon notation, or as a symbolic name (only in the ip specification). Also, port can be specified as a number or as the mnemonic value from the /etc/services file. If a port is not specified, the default will be used. If an ip section is specified, the resolution can be made either by IPv4 or IPv6. If ip4 is specified, then only IPv4 resolutions will be permitted, and likewise with ip6.

Please note that if you use the DirAddresses directive, you must not use either a DirPort or a DirAddress directive in the same resource.

DirPort = port-number

Specify the port (a positive integer) on which the Director daemon will listen for Bacula Console connections. This same port number must be specified in the Director resource of the Console configuration file. The default is 9101, so normally this directive need not be specified. This directive should not be used if you specify DirAddresses (N.B plural) directive.

DirAddress = IP-Address

This directive is optional, but if it is specified, it will cause the Director server (for the Console program) to bind to the specified IP-Address, which is either a domain name or an IP address specified as a dotted quadruple in string or quoted string format. If this directive is not specified, the Director will bind to any available address (the default). Note, unlike the DirAddresses specification noted above, this directive only permits a single address to be specified. This directive should not be used if you specify a DirAddresses (N.B. plural) directive.

DirSourceAddress = IP-Address

This record is optional, and if it is specified, it will cause the Director server (when initiating connections to a storage or file daemon) to source its connections from the specified address. Only a single IP address may be specified. If this record is not specified, the Director server will source its outgoing connections according to the system routing table (the default).

Statistics Retention = time

The Statistics Retention directive defines the length of time that Bacula will keep statistics job records in the Catalog database after the Job End time. (In JobHistory table) When this time period expires, and if user runs prune stats command, Bacula will prune (remove) Job records that are older than the specified period.

Theses statistics records aren't use for restore purpose, but mainly for capacity planning, billings, etc. See Statistics chapter for additional information.

See the Configuration chapterTime of this manual for additional details of time specification.

The default is 5 years.

VerId = string

Where string is an identifier which can be used for support purpose. This string is displayed using the version command.

MaxConsoleConnections = number

Where number is the maximum number of Console Connections that could run concurrently. The default is set to 20, but you may set it to a larger number.

Example

The following is an example of a valid Director resource definition:

Director {
  Name = HeadMan
  WorkingDirectory = "$HOME/bacula/bin/working"
  Password = UA_password
  PidDirectory = "$HOME/bacula/bin/working"
  QueryFile = "$HOME/bacula/bin/query.sql"
  Messages = Standard
}
bacula_manual/the_director_resource.1364223904.txt.gz · Last modified: 2013/03/25 15:05 by afromnorth