クライアント/ファイルデーモン(エージェント)設定

投稿者: | 2014年6月11日

クライアント/ファイルデーモン(エージェント)設定

クライアント(またはファイルデーモン) の設定は、設定が簡単なもののひとつである。一般的に、クライアント名の変更以外でエラーメッセージが出ることはなく、デフォルトのクライアント設定ファイルを変更する必要はない。

設定ファイルやBacula が認識しているデータ型を含む各種リソース構文の一般的な議論については、本マニュアルの「設定ファイルのカスタマイズ」の章を参照。クライアントを設定するときは、以下のリソースを定義しなければならない。

  • Client – バックアップ対象のクライアントを定義する。
  • Director –ディレクタ名やアクセス用パスワードを定義する。
  • Messages – エラーや通知メッセージの送信先を定義


Client リソース

Client (またはFileDaemon) リソースは、(ディレクタが使用する) クライアント名やディレクタからの接続を受け付けるポートを定義する。

Client (もしくは FileDaemon)
Client リソースの開始を宣言。クライアントで動作するプログラムの属性を定義するために、Client リソースは設定ファイルに必ず1 つだけ設定しなければならない。

Name = name
ディレクタと接続するときに使うクライアント名を指定する。複数のクライアントを利用しているのであれば、通常マシンに関連する名前を指定すべきである。そうすることで、どのクライアントのエラーメッセージかを容易に識別できるようになる。この設定は必須である。

Working Directory = Directory
このディレクティブは、ファイルデーモンがステータス・ファイルを出力するディレクトリパスを設定する。Bacula のみがこのディレクトリを利用するが、Name ディレクティブで定義した名前が一意であるという前提の上で、Bacula
の複数のデーモンがこのディレクトリを共有することがある。この設定は必須である。Win32 の環境の場合、環境によっては作業ディレクトリのパスにドライブ文字を指定する必要がある。このディレクトリは、SYSTEM ユーザが書き込める必要がある。書き込めない場合、ディレクタからファイルデーモンに渡されるブートストラップファイルが作業ディレクトリに保存できなくなり、リストアが失敗する。

 

Pid Directory = Directory
ディレクタのプロセスID ファイルをを保存するディレクトリを指定する。プロセスID ファイルは、Bacula を停止する際に利用する。また、Baculaが複数同時に起動してしまうことも防ぐ。このレコードは必須である。設定ファイルを読み込むときに標準シェルによる展開が行われるため、Directory の値に$HOME のようなシェル変数も指定できる。
標準的なLinux システムでは、/var/run を指定する。システム領域にBacula をインストールしていない場合、Working Directory と同じディレクトリを指定してもよい。

Heartbeat Interval = time-interva
ハートビート信号の送信間隔を秒単位で指定する。ファイルデーモンはストレージデーモンからハートビート信号を受け取り、ディレクタに転送する。ファイルデーモンがストレージデーモンからハートビート信号を受け取れなかった場合、ファイルデーモンはディレクタとストレージデーモンの両方にハートビート信号を送信して、通信チャネルを維持する。デフォルト値は0 でハートビートは使われない。この機能は、3Com のルータのように、インターネット標準に準拠せずキープアライブを設定してるにも関わらず短時間でタイムアウトしてしまう機器を使っている
ときに有効である。この場合、broken pipe というエラーメッセージが表示される。
Windows 環境でハートビート機能を有効にしているにもかかわらずbroken pipe メッセージが表示され続ける場合、イーサネットドライバのアップグレードを検討すべきである。NVidia NForce 3 ドライバ(4.4.2 17/05/2004) に不具合があるためである。あるいは、Win32 向けにThomas Simmons が提案した以下の回避策を試してみるのがよいだろう。

スタート> コントロールパネル> ネットワーク接続。

Nvidia アダプタを右クリックしてプロパティを開く。一般のタブの設定. . . をクリックする。”Checksum Offload”を無効にして、OK をクリックして変更内容を保存する。
接続やトラフィックを制限するルールをLinux ファイアウォールに設定していることが原因で、通信が時々途切れたり停止することもある。

Maximum Concurrent Jobs = number
where number is the maximum number of Jobs that should run concurrently. The default is set to 2, but you may set it to a larger number. Each contact from the Director (e.g. status request, job start request) is considered as a Job, so if you want to be able to do a status request in the console at the same time as a Job is running, you will need to set this value greater than 1. FDAddresses = IP-address-specificationSpecify the ports and addresses on which the File daemon listens for Director connections. Probably the simplest way to explain is to show an example:

 FDAddresses  = { 
    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.

 

FDPort = port-numberThis specifies the port number on which the Client listens for Director connections. It must agree with the FDPort specified in the Client resource of the Director’s configuration file. The default is 9102. FDAddress = IP-AddressThis record is optional, and if it is specified, it will cause the File daemon server (for Director connections) to bind to the specified IP-Address, which is either a domain name or an IP address specified as a dotted quadruple. If this record is not specified, the File daemon will bind to any available address (the default). FDSourceAddress = IP-AddressThis record is optional, and if it is specified, it will cause the File daemon server (for Storage connections) to bind to the specified IP-Address, which is either a domain name or an IP address specified as a dotted quadruple. If this record is not specified, the kernel will choose the best address according to the routing table (the default). SDConnectTimeout = time-intervalThis record defines an interval of time that the File daemon will try to connect to the Storage daemon. The default is 30 minutes. If no connection is made in the specified time interval, the File daemon cancels the Job. Maximum Network Buffer Size = byteswhere bytes specifies the initial network buffer size to use with the File daemon. This size will be adjusted down if it is too large until it is accepted by the OS. Please use care in setting this value since if it is too large, it will be trimmed by 512 bytes until the OS is happy, which may require a large number of system calls. The default value is 65,536 bytes.Note, on certain Windows machines, there are reports that the transfer rates are very slow and this seems to be related to the default 65,536 size. On systems where the transfer rates seem abnormally slow compared to other systems, you might try setting the Maximum Network Buffer Size to 32,768 in both the File daemon and in the Storage daemon.

 

Maximum Bandwidth Per Job = speedThe speed parameter specifies the maximum allowed bandwidth that a job may use. The speed parameter should be specified in k/s, kb/s, m/s or mb/s.

 

Heartbeat Interval = time-intervalThis directive is optional and if specified will cause the File daemon to set a keepalive interval (heartbeat) in seconds on each of the sockets to communicate with the Storage daemon. 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. PKI EncryptionSee the Data EncryptionDataEncryption chapter of this manual. PKI SignaturesSee the Data EncryptionDataEncryption chapter of this manual. PKI KeypairSee the Data EncryptionDataEncryption chapter of this manual. PKI Master KeySee the Data EncryptionDataEncryption chapter of this manual.

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

Client {                              # this is me
  Name = rufus-fd
  WorkingDirectory = $HOME/bacula/bin/working
  Pid Directory = $HOME/bacula/bin/working
}


The Director Resource

The Director resource defines the name and password of the Directors that are permitted to contact this Client.

Director
Start of the Director records. There may be any number of Director resources in the Client configuration file. Each one specifies a Director that is allowed to connect to this Client. 

Name = nameThe name of the Director that may contact this Client. This name must be the same as the name specified on the Director resource in the Director’s configuration file. Note, the case (upper/lower) of the characters in the name are significant (i.e. S is not the same as s). This directive is required.

Password = passwordSpecifies the password that must be supplied for a Director to be authorized. This password must be the same as the password specified in the Client resource in the Director’s configuration file. This directive is required.

Maximum Bandwidth Per Job = speedThe speed parameter specifies the maximum allowed bandwidth that a job may use when started from this Director. The speed parameter should be specified in k/s, Kb/s, m/s or Mb/s.

 

Monitor = yes|noIf Monitor is set to no (default), this director will have full access to this Client. If Monitor is set to yes, this director will only be able to fetch the current status of this Client.Please note that if this director is being used by a Monitor, we highly recommend to set this directive to yes to avoid serious security problems.

Thus multiple Directors may be authorized to use this Client’s services. Each Director will have a different name, and normally a different password as well.

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

#
# List Directors who are permitted to contact the File daemon
#
Director {
  Name = HeadMan
  Password = very_good                # password HeadMan must supply
}
Director {
  Name = Worker
  Password = not_as_good
  Monitor = Yes
}


The Message Resource

Please see the Messages ResourceMessagesChapter Chapter of this manual for the details of the Messages Resource.

There must be at least one Message resource in the Client configuration file.


Example Client Configuration File

An example File Daemon configuration file might be the following:

#
# Default  Bacula File Daemon Configuration file
#
#  For Bacula release 1.35.2 (16 August 2004) -- gentoo 1.4.16
#
# There is not much to change here except perhaps to
#   set the Director's name and File daemon's name
#   to something more appropriate for your site.
#
#
# List Directors who are permitted to contact this File daemon
#
Director {
  Name = rufus-dir
  Password = "/LqPRkX++saVyQE7w7mmiFg/qxYc1kufww6FEyY/47jU"
}
#
# Restricted Director, used by tray-monitor to get the
#   status of the file daemon
#
Director {
  Name = rufus-mon
  Password = "FYpq4yyI1y562EMS35bA0J0QC0M2L3t5cZObxT3XQxgxppTn"
  Monitor = yes
}
#
# "Global" File daemon configuration specifications
#
FileDaemon {                          # this is me
  Name = rufus-fd
  WorkingDirectory = $HOME/bacula/bin/working
  Pid Directory = $HOME/bacula/bin/working
}
# Send all messages except skipped files back to Director
Messages {
  Name = Standard
  director = rufus-dir = all, !skipped
}
カテゴリー: