From 1a0a414ec3b83e24a35de9d1f94443194ebb3c93 Mon Sep 17 00:00:00 2001 From: Kern Sibbald Date: Fri, 14 Sep 2007 17:03:07 +0000 Subject: [PATCH] Update to trunk --- docs/manual/autochangers.tex | 63 ++++++++++++++++++++++++++---------- docs/manual/dirdconf.tex | 10 ++++++ docs/manual/dvd.tex | 3 ++ docs/manual/install.tex | 10 ++++-- docs/manual/mysql.tex | 2 +- 5 files changed, 68 insertions(+), 20 deletions(-) diff --git a/docs/manual/autochangers.tex b/docs/manual/autochangers.tex index f2dcb2c5..1611cfb5 100644 --- a/docs/manual/autochangers.tex +++ b/docs/manual/autochangers.tex @@ -13,14 +13,15 @@ which is explained in more detail after this list: \begin{itemize} \item A script that actually controls the autochanger according to commands sent by Bacula. We furnish such a script that works with {\bf mtx} found in - the {\bf depkgs} distribution. This script works only with single drive - autochangers. + the {\bf depkgs} distribution. \item That each Volume (tape) to be used must be defined in the Catalog and have a Slot number assigned to it so that Bacula knows where the Volume is in - the autochanger. This is generally done with the {\bf label} command. See + the autochanger. This is generally done with the {\bf label} command, + but can also done after the tape is labeled using the {\bf update slots} + command. See below for more details. You must pre-label the tapes manually before - using them. + using them. \item Modifications to your Storage daemon's Device configuration resource to identify that the device is a changer, as well as a few other parameters. @@ -40,7 +41,7 @@ which is explained in more detail after this list: In version 1.37 and later, there is a new \ilink{Autochanger resource}{AutochangerRes} that permits you to group Device resources thus creating a multi-drive autochanger. If you have an autochanger, -you must use this new resource. +you {\bf must} use this new resource. Bacula uses its own {\bf mtx-changer} script to interface with a program that actually does the tape changing. Thus in principle, {\bf mtx-changer} @@ -56,8 +57,13 @@ and {\bf update slots}. For more details on these commands, see the "Barcode Support" section below. Current Bacula autochanger support does not include cleaning, stackers, or -silos. However, under certain conditions, you may be able to make Bacula -work with stackers (gravity feed and such). Support for multi-drive +silos. Stackers and silos are not supported because Bacula expects to +be able to access the Slots randomly. +However, if you are very careful to setup Bacula to access the Volumes +in the autochanger sequentially, you may be able to make Bacula +work with stackers (gravity feed and such). + +Support for multi-drive autochangers requires the \ilink{Autochanger resource}{AutochangerRes} introduced in version 1.37. This resource is also recommended for single drive autochangers. @@ -71,6 +77,15 @@ supported by {\bf mtx} at the following link: The home page for the {\bf mtx} project can be found at: \elink{http://mtx.opensource-sw.net/}{http://mtx.opensource-sw.net/}. +Note, we have feedback from some users that there are certain +incompatibilities between the Linux kernel and mtx. For example between +kernel 2.6.18-8.1.8.el5 of CentOS and RedHat and version 1.3.10 and 1.3.11 +of mtx. This was fixed by upgrading to a version 2.6.22 kernel. + +In addition, apparently certain versions of mtx, for example, version +1.3.11 limit the number of slots to a maximum of 64. The solution was to +use version 1.3.10. + If you are having troubles, please use the {\bf auto} command in the {\bf btape} program to test the functioning of your autochanger with Bacula. When Bacula is running, please remember that for many distributions (e.g. FreeBSD, @@ -78,6 +93,14 @@ Debian, ...) the Storage daemon runs as {\bf bacula.tape} rather than {\bf root.root}, so you will need to ensure that the Storage daemon has sufficient permissions to access the autochanger. +Some users have reported that the the Storage daemon blocks under certain +circumstances in trying to mount a volume on a drive that has a different +volume loaded. As best we can determine, this is simply a matter of +waiting a bit. The drive was previously in use writing a Volume, and +sometimes the drive will remain BLOCKED for a good deal of time (up to 7 +minutes on a slow drive) waiting for the cassette to rewind and to unload +before the drive can be used with a different Volume. + \label{SCSI devices} \section{Knowing What SCSI Devices You Have} \index[general]{Have!Knowing What SCSI Devices You } @@ -172,14 +195,19 @@ number of cartridges contained in the autochanger. Bacula will not automatically use a Volume in your autochanger unless it is labeled and the slot number is stored in the catalog and the Volume is marked -as InChanger. For each Volume in your +as InChanger. This is because it must know where each volume is (slot) to +be able to load the volume. +For each Volume in your changer, you will, using the Console program, assign a slot. This information is kept in {\bf Bacula's} catalog database along with the other data for the volume. If no slot is given, or the slot is set to zero, Bacula will not attempt to use the autochanger even if all the necessary configuration records -are present. In addition, the console {\bf mount} command does not cause -Bacula to operate the autochanger, it only tells Bacula to read any tape that -may be in the drive. +are present. When doing a {\bf mount} command on an autochanger, you must +specify which slot you want mounted. If the drive is loaded with a tape +from another slot, it will unload it and load the correct tape, but +normally, no tape will be loaded because an {\bf unmount} command causes +Bacula to unload the tape in the drive. + You can check if the Slot number and InChanger flag are set by doing a: \begin{verbatim} @@ -684,7 +712,7 @@ or one number per line for each slot that is occupied in your changer, and the number should be terminated by a colon ({\bf :}). If your changer has barcodes, the barcode will follow the colon. If an error message is printed, you must resolve the problem (e.g. try a different SCSI control device name -if {\bf /dev/sg0} is incorrect. For example, on FreeBSD systems, the +if {\bf /dev/sg0} is incorrect). For example, on FreeBSD systems, the autochanger SCSI control device is generally {\bf /dev/pass2}. \item [/etc/bacula/mtx-changer \ /dev/sg0 \ slots ] @@ -920,9 +948,10 @@ prevent Bacula from attempting to write on the Volume. \index[general]{Bacula Autochanger Interface } Bacula calls the autochanger script that you specify on the {\bf Changer -Device} statement. Normally this script will be the {\bf mtx-changer} script -that we can provide, but it can in fact be any program. The only requirements -are that the "commands" that Bacula uses are {\bf loaded}, {\bf load}, {\bf +Command} statement. Normally this script will be the {\bf mtx-changer} script +that we provide, but it can in fact be any program. The only requirement +for the script is that it must understand the commands that +Bacula uses, which are {\bf loaded}, {\bf load}, {\bf unload}, {\bf list}, and {\bf slots}. In addition, each of those commands must return the information in the precise format as specified below: @@ -948,5 +977,5 @@ specified below: \normalsize Bacula checks the exit status of the program called, and if it is zero, the -data is accepted. If the exit status is non-zero, Bacula ignores any -information returned and treats the drive as if it is not an autochanger. +data is accepted. If the exit status is non-zero, Bacula will print an +error message and request the tape be manually mounted on the drive. diff --git a/docs/manual/dirdconf.tex b/docs/manual/dirdconf.tex index 76046246..3a201e7e 100644 --- a/docs/manual/dirdconf.tex +++ b/docs/manual/dirdconf.tex @@ -2424,6 +2424,9 @@ The Pool Resource defined in the Director's configuration file what is stored for the Volume. To change the value for an existing Volume you must use the {\bf update} command in the Console. + Please see the notes below under {\bf Maximum Volume Jobs} concerning + using this directive with multiple simultaneous jobs. + \item [Maximum Volume Jobs = \lt{}positive-integer\gt{}] \index[dir]{Maximum Volume Jobs} \index[dir]{Directive!Maximum Volume Jobs} @@ -2442,6 +2445,13 @@ The Pool Resource defined in the Director's configuration file is stored for the Volume. To change the value for an existing Volume you must use the {\bf update} command in the Console. + If you are running multiple simultaneous jobs, this directive may not + work correctly because when a drive is reserved for a job, this + directive is not taken into account, so multiple jobs may try to + start writing to the Volume. At some point, when the Media record is + updated, multiple simultaneous jobs may fail since the Volume can no + longer be written. + \item [Maximum Volume Files = \lt{}positive-integer\gt{}] \index[dir]{Maximum Volume Files} \index[dir]{Directive!Maximum Volume Files} diff --git a/docs/manual/dvd.tex b/docs/manual/dvd.tex index 6928edd4..2cf15e0c 100644 --- a/docs/manual/dvd.tex +++ b/docs/manual/dvd.tex @@ -322,5 +322,8 @@ See below for more details on this subject. \item For more information about DVD writing, please look at the \elink{dvd+rw-tools homepage}{http://fy.chalmers.se/~appro/linux/DVD+RW/}. +\item According to bug #912, bscan cannot read multi-volume DVDs. This is +on our TODO list, but unless someone submits a patch it is not likely to be +done any time in the near future. (9 Sept 2007). \end{itemize} diff --git a/docs/manual/install.tex b/docs/manual/install.tex index 0b6e8e49..d615b691 100644 --- a/docs/manual/install.tex +++ b/docs/manual/install.tex @@ -766,7 +766,11 @@ customize your installation. environment or a window manager compatible with the FreeDesktop system tray standard (like KDE and GNOME) and you want to use a GUI to monitor Bacula daemons, you must specify this option. Doing so will build - everything in the {\bf src/tray-monitor} directory. + everything in the {\bf src/tray-monitor} directory. Note, due to + restrictions on what can be linked with GPLed code, we were forced to + remove the egg code that dealt with the tray icons and replace it by + calls to the GTK+ API, and unfortunately, the tray icon API necessary + was not implemented until GTK version 2.10 or later. \item [ {-}{-}enable-static-tools] \index[general]{{-}{-}enable-static-tools} @@ -1558,6 +1562,9 @@ depends on your {\bf ./configure} command (e.g. bgnome-console and bgnome-console.conf are not installed if you do not configure GNOME. Also, if you are using SQLite instead of MySQL, some of the files will be different). +NOTE: it is quite probable that this list is out of date. But it is a +starting point. + \footnotesize \begin{verbatim} bacula @@ -1582,7 +1589,6 @@ dbcheck delete_catalog_backup drop_bacula_tables drop_mysql_tables -fd bgnome-console bgnome-console.conf make_bacula_tables diff --git a/docs/manual/mysql.tex b/docs/manual/mysql.tex index b79a744d..75cc6f0e 100644 --- a/docs/manual/mysql.tex +++ b/docs/manual/mysql.tex @@ -12,7 +12,7 @@ If you use the ./configure \verb:--:with-mysql=mysql-directory statement for configuring {\bf Bacula}, you will need MySQL version 4.1 or later installed -in the {\bf mysql-directory}. If you are using one of the new modes such as +in the {\bf mysql-directory}. If you are using one of the new modes such as ANSI/ISO compatibility, you may experience problems. If MySQL is installed in the standard system location, you need only enter -- 2.39.5