From a95811b5c137ab2261d39442477258dbb922efe0 Mon Sep 17 00:00:00 2001 From: Joerg Steffens Date: Thu, 7 Feb 2019 12:12:16 +0100 Subject: [PATCH] docs: (Sphinx) replaces all include:: by toctree:: to reduce the number od warnings Reduced number of sphinx warnings for 1800 to 280. Also runs the conversion script from LaTex to Sphinx/RST documentation. --- .../source/appendix-b/supportedoses.rst | 29 +- .../source/appendix-h/howto.rst | 63 +- .../source/appendix-j/troubleshooting.rst | 33 +- .../source/appendix-k/debug.rst | 11 +- .../source/appendix-l/releasenotes.rst | 81 +-- .../source/appendix-m/license.rst | 61 +- .../source/chapter01/general.rst | 35 +- .../source/chapter02/install.rst | 61 +- .../source/chapter03/webui.rst | 53 +- .../source/chapter04/update.rst | 19 +- .../source/chapter05/quickstart.rst | 13 +- .../source/chapter08/configure.rst | 8 +- .../source/chapter09/dirdconf.rst | 11 - .../source/chapter10/storedconf.rst | 9 - .../source/chapter11/filedconf.rst | 7 +- .../source/chapter14/monitorconf.rst | 5 - .../source/chapter15/bconsole.rst | 21 +- .../source/chapter17/recycling.rst | 85 +-- .../source/chapter19/autochangers.rst | 2 +- .../source/chapter20/storage-backends.rst | 359 ++++++++++++ .../source/chapter23/always-incremental.rst | 32 +- .../source/chapter26/plugins-dir.rst | 97 ++++ .../source/chapter26/plugins-fd.rst | 166 ++++++ .../source/chapter26/plugins-sd.rst | 277 +++++++++ .../chapter26/plugins-vmware-plugin.rst | 2 +- .../source/chapter26/plugins.rst | 541 +----------------- .../source/chapter27/win32.rst | 8 +- .../source/chapter28/passiveclient.rst | 2 +- .../source/chapter30/dataencryption.rst | 5 +- .../source/chapter31/ndmp.rst | 102 ++-- .../source/chapter32/catmaintenance.rst | 4 +- .../source/index-appendix-a.rst | 2 - .../source/index-appendix-b.rst | 4 - .../source/index-appendix-c.rst | 2 - .../source/index-appendix-d.rst | 2 - .../source/index-appendix-e.rst | 2 - .../source/index-appendix-f.rst | 2 - .../source/index-appendix-g.rst | 2 - .../source/index-appendix-h.rst | 4 - .../source/index-appendix-i.rst | 2 - .../source/index-appendix-j.rst | 4 - .../source/index-appendix-k.rst | 4 - .../source/index-appendix-l.rst | 4 - .../source/index-appendix-m.rst | 19 - .../source/index-chapter-01.rst | 4 + .../source/index-chapter-02.rst | 4 - .../source/index-chapter-03.rst | 4 - .../source/index-chapter-04.rst | 4 - .../source/index-chapter-05.rst | 4 - .../source/index-chapter-06.rst | 2 - .../source/index-chapter-07.rst | 2 - .../source/index-chapter-08.rst | 2 - .../source/index-chapter-09.rst | 2 - .../source/index-chapter-10.rst | 2 - .../source/index-chapter-11.rst | 2 - .../source/index-chapter-12.rst | 2 - .../source/index-chapter-13.rst | 2 - .../source/index-chapter-14.rst | 2 - .../source/index-chapter-15.rst | 2 - .../source/index-chapter-16.rst | 2 - .../source/index-chapter-17.rst | 6 +- .../source/index-chapter-18.rst | 2 - .../source/index-chapter-19.rst | 2 - .../source/index-chapter-20.rst | 2 - .../source/index-chapter-21.rst | 2 - .../source/index-chapter-22.rst | 2 - .../source/index-chapter-23.rst | 2 - .../source/index-chapter-24+25.rst | 1 - .../source/index-chapter-26.rst | 49 +- .../source/index-chapter-27.rst | 2 - .../source/index-chapter-28.rst | 8 +- .../source/index-chapter-29.rst | 2 - .../source/index-chapter-30.rst | 2 - .../source/index-chapter-31.rst | 4 - .../source/index-chapter-32.rst | 2 - .../source/index-chapter-33.rst | 2 - .../source/index-part-1.rst | 15 +- .../source/index-part-2.rst | 14 +- .../source/index-part-3.rst | 31 +- .../source/index-part-4.rst | 26 +- 80 files changed, 1401 insertions(+), 1072 deletions(-) create mode 100644 docs/manuals/en/new_main_reference/source/chapter20/storage-backends.rst create mode 100644 docs/manuals/en/new_main_reference/source/chapter26/plugins-dir.rst create mode 100644 docs/manuals/en/new_main_reference/source/chapter26/plugins-fd.rst create mode 100644 docs/manuals/en/new_main_reference/source/chapter26/plugins-sd.rst delete mode 100644 docs/manuals/en/new_main_reference/source/index-appendix-a.rst delete mode 100644 docs/manuals/en/new_main_reference/source/index-appendix-b.rst delete mode 100644 docs/manuals/en/new_main_reference/source/index-appendix-c.rst delete mode 100644 docs/manuals/en/new_main_reference/source/index-appendix-d.rst delete mode 100644 docs/manuals/en/new_main_reference/source/index-appendix-e.rst delete mode 100644 docs/manuals/en/new_main_reference/source/index-appendix-f.rst delete mode 100644 docs/manuals/en/new_main_reference/source/index-appendix-g.rst delete mode 100644 docs/manuals/en/new_main_reference/source/index-appendix-h.rst delete mode 100644 docs/manuals/en/new_main_reference/source/index-appendix-i.rst delete mode 100644 docs/manuals/en/new_main_reference/source/index-appendix-j.rst delete mode 100644 docs/manuals/en/new_main_reference/source/index-appendix-k.rst delete mode 100644 docs/manuals/en/new_main_reference/source/index-appendix-l.rst delete mode 100644 docs/manuals/en/new_main_reference/source/index-appendix-m.rst delete mode 100644 docs/manuals/en/new_main_reference/source/index-chapter-02.rst delete mode 100644 docs/manuals/en/new_main_reference/source/index-chapter-03.rst delete mode 100644 docs/manuals/en/new_main_reference/source/index-chapter-04.rst delete mode 100644 docs/manuals/en/new_main_reference/source/index-chapter-05.rst delete mode 100644 docs/manuals/en/new_main_reference/source/index-chapter-06.rst delete mode 100644 docs/manuals/en/new_main_reference/source/index-chapter-07.rst delete mode 100644 docs/manuals/en/new_main_reference/source/index-chapter-08.rst delete mode 100644 docs/manuals/en/new_main_reference/source/index-chapter-09.rst delete mode 100644 docs/manuals/en/new_main_reference/source/index-chapter-10.rst delete mode 100644 docs/manuals/en/new_main_reference/source/index-chapter-11.rst delete mode 100644 docs/manuals/en/new_main_reference/source/index-chapter-12.rst delete mode 100644 docs/manuals/en/new_main_reference/source/index-chapter-13.rst delete mode 100644 docs/manuals/en/new_main_reference/source/index-chapter-14.rst delete mode 100644 docs/manuals/en/new_main_reference/source/index-chapter-15.rst delete mode 100644 docs/manuals/en/new_main_reference/source/index-chapter-16.rst delete mode 100644 docs/manuals/en/new_main_reference/source/index-chapter-18.rst delete mode 100644 docs/manuals/en/new_main_reference/source/index-chapter-19.rst delete mode 100644 docs/manuals/en/new_main_reference/source/index-chapter-20.rst delete mode 100644 docs/manuals/en/new_main_reference/source/index-chapter-21.rst delete mode 100644 docs/manuals/en/new_main_reference/source/index-chapter-22.rst delete mode 100644 docs/manuals/en/new_main_reference/source/index-chapter-23.rst delete mode 100644 docs/manuals/en/new_main_reference/source/index-chapter-24+25.rst delete mode 100644 docs/manuals/en/new_main_reference/source/index-chapter-27.rst delete mode 100644 docs/manuals/en/new_main_reference/source/index-chapter-29.rst delete mode 100644 docs/manuals/en/new_main_reference/source/index-chapter-30.rst delete mode 100644 docs/manuals/en/new_main_reference/source/index-chapter-31.rst delete mode 100644 docs/manuals/en/new_main_reference/source/index-chapter-32.rst delete mode 100644 docs/manuals/en/new_main_reference/source/index-chapter-33.rst diff --git a/docs/manuals/en/new_main_reference/source/appendix-b/supportedoses.rst b/docs/manuals/en/new_main_reference/source/appendix-b/supportedoses.rst index 7214c2e28ac..d05323b8829 100644 --- a/docs/manuals/en/new_main_reference/source/appendix-b/supportedoses.rst +++ b/docs/manuals/en/new_main_reference/source/appendix-b/supportedoses.rst @@ -1,6 +1,13 @@ .. ATTENTION do not edit this file manually. It was automatically converted from the corresponding .tex file +.. _SupportedOSes: + +Operating Systems +================= + +:index:`[TAG=Systems->Supported Operating Systems] ` :index:`[TAG=Support->Operating Systems] ` + The Bareos project provides and supports packages that have been released at http://download.bareos.org/bareos/release/ However, the following tabular gives an overview, what components are expected on which platforms to run: @@ -148,7 +155,7 @@ True64 .. _section-packages: Packages for the different Linux platforms ------------------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The following tables summarize what packages are available for the different Linux platforms. @@ -165,7 +172,7 @@ Packages names not containing the word **bareos** are required packages where we Debian.org / Ubuntu Universe ----------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :index:`[TAG=Platform->Debian->Debian.org] ` :index:`[TAG=Platform->Debian->8] ` :index:`[TAG=Platform->Ubuntu->Universe] ` \index[general]{Platform!Ubuntu!Universe!15.04} @@ -180,14 +187,14 @@ In the further text, these version will be named **Bareos (Debian.org)** (also f .. _section-DebianOrgLimitations: Limitations of the Debian.org/Ubuntu Universe version of Bareos -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Debian.org does not include the libfastlz compression library and therefore the Bareos (Debian.org) packages do not offer the fileset options ``compression=LZFAST``, ``compression=LZ4`` and ``compression=LZ4HC``. - Debian.org does not include the **bareos-webui** package. Mac OS X --------- +~~~~~~~~ :index:`[TAG=Platform->Mac->OS X] ` @@ -206,7 +213,7 @@ However, you have to choose upfront, which client you want to use. Otherwise con Both packages contain the |bareosFd| and :command:`bconsole`. Installing the Bareos Client as PKG -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :index:`[TAG=Installation->MacOS] ` @@ -221,7 +228,7 @@ Find the .pkg you just downloaded. Install the .pkg by holding the CTRL key, lef Follow the directions given to you and finish the installation. Configuration -~~~~~~~~~~~~~ +^^^^^^^^^^^^^ To make use of your |bareosFd| on your system, it is required to configure the |bareosDir| and the local |bareosFd|. @@ -230,8 +237,7 @@ Configure the server-side by follow the instructions at :ref:`section-AddAClient After configuring the server-side you can either transfer the necessary configuration file using following command or configure the client locally. Option 1: Copy the director resource from the Bareos Director to the Client -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" - +''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Assuming your client has the DNS entry :strong:`client2.example.com` and has been added to |bareosDir| as **client2-fd**:sup:`bareos-dir`:sub:`client` : @@ -242,8 +248,7 @@ Assuming your client has the DNS entry :strong:`client2.example.com` and has bee This differs in so far, as on Linux the configuration files are located under :file:`/etc/bareos/`, while on MacOS they are located at :file:`/usr/local/etc/bareos/`. Option 2: Edit the director resource on the Client -"""""""""""""""""""""""""""""""""""""""""""""""""" - +'''''''''''''''''''''''''''''''''''''''''''''''''' Alternatively, you can edit the file :file:`/usr/local/etc/bareos/bareos-fd.d/director/bareos-dir.conf`. @@ -276,7 +281,7 @@ Set this client-side password to the same value as given on the server-side. The configuration file contains passwords and therefore must not be accessible for any users except admin users. Restart bareos-fd after changing the configuration -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The bareos-fd must be restarted to reread its configuration: @@ -287,7 +292,7 @@ The bareos-fd must be restarted to reread its configuration: sudo launchctl start org.bareos.bareos-fd Verify that the Bareos File Daemon is working -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Open the :command:`bconsole` on your |bareosDir| and check the status of the client with diff --git a/docs/manuals/en/new_main_reference/source/appendix-h/howto.rst b/docs/manuals/en/new_main_reference/source/appendix-h/howto.rst index 591c5009183..7f5e3f1f4af 100644 --- a/docs/manuals/en/new_main_reference/source/appendix-h/howto.rst +++ b/docs/manuals/en/new_main_reference/source/appendix-h/howto.rst @@ -1,10 +1,13 @@ .. ATTENTION do not edit this file manually. It was automatically converted from the corresponding .tex file +Howtos +====== + .. _dummydevice: Use a dummy device to test the backup -===================================== +------------------------------------- @@ -31,7 +34,7 @@ Obviously, it can not be used to do a restore. } Backup Of Third Party Databases -=============================== +------------------------------- :index:`[TAG=Backup->of Third Party Databases] ` :index:`[TAG=Database->Backup Of Third Party] ` @@ -44,7 +47,7 @@ If you are running a database in production mode on your machine, Bareos will ha The best solution is to shutdown your database before backing it up, or use some tool specific to your database to make a valid live copy perhaps by dumping the database in ASCII format. Backup of MSSQL Databases with Bareos Plugin --------------------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :index:`[TAG=MSSQL Backup] ` :index:`[TAG=Database->MSSQL] ` :index:`[TAG=Plugin->MSSQL backup] ` @@ -55,7 +58,7 @@ Backup of MSSQL Databases with Bareos Plugin :index:`Version >= 13.2.0 ` Preparation -~~~~~~~~~~~ +^^^^^^^^^^^ If you like to use the MSSQL-Plugin to backing up your Databases you need to consider some things: @@ -88,17 +91,17 @@ There is no difference for the rights and roles between using a systemaccount (t .. _MssqlPluginInstallation: MSSQL Plugin Installation -~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^ For Bareos < 14.2, install the Bareos MSSQL plugin onto the MSSQL server you want to backup. Bareos >= 14.2 also allows to backup remote MSSQL servers (option ``serveraddress``). Bareos Windows-Installer -^^^^^^^^^^^^^^^^^^^^^^^^ +'''''''''''''''''''''''' Install the Bareos filedaemon including the component "Bareos FileDameon Plugins". Make sure, that you install the file daemon without the "compatible" option. Manual install -^^^^^^^^^^^^^^ +'''''''''''''' After downloading the plugin you need to copy it into :file:`C:\Program Files\Bareos\Plugins`. Then you need to define the plugin directory and which plugin the bareos-filedaemon should use. You have to edit the bareos-filedaemon resource in :file:`C:\Program Data\bareos-fd.conf` as follows: @@ -117,7 +120,7 @@ After downloading the plugin you need to copy it into :file:`C:\Program Files\Ba } Plugin Test -~~~~~~~~~~~ +^^^^^^^^^^^ .. code-block:: sh :caption: status client=mssqlserver-fd @@ -155,7 +158,7 @@ Plugin Test log sequence number: 'lsn:15000000040000037' Configure the FileSet -~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^ To use the plugin you need to configure it in the fileset as a plugin resource. For each database instance you need to define a exclusive backup job and fileset. @@ -197,7 +200,7 @@ It is recommend to define an additional restore job. For every database separate job and FileSet are required. Run Backups -~~~~~~~~~~~ +^^^^^^^^^^^ Here you can see an example for a backup: @@ -304,7 +307,7 @@ Incremental FileSet example: Restores -~~~~~~~~ +^^^^^^^^ If you want to perfom a restore of a full backup without differentials or incrementals you have some options which helps you to restore even the corrupted database still exist. But you have to specifiy the options like plugin, instance and database during every backup. @@ -460,7 +463,7 @@ Example for a full restore: Termination: Restore OK Restore a Backup Chain -^^^^^^^^^^^^^^^^^^^^^^ +'''''''''''''''''''''' If you like to restore a specific state or a whole chain consists of full, incremental and differential backups you need to use the "norecovery=yes" option. After this the database is in "recovery mode". You can also use a option which put the database right after the restore back into the right mode. If you like to restore certains point with protocols or "LSN" it it not recommend to work with this option. @@ -630,7 +633,7 @@ Followed is a example for a restore of full, differential and incremental backup Termination: Restore OK Backup of a PostgreSQL Database -------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :index:`[TAG=PostgreSQL->Backup] ` :index:`[TAG=Database->PostgreSQL->Backup] ` @@ -641,7 +644,7 @@ Backup of a PostgreSQL Database In this section, we describe different methods how to do backups of the PostgreSQL databases. Backup of a PostgreSQL Database by using the RunScript directive -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :index:`[TAG=RunScript->Example] ` @@ -691,7 +694,7 @@ This can be done by using **Run Script**:sup:`Dir`:sub:`Job`\ directives inside Note that redirecting the :command:`pg_dumpall` output to a file requires to run the whole command line through a shell, otherwise the :command:`pg_dumpall` would not know what do with the :command:`>` character and the job would fail. As no shell features like redirection or piping are used for the :command:`rm`, the :command:`sh -c` is not needed there. See **Run Script**:sup:`Dir`:sub:`Job`\ for more details. Backup of a PostgreSQL Databases by using the bpipe plugin -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :index:`[TAG=bpipe->PostgreSQL backup] ` @@ -731,7 +734,7 @@ This can also be used, to backup a database that is running on a remote host: } Backup of a PostgreSQL Databases by using the PGSQL-Plugin -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :index:`[TAG=Plugin->PostgreSQL Backup] ` @@ -746,7 +749,7 @@ Database recovery is performed fully automatic with dedicated pgsql-restore util For a full description, see https://github.com/bareos/contrib-pgsql-plugin/wiki. Backup of a MySQL Database --------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~ :index:`[TAG=MySQL->Backup] ` :index:`[TAG=Database->MySQL->Backup] ` @@ -757,7 +760,7 @@ Backup of a MySQL Database In this section, we describe different methods to do a full backup of a MySQL database. Backup of MySQL Databases using the Bareos MySQL Percona xtrabackup Plugin -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :index:`[TAG=Plugin->MySQL Backup] ` :index:`[TAG=Percona xtrabackup] ` :index:`[TAG=xtrabackup] ` @@ -769,7 +772,7 @@ This plugin is available since :index:`Version >= 16.2.4 MySQL Backup] ` @@ -931,7 +934,7 @@ mysqlpassword On restore, the database dumps are restored to the subdirectory :file:`_mysqlbackups_` in the restore path. The database restore must be triggered manually (:command:`mysql < _mysqlbackups_/DATABASENAME.sql`). Backup of a MySQL Database by using the RunScript directive -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :index:`[TAG=RunScript->Example] ` @@ -981,7 +984,7 @@ This can be done by using **Run Script**:sup:`Dir`:sub:`Job`\ directives, for e Note that redirecting the :command:`mysqldump` output to a file requires to run the whole command line through a shell, otherwise the :command:`mysqldump` would not know what do with the :command:`>` character and the job would fail. As no shell features like redirection or piping are used for the :command:`rm`, the :command:`sh -c` is not needed there. See **Run Script**:sup:`Dir`:sub:`Job`\ for more details. Backup of a MySQL Database by using the bpipe plugin -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :index:`[TAG=bpipe->MySQL backup] ` @@ -1045,14 +1048,14 @@ A very simple corresponding shell script (:command:`bpipe-restore.sh`) to the me .. _section-StatisticCollection: Statistics Collection -===================== +--------------------- Statistics Collection can be controlled by a number of configuration directives. If Statistics Collection is enabled, statistics are collected by the |bareosDir| and stored into the Catalog database. So enabling this feature will increase your database size. The Statistics are used by the |bareosWebui| to show the status of a running job. :index:`[TAG=Webui->Configure Statistics Collection] ` Director Configuration - Director Resource Directives ------------------------------------------------------ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - @@ -1063,14 +1066,14 @@ Director Configuration - Director Resource Directives **Statistics Retention**:sup:`Dir`:sub:`Director`\ Director Configuration - Storage Resource Directives ----------------------------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - **Collect Statistics**:sup:`Dir`:sub:`Storage`\ Storage Configuration - Storage Resource Directives ---------------------------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - @@ -1085,7 +1088,7 @@ Storage Configuration - Storage Resource Directives **Statistics Collect Interval**:sup:`Sd`:sub:`Storage`\ Storage Configuration - Device Resource Directives --------------------------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - diff --git a/docs/manuals/en/new_main_reference/source/appendix-j/troubleshooting.rst b/docs/manuals/en/new_main_reference/source/appendix-j/troubleshooting.rst index 2515b70f37c..99068346b1e 100644 --- a/docs/manuals/en/new_main_reference/source/appendix-j/troubleshooting.rst +++ b/docs/manuals/en/new_main_reference/source/appendix-j/troubleshooting.rst @@ -1,17 +1,20 @@ .. ATTENTION do not edit this file manually. It was automatically converted from the corresponding .tex file +Troubleshooting +=============== + .. _section-debug-messages: Debug Messages -============== +-------------- The Bareos programs contain a lot of debug messages. Normally, these are not printed. See the :ref:`setdebug ` chapter about how to enable them. .. _AccessProblems: Client Access Problems -====================== +---------------------- :index:`[TAG=Problem->Cannot Access a Client] ` There are several reasons why a |bareosDir| could not contact a client on a different machine. They are: @@ -28,7 +31,7 @@ Client Access Problems Some of the DNS and Firewall problems can be circumvented by configuring clients using :ref:`section-ClientInitiatedConnection` or as :ref:`PassiveClient`. Difficulties Connecting from the FD to the SD ---------------------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :index:`[TAG=Problem->Connecting from the FD to the SD] ` @@ -51,7 +54,7 @@ You can verify how a |bareosFd| resolves a DNS name by the following command: If your address is correct, then make sure that no other program is using the port 9103 on the Storage daemon’s machine. The Bacula project has reserved these port numbers by IANA, therefore they should only be used by Bacula and its replacements like Bareos. However, apparently some HP printers do use these port numbers. A :command:`netstat -lntp` on the |bareosSd|’s machine can determine who is listening on the 9103 port (used for FD to SD communications in Bareos). Authorization Errors --------------------- +~~~~~~~~~~~~~~~~~~~~ :index:`[TAG=Problem->Authorization Errors] ` :index:`[TAG=Concurrent Jobs] ` @@ -70,7 +73,7 @@ Some users report that authentication fails if there is not a proper reverse DNS Here is a picture that indicates what names/passwords in which files/Resources must match up: -.. image:: images/Conf-Diagram.* +.. image:: /_static/images/Conf-Diagram.* :width: 80.0% @@ -83,7 +86,7 @@ Another thing to check is to ensure that the Bareos component you are trying to .. _ConcurrentJobs: Concurrent Jobs -=============== +--------------- :index:`[TAG=Job->Concurrent Jobs] ` :index:`[TAG=Running Concurrent Jobs] ` :index:`[TAG=Concurrent Jobs] ` @@ -169,7 +172,7 @@ Below is a super stripped down :file:`bareos-dir.conf` file showing you the four } Media VolWrites: integer out of range -===================================== +------------------------------------- :index:`[TAG=Errors->integer out of range] ` :index:`[TAG=Catalog->Media->VolWrites] ` @@ -215,17 +218,17 @@ In the long run, it is planed to modify the database schema to enable storing mu .. _TapeTestingChapter: Tape Drive -========== +---------- :index:`[TAG=Problem->Tape] ` Autochanger -=========== +----------- .. _AutochangerTesting: Testing Autochanger and Adapting mtx-changer script ---------------------------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -354,10 +357,10 @@ A second problem that comes up with a small number of autochangers is that they If this solves your problems, set the parameter ``offline`` in the config file :file:`/etc/bareos/mtx-changer.conf` to "1". Restore -======= +------- Restore a pruned job using a pattern ------------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :index:`[TAG=Restore->pruned job] ` :index:`[TAG=Problem->Restore->pruned job] ` :index:`[TAG=Regex] ` @@ -379,7 +382,7 @@ If all File records are pruned from the catalog for a Job, normally Bareos can r See also :ref:`FileRegex bsr option ` for more information. Problems Restoring Files ------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~ :index:`[TAG=Restore->Files->Problem] ` :index:`[TAG=Problem->Restoring Files] ` :index:`[TAG=Problem->Tape->fixed mode] ` :index:`[TAG=Problem->Tape->variable mode] ` @@ -420,7 +423,7 @@ Try the following things, each separately, and reset your Device resource to wha #. Use bextract to extract the files you want – it reads the Volume sequentially if you use the include list feature, or if you use a .bsr file, but remove all the VolBlock statements after the .bsr file is created (at the Run yes/mod/no) prompt but before you start the restore. Restoring Files Can Be Slow ---------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~ :index:`[TAG=Restore->slow] ` :index:`[TAG=Problem->Restore->slow] ` @@ -435,7 +438,7 @@ For all the above reasons the restore process is generally much slower than back .. _section-RestoreCatalog: Restoring When Things Go Wrong ------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :index:`[TAG=Catalog->Restore] ` :index:`[TAG=Restore->Catalog] ` :index:`[TAG=Disaster->Recovery->Catalog] ` :index:`[TAG=Problem->Repair Catalog] ` diff --git a/docs/manuals/en/new_main_reference/source/appendix-k/debug.rst b/docs/manuals/en/new_main_reference/source/appendix-k/debug.rst index d0bd89fd75d..17f1cdc3c79 100644 --- a/docs/manuals/en/new_main_reference/source/appendix-k/debug.rst +++ b/docs/manuals/en/new_main_reference/source/appendix-k/debug.rst @@ -1,6 +1,9 @@ .. ATTENTION do not edit this file manually. It was automatically converted from the corresponding .tex file +Debugging +========= + :index:`[TAG=Crash] ` :index:`[TAG=Debug->crash] ` This chapter describes, how to debug Bareos, when the program crashes. If you are just interested about how to get more information about a running Bareos daemon, please read :ref:`section-debug-messages`. @@ -11,7 +14,7 @@ This chapter explains what you should do if one of the three Bareos daemons (Dir Bareos will force itself to crash with a SEGFAULT. However, before crashing, Bareos will normally display a message indicating why. For more details, please read on. Traceback -========= +--------- :index:`[TAG=Traceback] ` @@ -35,7 +38,7 @@ For this to work, you need to ensure that a few things are setup correctly on yo If all the above conditions are met, the daemon that crashes will produce a traceback report and email it. If the above conditions are not true, you can run the debugger by hand as described below. Testing The Traceback -===================== +--------------------- :index:`[TAG=Traceback->Test] ` @@ -57,13 +60,13 @@ which in this case is 2103. Then while Bareos is running, you call the program g It should produce an email showing you the current state of the daemon (in this case the Director), and then exit leaving Bareos running as if nothing happened. If this is not the case, you will need to correct the problem by modifying the :command:`btraceback` script. Getting A Traceback On Other Systems ------------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ It should be possible to produce a similar traceback on systems other than Linux, either using :command:`gdb` or some other debugger. Solaris:index:`[TAG=Platform->Solaris->Debug] ` with :command:`dbx` loaded works quite fine. On other systems, you will need to modify the :command:`btraceback` program to invoke the correct debugger, and possibly correct the :file:`btraceback.gdb` script to have appropriate commands for your debugger. Please keep in mind that for any debugger to work, it will most likely need to run as root. Manually Running Bareos Under The Debugger -========================================== +------------------------------------------ If for some reason you cannot get the automatic traceback, or if you want to interactively examine the variable contents after a crash, you can run Bareos under the debugger. Assuming you want to run the Storage daemon under the debugger (the technique is the same for the other daemons, only the name changes), you would do the following: diff --git a/docs/manuals/en/new_main_reference/source/appendix-l/releasenotes.rst b/docs/manuals/en/new_main_reference/source/appendix-l/releasenotes.rst index 64aac04a49d..ef9b604e617 100644 --- a/docs/manuals/en/new_main_reference/source/appendix-l/releasenotes.rst +++ b/docs/manuals/en/new_main_reference/source/appendix-l/releasenotes.rst @@ -1,11 +1,12 @@ .. ATTENTION do not edit this file manually. It was automatically converted from the corresponding .tex file - - .. _releasenotes: - :index:`[TAG=Releases] ` +Release Notes +============= + +:index:`[TAG=Releases] ` The technical changelog is automatically generated from the Bareos bug tracking system, see http://bugs.bareos.org/changelog_page.php. @@ -23,10 +24,10 @@ This chapter concentrates on things to do when updating an existing Bareos insta While all the source code is published on `GitHub `_, the releases of packages on ``_ is limited to the initial versions of a major release. Later maintenance releases are only published on ``_. Bareos-17.2 -=========== +----------- bareos-17.2.7 -------------- +~~~~~~~~~~~~~ :index:`[TAG=bareos-17.2.7->Release Notes] ` @@ -63,7 +64,7 @@ This release contains several bugfixes and enhancements. Excerpt: - :strong:`SLES 12sp2` and :strong:`SLES 12sp3`: provide **bareos-storage-ceph** and **bareos-filedaemon-ceph-plugin** packages. bareos-17.2.6 -------------- +~~~~~~~~~~~~~ :index:`[TAG=bareos-17.2.6->Release Notes] ` @@ -110,7 +111,7 @@ This release contains several bugfixes and enhancements. Excerpt: - gfapi: stale file handles are treated as warnings bareos-17.2.5 -------------- +~~~~~~~~~~~~~ :index:`[TAG=bareos-17.2.5->Release Notes] ` @@ -167,7 +168,7 @@ This release contains several bugfixes and enhancements. Excerpt: - **NDMP Block Size**:sup:`Dir`:sub:`Client`\ changed type from :strong:`Pint32` to :strong:`Size32`. This should not affect any configuration, but is more consistent with other block size configuration directives. bareos-17.2.4 -------------- +~~~~~~~~~~~~~ :index:`[TAG=bareos-17.2.4->Release Notes] ` @@ -254,10 +255,10 @@ This release contains several enhancements. Excerpt: - :issue:`793` Virtual Backups: skip jobs with no files. Bareos-16.2 -=========== +----------- bareos-16.2.8 -------------- +~~~~~~~~~~~~~ :index:`[TAG=bareos-16.2.8->Release Notes] ` @@ -304,7 +305,7 @@ This release contains several bugfixes and enhancements. Excerpt: - :issue:`967` Windows: Symbolic links are now replaceable during restore bareos-16.2.7 -------------- +~~~~~~~~~~~~~ :index:`[TAG=bareos-16.2.7->Release Notes] ` @@ -367,7 +368,7 @@ This release contains several bugfixes and enhancements. Excerpt: - Packages for AIX and current HP-UX 11.31 bareos-16.2.6 -------------- +~~~~~~~~~~~~~ :index:`[TAG=bareos-16.2.6->Release Notes] ` @@ -449,7 +450,7 @@ This release contains several bugfixes and enhancements. Excerpt: - WebUI: jQuery was updated from version 1.12.4 to version 3.2.0., some outdated browsers like Internet Explorer 6-8, Opera 12.1x or Safari 5.1+ will no longer be supported, see `jQuery Browser Support `_ for details. bareos-16.2.5 -------------- +~~~~~~~~~~~~~ :index:`[TAG=bareos-16.2.5->Release Notes] ` @@ -486,7 +487,7 @@ This release contains several bugfixes and enhancements. Excerpt: - WebUI: adds translations for Chinese, Italian and Spanish. bareos-16.2.4 -------------- +~~~~~~~~~~~~~ :index:`[TAG=bareos-16.2.4->Release Notes] ` @@ -549,10 +550,10 @@ First stable release of the Bareos 16.2 branch. - While RHEL 6 and CentOS 6 are still platforms supported by Bareos, the package **bareos-webui** is not available for these platforms, as the required ZendFramework 2.4 do require PHP >= 5.3.17 (5.3.23). However, it is possible to use **bareos-webui** 15.2 against **bareos-director** 16.2. Also here, the profile must be adapted. Bareos-15.2 -=========== +----------- bareos-15.2.4 -------------- +~~~~~~~~~~~~~ :index:`[TAG=bareos-15.2.4->Release Notes] ` @@ -589,7 +590,7 @@ This release contains several bugfixes and enhancements. Excerpt: - Director memory leak caused by frequent bconsole calls bareos-15.2.3 -------------- +~~~~~~~~~~~~~ :index:`[TAG=bareos-15.2.3->Release Notes] ` @@ -634,7 +635,7 @@ This release contains several bugfixes and enhancements. Excerpt: - label barcodes now can run without interaction bareos-15.2.2 -------------- +~~~~~~~~~~~~~ :index:`[TAG=bareos-15.2.2->Release Notes] ` @@ -671,7 +672,7 @@ When coming from bareos-14.2.x, the following things have changed (same as in ba - The configuration syntax for Storage Daemon Cloud Backends Ceph and GlusterFS have changed. Before bareos-15.2, options have been configured as part of the **Archive Device**:sup:`Sd`:sub:`Device`\ directive, while now the Archive Device contains only information text and options are defined via the **Device Options**:sup:`Sd`:sub:`Device`\ directive. See examples in **Device Options**:sup:`Sd`:sub:`Device`\ . *bareos-15.2.1 (unstable)* --------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~ # Tabular in LaTex format (original) @@ -702,12 +703,12 @@ Beta release. - The configuration syntax for Storage Daemon Cloud Backends Ceph and GlusterFS have changed. Before bareos-15.2, options have been configured as part of the **Archive Device**:sup:`Sd`:sub:`Device`\ directive, while now the Archive Device contains only information text and options are defined via the **Device Options**:sup:`Sd`:sub:`Device`\ directive. See examples in **Device Options**:sup:`Sd`:sub:`Device`\ . Bareos-14.2 -=========== +----------- It is known, that :command:`drop_database` scripts will not longer work on PostgreSQL < 8.4. However, as :command:`drop_database` scripts are very seldom needed, package dependencies do not yet enforce PostgreSQL >= 8.4. We plan to ensure this in future version of Bareos. bareos-14.2.7 -------------- +~~~~~~~~~~~~~ :index:`[TAG=bareos-14.2.7->Release Notes] ` @@ -778,7 +779,7 @@ This release contains several bugfixes. Excerpt: | :issue:`588`: Incremental MSSQL backup fails when database name contains spaces bareos-14.2.6 -------------- +~~~~~~~~~~~~~ :index:`[TAG=bareos-14.2.6->Release Notes] ` @@ -805,7 +806,7 @@ Url ``_ This release contains several bugfixes. bareos-14.2.5 -------------- +~~~~~~~~~~~~~ :index:`[TAG=bareos-14.2.5->Release Notes] ` @@ -832,7 +833,7 @@ Url ``_ This release contains several bugfixes and added the platforms :strong:`Debian 8` and :strong:`Fedora 21`. bareos-14.2.4 -------------- +~~~~~~~~~~~~~ :index:`[TAG=bareos-14.2.4->Release Notes] ` @@ -877,7 +878,7 @@ If an update is not possible immediately, autolabeling should be disabled and vo If you are affected by the 64k bug, we recommend that you schedule a full backup after fixing the problem in order to get a proper full backup of all files. bareos-14.2.3 -------------- +~~~~~~~~~~~~~ :index:`[TAG=bareos-14.2.3->Release Notes] ` @@ -902,7 +903,7 @@ Url ``_ ================ =============================================== bareos-14.2.2 -------------- +~~~~~~~~~~~~~ :index:`[TAG=bareos-14.2.2->Release Notes] ` @@ -933,7 +934,7 @@ Url ``_ First stable release of the Bareos 14.2 branch. *bareos-14.2.1 (unstable)* --------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~ # Tabular in LaTex format (original) @@ -958,10 +959,10 @@ Url ``_ Beta release. Bareos-13.2 -=========== +----------- bareos-13.2.5 -------------- +~~~~~~~~~~~~~ :index:`[TAG=bareos-13.2.5->Release Notes] ` @@ -986,7 +987,7 @@ Url ``_ This release contains several bugfixes. bareos-13.2.4 -------------- +~~~~~~~~~~~~~ :index:`[TAG=bareos-13.2.4->Release Notes] ` @@ -1009,7 +1010,7 @@ Url ``_ ================ =============================================== bareos-13.2.3 -------------- +~~~~~~~~~~~~~ :index:`[TAG=bareos-13.2.3->Release Notes] ` @@ -1036,7 +1037,7 @@ Url ``_ It is known, that :command:`drop_database` scripts will not longer work on PostgreSQL < 8.4. However, as :command:`drop_database` scripts are very seldom needed, package dependencies do not yet enforce PostgreSQL >= 8.4. We plan to ensure this in future version of Bareos. bareos-13.2.2 -------------- +~~~~~~~~~~~~~ :index:`[TAG=bareos-13.2.2->Release Notes] ` @@ -1061,10 +1062,10 @@ Url ``_ ================ =============================================== Bareos-12.4 -=========== +----------- bareos-12.4.8 -------------- +~~~~~~~~~~~~~ :index:`[TAG=bareos-12.4.8->Release Notes] ` @@ -1089,7 +1090,7 @@ Url ``_ This release contains several bugfixes. bareos-12.4.6 -------------- +~~~~~~~~~~~~~ :index:`[TAG=bareos-12.4.6->Release Notes] ` @@ -1114,7 +1115,7 @@ Url ``_ ================ =============================================== bareos-12.4.5 -------------- +~~~~~~~~~~~~~ :index:`[TAG=bareos-12.4.5->Release Notes] ` @@ -1137,7 +1138,7 @@ Url ``_ ================ =============================================== bareos-12.4.4 -------------- +~~~~~~~~~~~~~ :index:`[TAG=bareos-12.4.4->Release Notes] ` @@ -1162,7 +1163,7 @@ Url ``_ ================ =============================================== bareos-12.4.3 -------------- +~~~~~~~~~~~~~ :index:`[TAG=bareos-12.4.3->Release Notes] ` @@ -1187,7 +1188,7 @@ Url ``_ ================ =============================================== bareos-12.4.2 -------------- +~~~~~~~~~~~~~ :index:`[TAG=bareos-12.4.2->Release Notes] ` @@ -1208,7 +1209,7 @@ Database Version 2001 (unchanged) ================ ================ bareos-12.4.1 -------------- +~~~~~~~~~~~~~ :index:`[TAG=bareos-12.4.1->Release Notes] ` diff --git a/docs/manuals/en/new_main_reference/source/appendix-m/license.rst b/docs/manuals/en/new_main_reference/source/appendix-m/license.rst index 81e5acdeff8..75ba1b73b07 100644 --- a/docs/manuals/en/new_main_reference/source/appendix-m/license.rst +++ b/docs/manuals/en/new_main_reference/source/appendix-m/license.rst @@ -1,20 +1,27 @@ .. ATTENTION do not edit this file manually. It was automatically converted from the corresponding .tex file +.. _LicenseChapter: + +Bareos Copyright, Trademark, and Licenses +========================================= + +:index:`[TAG=License->Bareos Copyright Trademark Licenses] ` :index:`[TAG=Bareos Copyright, Trademark, and Licenses] ` + Licenses Overview -================= +----------------- There are a number of different licenses that are used in Bareos. FDL ---- +~~~ :index:`[TAG=License->FDL] ` The :ref:`GNU Free Documentation License (FDL) ` is used for this manual, which is a free and open license. This means that you may freely reproduce it and even make changes to it. AGPL ----- +~~~~ :index:`[TAG=License->AGPL] ` @@ -27,21 +34,21 @@ All new code is copyrighted: Copyright ©2013-2013 Bareos GmbH & Co. KG Portions may be copyrighted by other people. These files are released under different licenses which are compatible with the AGPL license. LGPL ----- +~~~~ :index:`[TAG=License->LGPL] ` Some of the Bareos library source code is released under the :ref:`GNU Lesser General Public License (LGPL) `. This permits third parties to use these parts of our code in their proprietary programs to interface to Bareos. Public Domain -------------- +~~~~~~~~~~~~~ :index:`[TAG=License->Public Domain] ` Some of the Bareos code, or code that Bareos references, has been released to the public domain. E.g. md5.c, SQLite. Trademark ---------- +~~~~~~~~~ :index:`[TAG=Trademark] ` @@ -50,7 +57,7 @@ Bareos\raisebox{.6ex}{\textsuperscript{\textregistered}} is a registered tradema Bacula\raisebox{.6ex}{\textsuperscript{\textregistered}} is a registered trademark of Kern Sibbald. Disclaimer ----------- +~~~~~~~~~~ :index:`[TAG=Disclaimer] ` @@ -63,7 +70,45 @@ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY C ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. Other Copyrights and Trademarks -------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Certain words and/or products are Copyrighted or Trademarked such as Windows (by Microsoft). Since they are numerous, and we are not necessarily aware of the details of each, we don’t try to list them here. However, we acknowledge all such Copyrights and Trademarks, and if any copyright or trademark holder wishes a specific acknowledgment, notify us, and we will be happy to add it where appropriate. + + +.. _fdl: + +GNU Free Documentation License +------------------------------ + + + +.. literalinclude:: /_static/fdl.txt + + + + + +.. _agpl: + +GNU Affero Gerneral Public License +---------------------------------- + + + +.. literalinclude:: /_static/agpl.txt + + + + + +.. _lgpl: + +GNU Lesser Gerneral Public License +---------------------------------- + + + +.. literalinclude:: /_static/lgpl.txt + + diff --git a/docs/manuals/en/new_main_reference/source/chapter01/general.rst b/docs/manuals/en/new_main_reference/source/chapter01/general.rst index f7f3f598121..3eb32eb00e3 100644 --- a/docs/manuals/en/new_main_reference/source/chapter01/general.rst +++ b/docs/manuals/en/new_main_reference/source/chapter01/general.rst @@ -1,11 +1,6 @@ .. ATTENTION do not edit this file manually. It was automatically converted from the corresponding .tex file -.. _GeneralChapter: - -What is Bareos? -=============== - Bareos is a set of computer programs that permits the system administrator to manage backup, recovery, and verification of computer data across a network of computers of different kinds. Bareos can also run entirely upon a single computer and can backup to various types of media, including tape and disk. In technical terms, it is a network Client/Server based backup program. Bareos is relatively easy to use and efficient, while offering many advanced storage management features that make it easy to find and recover lost or damaged files. Due to its modular design, Bareos is scalable from small single computer systems to systems consisting of hundreds of computers located over a large network. @@ -13,7 +8,7 @@ In technical terms, it is a network Client/Server based backup program. Bareos i .. _History: History -------- +======= Bareos is a `fork `_ of the open source project `Bacula `_ version 5.2. In 2010 the Bacula community developer Marco van Wieringen started to collect rejected or neglected community contributions in his own branch. This branch was later on the base of Bareos and since then was enriched by a lot of new features. @@ -22,7 +17,7 @@ This documentation also bases on the `original Bacula documentation `_ file. Who Needs Bareos? ------------------ +================= If you are currently using a program such as tar, dump, or bru to backup your computer data, and you would like a network solution, more flexibility, or catalog services, Bareos will most likely provide the additional features you want. However, if you are new to Unix systems or do not have offsetting experience with a sophisticated backup package, the Bareos project does not recommend using Bareos as it is much more difficult to setup and use than tar or dump. @@ -33,14 +28,14 @@ If you would like a backup program that can write to multiple volumes (i.e. is n If you are currently using a sophisticated commercial package such as Legato Networker, ARCserveIT, Arkeia, IBM Tivoli Storage Manager or PerfectBackup+, you may be interested in Bareos, which provides many of the same features and is free software available under the GNU AGPLv3 software license. Bareos Components or Services ------------------------------ +============================= Bareos is made up of the following major components or services: Director, Console, File, Storage, and Monitor services. .. _DirDef: Bareos Director -~~~~~~~~~~~~~~~ +--------------- The Director is the central control program for all the other daemons. It schedules and supervises all the backup, restore, verify and archive operations. The system administrator uses the Bareos Director to schedule backups and to recover files. The Director runs as a daemon (or service) in the background. @@ -49,14 +44,14 @@ The Director is the central control program for all the other daemons. It schedu Bareos Console -~~~~~~~~~~~~~~ +-------------- The Bareos Console (:command:`bconsole`) is the program that allows the administrator or user to communicate with the |bareosDir|. It runs in a shell window (i.e. TTY interface). Most system administrators will find this completely adequate. For more details see the :ref:`section-bconsole`. .. _FDDef: Bareos File Daemon -~~~~~~~~~~~~~~~~~~ +------------------ The |bareosFd| is a program that must be installed on each (Client) machine that should be backed up. At the request of the |bareosDir|, it finds the files to be backed up and sends them (their data) to the |bareosSd|. @@ -67,7 +62,7 @@ The |bareosFd| is also responsible for the file system dependent part of restori .. _SDDef: Bareos Storage Daemon -~~~~~~~~~~~~~~~~~~~~~ +--------------------- The |bareosSd| is responsible, at the |bareosDir| request, for accepting data from a |bareosFd| and storing the file attributes and data to the physical backup media or volumes. In the case of a restore request, it is responsible to find the data and send it to the |bareosFd|. @@ -78,7 +73,7 @@ The Storage services runs as a daemon on the machine that has the backup device .. _DBDefinition: Catalog -~~~~~~~ +------- The Catalog services are comprised of the software programs responsible for maintaining the file indexes and volume databases for all files backed up. The Catalog services permit the system administrator or user to quickly locate and restore any desired file. The Catalog services sets Bareos apart from simple backup programs like tar and bru, because the catalog maintains a record of all Volumes used, all Jobs run, and all Files saved, permitting efficient restoration and Volume management. Bareos currently supports three different databases, MySQL, PostgreSQL, and SQLite, one of which must be chosen when building Bareos. @@ -88,7 +83,7 @@ The three SQL databases currently supported (MySQL, PostgreSQL or SQLite) provid To perform a successful save or restore, the following four daemons must be configured and running: the Director daemon, the File daemon, the Storage daemon, and the Catalog service (MySQL, PostgreSQL or SQLite). Bareos Version Numbers and Releases ------------------------------------ +=================================== :index:`[TAG=Version numbers] ` :index:`[TAG=Releases] ` @@ -130,7 +125,7 @@ For details about the different releases see :ref:`releasenotes`. .. _section-BareosPackages: Bareos Packages ---------------- +=============== Following Bareos Linux packages are available (release 17.2.4): @@ -233,13 +228,13 @@ Not all packages are required to run Bareos. - On a Backup Administration system you need to install at least **bareos-bconsole** to have an interactive console to the |bareosDir|. Quick Start ------------ +=========== To get Bareos up and running quickly, the author recommends that you first scan the Terminology section below, then quickly review the next chapter entitled :ref:`The Current State of Bareos `, then the :ref:`Installing Bareos `, the :ref:`Getting Started with Bareos `, which will give you a quick overview of getting Bareos running. After which, you should proceed to the chapter :ref:`How to Configure Bareos `, and finally the chapter on :ref:`Running Bareos `. Terminology ------------ +=========== :index:`[TAG=Terminology] ` @@ -353,16 +348,16 @@ Volume :index:`[TAG=Volume] ` A Volume is an archive unit, normally a tape or a named disk file where Bareos stores the data from one or more backup jobs. All Bareos Volumes have a software label written to the Volume by Bareos so that it identifies what Volume it is really reading. (Normally there should be no confusion with disk files, but with tapes, it is easy to mount the wrong one.) What Bareos is Not ------------------- +================== Bareos is a backup, restore and verification program and is not a complete disaster recovery system in itself, but it can be a key part of one if you plan carefully and follow the instructions included in the :ref:`Disaster Recovery ` chapter of this manual. Interactions Between the Bareos Services ----------------------------------------- +======================================== The following block diagram shows the typical interactions between the Bareos Services for a backup job. Each block represents in general a separate process (normally a daemon). In general, the Director oversees the flow of information. It also maintains the Catalog. -.. image:: images/flow.* +.. image:: /_static/images/flow.* :width: 80.0% diff --git a/docs/manuals/en/new_main_reference/source/chapter02/install.rst b/docs/manuals/en/new_main_reference/source/chapter02/install.rst index 93a28e5ec9a..9b74e90f714 100644 --- a/docs/manuals/en/new_main_reference/source/chapter02/install.rst +++ b/docs/manuals/en/new_main_reference/source/chapter02/install.rst @@ -1,6 +1,13 @@ .. ATTENTION do not edit this file manually. It was automatically converted from the corresponding .tex file +.. _InstallChapter: + +Installing Bareos +================= + +:index:`[TAG=Bareos->Installing] ` :index:`[TAG=Installation->Linux] ` + If you are like me, you want to get Bareos running immediately to get a feel for it, then later you want to go back and read about all the details. This chapter attempts to accomplish just that: get you going quickly without all the details. Bareos comes prepackaged for a number of Linux distributions. So the easiest way to get to a running Bareos installation, is to use a platform where prepacked Bareos packages are available. Additional information can be found in the chapter :ref:`Operating Systems `. @@ -28,7 +35,7 @@ This will start a very basic Bareos installation which will regularly backup a d .. _section-AddSoftwareRepository: Decide about the Bareos release to use -====================================== +-------------------------------------- - http://download.bareos.org/bareos/release/latest/ @@ -41,7 +48,7 @@ Section :ref:`section-InstallBareosPackages` describes how to add the software r .. _section-ChooseDatabaseBackend: Decide about the Database Backend -================================= +--------------------------------- Bareos offers the following database backends: @@ -56,19 +63,13 @@ Bareos offers the following database backends: The Sqlite backend is only intended for testing, not for productive use. PostgreSQL -^^^^^^^^^^ - -is the default backend. + is the default backend. MariaDB/MySQL -^^^^^^^^^^^^^ - -backend is also included. + backend is also included. Sqlite -^^^^^^ - -backend is intended for testing purposes only. + backend is intended for testing purposes only. The Bareos database packages have there dependencies only to the database client packages, therefore the database itself must be installed manually. @@ -77,15 +78,15 @@ If you do not explicitly choose a database backend, your operating system instal .. _section-InstallBareosPackages: Install the Bareos Software Packages -==================================== +------------------------------------ The package **bareos** is only a meta package, that contains dependencies to the main components of Bareos, see :ref:`section-BareosPackages`. If you want to setup a distributed environment (like one Director, separate database server, multiple Storage daemons) you have to choose the corresponding Bareos packages to install on each hosts instead of just installing the **bareos** package. Install on RedHat based Linux Distributions -------------------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ RHEL>7, CentOS>7, Fedora -~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^ :index:`[TAG=Platform->RHEL] ` :index:`[TAG=Platform->CentOS] ` :index:`[TAG=Platform->Fedora] ` @@ -117,7 +118,7 @@ Bareos :index:`Version >= 15.2.0 ` req yum install bareos bareos-database-postgresql RHEL 6, CentOS 6 -~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^ :index:`[TAG=Platform->RHEL->6] ` :index:`[TAG=Platform->CentOS->6] ` @@ -152,7 +153,7 @@ Bareos :index:`Version >= 15.2.0 ` req yum install bareos bareos-database-postgresql RHEL 5 -~~~~~~ +^^^^^^ :index:`[TAG=Platform->RHEL->5] ` @@ -181,10 +182,10 @@ yum in RHEL 5/CentOS 5 has slightly different behaviour as far as dependency res yum install bareos Install on SUSE based Linux Distributions ------------------------------------------ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SUSE Linux Enterprise Server (SLES), openSUSE -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :index:`[TAG=Platform->SLES] ` :index:`[TAG=Platform->openSUSE] ` @@ -218,10 +219,10 @@ SUSE Linux Enterprise Server (SLES), openSUSE .. _section-InstallBareosPackagesDebian: Install on Debian based Linux Distributions -------------------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Debian / Ubuntu -~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^ :index:`[TAG=Platform->Debian] ` :index:`[TAG=Platform->Ubuntu] ` @@ -261,7 +262,7 @@ Bareos :index:`Version >= 15.2.0 ` req If you prefer using the versions of Bareos directly integrated into the distributions, please note that there are some differences, see :ref:`section-DebianOrgLimitations`. Install on Univention Corporate Server --------------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :strong:`Univention` @@ -272,7 +273,7 @@ If you are not interested in this additional functionality, the commands describ .. _section-CreateDatabase: Prepare Bareos database -======================= +----------------------- We assume that you have already your database installed and basically running. Using the PostgreSQL database backend is recommended. @@ -281,16 +282,16 @@ The easiest way to set up a database is using an system account that have passwo For details, see chapter :ref:`CatMaintenanceChapter`. Debian based Linux Distributions --------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Since Bareos :index:`Version >= 14.2.0 ` the Debian (and Ubuntu) based packages support the **dbconfig-common** mechanism to create and update the Bareos database. Follow the instructions during install to configure it according to your needs. -.. image:: images/dbconfig-1-enable.* +.. image:: /_static/images/dbconfig-1-enable.* :width: 45.0% -.. image:: images/dbconfig-2-select-database-type.* +.. image:: /_static/images/dbconfig-2-select-database-type.* :width: 45.0% @@ -305,12 +306,10 @@ For details see :ref:`section-dbconfig`. .. _section-CreateDatabaseOtherDistributions: Other Platforms ---------------- - -.. _postgresql-1: +~~~~~~~~~~~~~~~ PostgreSQL -~~~~~~~~~~ +^^^^^^^^^^ If your are using PostgreSQL and your PostgreSQL administration user is **postgres** (default), use following commands: @@ -322,7 +321,7 @@ If your are using PostgreSQL and your PostgreSQL administration user is **postgr su postgres -c /usr/lib/bareos/scripts/grant_bareos_privileges MySQL/MariaDB -~~~~~~~~~~~~~ +^^^^^^^^^^^^^ Make sure, that **root** has direct access to the local MySQL server. Check if the command :command:`mysql` connects to the database without defining the password. This is the default on RedHat and SUSE distributions. On other systems (Debian, Ubuntu), create the file :file:`~/.my.cnf` with your authentication informations: @@ -348,7 +347,7 @@ As some Bareos updates require a database schema update, therefore the file :fil .. _section-StartDaemons: Start the daemons -================= +----------------- .. code-block:: sh :caption: Start the Bareos Daemons diff --git a/docs/manuals/en/new_main_reference/source/chapter03/webui.rst b/docs/manuals/en/new_main_reference/source/chapter03/webui.rst index 26ad7167437..6a651329f67 100644 --- a/docs/manuals/en/new_main_reference/source/chapter03/webui.rst +++ b/docs/manuals/en/new_main_reference/source/chapter03/webui.rst @@ -1,18 +1,29 @@ .. ATTENTION do not edit this file manually. It was automatically converted from the corresponding .tex file +.. _section-webui: + +Installing Bareos Webui +======================= + + + +.. _section-install-webui: + + :index:`[TAG=Webui] ` :index:`[TAG=Webui->Install] ` + This chapter addresses the installation process of the |bareosWebui|. Since :index:`Version >= 15.2.0 ` |bareosWebui| is part of the Bareos project and available for a number of platforms. -.. image:: images/bareos-webui-jobs.* +.. image:: /_static/images/bareos-webui-jobs.* :width: 80.0% Features -======== +-------- - Intuitive web interface @@ -49,7 +60,7 @@ Features - bconsole interface (limited to non-interactive commands) System Requirements -=================== +------------------- - A platform, for which the **bareos-webui** package is available, see :ref:`section-BareosPackages`. @@ -66,7 +77,7 @@ System Requirements - On SUSE Linux Enterprise 12 you need the additional SUSE Linux Enterprise Module for Web Scripting 12. Version < 16.2 --------------- +~~~~~~~~~~~~~~ |bareosWebui| :index:`Version >= 16.2.4 ` incorporates the required Zend Framework 2 components, no extra Zend Framework installation is required. For older versions of **bareos-webui**, you must install Zend Framework separately. Unfortunately, not all distributions offer Zend Framework 2 packages. The following list shows where to get the Zend Framework 2 package: @@ -87,15 +98,15 @@ Version < 16.2 Also be aware, that older versions of |bareosDir| do not support the :ref:`section-SubdirectoryConfigurationScheme` and therefore Bareos configuration resource files must be included manually. Installation -============ +------------ Adding the Bareos Repository ----------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ If not already done, add the Bareos repository that is matching your Linux distribution. Please have a look at the chapter :ref:`section-InstallBareosPackages` for more information on how to achieve this. Install the bareos-webui package --------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ After adding the repository simply install the bareos-webui package via your package manager. @@ -124,7 +135,7 @@ After adding the repository simply install the bareos-webui package via your pac apt-get install bareos-webui Minimal Configuration ---------------------- +~~~~~~~~~~~~~~~~~~~~~ This assumes, |bareosDir| and |bareosWebui| are installed on the same host. @@ -154,12 +165,12 @@ This assumes, |bareosDir| and |bareosWebui| are installed on the same host. #. Login to http://HOSTNAME/bareos-webui with username and password as created in \ref{item:webui-create-user}. Configuration Details ---------------------- +~~~~~~~~~~~~~~~~~~~~~ .. _section-webui-console: Create a restricted consoles -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ There is not need, that |bareosWebui| itself provide a user management. Instead it uses so named :sup:`Dir`\ :strong:`Console` defined in the |bareosDir|. You can have multiple consoles with different names and passwords, sort of like multiple users, each with different privileges. @@ -192,7 +203,7 @@ For details, please read :ref:`DirectorResourceConsole`. .. _section-webui-profile: Configuration of profile resources -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The package **bareos-webui** comes with a predefined profile for |bareosWebui|: **webui-admin**:sup:`Dir`:sub:`Profile` . @@ -224,7 +235,7 @@ For details, please read :ref:`DirectorResourceProfile`. .. _section-webui-selinux: SELinux -~~~~~~~ +^^^^^^^ :index:`[TAG=SELinux->bareos-webui] ` @@ -235,7 +246,7 @@ To use |bareosDir| on a system with SELinux enabled, permission must be given to setsebool -P httpd_can_network_connect on Configure your Apache Webserver -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :index:`[TAG=Apache->bareos-webui] ` @@ -248,7 +259,7 @@ The package **bareos-webui** provides a default configuration for Apache. Depend The required Apache modules, :strong:`setenv`, :strong:`rewrite` and :strong:`php` are enabled via package postinstall script. However, after installing the **bareos-webui** package, you need to restart your Apache webserver manually. Configure your /etc/bareos-webui/directors.ini -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :index:`[TAG=Configuration->WebUI] ` @@ -342,7 +353,7 @@ The configuration file :file:`/etc/bareos-webui/directors.ini` should look simil You can add as many directors as you want, also the same host with a different name and different catalog, if you have multiple catalogs. Configure your /etc/bareos-webui/configuration.ini -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Since :index:`Version >= 16.2.2 ` you are able to configure some parameters of the |bareosWebui| to your needs. @@ -397,10 +408,10 @@ Since :index:`Version >= 16.2.2 = 16.2.0 ` it is possible to work with different catalogs. Therefore the catalog parameter has been introduced. If you don’t set a catalog explicitly the default **MyCatalog**:sup:`Dir`:sub:`Catalog` will be used. Please see :ref:`section-webui-configuration-files` for more details. configuration.ini ------------------ +~~~~~~~~~~~~~~~~~ Since 16.2 the |bareosWebui| introduced an additional configuration file besides the directors.ini file named configuration.ini where you are able to adjust some parameters of the webui to your needs. Please see :ref:`section-webui-configuration-files` for more details. Additional information -====================== +---------------------- NGINX ------ +~~~~~ :index:`[TAG=nginx->bareos-webui] ` diff --git a/docs/manuals/en/new_main_reference/source/chapter04/update.rst b/docs/manuals/en/new_main_reference/source/chapter04/update.rst index fcdfff94e54..572721ee85b 100644 --- a/docs/manuals/en/new_main_reference/source/chapter04/update.rst +++ b/docs/manuals/en/new_main_reference/source/chapter04/update.rst @@ -1,10 +1,15 @@ .. ATTENTION do not edit this file manually. It was automatically converted from the corresponding .tex file -In most cases, a Bareos update is simply done by a package update of the distribution. Please remind, that Bareos Director and Bareos Storage Daemon must always have the same version. The version of the File Daemon may differ, see chapter about :ref:`backward compatibility `. +.. _bareos-update: + +Updating Bareos +=============== + +In most cases, a Bareos update is simply done by a package update of the distribution. Please remind, that Bareos Director and Bareos Storage Daemon must always have the same version. The version of the File Daemon may differ, see chapter about :ref:`backward compatibility `. Updating the configuration files -================================ +-------------------------------- When updating Bareos through the distribution packaging mechanism, the existing configuration kept as they are. @@ -18,7 +23,7 @@ they will only be used, when the legacy configuration file does not exist. See :ref:`section-UpdateToConfigurationSubdirectories` for details and how to migrate to :ref:`section-SubdirectoryConfigurationScheme`. Updating the database scheme -============================ +---------------------------- Sometimes improvements in Bareos make it necessary to update the database scheme. @@ -37,7 +42,7 @@ Take a look into the :ref:`Release Notes ` to see which Bareos upd Especially the upgrade to Bareos >= 17.2.0 restructures the **File** database table. In larger installations this is very time consuming and temporarily doubles the amount of required database disk space. Debian based Linux Distributions --------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Since Bareos :index:`Version >= 14.2.0 ` the Debian (and Ubuntu) based packages support the **dbconfig-common** mechanism to create and update the Bareos database. If this is properly configured, the database schema will be automatically adapted by the Bareos packages. @@ -57,7 +62,7 @@ If you disabled the usage of **dbconfig-common**, follow the instructions for :r .. _section-UpdateDatabaseOtherDistributions: Other Platforms ---------------- +~~~~~~~~~~~~~~~ This has to be done as database administrator. On most platforms Bareos knows only about the credentials to access the Bareos database, but not about the database administrator to modify the database schema. @@ -71,7 +76,7 @@ However, this script requires administration access to the database. Depending o If you're updating to Bareos <= 13.2.3 and have configured the Bareos database during install using Bareos environment variables (\variable{db_name}, \variable{db_user} or \variable{db_password}, see :ref:`CatMaintenanceChapter`), make sure to have these variables defined in the same way when calling the update and grant scripts. Newer versions of Bareos read these variables from the Director configuration file \configFileDirUnix. However, make sure that the user running the database scripts has read access to this file (or set the environment variables). The **postgres** user normally does not have the required permissions. PostgreSQL -~~~~~~~~~~ +^^^^^^^^^^ If your are using PostgreSQL and your PostgreSQL administrator is **postgres** (default), use following commands: @@ -86,7 +91,7 @@ The :command:`grant_bareos_privileges` command is required, if new databases tab After this, restart the Bareos Director and verify it starts without problems. MySQL/MariaDB -~~~~~~~~~~~~~ +^^^^^^^^^^^^^ Make sure, that **root** has direct access to the local MySQL server. Check if the command :command:`mysql` without parameter connects to the database. If not, you may be required to adapt your local MySQL configuration file :file:`~/.my.cnf`. It should look similar to this: diff --git a/docs/manuals/en/new_main_reference/source/chapter05/quickstart.rst b/docs/manuals/en/new_main_reference/source/chapter05/quickstart.rst index df1ebf72c64..85a7ef58fae 100644 --- a/docs/manuals/en/new_main_reference/source/chapter05/quickstart.rst +++ b/docs/manuals/en/new_main_reference/source/chapter05/quickstart.rst @@ -1,8 +1,13 @@ .. ATTENTION do not edit this file manually. It was automatically converted from the corresponding .tex file +.. _QuickStartChapter: + +Getting Started with Bareos +=========================== + Understanding Jobs and Schedules -================================ +-------------------------------- :index:`[TAG=Schedule->Understanding Schedules] ` @@ -18,7 +23,7 @@ week), and when more than one job uses the same schedule, the job priority deter Finally, be aware that in addition to the backup jobs there are restore, verify, and admin jobs, which have different requirements. Understanding Pools, Volumes and Labels -======================================= +--------------------------------------- :index:`[TAG=Pools->Understanding] ` :index:`[TAG=Volumes->Understanding] ` :index:`[TAG=Label->Understanding Labels] ` @@ -43,7 +48,7 @@ For more on Pools, see the :ref:`DirectorResourcePool` section of the Director C .. _config: Setting Up Bareos Configuration Files -===================================== +------------------------------------- :index:`[TAG=Configuration->Files] ` @@ -51,7 +56,7 @@ On Unix, Bareos configuration files are usually located in the :file:`/etc/bareo :ref:`ConfigureChapter` and :ref:`section-SubdirectoryConfigurationScheme`. Testing your Configuration Files -================================ +-------------------------------- :index:`[TAG=Testing->Configuration Files] ` diff --git a/docs/manuals/en/new_main_reference/source/chapter08/configure.rst b/docs/manuals/en/new_main_reference/source/chapter08/configure.rst index 0cd20ed66bb..d3bdd7af25b 100644 --- a/docs/manuals/en/new_main_reference/source/chapter08/configure.rst +++ b/docs/manuals/en/new_main_reference/source/chapter08/configure.rst @@ -35,7 +35,7 @@ Configuration Path Layout When a Bareos component starts, it reads its configuration. In Bareos < 16.2.2 only configuration files (which optionally can include other files) are supported. Since Bareos :index:`Version >= 16.2.2 ` also configuration subdirectories are supported. Naming -^^^^^^ +~~~~~~ In this section, the following naming is used: @@ -88,7 +88,7 @@ When starting a Bareos component, it will look for its configuration. Bareos com As the :file:`CONFIGDIR` differs between platforms or is overwritten by the path parameter, the documentation will often refer to the configuration without the leading path (e.g. :file:`COMPONENT.d/*/*.conf` instead of :file:`CONFIGDIR/COMPONENT.d/*/*.conf`). -.. image:: images/bareos-read-configuration.* +.. image:: /_static/images/bareos-read-configuration.* @@ -96,7 +96,7 @@ As the :file:`CONFIGDIR` differs between platforms or is overwritten by the path When subdirectory configuration is used, all files matching :file:`PATH/COMPONENT.d/*/*.conf` will be read, see :ref:`section-ConfigurationSubdirectories`. Relation between Bareos components and configuration -'''''''''''''''''''''''''''''''''''''''''''''''''''' +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ # Tabular in LaTex format (original) @@ -1070,7 +1070,7 @@ The default configuration files are automatically defined for correct authorizat -.. figure:: images/Conf-Diagram.* +.. figure:: /_static/images/Conf-Diagram.* :alt: Relation between resource names and passwords :width: 80.0% diff --git a/docs/manuals/en/new_main_reference/source/chapter09/dirdconf.rst b/docs/manuals/en/new_main_reference/source/chapter09/dirdconf.rst index 8ca5bb02592..7dc542d2805 100644 --- a/docs/manuals/en/new_main_reference/source/chapter09/dirdconf.rst +++ b/docs/manuals/en/new_main_reference/source/chapter09/dirdconf.rst @@ -435,14 +435,3 @@ Counter Resource The Counter Resource defines a counter variable that can be accessed by variable expansion used for creating Volume labels with the **Label Format**:sup:`Dir`:sub:`Pool`\ directive. -.. _SampleDirectorConfiguration: - -Example Director Configuration File ------------------------------------ - -:index:`[TAG=Configuration->Director->Example] ` :index:`[TAG=Configuration File Example] ` - -See below an example of a full Director configuration file: - -.. literalinclude:: ../../main/bareos-dir.conf.in - diff --git a/docs/manuals/en/new_main_reference/source/chapter10/storedconf.rst b/docs/manuals/en/new_main_reference/source/chapter10/storedconf.rst index 9e743aee63c..26e1aea4d9a 100644 --- a/docs/manuals/en/new_main_reference/source/chapter10/storedconf.rst +++ b/docs/manuals/en/new_main_reference/source/chapter10/storedconf.rst @@ -188,12 +188,3 @@ Messages Resource For a description of the Messages Resource, please see the :ref:`MessagesChapter` chapter of this manual. -.. _ExampleStorageConfiguration: - -Example Storage Daemon Configuration File ------------------------------------------ - -A example Storage Daemon configuration file might be the following: - -.. literalinclude:: ../../main/bareos-sd.conf - diff --git a/docs/manuals/en/new_main_reference/source/chapter11/filedconf.rst b/docs/manuals/en/new_main_reference/source/chapter11/filedconf.rst index f0cb1c5d3e7..0851a959535 100644 --- a/docs/manuals/en/new_main_reference/source/chapter11/filedconf.rst +++ b/docs/manuals/en/new_main_reference/source/chapter11/filedconf.rst @@ -96,12 +96,7 @@ An example File Daemon configuration file might be the following: :: # - # Default Bareos File Daemon Configuration file - # - # For Bareos release 12.4.4 (12 June 2013) - # - # There is not much to change here except perhaps the - # File daemon Name to + # Bareos File Daemon Configuration file # # diff --git a/docs/manuals/en/new_main_reference/source/chapter14/monitorconf.rst b/docs/manuals/en/new_main_reference/source/chapter14/monitorconf.rst index 31115e4312e..2eb2a7175dc 100644 --- a/docs/manuals/en/new_main_reference/source/chapter14/monitorconf.rst +++ b/docs/manuals/en/new_main_reference/source/chapter14/monitorconf.rst @@ -153,8 +153,6 @@ Example Storage daemon’s Director record Monitor = yes } -A full example can be found at :ref:`ExampleStorageConfiguration`. - Example Director’s Console record ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -169,6 +167,3 @@ Example Director’s Console record Password = "GN0uRo7PTUmlMbqrJ2Gr1p0fk0HQJTxwnFyE4WSST3MWZseR" CommandACL = status, .status } - -A full example can be found at :ref:`SampleDirectorConfiguration`. - diff --git a/docs/manuals/en/new_main_reference/source/chapter15/bconsole.rst b/docs/manuals/en/new_main_reference/source/chapter15/bconsole.rst index e4e2b4823c1..24971a35b47 100644 --- a/docs/manuals/en/new_main_reference/source/chapter15/bconsole.rst +++ b/docs/manuals/en/new_main_reference/source/chapter15/bconsole.rst @@ -203,6 +203,8 @@ catalogs Used in the show command. Takes no arguments. client | fd + Used to specify a client (or filedaemon). + clients Used in the show, list, and llist commands. Takes no arguments. @@ -218,9 +220,8 @@ days devices Used in the show command. Takes no arguments. -director | dir -directors - Used in the show command. Takes no arguments. +director | dir | directors + Used in the show and status command. Takes no arguments. directory Used in the restore command. Its argument specifies the directory to be restored. @@ -238,6 +239,8 @@ files Used in the list and llist commands. Takes no arguments. fileset + Used in the run and restore command. Specifies the fileset. + filesets Used in the show command. Takes no arguments. @@ -265,10 +268,14 @@ job | jobname The Job or Jobname keyword refers to the name you specified in the Job resource, and hence it refers to any number of Jobs that ran. It is typically useful if you want to list all jobs of a particular name. level + Used in the run command. Specifies the backup level. + listing Permitted on the estimate command. Takes no argument. limit + Specifies the maximum number of items in the result. + messages Used in the show command. Takes no arguments. @@ -285,6 +292,8 @@ off Takes no keyword. pool + Specify the pool to be used. + pools Used in the show, list, and llist commands. Takes no arguments. @@ -298,6 +307,8 @@ schedules Used in the show command. Takes no arguments. storage | store | sd + Used to specify the name of a storage daemon. + storages Used in the show command. Takes no arguments. @@ -305,6 +316,8 @@ ujobid The ujobid is a unique job identification that is printed in the Job Report output. At the current time, it consists of the Job name (from the Name directive for the job) appended with the date and time the job was run. This keyword is useful if you want to completely identify the Job instance run. volume + Used to specify a volume. + volumes Used in the list and llist commands. Takes no arguments. @@ -868,7 +881,7 @@ mount mount storage= [slot=] [drive=] mount [jobid= | job=] - If you have specified **Automatic Mount**:sup:`Sd`:sub:`Device`\ = **yes**, under most circumstances, Bareos will automatically access the Volume unless you have explicitly :strong:`unmount`ed it in the Console program. + If you have specified **Automatic Mount**:sup:`Sd`:sub:`Device`\ = **yes**, under most circumstances, Bareos will automatically access the Volume unless you have explicitly unmounted it (in the Console program). move :index:`[TAG=Console->Command->move] ` The move command allows to move volumes between slots in an autochanger without having to leave the bconsole. diff --git a/docs/manuals/en/new_main_reference/source/chapter17/recycling.rst b/docs/manuals/en/new_main_reference/source/chapter17/recycling.rst index 6e3731ebf99..939969b4e5c 100644 --- a/docs/manuals/en/new_main_reference/source/chapter17/recycling.rst +++ b/docs/manuals/en/new_main_reference/source/chapter17/recycling.rst @@ -54,12 +54,12 @@ If there are no volumes with status **Purged**, then the recycling occurs in two #. The actual recycling of the Volume. -Only Volumes marked **Full** or **Used** will be considerd for pruning. The Volume will be purged if the Volume Retention = **** period has expired. When a Volume is marked as **Purged**, it means that no Catalog records reference that Volume and the Volume can be recycled. +Only Volumes marked **Full** or **Used** will be considerd for pruning. The Volume will be purged if the **Volume Retention** period has expired. When a Volume is marked as **Purged**, it means that no Catalog records reference that Volume and the Volume can be recycled. Until recycling actually occurs, the Volume data remains intact. If no Volumes can be found for recycling for any of the reasons stated above, Bareos will request operator intervention (i.e. it will ask you to label a new volume). A key point mentioned above, that can be a source of frustration, is that Bareos will only recycle purged Volumes if there is no other appendable Volume available. Otherwise, it will always write to an appendable Volume before recycling even if there are Volume marked as Purged. This preserves your data as long as possible. So, if you wish to :emphasis:`force` Bareos to use a purged Volume, you must first ensure that no other Volume in the Pool is marked Append. If necessary, you can -manually set a volume to Full. The reason for this is that Bareos wants to preserve the data on your old tapes (even though purged from the catalog) as long as absolutely possible before overwriting it. There are also a number of directives such as Volume Use Duration = **** that will automatically mark a volume as **Used** and thus no longer appendable. +manually set a volume to Full. The reason for this is that Bareos wants to preserve the data on your old tapes (even though purged from the catalog) as long as absolutely possible before overwriting it. There are also a number of directives such as **Volume Use Duration** that will automatically mark a volume as **Used** and thus no longer appendable. .. _AutoPruning: @@ -90,63 +90,30 @@ When a Job record is pruned, the Volume (Media record) for that Job can still re In each case, pruning removes information about where older files are, but it also prevents the catalog from growing to be too large. You choose the retention periods in function of how many files you are backing up and the time periods you want to keep those records online, and the size of the database. It is possible to re-insert the records (with 98% of the original data) by using :command:`bscan` to scan in a whole Volume or any part of the volume that you want. By setting **Auto Prune**:sup:`Dir`:sub:`Pool`\ = yes you will permit the |bareosDir| to automatically prune all Volumes in the Pool when a Job needs another Volume. Volume pruning means removing records from the catalog. It does not shrink the size of the Volume or affect the Volume data until the Volume gets overwritten. When a Job requests another volume and there are no Volumes with Volume status **Append** available, Bareos will -begin volume pruning. This means that all Jobs that are older than the Volume Retention = **** period will be pruned from every Volume that has Volume status **Full** or **Used** and has Recycle = **yes**. Pruning consists of deleting the corresponding Job, File, and JobMedia records from the catalog database. No change to the physical data on the Volume occurs during the pruning process. When all +begin volume pruning. This means that all Jobs that are older than the **Volume Retention** period will be pruned from every Volume that has Volume status **Full** or **Used** and has **Recycle = yes**. Pruning consists of deleting the corresponding Job, File, and JobMedia records from the catalog database. No change to the physical data on the Volume occurs during the pruning process. When all files are pruned from a Volume (i.e. no records in the catalog), the Volume will be marked as **Purged** implying that no Jobs remain on the volume. The Pool records that control the pruning are described below. -\begin{description} - - \item **Auto Prune**:sup:`Dir`:sub:`Pool`\ = yes: - when running a Job and it needs a new Volume but no appendable volumes are available, apply the Volume retention period. - At that point, - Bareos will prune all Volumes that can be pruned in an - attempt to find a usable volume. If during the autoprune, all files are - pruned from the Volume, it will be marked with Volume status **Purged**. - - Note, that although the File and Job records may be - pruned from the catalog, a Volume will only be marked **Purged** (and hence - ready for recycling) if the Volume status is **Append**, **Full**, **Used**, or **Error**. - If the Volume has another status, such as **Archive**, **Read-Only**, **Disabled**, - **Busy** or **Cleaning**, the Volume status will not be changed to **Purged**. - - \item **Volume Retention**:sup:`Dir`:sub:`Pool`\ - defines the length of time that Bareos will - guarantee that the Volume is not reused counting from the time the last - job stored on the Volume terminated. A key point is that this time - period is not even considered as long at the Volume remains appendable. - The Volume Retention period count down begins only when the **Append** - status has been changed to some other status (**Full**, **Used**, **Purged**, ...). - - When this time period expires and if **Auto Prune**:sup:`Dir`:sub:`Pool`\ = yes - and a new Volume is needed, but no appendable Volume is available, - Bareos will prune (remove) Job records that are older than the specified - Volume Retention = **** period. - - The Volume Retention = **** period takes precedence over any **Job Retention**:sup:`Dir`:sub:`Client`\ - period you have specified in the Client resource. It should also be - noted, that the Volume Retention = **** period is obtained by reading the - Catalog Database Media record rather than the Pool resource record. - This means that if you change the **Volume Retention**:sup:`Dir`:sub:`Pool`\ in the Pool resource - record, you must ensure that the corresponding change is made in the - catalog by using the :strong:`update pool` command. Doing so will insure - that any new Volumes will be created with the changed Volume Retention = **** - period. Any existing Volumes will have their own copy of the Volume Retention = **** - period that can only be changed on a Volume by Volume basis - using the :strong:`update volume` command. - - When all file catalog entries are removed from the volume, its Volume status is - set to **Purged**. The files remain physically on the Volume until the - volume is overwritten. - - \item **Recycle**:sup:`Dir`:sub:`Pool`\ - defines whether or not the particular Volume can be - recycled (i.e. rewritten). If Recycle is set to ``no``, - then even if Bareos prunes all the Jobs on the volume and it - is marked **Purged**, it will not consider the tape for recycling. If - Recycle is set to ``yes`` and all Jobs have been pruned, the volume - status will be set to **Purged** and the volume may then be reused - when another volume is needed. If the volume is reused, it is relabeled - with the same Volume Name, however all previous data will be lost. - \end{description} +**Auto Prune**:sup:`Dir`:sub:`Pool`\ = yes + when running a Job and it needs a new Volume but no appendable volumes are available, apply the Volume retention period. At that point, Bareos will prune all Volumes that can be pruned in an attempt to find a usable volume. If during the autoprune, all files are pruned from the Volume, it will be marked with Volume status **Purged**. + + Note, that although the File and Job records may be pruned from the catalog, a Volume will only be marked **Purged** (and hence ready for recycling) if the Volume status is **Append**, **Full**, **Used**, or **Error**. If the Volume has another status, such as **Archive**, **Read-Only**, **Disabled**, + **Busy** or **Cleaning**, the Volume status will not be changed to **Purged**. + +**Volume Retention**:sup:`Dir`:sub:`Pool`\ + defines the length of time that Bareos will guarantee that the Volume is not reused counting from the time the last job stored on the Volume terminated. A key point is that this time period is not even considered as long at the Volume remains appendable. The Volume Retention period count down begins only when the **Append** status has been changed to some other status (**Full**, **Used**, + **Purged**, ...). + + When this time period expires and if **Auto Prune**:sup:`Dir`:sub:`Pool`\ = yes and a new Volume is needed, but no appendable Volume is available, Bareos will prune (remove) Job records that are older than the specified **Volume Retention** period. + + The **Volume Retention** period takes precedence over any **Job Retention**:sup:`Dir`:sub:`Client`\ period you have specified in the Client resource. It should also be noted, that the **Volume Retention** period is obtained by reading the Catalog Database Media record rather than the Pool resource record. This means that if you change the **Volume Retention**:sup:`Dir`:sub:`Pool`\ in the Pool + resource record, you must ensure that the corresponding change is made in the catalog by using the :strong:`update pool` command. Doing so will insure that any new Volumes will be created with the changed **Volume Retention** period. Any existing Volumes will have their own copy of the **Volume Retention** period that can only be changed on a Volume by Volume basis using the :strong:`update volume` + command. + + When all file catalog entries are removed from the volume, its Volume status is set to **Purged**. The files remain physically on the Volume until the volume is overwritten. + +**Recycle**:sup:`Dir`:sub:`Pool`\ + defines whether or not the particular Volume can be recycled (i.e. rewritten). If Recycle is set to ``no``, then even if Bareos prunes all the Jobs on the volume and it is marked **Purged**, it will not consider the tape for recycling. If Recycle is set to ``yes`` and all Jobs have been pruned, the volume status will be set to **Purged** and the volume may then be reused when another volume is needed. If + the volume is reused, it is relabeled with the same Volume Name, however all previous data will be lost. Recycling Algorithm ------------------- @@ -161,7 +128,7 @@ Recycling Algorithm -After all Volumes of a Pool have been pruned (as mentioned above, this happens when a Job needs a new Volume and no appendable Volumes are available), Bareos will look for the oldest Volume that is **Purged** (all Jobs and Files expired), and if the Recycle = **yes** for that Volume, Bareos will relabel it and write new data on it. +After all Volumes of a Pool have been pruned (as mentioned above, this happens when a Job needs a new Volume and no appendable Volumes are available), Bareos will look for the oldest Volume that is **Purged** (all Jobs and Files expired), and if the **Recycle = yes** for that Volume, Bareos will relabel it and write new data on it. As mentioned above, there are two key points for getting a Volume to be recycled. First, the Volume must no longer be marked **Append** (there are a number of directives to automatically make this change), and second since the last write on the Volume, one or more of the Retention periods must have expired so that there are no more catalog backup job records that reference that Volume. Once both those conditions are satisfied, the volume can be marked **Purged** and hence recycled. @@ -484,7 +451,7 @@ Although automatic recycling of Volumes is implemented (see the :ref:`RecyclingC Assuming that you want to keep the Volume name, but you simply want to write new data on the tape, the steps to take are: -- Use the :strong:`update volume` command in the Console to ensure that Recycle = **yes**. +- Use the :strong:`update volume` command in the Console to ensure that **Recycle = yes**. - Use the :strong:`purge jobs volume` command in the Console to mark the Volume as **Purged**. Check by using :strong:`list volumes`. diff --git a/docs/manuals/en/new_main_reference/source/chapter19/autochangers.rst b/docs/manuals/en/new_main_reference/source/chapter19/autochangers.rst index b3aa1900251..65d77a8e5a3 100644 --- a/docs/manuals/en/new_main_reference/source/chapter19/autochangers.rst +++ b/docs/manuals/en/new_main_reference/source/chapter19/autochangers.rst @@ -687,7 +687,7 @@ How to configure the block sizes in your environment The following chart shows how to set the directives for maximum block size and label block size depending on how your current setup is: -.. image:: images/blocksize-decisionchart.* +.. image:: /_static/images/blocksize-decisionchart.* diff --git a/docs/manuals/en/new_main_reference/source/chapter20/storage-backends.rst b/docs/manuals/en/new_main_reference/source/chapter20/storage-backends.rst new file mode 100644 index 00000000000..8ca799a183f --- /dev/null +++ b/docs/manuals/en/new_main_reference/source/chapter20/storage-backends.rst @@ -0,0 +1,359 @@ +.. ATTENTION do not edit this file manually. + It was automatically converted from the corresponding .tex file + +Storage Backends +================ + +A Bareos Storage Daemon can use various storage backends: + +**Tape** + is used to access tape device and thus has sequential access. + +**File** + tells Bareos that the device is a file. It may either be a file defined on fixed medium or a removable filesystem such as USB. All files must be random access devices. + +**Fifo** + is a first-in-first-out sequential access read-only or write-only device. + +**Droplet** + is used to access an object store supported by **libdroplet**, most notably S3. For details, refer to :ref:`SdBackendDroplet`. + +**GFAPI** (GlusterFS) + is used to access a GlusterFS storage. + +**Rados** (Ceph Object Store) + is used to access a Ceph object store. + +Droplet Storage Backend +----------------------- + +:index:`[TAG=Backend->Droplet] ` :index:`[TAG=Backend->Droplet->S3] ` :index:`[TAG=Backend->S3|see {Backend->Droplet}] ` + +.. _SdBackendDroplet: + + + +The **bareos-storage-droplet** backend (:index:`Version >= 17.2.7 `) can be used to access Object Storage through **libdroplet**. Droplet support a number of backends, most notably S3. For details about Droplet itself see ``_. + +Requirements +~~~~~~~~~~~~ + +- The Bareos package **bareos-storage-droplet** is not available on all platforms. Please refer to :ref:`section-packages`. + +- Droplet S3: + + - The droplet S3 backend can only be used with virtual-hosted-style buckets like `http://./object ./object>`__. Path-style buckets are not supported. It has been tested successfully with AWS S3 and CEPH Object Gateway S3. + +Installation +~~~~~~~~~~~~ + +Install the package **bareos-storage-droplet** by using an appropriate package management tool (eg. :command:`yum`, :command:`zypper`). + +Configuration +~~~~~~~~~~~~~ + +The droplet backend requires a |bareosDir| :ref:`DirectorResourceStorage`, a |bareosSd| :ref:`StorageResourceDevice` as well as a Droplet profile file where your access– and secret–keys and other parameters for the connection to your object storage are stored. + +.. _section-DropletAwsS3: + +AWS S3 +^^^^^^ + +Director +'''''''' + +First, we will create the new |bareosDir| :ref:`DirectorResourceStorage`. + +For the following example, we + +- choose the name **S3_Object**:sup:`Dir`:sub:`Storage` . + +- choose \resourceDirectiveValue{Dir}{Storage}{Media Type}{S3_Object1}. We name it this way, in case we later add more separated Object Storages that don’t have access to the same volumes. + +- assume the |bareosSd| is located on the host :strong:`bareos-sd.example.com` and will offers the :ref:`StorageResourceDevice` **S3_ObjectStorage**:sup:`Sd`:sub:`Device` (to be configured in the next section). + +.. code-block:: sh + :caption: bareos-dir.d/storage/S3\_Object.conf + + Storage { + Name = "S3_Object" + Address = "bareos-sd.example.com" + Password = "secret" + Device = "AWS_S3_1-00" + Media Type = "S3_Object1" + } + +These credentials are only used to connect to the |bareosSd|. The credentials to access the object store (e.g. S3) are stored in the |bareosSd| Droplet Profile. + +Storage Daemon +'''''''''''''' + +As of your |bareosSd| configuration, we need to setup a new device that acts as a link to Object Storage backend. + +The name and media type must correspond to those settings in the |bareosDir| :ref:`DirectorResourceStorage`: + +- **Name**:sup:`Sd`:sub:`Device`\ = **Device**:sup:`Dir`:sub:`Storage`\ + +- **Media Type**:sup:`Sd`:sub:`Device`\ = **Media Type**:sup:`Dir`:sub:`Storage`\ + +A device for the usage of AWS S3 object storage with a bucket named :file:`backup-bareos` located in EU Central 1 (Frankfurt, Germany), would look like this: + +.. code-block:: sh + :caption: bareos-sd.d/device/AWS\_S3\_1-00.conf + + Device { + Name = "AWS_S3_1-00" + Media Type = "S3_Object1" + Archive Device = "AWS S3 Storage" + Device Type = droplet + Device Options = "profile=/etc/bareos/bareos-sd.d/device/droplet/aws.profile,bucket=backup-bareos,chunksize=100M" + Label Media = yes # Lets Bareos label unlabeled media + Random Access = yes + Automatic Mount = yes # When device opened, read it + Removable Media = no + Always Open = no + Maximum Concurrent Jobs = 1 + } + +In these examples all the backup data is placed in the :file:`bareos-backup` bucket on the defined S3 storage. In contrast to other |bareosSd| backends, a Bareos volume is not represented by a single file. Instead a volume is a sub-directory in the defined bucket and every chunk is placed in the volume directory with the filename 0000-9999 and a size defined in the chunksize option. It is implemented this way, as S3 does not allow to append to a file. Instead it always writes full +files, so every append operation could result in reading and writing the full volume file. + +Following **Device Options**:sup:`Sd`:sub:`Device`\ settings are possible: + +profile + Droplet profile path (e.g. /etc/bareos/bareos-sd.d/device/droplet/droplet.profile). Make sure the profile file is readable for user **bareos**. + +acl + Canned ACL + +storageclass + Storage Class to use. + +bucket + Bucket to store objects in. + +chunksize + Size of Volume Chunks (default = 10 Mb). + +iothreads + Number of IO-threads to use for uploads (if not set, blocking uploads are used) + +ioslots + Number of IO-slots per IO-thread (0-255, default 10). Set this to :math:`\ge 1` for cached and to 0 for direct writing. + +retries + Number of writing tries before discarding the data. Set this to 0 for unlimited retries. Setting anything :math:`\neq 0` here will cause dataloss if the backend is not available, so be very careful (0-255, default = 0, which means unlimited retries). + +mmap + Use mmap to allocate Chunk memory instead of malloc(). + +location + Deprecated. If required (AWS only), it has to be set in the Droplet profile. + +Create the Droplet profile to be used. This profile is used later by the droplet library when accessing your cloud storage. + +An example for AWS S3 could look like this: + +.. code-block:: sh + :caption: aws.profile + + host = s3.amazonaws.com # This parameter is only used as baseurl and will be prepended with bucket and location set in device ressource to form correct url + use_https = true + access_key = myaccesskey + secret_key = mysecretkey + pricing_dir = "" # If not empty, an droplet.csv file will be created which will record all S3 operations. + backend = s3 + aws_auth_sign_version = 4 # Currently, AWS S3 uses version 4. The Ceph S3 gateway uses version 2. + aws_region = eu-central-1 + +More arguments and the SSL parameters can be found in the documentation of the droplet library: \externalReferenceDropletDocConfigurationFile + +CEPH Object Gateway S3 +^^^^^^^^^^^^^^^^^^^^^^ + +Please note, that there is also the :ref:`SdBackendRados` backend, which can backup to CEPH directly. However, currently (17.2.7) the **Droplet** (S3) is known to outperform the **Rados** backend. + +While parameters have been explained in the :ref:`section-DropletAwsS3` section, this gives an example about how to backup to a CEPH Object Gateway S3. + +.. code-block:: sh + :caption: bareos-dir.d/storage/S3\_Object.conf + + Storage { + Name = "S3_Object" + Address = "bareos-sd.example.com" + Password = "secret" + Device = "CEPH_1-00" + Media Type = "S3_Object1" + } + +A device for CEPH object storage could look like this: + +.. code-block:: sh + :caption: bareos-sd.d/device/CEPH\_1-00.conf + + Device { + Name = "CEPH_1-00" + Media Type = "S3_Object1" + Archive Device = "Object S3 Storage" + Device Type = droplet + Device Options = "profile=/etc/bareos/bareos-sd.d/droplet/ceph-rados-gateway.profile,bucket=backup-bareos,chunksize=100M" + Label Media = yes # Lets Bareos label unlabeled media + Random Access = yes + Automatic Mount = yes # When device opened, read it + Removable Media = no + Always Open = no + Maximum Concurrent Jobs = 1 + } + +The correspondig Droplet profile looks like this: + +.. code-block:: sh + :caption: ceph-rados-gateway.profile + + host = CEPH-host.example.com + use_https = False + access_key = myaccesskey + secret_key = mysecretkey + pricing_dir = "" + backend = s3 + aws_auth_sign_version = 2 + +Main differences are, that :file:`aws_region` is not required and :file:`aws_auth_sign_version = 2` instead of 4. + +Troubleshooting +~~~~~~~~~~~~~~~ + +iothreads +^^^^^^^^^ + +For testing following **Device Options**:sup:`Sd`:sub:`Device`\ should be used: + +- :file:`iothreads=0` + +- :file:`retries=1` + +If the S3 backend is or becomes unreachable, the |bareosSd| will behave depending on :strong:`iothreads` and :strong:`retries`. When the |bareosSd| is using cached writing (:strong:`iothreads`\ :math:`>=1`) and :strong:`retries` is set to zero (unlimited tries), the job will continue running until the backend becomes available again. The job cannot be canceled in this case, as the |bareosSd| will +continuously try to write the cached files. + +Great caution should be used when using :strong:`retries` :math:`>=0` combined with cached writing. If the backend becomes unavailable and the |bareosSd| reaches the predefined tries, the job will be discarded silently yet marked as :file:`OK` in the |bareosDir|. + +You can always check the status of the writing process by using :strong:`status storage=...`. The current writing status will be displayed then: + +.. code-block:: sh + :caption: status storage + + ... + Device "S3_ObjectStorage" (S3) is mounted with: + Volume: Full-0085 + Pool: Full + Media type: S3_Object1 + Backend connection is working. + Inflight chunks: 2 + Pending IO flush requests: + /Full-0085/0002 - 10485760 (try=0) + /Full-0085/0003 - 10485760 (try=0) + /Full-0085/0004 - 10485760 (try=0) + ... + Attached Jobs: 175 + ... + +:strong:`Pending IO flush requests` means that there is data to be written. :strong:`try`=0 means that this is the first try and no problem has occurred. If :strong:`try` :math:`>0`, problems occurred and the storage daemon will continue trying. + +Status without pending IO chunks: + +.. code-block:: sh + :caption: status storage + + ... + Device "S3_ObjectStorage" (S3) is mounted with: + Volume: Full-0084 + Pool: Full + Media type: S3_Object1 + Backend connection is working. + No Pending IO flush requests. + Configured device capabilities: + EOF BSR BSF FSR FSF EOM !REM RACCESS AUTOMOUNT LABEL !ANONVOLS !ALWAYSOPEN + Device state: + OPENED !TAPE LABEL !MALLOC APPEND !READ EOT !WEOT !EOF !NEXTVOL !SHORT MOUNTED + num_writers=0 reserves=0 block=8 + Attached Jobs: + ... + +For performance, **Device Options**:sup:`Sd`:sub:`Device`\ should be configured with: + +- :file:`iothreads >= 1` + +- :file:`retries = 0` + +New AWS S3 Buckets +^^^^^^^^^^^^^^^^^^ + +As AWS S3 buckets are accessed via virtual-hosted-style buckets (like `http://./object ./object>`__) creating a new bucket results in a new DNS entry. + +As a new DNS entry is not available immediatly, Amazon solves this by using HTTP temporary redirects (code: 307) to redirect to the correct host. Unfortenatly, the Droplet library does not support HTTP redirects. + +Requesting the device status only resturn a unspecific error: + +.. code-block:: sh + :caption: status storage + + *status storage=... + ... + Backend connection is not working. + ... + +Workaround: +''''''''''' + +- Wait until bucket is available a permanet hostname. This can take up to 24 hours. + +- Configure the AWS location into the profiles host entry. For the AWS location :file:`eu-central-1`, change :strong:`host = s3.amazonaws.com` into :strong:`host = s3.eu-central-1.amazonaws.com`: + + .. code-block:: sh + :caption: Droplet profile + + ... + host = s3.eu-central-1.amazonaws.com + aws_region = eu-central-1 + ... + +AWS S3 Logging +^^^^^^^^^^^^^^ + +If you use AWS S3 object storage and want to debug your bareos setup, it is recommended to turn on the server access logging in your bucket properties. You will see if bareos gets to try writing into your bucket or not. + +.. _SdBackendGfapi: + +GFAPI Storage Backend +--------------------- + +**GFAPI** (GlusterFS) + +A GlusterFS Storage can be used as Storage backend of Bareos. Prerequistes are a working GlusterFS storage system and the package **bareos-storage-glusterfs**. See http://www.gluster.org/ for more information regarding GlusterFS installation and configuration and specifically `https://gluster.readthedocs.org/en/latest/Administrator Guide/Bareos/ `__ for Bareos integration. You can use following snippet to +configure it as storage device: + + + +.. literalinclude:: /_static/config/SdDeviceDeviceOptionsGfapi1.conf + + + +Adapt server and volume name to your environment. + +:index:`Version >= 15.2.0 ` + +.. _SdBackendRados: + +Rados Storage Backend +--------------------- + +**Rados** (Ceph Object Store) + +Here you configure the Ceph object store, which is accessed by the SD using the Rados library. Prerequistes are a working Ceph object store and the package **bareos-storage-ceph**. See http://ceph.com for more information regarding Ceph installation and configuration. Assuming that you have an object store with name :file:`poolname` and your Ceph access is configured in :file:`/etc/ceph/ceph.conf`, you can use following snippet to configure it as +storage device: + +.. literalinclude:: /_static/config/SdDeviceDeviceOptionsRados1.conf + + + +:index:`Version >= 15.2.0 ` diff --git a/docs/manuals/en/new_main_reference/source/chapter23/always-incremental.rst b/docs/manuals/en/new_main_reference/source/chapter23/always-incremental.rst index 0c1a8839735..0071d57f6c5 100644 --- a/docs/manuals/en/new_main_reference/source/chapter23/always-incremental.rst +++ b/docs/manuals/en/new_main_reference/source/chapter23/always-incremental.rst @@ -19,19 +19,19 @@ To better understand the advantages of the Always Incremental Backup scheme, we The following figure shows the jobs available for restore over time. Red are full backups, green are differential backups and blue are incremental Backups. When you look for a data at the horizontal axis, you see what backup jobs are available for a restore at this given time. -.. image:: images/inc-diff-full-jobs_available.* +.. image:: /_static/images/inc-diff-full-jobs_available.* The next figure shows the amount of data being backed up over the network from that client over time: -.. image:: images/inc-diff-full-jobdata.* +.. image:: /_static/images/inc-diff-full-jobdata.* Depending on the retention periods, old jobs are removed to save space for newer backups: -.. image:: images/inc-diff-full-jobs_available-zoom.* +.. image:: /_static/images/inc-diff-full-jobs_available-zoom.* @@ -235,7 +235,7 @@ The following configuration extract shows how a client backup is configured for The following image shows the available backups for each day: -.. image:: images/always-incremental.* +.. image:: /_static/images/always-incremental.* @@ -249,7 +249,7 @@ This can go on more or less forever and there will be always an incremental hist The following plot shows what happens if a job is not run for a certain amount of time. -.. image:: images/always-incremental-with-pause-7days-retention-no-keep.* +.. image:: /_static/images/always-incremental-with-pause-7days-retention-no-keep.* @@ -259,7 +259,7 @@ For this reason, the directive **Always Incremental Keep Number**:sup:`Dir`:sub: Setting **Always Incremental Keep Number**:sup:`Dir`:sub:`Job`\ to 7 in our case leads to the following result: -.. image:: images/always-incremental-with-pause-7days-retention-7days-keep.* +.. image:: /_static/images/always-incremental-with-pause-7days-retention-7days-keep.* @@ -291,7 +291,7 @@ The following figure shows the Data Volume being moved during the normal always - The green bars show the amount of data being moved every day during the consolidation jobs. -.. image:: images/always-incremental-jobdata.* +.. image:: /_static/images/always-incremental-jobdata.* @@ -311,14 +311,14 @@ The resulting interval between full consolidations when running daily backups an \centering -.. figure:: images/always-incremental-jobdata-AlwaysIncrementalMaxFullAge_21_days.* +.. figure:: /_static/images/always-incremental-jobdata-AlwaysIncrementalMaxFullAge_21_days.* :alt: Data Volume being moved with "Always Incremental Max Full Age" Data Volume being moved with "Always Incremental Max Full Age" \centering -.. figure:: images/always-incremental-jobs_available-AlwaysIncrementalMaxFullAge_21_days.* +.. figure:: /_static/images/always-incremental-jobs_available-AlwaysIncrementalMaxFullAge_21_days.* :alt: Jobs Available with "Always Incremental Max Full Age" Jobs Available with "Always Incremental Max Full Age" @@ -332,7 +332,7 @@ When the **Always Incremental Max Full Age**:sup:`Dir`:sub:`Job`\ of many clien The following figure shows the amount of data being copied by the virtual jobs that do the consolidation when having 3 identically configured backup jobs: -.. image:: images/jobdata_multiple_clients.* +.. image:: /_static/images/jobdata_multiple_clients.* @@ -362,14 +362,14 @@ The number of always incremental jobs, the interval that the jobs are triggered \centering -.. figure:: images/jobdata_multiple_clients_maxfullconsilidate.* +.. figure:: /_static/images/jobdata_multiple_clients_maxfullconsilidate.* :alt: Data Volume being moved with Max Full Consolidations = 1 Data Volume being moved with Max Full Consolidations = 1 \centering -.. figure:: images/jobs_available_multiple_clients_maxfullconsolidate.* +.. figure:: /_static/images/jobs_available_multiple_clients_maxfullconsolidate.* :alt: Jobs Available with Max Full Consolidations = 1 Jobs Available with Max Full Consolidations = 1 @@ -409,7 +409,7 @@ As all full backups go into the **AI-Consolidated**:sup:`Dir`:sub:`pool`\ , we j As can be seen in the plot, the copy job creates a copy of the current full backup that is available and is already 7 days old. -.. image:: images/always-incremental-copy-job-archiving.* +.. image:: /_static/images/always-incremental-copy-job-archiving.* @@ -446,7 +446,7 @@ To make sure the longterm \resourceDirectiveValue{Dir}{Job}{Level}{VirtualFull} As can be seen on the plot, the \resourceDirectiveValue{Dir}{Job}{Level}{VirtualFull} archives the current data, i.e. it consolidates the full and all incrementals that are currently available. -.. image:: images/always-incremental-virtualfull-job-archiving.* +.. image:: /_static/images/always-incremental-virtualfull-job-archiving.* @@ -465,13 +465,13 @@ This can be done in two ways #. Install a storage daemon in the remote location that needs to be backed up and connect it to the main director. This makes it easy to make a local backup in the remote location and then transfer the volumes to the local storage. For this option the communication between the local director and the remote storage daemon needs to be possible. -.. image:: images/ai-transfer-first-backup2.* +.. image:: /_static/images/ai-transfer-first-backup2.* #. Install a director and a storage daemon in the remote location. This option means that the backup is done completely independent from the local director and only the volume is then transferred and needs to be imported afterwards. -.. image:: images/ai-transfer-first-backup3.* +.. image:: /_static/images/ai-transfer-first-backup3.* diff --git a/docs/manuals/en/new_main_reference/source/chapter26/plugins-dir.rst b/docs/manuals/en/new_main_reference/source/chapter26/plugins-dir.rst new file mode 100644 index 00000000000..43519aced92 --- /dev/null +++ b/docs/manuals/en/new_main_reference/source/chapter26/plugins-dir.rst @@ -0,0 +1,97 @@ +.. ATTENTION do not edit this file manually. + It was automatically converted from the corresponding .tex file + +.. _dirPlugins: + +Director Plugins +================ + +.. _director-python-plugin: + +python-dir Plugin +----------------- + +:index:`[TAG=Plugin->Python->Director] ` + +The **python-dir** plugin is intended to extend the functionality of the Bareos Director by Python code. A working example is included. + +- install the **bareos-director-python-plugin** package + +- change to the Bareos plugin directory (:file:`/usr/lib/bareos/plugins/` or :file:`/usr/lib64/bareos/plugins/`) + +- copy :file:`bareos-dir.py.template` to :file:`bareos-dir.py` + +- activate the plugin in the Bareos Director configuration + +- restart the Bareos Director + +- change :file:`bareos-dir.py` as required + +- restart the Bareos Director + +Loading plugins +~~~~~~~~~~~~~~~ + +Since :index:`Version >= 14.4.0 ` multiple Python plugins can be loaded and plugin names can be arbitrary. Before this, the Python plugin always loads the file :file:`bareos-dir.py`. + +The director plugins are configured in the Job-Resource (or JobDefs resource). To load a Python plugin you need + +- pointing to your plugin directory (needs to be enabled in the Director resource, too + +- Your plugin (without the suffix .py) + +- default is ’0’, you can leave this, as long as you only have 1 Director Python plugin. If you have more than 1, start with instance=0 and increment the instance for each plugin. + +- You can add plugin specific option key-value pairs, each pair separated by ’:’ key=value + +Single Python Plugin Loading Example: + +.. code-block:: sh + :caption: bareos-dir.conf: Single Python Plugin Loading Example + + Director { + # ... + # Plugin directory + Plugin Directory = /usr/lib64/bareos/plugins + # Load the python plugin + Plugin Names = "python" + } + + JobDefs { + Name = "DefaultJob" + Type = Backup + # ... + # Load the class based plugin with testoption=testparam + Dir Plugin Options = "python:instance=0:module_path=/usr/lib64/bareos/plugins:module_name=bareos-dir-class-plugins:testoption=testparam + # ... + } + +Multiple Python Plugin Loading Example: + +.. code-block:: sh + :caption: bareos-dir.conf: Multiple Python Plugin Loading Example + + Director { + # ... + # Plugin directory + Plugin Directory = /usr/lib64/bareos/plugins + # Load the python plugin + Plugin Names = "python" + } + + JobDefs { + Name = "DefaultJob" + Type = Backup + # ... + # Load the class based plugin with testoption=testparam + Dir Plugin Options = "python:instance=0:module_path=/usr/lib64/bareos/plugins:module_name=bareos-dir-class-plugins:testoption=testparam1 + Dir Plugin Options = "python:instance=1:module_path=/usr/lib64/bareos/plugins:module_name=bareos-dir-class-plugins:testoption=testparam2 + # ... + } + +Write your own Python Plugin +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Some plugin examples are available on https://github.com/bareos/bareos-contrib. The class-based approach lets you easily reuse stuff already defined in the baseclass BareosDirPluginBaseclass, which ships with the **bareos-director-python-plugin** package. The examples contain the plugin bareos-dir-nsca-sender, that submits the results and performance data of a backup job directly to Icinga:index:`[TAG=Icinga] ` or +Nagios:index:`[TAG=Nagios|see{Icinga}] ` using the NSCA protocol. + diff --git a/docs/manuals/en/new_main_reference/source/chapter26/plugins-fd.rst b/docs/manuals/en/new_main_reference/source/chapter26/plugins-fd.rst new file mode 100644 index 00000000000..1ba6658bbd7 --- /dev/null +++ b/docs/manuals/en/new_main_reference/source/chapter26/plugins-fd.rst @@ -0,0 +1,166 @@ +.. ATTENTION do not edit this file manually. + It was automatically converted from the corresponding .tex file + +.. _fdPlugins: + +File Daemon Plugins +=================== + +File Daemon plugins are configured by the :strong:`Plugin` directive of a :ref:`File Set `. + + + +.. warning:: + Currently the plugin command is being stored as part of the backup. The restore command in your directive should be flexible enough if things might change in future, otherwise you could run into trouble. + +.. _bpipe: + +bpipe Plugin +------------ + +:index:`[TAG=Plugin->bpipe] ` + +The bpipe plugin is a generic pipe program, that simply transmits the data from a specified program to Bareos for backup, and from Bareos to a specified program for restore. The purpose of the plugin is to provide an interface to any system program for backup and restore. That allows you, for example, to do database backups without a local dump. By using different command lines to bpipe, you can backup any kind of data (ASCII or binary) depending on the program called. + +On Linux, the Bareos bpipe plugin is part of the **bareos-filedaemon** package and is therefore installed on any system running the filedaemon. + +The bpipe plugin is so simple and flexible, you may call it the "Swiss Army Knife" of the current existing plugins for Bareos. + +The bpipe plugin is specified in the Include section of your Job’s FileSet resource in your :file:`bareos-dir.conf`. + +.. code-block:: sh + :caption: bpipe fileset + + FileSet { + Name = "MyFileSet" + Include { + Options { + signature = MD5 + compression = gzip + } + Plugin = "bpipe:file=:reader=:writer= + } + } + +The syntax and semantics of the Plugin directive require the first part of the string up to the colon to be the name of the plugin. Everything after the first colon is ignored by the File daemon but is passed to the plugin. Thus the plugin writer may define the meaning of the rest of the string as he wishes. The full syntax of the plugin directive as interpreted by the bpipe plugin is: + +.. code-block:: sh + :caption: bpipe directive + + Plugin = ":file=:reader=:writer=" + +plugin + is the name of the plugin with the trailing -fd.so stripped off, so in this case, we would put bpipe in the field. + +filepath + specifies the namespace, which for bpipe is the pseudo path and filename under which the backup will be saved. This pseudo path and filename will be seen by the user in the restore file tree. For example, if the value is :strong:`/MySQL/mydump.sql`, the data backed up by the plugin will be put under that :emphasis:`pseudo` path and filename. You must be careful to choose a naming convention that is unique to avoid a conflict with a path and filename that actually + exists on your system. + +readprogram + for the bpipe plugin specifies the "reader" program that is called by the plugin during backup to read the data. bpipe will call this program by doing a popen on it. + +writeprogram + for the bpipe plugin specifies the "writer" program that is called by the plugin during restore to write the data back to the filesystem. + +Please note that the two items above describing the "reader" and "writer", these programs are "executed" by Bareos, which means there is no shell interpretation of any command line arguments you might use. If you want to use shell characters (redirection of input or output, ...), then we recommend that you put your command or commands in a shell script and execute the script. In addition if you backup a file with reader program, when running the writer program during the restore, Bareos will not +automatically create the path to the file. Either the path must exist, or you must explicitly do so with your command or in a shell script. + +See the examples about :ref:`backup-postgresql` and :ref:`backup-mysql`. + +PGSQL Plugin +------------ + +See chapter :ref:`backup-postgresql-plugin`. + +MySQL Plugin +------------ + +See the chapters :ref:`backup-mysql-xtrabackup` and :ref:`backup-mysql-python`. + +MSSQL Plugin +------------ + +See chapter :ref:`MSSQL`. + +LDAP Plugin +----------- + +:index:`[TAG=Plugin->ldap] ` + +This plugin is intended to backup (and restore) the contents of a LDAP server. It uses normal LDAP operation for this. The package **bareos-filedaemon-ldap-python-plugin** (:index:`Version >= 15.2.0 `) contains an example configuration file, that must be adapted to your envirnoment. + +Cephfs Plugin +------------- + +:index:`[TAG=Plugin->ceph->cephfs] ` :index:`[TAG=Ceph->Cephfs Plugin] ` + +Opposite to the :ref:`Rados Backend ` that is used to store data on a CEPH Object Store, this plugin is intended to backup a CEPH Object Store via the Cephfs interface to other media. The package **bareos-filedaemon-ceph-plugin** (:index:`Version >= 15.2.0 `) contains an example configuration file, that must be adapted to your envirnoment. + +Rados Plugin +------------ + +:index:`[TAG=Plugin->ceph->rados] ` :index:`[TAG=Ceph->Rados Plugin] ` + +Opposite to the :ref:`Rados Backend ` that is used to store data on a CEPH Object Store, this plugin is intended to backup a CEPH Object Store via the Rados interface to other media. The package **bareos-filedaemon-ceph-plugin** (:index:`Version >= 15.2.0 `) contains an example configuration file, that must be adapted to your envirnoment. + +GlusterFS Plugin +---------------- + +:index:`[TAG=Plugin->glusterfs] ` :index:`[TAG=GlusterFS->Plugin] ` + +Opposite to the :ref:`GFAPI Backend ` that is used to store data on a Gluster system, this plugin is intended to backup data from a Gluster system to other media. The package **bareos-filedaemon-glusterfs-plugin** (:index:`Version >= 15.2.0 `) contains an example configuration file, that must be adapted to your envirnoment. + +python-fd Plugin +---------------- + +:index:`[TAG=Plugin->Python->File Daemon] ` + +The **python-fd** plugin behaves similar to the :ref:`director-python-plugin`. Base plugins and an example get installed via the package bareos-filedaemon-python-plugin. Configuration is done in the :ref:`DirectorResourceFileSet` on the director. + +We basically distinguish between command-plugin and option-plugins. + +Command Plugins +~~~~~~~~~~~~~~~ + +Command plugins are used to replace or extend the FileSet definition in the File Section. If you have a command-plugin, you can use it like in this example: + +.. code-block:: sh + :caption: bareos-dir.conf: Python FD command plugins + + FileSet { + Name = "mysql" + Include { + Options { + Signature = MD5 # calculate md5 checksum per file + } + File = "/etc" + Plugin = "python:module_path=/usr/lib/bareos/plugins:module_name=bareos-fd-mysql" + } + } + +:index:`[TAG=MySQL->Backup] ` This example uses the :ref:`MySQL plugin ` to backup MySQL dumps in addition to :file:`/etc`. + +Option Plugins +~~~~~~~~~~~~~~ + +Option plugins are activated in the Options resource of a FileSet definition. + +Example: + +.. code-block:: sh + :caption: bareos-dir.conf: Python FD option plugins + + FileSet { + Name = "option" + Include { + Options { + Signature = MD5 # calculate md5 checksum per file + Plugin = "python:module_path=/usr/lib/bareos/plugins:module_name=bareos-fd-file-interact" + } + File = "/etc" + File = "/usr/lib/bareos/plugins" + } + } + +This plugin bareos-fd-file-interact from https://github.com/bareos/bareos-contrib/tree/master/fd-plugins/options-plugin-sample has a method that is called before and after each file that goes into the backup, it can be used as a template for whatever plugin wants to interact with files before or after backup. + diff --git a/docs/manuals/en/new_main_reference/source/chapter26/plugins-sd.rst b/docs/manuals/en/new_main_reference/source/chapter26/plugins-sd.rst new file mode 100644 index 00000000000..0fca5a59e22 --- /dev/null +++ b/docs/manuals/en/new_main_reference/source/chapter26/plugins-sd.rst @@ -0,0 +1,277 @@ +.. ATTENTION do not edit this file manually. + It was automatically converted from the corresponding .tex file + +.. _sdPlugins: + +Storage Daemon Plugins +====================== + +.. _plugin-autoxflate-sd: + +autoxflate-sd +------------- + +:index:`[TAG=Plugin->autoxflate-sd] ` + +This plugin is part of the **bareos-storage** package. + +The autoxflate-sd plugin can inflate (decompress) and deflate (compress) the data being written to or read from a device. It can also do both. + +.. image:: /_static/images/autoxflate-functionblocks.* + :width: 80.0% + + + + +Therefore the autoxflate plugin inserts a inflate and a deflate function block into the stream going to the device (called OUT) and coming from the device (called IN). + +Each stream passes first the inflate function block, then the deflate function block. + +The inflate blocks are controlled by the setting of the **Auto Inflate**:sup:`Sd`:sub:`Device`\ directive. + +The deflate blocks are controlled by the setting of the **Auto Deflate**:sup:`Sd`:sub:`Device`\ , **Auto Deflate Algorithm**:sup:`Sd`:sub:`Device`\ and **Auto Deflate Level**:sup:`Sd`:sub:`Device`\ directives. + +The inflate blocks, if enabled, will uncompress data if it is compressed using the algorithm that was used during compression. + +The deflate blocks, if enabled, will compress uncompressed data with the algorithm and level configured in the according directives. + +The series connection of the inflate and deflate function blocks makes the plugin very flexible. + +Szenarios where this plugin can be used are for example: + +- client computers with weak cpus can do backups without compression and let the sd do the compression when writing to disk + +- compressed backups can be recompressed to a different compression format (e.g. gzip -> lzo) using migration jobs + +- client backups can be compressed with compression algorithms that the client itself does not support + +Multi-core cpus will be utilized when using parallel jobs as the compression is done in each jobs’ thread. + +When the autoxflate plugin is configured, it will write some status information into the joblog. + +.. code-block:: sh + :caption: used compression algorithm + + autodeflation: compressor on device FileStorage is FZ4H + +.. code-block:: sh + :caption: configured inflation and deflation blocks + + autoxflate-sd.c: FileStorage OUT:[SD->inflate=yes->deflate=yes->DEV] IN:[DEV->inflate=yes->deflate=yes->SD] + +.. code-block:: sh + :caption: overall deflation/inflation ratio + + autoxflate-sd.c: deflate ratio: 50.59% + +Additional **Auto XFlate On Replication**:sup:`Sd`:sub:`Storage`\ can be configured at the Storage resource. + +scsicrypto-sd +------------- + +:index:`[TAG=Plugin->scsicrypto-sd] ` + +This plugin is part of the **bareos-storage-tape** package. + +General +~~~~~~~ + +.. _LTOHardwareEncryptionGeneral: + +LTO Hardware Encryption +^^^^^^^^^^^^^^^^^^^^^^^ + +Modern tape-drives, for example LTO (from LTO4 onwards) support hardware encryption. There are several ways of using encryption with these drives. The following three types of key management are available for encrypting drives. The transmission of the keys to the volumes is accomplished by either of the three: + +- A backup application that supports Application Managed Encryption (AME) + +- A tape library that supports Library Managed Encryption (LME) + +- A Key Management Appliance (KMA) + +We added support for Application Managed Encryption (AME) scheme, where on labeling a crypto key is generated for a volume and when the volume is mounted, the crypto key is loaded. When finally the volume is unmounted, the key is cleared from the memory of the Tape Drive using the SCSI SPOUT command set. + +If you have implemented Library Managed Encryption (LME) or a Key Management Appliance (KMA), there is no need to have support from Bareos on loading and clearing the encryption keys, as either the Library knows the per volume encryption keys itself, or it will ask the KMA for the encryption key when it needs it. For big installations you might consider using a KMA, but the Application Managed Encryption implemented in Bareos should also scale rather well and have a low overhead as the keys are +only loaded and cleared when needed. + +The scsicrypto-sd plugin +^^^^^^^^^^^^^^^^^^^^^^^^ + +The :command:`scsicrypto-sd` hooks into the :strong:`unload`, :strong:`label read`, :strong:`label write` and :strong:`label verified` events for loading and clearing the key. It checks whether it it needs to clear the drive by either using an internal state (if it loaded a key before) or by checking the state of a special option that first issues an encrytion status query. If there is a connection to the director +and the volume information is not available, it will ask the director for the data on the currently loaded volume. If no connection is available, a cache will be used which should contain the most recently mounted volumes. If an encryption key is available, it will be loaded into the drive’s memory. + +Changes in the director +^^^^^^^^^^^^^^^^^^^^^^^ + +The director has been extended with additional code for handling hardware data encryption. The extra keyword **encrypt** on the label of a volume will force the director to generate a new semi-random passphrase for the volume, which will be stored in the database as part of the media information. + +A passphrase is always stored in the database base64-encoded. When a so called **Key Encryption Key** is set in the config of the director, the passphrase is first wrapped using RFC3394 key wrapping and then base64-encoded. By using key wrapping, the keys in the database are safe against people sniffing the info, as the data is still encrypted using the Key Encryption Key (which in essence is just an extra passphrase of the same length as the volume passphrases used). + +When the storage daemon needs to mount the volume, it will ask the director for the volume information and that protocol is extended with the exchange of the base64-wrapped encryption key (passphrase). The storage daemon provides an extra config option in which it records the Key Encryption Key of the particular director, and as such can unwrap the key sent into the original passphrase. + +As can be seen from the above info we don’t allow the user to enter a passphrase, but generate a semi-random passphrase using the openssl random functions (if available) and convert that into a readable ASCII stream of letters, numbers and most other characters, apart from the quotes and space etc. This will produce much stronger passphrases than when requesting the info from a user. As we store this information in the database, the user never has to enter these passphrases. + +The volume label is written in unencrypted form to the volume, so we can always recognize a Bareos volume. When the key is loaded onto the drive, we set the decryption mode to mixed, so we can read both unencrypted and encrypted data from the volume. When no key or the wrong key has been loaded, the drive will give an IO error when trying to read the volume. For disaster recovery you can store the Key Encryption Key and the content of the wrapped encryption keys somewhere safe and the +:ref:`bscrypto ` tool together with the scsicrypto-sd plugin can be used to get access to your volumes, in case you ever lose your complete environment. + +If you don’t want to use the scsicrypto-sd plugin when doing DR and you are only reading one volume, you can also set the crypto key using the bscrypto tool. Because we use the mixed decryption mode, in which you can read both encrypted and unencrypted data from a volume, you can set the right encryption key before reading the volume label. + +If you need to read more than one volume, you better use the scsicrypto-sd plugin with tools like bscan/bextract, as the plugin will then auto-load the correct encryption key when it loads the volume, similiarly to what the storage daemon does when performing backups and restores. + +The volume label is unencrypted, so a volume can also be recognized by a non-encrypted installation, but it won’t be able to read the actual data from it. Using an encrypted volume label doesn’t add much security (there is no security-related info in the volume label anyhow) and it makes it harder to recognize either a labeled volume with encrypted data or an unlabeled new volume (both would return an IO-error on read of the label.) + +Configuration +~~~~~~~~~~~~~ + +SCSI crypto setup +^^^^^^^^^^^^^^^^^ + +The initial setup of SCSI crypto looks something like this: + +- Generate a Key Encryption Key e.g. + + .. code-block:: sh + + bscrypto -g - + +For details see :ref:`bscrypto `. + +Security Setup +^^^^^^^^^^^^^^ + +Some security levels need to be increased for the storage daemon to be able to use the low level SCSI interface for setting and getting the encryption status on a tape device. + +The following additional security is needed for the following operating systems: + +Linux (SG_IO ioctl interface): +'''''''''''''''''''''''''''''' + +The user running the storage daemon needs the following additional capabilities: :index:`[TAG=Platform->Linux->Privileges] ` + +- ``CAP_SYS_RAWIO`` (see capabilities(7)) + + - On older kernels you might need ``CAP_SYS_ADMIN``. Try ``CAP_SYS_RAWIO`` first and if that doesn’t work try ``CAP_SYS_ADMIN`` + +- If you are running the storage daemon as another user than root (which has the ``CAP_SYS_RAWIO`` capability), you need to add it to the current set of capabilities. + +- If you are using systemd, you could add this additional capability to the CapabilityBoundingSet parameter. + + - For systemd add the following to the bareos-sd.service: ``Capabilities=cap_sys_rawio+ep`` + +You can also set up the extra capability on :command:`bscrypto` and :command:`bareos-sd` by running the following commands: + +.. code-block:: sh + + setcap cap_sys_rawio=ep bscrypto + setcap cap_sys_rawio=ep bareos-sd + +Check the setting with + +.. code-block:: sh + + getcap -v bscrypto + getcap -v bareos-sd + +:command:`getcap` and :command:`setcap` are part of libcap-progs. + +If :command:`bareos-sd` does not have the appropriate capabilities, all other tape operations may still work correctly, but you will get :emphasis:`Unable to perform SG\_IO ioctl` errors. + +Solaris (USCSI ioctl interface): +'''''''''''''''''''''''''''''''' + +The user running the storage daemon needs the following additional privileges: :index:`[TAG=Platform->Solaris->Privileges] ` + +- ``PRIV_SYS_DEVICES`` (see privileges(5)) + +If you are running the storage daemon as another user than root (which has the ``PRIV_SYS_DEVICES`` privilege), you need to add it to the current set of privileges. This can be set up by setting this either as a project for the user, or as a set of extra privileges in the SMF definition starting the storage daemon. The SMF setup is the cleanest one. + +For SMF make sure you have something like this in the instance block: + +.. code-block:: sh + + + +Changes in bareos-sd.conf +^^^^^^^^^^^^^^^^^^^^^^^^^ + +- Set the Key Encryption Key + + - **Key Encryption Key**:sup:`Sd`:sub:`Director`\ = :strong:`passphrase` + +- Enable the loading of storage daemon plugins + + - **Plugin Directory**:sup:`Sd`:sub:`Storage`\ = :file:`path_to_sd_plugins` + +- Enable the SCSI encryption option + + - **Drive Crypto Enabled**:sup:`Sd`:sub:`Device`\ = yes + +- Enable this, if you want the plugin to probe the encryption status of the drive when it needs to clear a pending key + + - **Query Crypto Status**:sup:`Sd`:sub:`Device`\ = yes + +Changes in bareos-dir.conf +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +- Set the Key Encryption Key + + - **Key Encryption Key**:sup:`Dir`:sub:`Director`\ = :strong:`passphrase` + +Testing +~~~~~~~ + +Restart the Storage Daemon and the Director. After this you can label new volumes with the encrypt option, e.g. + +.. code-block:: sh + + label slots=1-5 barcodes encrypt + +Disaster Recovery +~~~~~~~~~~~~~~~~~ + +For Disaster Recovery (DR) you need the following information: + +- Actual bareos-sd.conf with config options enabled as described above, including, among others, a definition of a director with the Key Encryption Key used for creating the encryption keys of the volumes. + +- The actual keys used for the encryption of the volumes. + +This data needs to be availabe as a so called crypto cache file which is used by the plugin when no connection to the director can be made to do a lookup (most likely on DR). + +Most of the times the needed information, e.g. the bootstrap info, is available on recently written volumes and most of the time the encryption cache will contain the most recent data, so a recent copy of the :file:`bareos-sd..cryptoc` file in the working directory is enough most of the time. You can also save the info from database in a safe place and use bscrypto to populate this info (VolumeName -> EncryptKey) into the crypto cache file used by +:command:`bextract` and :command:`bscan`. You can use :command:`bscrypto` with the following flags to create a new or update an existing crypto cache file e.g.: + +.. code-block:: sh + + bscrypto -p /var/lib/bareos/bareos-sd..cryptoc + +- A valid BSR file containing the location of the last safe of the database makes recovery much easier. Adding a post script to the database save job could collect the needed info and make sure its stored somewhere safe. + +- Recover the database in the normal way e.g. for postgresql: + + .. code-block:: sh + + bextract -D -c bareos-sd.conf -V \ /dev/nst0 /tmp -b bootstrap.bsr + /usr/lib64/bareos/create_bareos_database + /usr/lib64/bareos/grant_bareos_privileges + psql bareos < /tmp/var/lib/bareos/bareos.sql + +Or something similar (change paths to follow where you installed the software or where the package put it). + +**Note:** As described at the beginning of this chapter, there are different types of key management, AME, LME and KMA. If the Library is set up for LME or KMA, it probably won’t allow our AME setup and the scsi-crypto plugin will fail to set/clear the encryption key. To be able to use AME you need to :emphasis:`Modify Encryption Method` and set it to something like :emphasis:`Application Managed`. If you decide to use LME or KMA you don’t have to bother with the whole setup +of AME which may for big libraries be easier, although the overhead of using AME even for very big libraries should be minimal. + +scsitapealert-sd +---------------- + +:index:`[TAG=Plugin->scsitapealert-sd] ` + +This plugin is part of the **bareos-storage-tape** package. + +python-sd Plugin +---------------- + +:index:`[TAG=Plugin->Python->Storage Daemon] ` + +The **python-sd** plugin behaves similar to the :ref:`director-python-plugin`. + + diff --git a/docs/manuals/en/new_main_reference/source/chapter26/plugins-vmware-plugin.rst b/docs/manuals/en/new_main_reference/source/chapter26/plugins-vmware-plugin.rst index 4a0e2d94f9d..7c77f8a1ec5 100644 --- a/docs/manuals/en/new_main_reference/source/chapter26/plugins-vmware-plugin.rst +++ b/docs/manuals/en/new_main_reference/source/chapter26/plugins-vmware-plugin.rst @@ -44,7 +44,7 @@ Current limitations amongst others are: Requirements ~~~~~~~~~~~~ -As the Plugin is based on the |vsphere| Storage APIs for Data Protection, which requires at least a |vsphere| Essentials License. It is tested against |vsphere| Storage APIs for Data Protection of |vmware| 5.x. It does not work with standalone unlicensed |vmware| ESXi\trademark. +As the Plugin is based on the |vsphere| Storage APIs for Data Protection, which requires at least a |vsphere| Essentials License. It is tested against |vsphere| Storage APIs for Data Protection of |vmware| 5.x. It does not work with standalone unlicensed |vmware| ESXi\ :sup:`(TM)`. Since Bareos :index:`Version >= 17.2.4 ` the plugin is using the Virtual Disk Development Kit (VDDK) 6.5.2, as of the VDDK 6.5 release notes, it should be compatible with vSphere 6.5 and the next major release (except new features) and backward compatible with vSphere 5.5 and 6.0, see VDDK release notes at https://code.vmware.com/web/sdk/65/vddk for details. diff --git a/docs/manuals/en/new_main_reference/source/chapter26/plugins.rst b/docs/manuals/en/new_main_reference/source/chapter26/plugins.rst index eda11bab07c..a5a7ab6aaa3 100644 --- a/docs/manuals/en/new_main_reference/source/chapter26/plugins.rst +++ b/docs/manuals/en/new_main_reference/source/chapter26/plugins.rst @@ -1,14 +1,12 @@ .. ATTENTION do not edit this file manually. It was automatically converted from the corresponding .tex file -Plugins -======= - -:index:`[TAG=Plugin] ` - .. _section-plugins: +Plugins +======= +:index:`[TAG=Plugin] ` The functionality of Bareos can be extended by plugins. They do exists plugins for the different daemons (Director, Storage- and File-Daemon). @@ -16,536 +14,5 @@ To use plugins, they must be enabled in the configuration (:strong:`Plugin Direc If a :strong:`Plugin Directory` is specified :strong:`Plugin Names` defines, which plugins get loaded. -If :strong:`Plugin Names` is not defined. - -.. _fdPlugins: - -File Daemon Plugins -------------------- - -File Daemon plugins are configured by the :strong:`Plugin` directive of a :ref:`File Set `. - - - -.. warning:: - Currently the plugin command is being stored as part of the backup. The restore command in your directive should be flexible enough if things might change in future, otherwise you could run into trouble. - -.. _bpipe: - -bpipe Plugin -~~~~~~~~~~~~ - -:index:`[TAG=Plugin->bpipe] ` - -The bpipe plugin is a generic pipe program, that simply transmits the data from a specified program to Bareos for backup, and from Bareos to a specified program for restore. The purpose of the plugin is to provide an interface to any system program for backup and restore. That allows you, for example, to do database backups without a local dump. By using different command lines to bpipe, you can backup any kind of data (ASCII or binary) depending on the program called. - -On Linux, the Bareos bpipe plugin is part of the **bareos-filedaemon** package and is therefore installed on any system running the filedaemon. - -The bpipe plugin is so simple and flexible, you may call it the "Swiss Army Knife" of the current existing plugins for Bareos. - -The bpipe plugin is specified in the Include section of your Job’s FileSet resource in your :file:`bareos-dir.conf`. - -.. code-block:: sh - :caption: bpipe fileset - - FileSet { - Name = "MyFileSet" - Include { - Options { - signature = MD5 - compression = gzip - } - Plugin = "bpipe:file=:reader=:writer= - } - } - -The syntax and semantics of the Plugin directive require the first part of the string up to the colon to be the name of the plugin. Everything after the first colon is ignored by the File daemon but is passed to the plugin. Thus the plugin writer may define the meaning of the rest of the string as he wishes. The full syntax of the plugin directive as interpreted by the bpipe plugin is: - -.. code-block:: sh - :caption: bpipe directive - - Plugin = ":file=:reader=:writer=" - -plugin - is the name of the plugin with the trailing -fd.so stripped off, so in this case, we would put bpipe in the field. - -filepath - specifies the namespace, which for bpipe is the pseudo path and filename under which the backup will be saved. This pseudo path and filename will be seen by the user in the restore file tree. For example, if the value is :strong:`/MySQL/mydump.sql`, the data backed up by the plugin will be put under that :emphasis:`pseudo` path and filename. You must be careful to choose a naming convention that is unique to avoid a conflict with a path and filename that actually - exists on your system. - -readprogram - for the bpipe plugin specifies the "reader" program that is called by the plugin during backup to read the data. bpipe will call this program by doing a popen on it. - -writeprogram - for the bpipe plugin specifies the "writer" program that is called by the plugin during restore to write the data back to the filesystem. - -Please note that the two items above describing the "reader" and "writer", these programs are "executed" by Bareos, which means there is no shell interpretation of any command line arguments you might use. If you want to use shell characters (redirection of input or output, ...), then we recommend that you put your command or commands in a shell script and execute the script. In addition if you backup a file with reader program, when running the writer program during the restore, Bareos will not -automatically create the path to the file. Either the path must exist, or you must explicitly do so with your command or in a shell script. - -See the examples about :ref:`backup-postgresql` and :ref:`backup-mysql`. - -PGSQL Plugin -~~~~~~~~~~~~ - -See chapter :ref:`backup-postgresql-plugin`. - -MySQL Plugin -~~~~~~~~~~~~ - -See the chapters :ref:`backup-mysql-xtrabackup` and :ref:`backup-mysql-python`. - -MSSQL Plugin -~~~~~~~~~~~~ - -See chapter :ref:`MSSQL`. - -LDAP Plugin -~~~~~~~~~~~ - -:index:`[TAG=Plugin->ldap] ` - -This plugin is intended to backup (and restore) the contents of a LDAP server. It uses normal LDAP operation for this. The package **bareos-filedaemon-ldap-python-plugin** (:index:`Version >= 15.2.0 `) contains an example configuration file, that must be adapted to your envirnoment. - -Cephfs Plugin -~~~~~~~~~~~~~ - -:index:`[TAG=Plugin->ceph->cephfs] ` :index:`[TAG=Ceph->Cephfs Plugin] ` - -Opposite to the :ref:`Rados Backend ` that is used to store data on a CEPH Object Store, this plugin is intended to backup a CEPH Object Store via the Cephfs interface to other media. The package **bareos-filedaemon-ceph-plugin** (:index:`Version >= 15.2.0 `) contains an example configuration file, that must be adapted to your envirnoment. - -Rados Plugin -~~~~~~~~~~~~ - -:index:`[TAG=Plugin->ceph->rados] ` :index:`[TAG=Ceph->Rados Plugin] ` - -Opposite to the :ref:`Rados Backend ` that is used to store data on a CEPH Object Store, this plugin is intended to backup a CEPH Object Store via the Rados interface to other media. The package **bareos-filedaemon-ceph-plugin** (:index:`Version >= 15.2.0 `) contains an example configuration file, that must be adapted to your envirnoment. - -GlusterFS Plugin -~~~~~~~~~~~~~~~~ - -:index:`[TAG=Plugin->glusterfs] ` :index:`[TAG=GlusterFS->Plugin] ` - -Opposite to the :ref:`GFAPI Backend ` that is used to store data on a Gluster system, this plugin is intended to backup data from a Gluster system to other media. The package **bareos-filedaemon-glusterfs-plugin** (:index:`Version >= 15.2.0 `) contains an example configuration file, that must be adapted to your envirnoment. - -python-fd Plugin -~~~~~~~~~~~~~~~~ - -:index:`[TAG=Plugin->Python->File Daemon] ` - -The **python-fd** plugin behaves similar to the :ref:`director-python-plugin`. Base plugins and an example get installed via the package bareos-filedaemon-python-plugin. Configuration is done in the :ref:`DirectorResourceFileSet` on the director. - -We basically distinguish between command-plugin and option-plugins. - -Command Plugins -^^^^^^^^^^^^^^^ - -Command plugins are used to replace or extend the FileSet definition in the File Section. If you have a command-plugin, you can use it like in this example: - -.. code-block:: sh - :caption: bareos-dir.conf: Python FD command plugins - - FileSet { - Name = "mysql" - Include { - Options { - Signature = MD5 # calculate md5 checksum per file - } - File = "/etc" - Plugin = "python:module_path=/usr/lib/bareos/plugins:module_name=bareos-fd-mysql" - } - } - -:index:`[TAG=MySQL->Backup] ` This example uses the :ref:`MySQL plugin ` to backup MySQL dumps in addition to :file:`/etc`. - -Option Plugins -^^^^^^^^^^^^^^ - -Option plugins are activated in the Options resource of a FileSet definition. - -Example: - -.. code-block:: sh - :caption: bareos-dir.conf: Python FD option plugins - - FileSet { - Name = "option" - Include { - Options { - Signature = MD5 # calculate md5 checksum per file - Plugin = "python:module_path=/usr/lib/bareos/plugins:module_name=bareos-fd-file-interact" - } - File = "/etc" - File = "/usr/lib/bareos/plugins" - } - } - -This plugin bareos-fd-file-interact from https://github.com/bareos/bareos-contrib/tree/master/fd-plugins/options-plugin-sample has a method that is called before and after each file that goes into the backup, it can be used as a template for whatever plugin wants to interact with files before or after backup. - -.. _sdPlugins: - -Storage Daemon Plugins ----------------------- - -.. _plugin-autoxflate-sd: - -autoxflate-sd -~~~~~~~~~~~~~ - -:index:`[TAG=Plugin->autoxflate-sd] ` - -This plugin is part of the **bareos-storage** package. - -The autoxflate-sd plugin can inflate (decompress) and deflate (compress) the data being written to or read from a device. It can also do both. - -.. image:: images/autoxflate-functionblocks.* - :width: 80.0% - - - - -Therefore the autoxflate plugin inserts a inflate and a deflate function block into the stream going to the device (called OUT) and coming from the device (called IN). - -Each stream passes first the inflate function block, then the deflate function block. - -The inflate blocks are controlled by the setting of the **Auto Inflate**:sup:`Sd`:sub:`Device`\ directive. - -The deflate blocks are controlled by the setting of the **Auto Deflate**:sup:`Sd`:sub:`Device`\ , **Auto Deflate Algorithm**:sup:`Sd`:sub:`Device`\ and **Auto Deflate Level**:sup:`Sd`:sub:`Device`\ directives. - -The inflate blocks, if enabled, will uncompress data if it is compressed using the algorithm that was used during compression. - -The deflate blocks, if enabled, will compress uncompressed data with the algorithm and level configured in the according directives. - -The series connection of the inflate and deflate function blocks makes the plugin very flexible. - -Szenarios where this plugin can be used are for example: - -- client computers with weak cpus can do backups without compression and let the sd do the compression when writing to disk - -- compressed backups can be recompressed to a different compression format (e.g. gzip -> lzo) using migration jobs - -- client backups can be compressed with compression algorithms that the client itself does not support - -Multi-core cpus will be utilized when using parallel jobs as the compression is done in each jobs’ thread. - -When the autoxflate plugin is configured, it will write some status information into the joblog. - -.. code-block:: sh - :caption: used compression algorithm - - autodeflation: compressor on device FileStorage is FZ4H - -.. code-block:: sh - :caption: configured inflation and deflation blocks - - autoxflate-sd.c: FileStorage OUT:[SD->inflate=yes->deflate=yes->DEV] IN:[DEV->inflate=yes->deflate=yes->SD] - -.. code-block:: sh - :caption: overall deflation/inflation ratio - - autoxflate-sd.c: deflate ratio: 50.59% - -Additional **Auto XFlate On Replication**:sup:`Sd`:sub:`Storage`\ can be configured at the Storage resource. - -scsicrypto-sd -~~~~~~~~~~~~~ - -:index:`[TAG=Plugin->scsicrypto-sd] ` - -This plugin is part of the **bareos-storage-tape** package. - -General -^^^^^^^ - -.. _LTOHardwareEncryptionGeneral: - -LTO Hardware Encryption -''''''''''''''''''''''' - -Modern tape-drives, for example LTO (from LTO4 onwards) support hardware encryption. There are several ways of using encryption with these drives. The following three types of key management are available for encrypting drives. The transmission of the keys to the volumes is accomplished by either of the three: - -- A backup application that supports Application Managed Encryption (AME) - -- A tape library that supports Library Managed Encryption (LME) - -- A Key Management Appliance (KMA) - -We added support for Application Managed Encryption (AME) scheme, where on labeling a crypto key is generated for a volume and when the volume is mounted, the crypto key is loaded. When finally the volume is unmounted, the key is cleared from the memory of the Tape Drive using the SCSI SPOUT command set. - -If you have implemented Library Managed Encryption (LME) or a Key Management Appliance (KMA), there is no need to have support from Bareos on loading and clearing the encryption keys, as either the Library knows the per volume encryption keys itself, or it will ask the KMA for the encryption key when it needs it. For big installations you might consider using a KMA, but the Application Managed Encryption implemented in Bareos should also scale rather well and have a low overhead as the keys are -only loaded and cleared when needed. - -The scsicrypto-sd plugin -'''''''''''''''''''''''' - -The :command:`scsicrypto-sd` hooks into the :strong:`unload`, :strong:`label read`, :strong:`label write` and :strong:`label verified` events for loading and clearing the key. It checks whether it it needs to clear the drive by either using an internal state (if it loaded a key before) or by checking the state of a special option that first issues an encrytion status query. If there is a connection to the director -and the volume information is not available, it will ask the director for the data on the currently loaded volume. If no connection is available, a cache will be used which should contain the most recently mounted volumes. If an encryption key is available, it will be loaded into the drive’s memory. - -Changes in the director -''''''''''''''''''''''' - -The director has been extended with additional code for handling hardware data encryption. The extra keyword **encrypt** on the label of a volume will force the director to generate a new semi-random passphrase for the volume, which will be stored in the database as part of the media information. - -A passphrase is always stored in the database base64-encoded. When a so called **Key Encryption Key** is set in the config of the director, the passphrase is first wrapped using RFC3394 key wrapping and then base64-encoded. By using key wrapping, the keys in the database are safe against people sniffing the info, as the data is still encrypted using the Key Encryption Key (which in essence is just an extra passphrase of the same length as the volume passphrases used). - -When the storage daemon needs to mount the volume, it will ask the director for the volume information and that protocol is extended with the exchange of the base64-wrapped encryption key (passphrase). The storage daemon provides an extra config option in which it records the Key Encryption Key of the particular director, and as such can unwrap the key sent into the original passphrase. - -As can be seen from the above info we don’t allow the user to enter a passphrase, but generate a semi-random passphrase using the openssl random functions (if available) and convert that into a readable ASCII stream of letters, numbers and most other characters, apart from the quotes and space etc. This will produce much stronger passphrases than when requesting the info from a user. As we store this information in the database, the user never has to enter these passphrases. - -The volume label is written in unencrypted form to the volume, so we can always recognize a Bareos volume. When the key is loaded onto the drive, we set the decryption mode to mixed, so we can read both unencrypted and encrypted data from the volume. When no key or the wrong key has been loaded, the drive will give an IO error when trying to read the volume. For disaster recovery you can store the Key Encryption Key and the content of the wrapped encryption keys somewhere safe and the -:ref:`bscrypto ` tool together with the scsicrypto-sd plugin can be used to get access to your volumes, in case you ever lose your complete environment. - -If you don’t want to use the scsicrypto-sd plugin when doing DR and you are only reading one volume, you can also set the crypto key using the bscrypto tool. Because we use the mixed decryption mode, in which you can read both encrypted and unencrypted data from a volume, you can set the right encryption key before reading the volume label. - -If you need to read more than one volume, you better use the scsicrypto-sd plugin with tools like bscan/bextract, as the plugin will then auto-load the correct encryption key when it loads the volume, similiarly to what the storage daemon does when performing backups and restores. - -The volume label is unencrypted, so a volume can also be recognized by a non-encrypted installation, but it won’t be able to read the actual data from it. Using an encrypted volume label doesn’t add much security (there is no security-related info in the volume label anyhow) and it makes it harder to recognize either a labeled volume with encrypted data or an unlabeled new volume (both would return an IO-error on read of the label.) - -Configuration -^^^^^^^^^^^^^ - -SCSI crypto setup -''''''''''''''''' - -The initial setup of SCSI crypto looks something like this: - -- Generate a Key Encryption Key e.g. - - .. code-block:: sh - - bscrypto -g - - -For details see :ref:`bscrypto `. - -Security Setup -'''''''''''''' - -Some security levels need to be increased for the storage daemon to be able to use the low level SCSI interface for setting and getting the encryption status on a tape device. - -The following additional security is needed for the following operating systems: - -Linux (SG_IO ioctl interface): - - -The user running the storage daemon needs the following additional capabilities: :index:`[TAG=Platform->Linux->Privileges] ` - -- ``CAP_SYS_RAWIO`` (see capabilities(7)) - - - On older kernels you might need ``CAP_SYS_ADMIN``. Try ``CAP_SYS_RAWIO`` first and if that doesn’t work try ``CAP_SYS_ADMIN`` - -- If you are running the storage daemon as another user than root (which has the ``CAP_SYS_RAWIO`` capability), you need to add it to the current set of capabilities. - -- If you are using systemd, you could add this additional capability to the CapabilityBoundingSet parameter. - - - For systemd add the following to the bareos-sd.service: ``Capabilities=cap_sys_rawio+ep`` - -You can also set up the extra capability on :command:`bscrypto` and :command:`bareos-sd` by running the following commands: - -.. code-block:: sh - - setcap cap_sys_rawio=ep bscrypto - setcap cap_sys_rawio=ep bareos-sd - -Check the setting with - -.. code-block:: sh - - getcap -v bscrypto - getcap -v bareos-sd - -:command:`getcap` and :command:`setcap` are part of libcap-progs. - -If :command:`bareos-sd` does not have the appropriate capabilities, all other tape operations may still work correctly, but you will get :emphasis:`Unable to perform SG\_IO ioctl` errors. - -Solaris (USCSI ioctl interface): - - -The user running the storage daemon needs the following additional privileges: :index:`[TAG=Platform->Solaris->Privileges] ` - -- ``PRIV_SYS_DEVICES`` (see privileges(5)) - -If you are running the storage daemon as another user than root (which has the ``PRIV_SYS_DEVICES`` privilege), you need to add it to the current set of privileges. This can be set up by setting this either as a project for the user, or as a set of extra privileges in the SMF definition starting the storage daemon. The SMF setup is the cleanest one. - -For SMF make sure you have something like this in the instance block: - -.. code-block:: sh - - - -Changes in bareos-sd.conf -''''''''''''''''''''''''' - -- Set the Key Encryption Key - - - **Key Encryption Key**:sup:`Sd`:sub:`Director`\ = :strong:`passphrase` - -- Enable the loading of storage daemon plugins - - - **Plugin Directory**:sup:`Sd`:sub:`Storage`\ = :file:`path_to_sd_plugins` - -- Enable the SCSI encryption option - - - **Drive Crypto Enabled**:sup:`Sd`:sub:`Device`\ = yes - -- Enable this, if you want the plugin to probe the encryption status of the drive when it needs to clear a pending key - - - **Query Crypto Status**:sup:`Sd`:sub:`Device`\ = yes - -Changes in bareos-dir.conf -'''''''''''''''''''''''''' - -- Set the Key Encryption Key - - - **Key Encryption Key**:sup:`Dir`:sub:`Director`\ = :strong:`passphrase` - -Testing -^^^^^^^ - -Restart the Storage Daemon and the Director. After this you can label new volumes with the encrypt option, e.g. - -.. code-block:: sh - - label slots=1-5 barcodes encrypt - -Disaster Recovery -^^^^^^^^^^^^^^^^^ - -For Disaster Recovery (DR) you need the following information: - -- Actual bareos-sd.conf with config options enabled as described above, including, among others, a definition of a director with the Key Encryption Key used for creating the encryption keys of the volumes. - -- The actual keys used for the encryption of the volumes. - -This data needs to be availabe as a so called crypto cache file which is used by the plugin when no connection to the director can be made to do a lookup (most likely on DR). - -Most of the times the needed information, e.g. the bootstrap info, is available on recently written volumes and most of the time the encryption cache will contain the most recent data, so a recent copy of the :file:`bareos-sd..cryptoc` file in the working directory is enough most of the time. You can also save the info from database in a safe place and use bscrypto to populate this info (VolumeName -> EncryptKey) into the crypto cache file used by -:command:`bextract` and :command:`bscan`. You can use :command:`bscrypto` with the following flags to create a new or update an existing crypto cache file e.g.: - -.. code-block:: sh - - bscrypto -p /var/lib/bareos/bareos-sd..cryptoc - -- A valid BSR file containing the location of the last safe of the database makes recovery much easier. Adding a post script to the database save job could collect the needed info and make sure its stored somewhere safe. - -- Recover the database in the normal way e.g. for postgresql: - - .. code-block:: sh - - bextract -D -c bareos-sd.conf -V \ /dev/nst0 /tmp -b bootstrap.bsr - /usr/lib64/bareos/create_bareos_database - /usr/lib64/bareos/grant_bareos_privileges - psql bareos < /tmp/var/lib/bareos/bareos.sql - -Or something similar (change paths to follow where you installed the software or where the package put it). - -**Note:** As described at the beginning of this chapter, there are different types of key management, AME, LME and KMA. If the Library is set up for LME or KMA, it probably won’t allow our AME setup and the scsi-crypto plugin will fail to set/clear the encryption key. To be able to use AME you need to :emphasis:`Modify Encryption Method` and set it to something like :emphasis:`Application Managed`. If you decide to use LME or KMA you don’t have to bother with the whole setup -of AME which may for big libraries be easier, although the overhead of using AME even for very big libraries should be minimal. - -scsitapealert-sd -~~~~~~~~~~~~~~~~ - -:index:`[TAG=Plugin->scsitapealert-sd] ` - -This plugin is part of the **bareos-storage-tape** package. - -python-sd Plugin -~~~~~~~~~~~~~~~~ - -:index:`[TAG=Plugin->Python->Storage Daemon] ` - -The **python-sd** plugin behaves similar to the :ref:`director-python-plugin`. - -.. _dirPlugins: - -Director Plugins ----------------- - -.. _director-python-plugin: - -python-dir Plugin -~~~~~~~~~~~~~~~~~ - -:index:`[TAG=Plugin->Python->Director] ` - -The **python-dir** plugin is intended to extend the functionality of the Bareos Director by Python code. A working example is included. - -- install the **bareos-director-python-plugin** package - -- change to the Bareos plugin directory (:file:`/usr/lib/bareos/plugins/` or :file:`/usr/lib64/bareos/plugins/`) - -- copy :file:`bareos-dir.py.template` to :file:`bareos-dir.py` - -- activate the plugin in the Bareos Director configuration - -- restart the Bareos Director - -- change :file:`bareos-dir.py` as required - -- restart the Bareos Director - -Loading plugins -^^^^^^^^^^^^^^^ - -Since :index:`Version >= 14.4.0 ` multiple Python plugins can be loaded and plugin names can be arbitrary. Before this, the Python plugin always loads the file :file:`bareos-dir.py`. - -The director plugins are configured in the Job-Resource (or JobDefs resource). To load a Python plugin you need - -- pointing to your plugin directory (needs to be enabled in the Director resource, too - -- Your plugin (without the suffix .py) - -- default is ’0’, you can leave this, as long as you only have 1 Director Python plugin. If you have more than 1, start with instance=0 and increment the instance for each plugin. - -- You can add plugin specific option key-value pairs, each pair separated by ’:’ key=value - -Single Python Plugin Loading Example: - -.. code-block:: sh - :caption: bareos-dir.conf: Single Python Plugin Loading Example - - Director { - # ... - # Plugin directory - Plugin Directory = /usr/lib64/bareos/plugins - # Load the python plugin - Plugin Names = "python" - } - - JobDefs { - Name = "DefaultJob" - Type = Backup - # ... - # Load the class based plugin with testoption=testparam - Dir Plugin Options = "python:instance=0:module_path=/usr/lib64/bareos/plugins:module_name=bareos-dir-class-plugins:testoption=testparam - # ... - } - -Multiple Python Plugin Loading Example: - -.. code-block:: sh - :caption: bareos-dir.conf: Multiple Python Plugin Loading Example - - Director { - # ... - # Plugin directory - Plugin Directory = /usr/lib64/bareos/plugins - # Load the python plugin - Plugin Names = "python" - } - - JobDefs { - Name = "DefaultJob" - Type = Backup - # ... - # Load the class based plugin with testoption=testparam - Dir Plugin Options = "python:instance=0:module_path=/usr/lib64/bareos/plugins:module_name=bareos-dir-class-plugins:testoption=testparam1 - Dir Plugin Options = "python:instance=1:module_path=/usr/lib64/bareos/plugins:module_name=bareos-dir-class-plugins:testoption=testparam2 - # ... - } - -Write your own Python Plugin -^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -Some plugin examples are available on https://github.com/bareos/bareos-contrib. The class-based approach lets you easily reuse stuff already defined in the baseclass BareosDirPluginBaseclass, which ships with the **bareos-director-python-plugin** package. The examples contain the plugin bareos-dir-nsca-sender, that submits the results and performance data of a backup job directly to Icinga:index:`[TAG=Icinga] ` or -Nagios:index:`[TAG=Nagios|see{Icinga}] ` using the NSCA protocol. - +If :strong:`Plugin Names` is not defined, all plugins get loaded. diff --git a/docs/manuals/en/new_main_reference/source/chapter27/win32.rst b/docs/manuals/en/new_main_reference/source/chapter27/win32.rst index f9f4beaf1b7..fdc68cad16e 100644 --- a/docs/manuals/en/new_main_reference/source/chapter27/win32.rst +++ b/docs/manuals/en/new_main_reference/source/chapter27/win32.rst @@ -72,21 +72,21 @@ Here are the important steps. - For a standard installation you may only select the "Tray-Monitor" and the "Open Firewall for Client" as additional optional components. -.. image:: images/win-install-1.* +.. image:: /_static/images/win-install-1.* :width: 80.0% - You need to fill in the name of your bareos director in the client configuration dialogue and the FQDN or ip address of your client. -.. image:: images/win-install-2.* +.. image:: /_static/images/win-install-2.* :width: 80.0% - Add the client resource to your Bareos Director Configuration and a job resource for the client as it is also described in the default bareos-dir.conf -.. image:: images/win-install-3.* +.. image:: /_static/images/win-install-3.* :width: 80.0% @@ -98,7 +98,7 @@ Command Line (Silent) Installation Silent installation is possible since :index:`Version >= 12.4.4 `. All inputs that are given during interactive install can now directly be configured on the commandline, so that an automatic silent install is possible. Commandline Switches -'''''''''''''''''''' +^^^^^^^^^^^^^^^^^^^^ /? shows the list of available parameters. diff --git a/docs/manuals/en/new_main_reference/source/chapter28/passiveclient.rst b/docs/manuals/en/new_main_reference/source/chapter28/passiveclient.rst index e42a3b16152..e24572f80b9 100644 --- a/docs/manuals/en/new_main_reference/source/chapter28/passiveclient.rst +++ b/docs/manuals/en/new_main_reference/source/chapter28/passiveclient.rst @@ -24,7 +24,7 @@ By using Passive Client, the initialization of the datachannel is reversed, so t - The client never needs any name resolution and is totally independent from any resolving issues. -.. image:: images/passive-client-communication.* +.. image:: /_static/images/passive-client-communication.* :width: 60.0% diff --git a/docs/manuals/en/new_main_reference/source/chapter30/dataencryption.rst b/docs/manuals/en/new_main_reference/source/chapter30/dataencryption.rst index e820626deb0..a8a3a75f426 100644 --- a/docs/manuals/en/new_main_reference/source/chapter30/dataencryption.rst +++ b/docs/manuals/en/new_main_reference/source/chapter30/dataencryption.rst @@ -105,7 +105,10 @@ Example Data Encryption Configurations (bareos-fd.conf) :index:`[TAG=Example->Data Encryption Configuration File] ` -.. literalinclude:: ../../main/config/FdClientPki.conf + + +.. literalinclude:: /_static/config/FdClientPki.conf + Decrypting with a Master Key diff --git a/docs/manuals/en/new_main_reference/source/chapter31/ndmp.rst b/docs/manuals/en/new_main_reference/source/chapter31/ndmp.rst index b9bf6aea713..75ead440ef4 100644 --- a/docs/manuals/en/new_main_reference/source/chapter31/ndmp.rst +++ b/docs/manuals/en/new_main_reference/source/chapter31/ndmp.rst @@ -1,10 +1,13 @@ .. ATTENTION do not edit this file manually. It was automatically converted from the corresponding .tex file +NDMP Backups with Bareos +======================== + :index:`[TAG=NDMP->Overview] ` NDMP Basics -=========== +----------- NDMP @@ -53,7 +56,7 @@ The Tape Agent and Robot Agent can This flexibility leads to different topologies how NDMP backups can be done. NDMP Topologies ---------------- +~~~~~~~~~~~~~~~ When looking at the different topologies, the location of the Robot Agent is not specially considered, as the data needed to control the robot is minimal compared to the backup data. @@ -76,7 +79,7 @@ The Tape Agent can either as the Data Agent. NDMP 3-way Backup: Data Agent and Tape Agent running on different systems -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :: @@ -101,7 +104,7 @@ The data path consists of three ways and is called NDMP 3-way Backup. NDMP 2-way Backup: Data Agent and Tape Agent running on the same system -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :: @@ -126,7 +129,7 @@ Data Agent and Tape Agent are both part of the same process on the system, so th and is called NDMP 2-way Backup, also sometimes referred as NDMP local backup. Properties of the different NDMP Backup topologies -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ NDMP 3-way backup: @@ -145,7 +148,7 @@ NDMP 2-way backup: - tape drives need to be attached to the NAS System NDMP Backup in Bareos -===================== +--------------------- Bareos offers two types of NDMP integration: @@ -213,7 +216,7 @@ DDAR .. _section-NdmpBareos: NDMP_BAREOS -=========== +----------- Bareos implements the Data Management Agent inside of the |bareosDir| and a Tape Agent in the |bareosSd|. @@ -231,25 +234,25 @@ On restore, the data is read by the conventional resource, and then recovered as \centering -.. figure:: images/ndmp-backup.* +.. figure:: /_static/images/ndmp-backup.* :alt: Relationship between Bareos and NDMP components Relationship between Bareos and NDMP components Example Setup for NDMP_BAREOS backup ------------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :index:`[TAG=NDMP->Example->NDMP\_BAREOS] ` This example starts from a clean default Bareos installation. Enable NDMP on your storage appliance -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The storage appliance needs to be configured to allow NDMP connections. Therefore usually the NDMP service needs to be enabled and configured with a username and password. Bareos Director: Configure NDMP Client Resource -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Add a Client resource to the |bareosDir| configuration and configure it to access your NDMP storage system (Primary Storage System/Data Agent). @@ -349,11 +352,10 @@ This output shows that the access to the storage appliance was successful. .. _section-ndmp-sd-configure: Bareos Storage Daemon: Configure NDMP -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Enabling NDMP -""""""""""""" - +''''''''''''' To enable the NDMP Tape Agent inside of the |bareosSd|, set **NDMP Enable**:sup:`Sd`:sub:`Storage`\ =yes: @@ -371,8 +373,7 @@ To enable the NDMP Tape Agent inside of the |bareosSd|, set **NDMP Enable**:sup: } Add a NDMP resource -""""""""""""""""""" - +''''''''''''''''''' Additionally, we need to define the access credentials for our NDMP TAPE AGENT (Secondary Storage) inside of this Storage Daemon. @@ -404,7 +405,7 @@ Now restart the |bareosSd|. If everything is correct, the |bareosSd| starts and tcp 0 0 0.0.0.0:10000 0.0.0.0:* LISTEN 10661/bareos-sd Bareos Director: Configure a Paired Storage -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ For NDMP Backups, we always need two storages that are paired together. The default configuration already has a Storage **File**:sup:`Dir`:sub:`Storage` defined: @@ -483,7 +484,7 @@ The output looks the same, as if a :strong:`status storage=File` would have been .. _section-NdmpFileset: Bareos Director: Configure NDMP Fileset -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ To specify what files and directories from the storage appliance should be backed up, a Fileset needs to be specified. In our example, we decided to backup :file:`/ifs/home` directory. @@ -553,8 +554,7 @@ UPDATE = Y Example NDMP Fileset to backup a subset of a NDMP filesystem -"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" - +'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' The following fileset is intended to backup all files and directories matching :file:`/ifs/home/users/a*`. It has been tested against Isilon OneFS 7.2.0.1. See `Isilon OneFS 7.2.0 CLI Administration Guide `_, section quote{NDMP environment variables} for details about the supported NDMP environment variables. Excludes are not used in this example. @@ -583,7 +583,7 @@ The following fileset is intended to backup all files and directories matching : } Bareos Director: Configure NDMP Jobs -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ To do NDMP backups and restores, some special settings need to be configured. We define special Backup and Restore jobs for NDMP. @@ -623,14 +623,14 @@ To do NDMP backups and restores, some special settings need to be configured. We \centering -.. figure:: images/ndmp-cfg.* +.. figure:: /_static/images/ndmp-cfg.* :alt: NDMP configuration overview :name: fig:ndmp-overview NDMP configuration overview Run NDMP Backup ---------------- +~~~~~~~~~~~~~~~ Now we are ready to do our first NDMP backup: @@ -766,17 +766,17 @@ Let us have a look what files are in our backup: The real backup data is stored in the file :file:`/@NDMP/ifs/home%0` (we will refer to it as :emphasis:`NDMP main backup file` or :emphasis:`main backup file` later on). One NDMP main backup file is created for every directory specified in the used Fileset. The other files show the file history and are hardlinks to the backup file. Run NDMP Restore ----------------- +~~~~~~~~~~~~~~~~ Now that we have a NDMP backup, we of course also want to restore some data from the backup. If the backup we just did saved the Filehistory, we are able to select single files for restore. Otherwise, we will only be able to restore the whole backup. Full Restore -~~~~~~~~~~~~ +^^^^^^^^^^^^ Either select all files or the main backup file (:file:`/@NDMP/ifs/home%0`). If file history is not included in the backup job, than only the main backup file is available. Restore files to original path -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: sh @@ -908,7 +908,7 @@ Restore files to original path .. _section-ndmp-where: Restore files to different path -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The restore location is determined by the **Where**:sup:`Dir`:sub:`Job`\ setting of the restore job. In NDMP, this parameter works in a special manner, the prefix can be either :emphasis:`relative` to the filesystem or :emphasis:`absolute`. If a prefix is set in form of a directory (like :file:`/bareos-restores`), it will be a relative prefix and will be added between the filesystem and the filename. This is needed to make sure that the data is restored in a different directory, but into the same filesystem. If the prefix is set with a leading caret (^), it will be an absolute prefix and will be put at the front of the restore path. This is needed if the restored data should be stored into a different filesystem. @@ -938,7 +938,7 @@ original file name where restored f =============================== ===================================== =============================================== NDMP Copy Jobs --------------- +~~~~~~~~~~~~~~ :index:`[TAG=Copy->NDMP] ` :index:`[TAG=NDMP->Copy jobs] ` @@ -1100,7 +1100,7 @@ Now we successfully copied over the NDMP job. :strong:`list jobs` will only show the number of main backup files as JobFiles. However, with :strong:`list files jobid=...` all files are visible. Restore to NDMP Primary Storage System -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Unfortunately, we are not able to restore the copied data to our NDMP storage. If we try we get this message: @@ -1131,14 +1131,14 @@ Also we have to configure NDMP on the |bareosSd| :strong:`bareos-sd2.example.com After this, a restore from :strong:`bareos-sd2.example.com` directly to the NDMP Primary Storage System is possible. Limitations ------------ +~~~~~~~~~~~ This list the specific limitiations of the NDMP_BAREOS protocol. For limitation for all Bareos NDMP implementation, see :ref:`section-NdmpCommonLimitations`. .. _section-ndmp-filehistory: NDMP Job limitations when scanning in volumes -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :index:`[TAG=NDMP->File History] ` @@ -1154,7 +1154,7 @@ For NDMP jobs, all data is stored into a single big file. The file and directory Restore always transfers the full main backup file to the Primary Storage System -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Contrary to :ref:`NDMP_NATIVE `, the :ref:`NDMP_BAREOS ` implementation do not support NDMP :emphasis:`Direct Access Restore` (DAR). @@ -1165,7 +1165,7 @@ The reason for this is that the Primary Storage System handles the backup data b .. _section-NdmpNative: NDMP_NATIVE -=========== +----------- The NDMP_NATIVE protocol is implemented since Bareos :index:`Version >= 17.2.3 `. @@ -1174,12 +1174,12 @@ Bareos implements the Data Management Agent inside of the |bareosDir| and is the When using NDMP_NATIVE, the Tape Agent must be provided by some other systems. Some storage vendors provide it with there storages, or offer it as an option, e.g. Isilon with there :emphasis:`Isilon Backup Accelerator`. Example Setup for NDMP_NATIVE backup ------------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :index:`[TAG=NDMP->Example->NDMP\_NATIVE] ` Configure a NDMP Client -~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^ This defines the connection to the NDMP Data Agent. @@ -1267,7 +1267,7 @@ Verify, that you can access your Primary Storage System (Tape Agent) via Bareos: set MNTTIME=00:00:00 00:00:00 Configure a NDMP Fileset -~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^ This determines what filesystem to backup and configures the NDMP environment to use in the meta options for it. @@ -1292,7 +1292,7 @@ The setting of :strong:`"DIRECT = Y"` is required for Direct Access Recovery. For more information, see :ref:`section-NdmpFileset`. Configure a NDMP Storage -~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^ This defines now to connect to the Tape and Robot Agents and what devices to use. @@ -1396,7 +1396,7 @@ We now know the device names and can configure what robot and what tape to use w } Configure a Pool for the NDMP Tapes -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: sh :caption: bareos-dir.d/Pool/NDMP-Tape.conf @@ -1410,7 +1410,7 @@ Configure a Pool for the NDMP Tapes } Configure NDMP Jobs -~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^ To be able to do scheduled backups, we need to configure a backup job that will use the NDMP client and NDMP storage resources: @@ -1450,7 +1450,7 @@ As we also need to be able to do a restore of the backuped data, we also need to } Label Tapes ------------ +~~~~~~~~~~~ Before we can really start do do backups, first we need to label the tapes that should be used. @@ -1524,7 +1524,7 @@ Now we can label these tapes and add them to the pool that we have created for N We have now 7 volumes in our NDMP-Tape Pool that were labeled and can be used for NDMP Backups. Run NDMP_NATIVE Backup ----------------------- +~~~~~~~~~~~~~~~~~~~~~~ .. code-block:: sh :caption: run backup job @@ -1701,7 +1701,7 @@ Run NDMP_NATIVE Backup Termination: Backup OK Run NDMP_NATIVE Restore ------------------------ +~~~~~~~~~~~~~~~~~~~~~~~ Now we want to restore some files from the backup we just did: @@ -1911,21 +1911,21 @@ Now we want to restore some files from the backup we just did: .. _limitations-1: Limitations ------------ +~~~~~~~~~~~ :index:`NDMP\_NATIVE: Only use the first tape drive will be used. ` A NDMP job only uses a single tape drive. Currently, a Bareos job always uses the first defined tape drive of the \TapeAgent. NDMP Common -=========== +----------- This section contains additional information about the Bareos NDMP implementation that are valid for all Bareos NDMP protocols. .. _section-NdmpBackupLevel: NDMP Backup Level ------------------ +~~~~~~~~~~~~~~~~~ :index:`[TAG=NDMP->Level] ` @@ -1970,7 +1970,7 @@ are supported. The NDMP backup level will increment with each run, until a Full 2016-01-21 13:35:51 bareos-dir JobId 12: Fatal error: NDMP dump format doesn't support more than 8 incrementals, please run a Differential or a Full Backup NDMP Debugging --------------- +~~~~~~~~~~~~~~ To debug the NDMP backups, these settings can be adapted: @@ -1999,10 +1999,10 @@ This will create a lot of debugging output that will help to find the problem du .. _section-NdmpCommonLimitations: Bareos NDMP Common Limitations ------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ NDMP Fileset limitations -~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^ :index:`NDMP: A NDMP fileset should only contain a single File directive and Meta options. ` Using multiple **Include**:sup:`Dir`:sub:`FileSet`\ :strong:`File` directives should be avoided. @@ -2014,7 +2014,7 @@ NDMP Fileset limitations Single file restore on incremental backups -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :index:`NDMP: No single file restore on merged backups. ` Unfortunately, it is currently (bareos-15.2.2) not possible to restore a chain of Full and Incremental backups at once. @@ -2023,7 +2023,7 @@ Single file restore on incremental backups Temporary memory mapped database -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :index:`NDMP: 64-bit system recommended. ` The |bareosDir| uses a memory mapped database (LMBD) to temporarily store NDMP file information. @@ -2034,7 +2034,7 @@ Temporary memory mapped database Tested Environments -------------------- +~~~~~~~~~~~~~~~~~~~ Bareos NDMP support have been tested against: diff --git a/docs/manuals/en/new_main_reference/source/chapter32/catmaintenance.rst b/docs/manuals/en/new_main_reference/source/chapter32/catmaintenance.rst index c35d164b649..13beeed8999 100644 --- a/docs/manuals/en/new_main_reference/source/chapter32/catmaintenance.rst +++ b/docs/manuals/en/new_main_reference/source/chapter32/catmaintenance.rst @@ -38,10 +38,10 @@ The first choice is, if **dbconfig-common** should be used at all. If you decide If you decided to use **dbconfig-common**, the next question will only be asked, if more than one Bareos database backend (**bareos-database-***) is installed. If this is the case, select the database backend you want to use. -.. image:: images/dbconfig-1-enable.* +.. image:: /_static/images/dbconfig-1-enable.* :width: 45.0% -.. image:: images/dbconfig-2-select-database-type.* +.. image:: /_static/images/dbconfig-2-select-database-type.* :width: 45.0% diff --git a/docs/manuals/en/new_main_reference/source/index-appendix-a.rst b/docs/manuals/en/new_main_reference/source/index-appendix-a.rst deleted file mode 100644 index 441295577ea..00000000000 --- a/docs/manuals/en/new_main_reference/source/index-appendix-a.rst +++ /dev/null @@ -1,2 +0,0 @@ - -.. include:: appendix-a/requirements.rst diff --git a/docs/manuals/en/new_main_reference/source/index-appendix-b.rst b/docs/manuals/en/new_main_reference/source/index-appendix-b.rst deleted file mode 100644 index a879ccde3a9..00000000000 --- a/docs/manuals/en/new_main_reference/source/index-appendix-b.rst +++ /dev/null @@ -1,4 +0,0 @@ -Operating Systems -################# - -.. include:: appendix-b/supportedoses.rst diff --git a/docs/manuals/en/new_main_reference/source/index-appendix-c.rst b/docs/manuals/en/new_main_reference/source/index-appendix-c.rst deleted file mode 100644 index 0702fc3e35c..00000000000 --- a/docs/manuals/en/new_main_reference/source/index-appendix-c.rst +++ /dev/null @@ -1,2 +0,0 @@ - -.. include:: appendix-c/programs.rst diff --git a/docs/manuals/en/new_main_reference/source/index-appendix-d.rst b/docs/manuals/en/new_main_reference/source/index-appendix-d.rst deleted file mode 100644 index 5c324fa0211..00000000000 --- a/docs/manuals/en/new_main_reference/source/index-appendix-d.rst +++ /dev/null @@ -1,2 +0,0 @@ - -.. include:: appendix-d/bootstrap.rst diff --git a/docs/manuals/en/new_main_reference/source/index-appendix-e.rst b/docs/manuals/en/new_main_reference/source/index-appendix-e.rst deleted file mode 100644 index 9e01a62ffd6..00000000000 --- a/docs/manuals/en/new_main_reference/source/index-appendix-e.rst +++ /dev/null @@ -1,2 +0,0 @@ - -.. include:: appendix-e/verify.rst diff --git a/docs/manuals/en/new_main_reference/source/index-appendix-f.rst b/docs/manuals/en/new_main_reference/source/index-appendix-f.rst deleted file mode 100644 index d2bba31456a..00000000000 --- a/docs/manuals/en/new_main_reference/source/index-appendix-f.rst +++ /dev/null @@ -1,2 +0,0 @@ - -.. include:: appendix-f/backward-compatibility.rst diff --git a/docs/manuals/en/new_main_reference/source/index-appendix-g.rst b/docs/manuals/en/new_main_reference/source/index-appendix-g.rst deleted file mode 100644 index cf0dc640b15..00000000000 --- a/docs/manuals/en/new_main_reference/source/index-appendix-g.rst +++ /dev/null @@ -1,2 +0,0 @@ - -.. include:: appendix-g/tables.rst diff --git a/docs/manuals/en/new_main_reference/source/index-appendix-h.rst b/docs/manuals/en/new_main_reference/source/index-appendix-h.rst deleted file mode 100644 index acebac35bcb..00000000000 --- a/docs/manuals/en/new_main_reference/source/index-appendix-h.rst +++ /dev/null @@ -1,4 +0,0 @@ -Howtos -###### - -.. include:: appendix-h/howto.rst diff --git a/docs/manuals/en/new_main_reference/source/index-appendix-i.rst b/docs/manuals/en/new_main_reference/source/index-appendix-i.rst deleted file mode 100644 index f347e52cb44..00000000000 --- a/docs/manuals/en/new_main_reference/source/index-appendix-i.rst +++ /dev/null @@ -1,2 +0,0 @@ - -.. include:: appendix-i/rescue.rst diff --git a/docs/manuals/en/new_main_reference/source/index-appendix-j.rst b/docs/manuals/en/new_main_reference/source/index-appendix-j.rst deleted file mode 100644 index 74bce56cbd6..00000000000 --- a/docs/manuals/en/new_main_reference/source/index-appendix-j.rst +++ /dev/null @@ -1,4 +0,0 @@ -Troubleshooting -############### - -.. include:: appendix-j/troubleshooting.rst diff --git a/docs/manuals/en/new_main_reference/source/index-appendix-k.rst b/docs/manuals/en/new_main_reference/source/index-appendix-k.rst deleted file mode 100644 index d7ad5d94758..00000000000 --- a/docs/manuals/en/new_main_reference/source/index-appendix-k.rst +++ /dev/null @@ -1,4 +0,0 @@ -Debugging -######### - -.. include:: appendix-k/debug.rst diff --git a/docs/manuals/en/new_main_reference/source/index-appendix-l.rst b/docs/manuals/en/new_main_reference/source/index-appendix-l.rst deleted file mode 100644 index 22519847b5e..00000000000 --- a/docs/manuals/en/new_main_reference/source/index-appendix-l.rst +++ /dev/null @@ -1,4 +0,0 @@ -Release Notes -############# - -.. include:: appendix-l/releasenotes.rst diff --git a/docs/manuals/en/new_main_reference/source/index-appendix-m.rst b/docs/manuals/en/new_main_reference/source/index-appendix-m.rst deleted file mode 100644 index cc6badeaff1..00000000000 --- a/docs/manuals/en/new_main_reference/source/index-appendix-m.rst +++ /dev/null @@ -1,19 +0,0 @@ -Bareos Copyright, Trademark and Licenses -######################################## - -.. include:: appendix-m/license.rst - -GNU Free Documentation License ------------------------------- - -.. literalinclude:: ../../main/fdl.txt - -GNU Affero General Public License ---------------------------------- - -.. literalinclude:: ../../main/agpl.txt - -GNU Lesser General Public License ---------------------------------- - -.. literalinclude:: ../../main/lgpl.txt diff --git a/docs/manuals/en/new_main_reference/source/index-chapter-01.rst b/docs/manuals/en/new_main_reference/source/index-chapter-01.rst index a3fa3764fd8..d1acdbeb089 100644 --- a/docs/manuals/en/new_main_reference/source/index-chapter-01.rst +++ b/docs/manuals/en/new_main_reference/source/index-chapter-01.rst @@ -1,3 +1,7 @@ +.. _GeneralChapter: + +What is Bareos? +=============== .. toctree:: diff --git a/docs/manuals/en/new_main_reference/source/index-chapter-02.rst b/docs/manuals/en/new_main_reference/source/index-chapter-02.rst deleted file mode 100644 index 9f0e64ff12a..00000000000 --- a/docs/manuals/en/new_main_reference/source/index-chapter-02.rst +++ /dev/null @@ -1,4 +0,0 @@ -Installing Bareos -################# - -.. include:: chapter02/install.rst diff --git a/docs/manuals/en/new_main_reference/source/index-chapter-03.rst b/docs/manuals/en/new_main_reference/source/index-chapter-03.rst deleted file mode 100644 index 21c8ef1494d..00000000000 --- a/docs/manuals/en/new_main_reference/source/index-chapter-03.rst +++ /dev/null @@ -1,4 +0,0 @@ -Installing Bareos Webui -####################### - -.. include:: chapter03/webui.rst diff --git a/docs/manuals/en/new_main_reference/source/index-chapter-04.rst b/docs/manuals/en/new_main_reference/source/index-chapter-04.rst deleted file mode 100644 index a57086d5628..00000000000 --- a/docs/manuals/en/new_main_reference/source/index-chapter-04.rst +++ /dev/null @@ -1,4 +0,0 @@ -Updating Bareos -############### - -.. include:: chapter04/update.rst diff --git a/docs/manuals/en/new_main_reference/source/index-chapter-05.rst b/docs/manuals/en/new_main_reference/source/index-chapter-05.rst deleted file mode 100644 index 2972afc9179..00000000000 --- a/docs/manuals/en/new_main_reference/source/index-chapter-05.rst +++ /dev/null @@ -1,4 +0,0 @@ -Getting Started with Bareos -########################### - -.. include:: chapter05/quickstart.rst diff --git a/docs/manuals/en/new_main_reference/source/index-chapter-06.rst b/docs/manuals/en/new_main_reference/source/index-chapter-06.rst deleted file mode 100644 index c185a7f7247..00000000000 --- a/docs/manuals/en/new_main_reference/source/index-chapter-06.rst +++ /dev/null @@ -1,2 +0,0 @@ - -.. include:: chapter06/tutorial.rst diff --git a/docs/manuals/en/new_main_reference/source/index-chapter-07.rst b/docs/manuals/en/new_main_reference/source/index-chapter-07.rst deleted file mode 100644 index 190f3877004..00000000000 --- a/docs/manuals/en/new_main_reference/source/index-chapter-07.rst +++ /dev/null @@ -1,2 +0,0 @@ - -.. include:: chapter07/critical.rst diff --git a/docs/manuals/en/new_main_reference/source/index-chapter-08.rst b/docs/manuals/en/new_main_reference/source/index-chapter-08.rst deleted file mode 100644 index 75f0d6c8f68..00000000000 --- a/docs/manuals/en/new_main_reference/source/index-chapter-08.rst +++ /dev/null @@ -1,2 +0,0 @@ - -.. include:: chapter08/configure.rst diff --git a/docs/manuals/en/new_main_reference/source/index-chapter-09.rst b/docs/manuals/en/new_main_reference/source/index-chapter-09.rst deleted file mode 100644 index 23f71e43959..00000000000 --- a/docs/manuals/en/new_main_reference/source/index-chapter-09.rst +++ /dev/null @@ -1,2 +0,0 @@ - -.. include:: chapter09/dirdconf.rst diff --git a/docs/manuals/en/new_main_reference/source/index-chapter-10.rst b/docs/manuals/en/new_main_reference/source/index-chapter-10.rst deleted file mode 100644 index f77288278f2..00000000000 --- a/docs/manuals/en/new_main_reference/source/index-chapter-10.rst +++ /dev/null @@ -1,2 +0,0 @@ - -.. include:: chapter10/storedconf.rst diff --git a/docs/manuals/en/new_main_reference/source/index-chapter-11.rst b/docs/manuals/en/new_main_reference/source/index-chapter-11.rst deleted file mode 100644 index 333d4a72c04..00000000000 --- a/docs/manuals/en/new_main_reference/source/index-chapter-11.rst +++ /dev/null @@ -1,2 +0,0 @@ - -.. include:: chapter11/filedconf.rst diff --git a/docs/manuals/en/new_main_reference/source/index-chapter-12.rst b/docs/manuals/en/new_main_reference/source/index-chapter-12.rst deleted file mode 100644 index c907d818941..00000000000 --- a/docs/manuals/en/new_main_reference/source/index-chapter-12.rst +++ /dev/null @@ -1,2 +0,0 @@ - -.. include:: chapter12/messagesres.rst diff --git a/docs/manuals/en/new_main_reference/source/index-chapter-13.rst b/docs/manuals/en/new_main_reference/source/index-chapter-13.rst deleted file mode 100644 index 635aba26425..00000000000 --- a/docs/manuals/en/new_main_reference/source/index-chapter-13.rst +++ /dev/null @@ -1,2 +0,0 @@ - -.. include:: chapter13/consoleconf.rst diff --git a/docs/manuals/en/new_main_reference/source/index-chapter-14.rst b/docs/manuals/en/new_main_reference/source/index-chapter-14.rst deleted file mode 100644 index 1e6748f4da0..00000000000 --- a/docs/manuals/en/new_main_reference/source/index-chapter-14.rst +++ /dev/null @@ -1,2 +0,0 @@ - -.. include:: chapter14/monitorconf.rst diff --git a/docs/manuals/en/new_main_reference/source/index-chapter-15.rst b/docs/manuals/en/new_main_reference/source/index-chapter-15.rst deleted file mode 100644 index 8e4593ff8e7..00000000000 --- a/docs/manuals/en/new_main_reference/source/index-chapter-15.rst +++ /dev/null @@ -1,2 +0,0 @@ - -.. include:: chapter15/bconsole.rst diff --git a/docs/manuals/en/new_main_reference/source/index-chapter-16.rst b/docs/manuals/en/new_main_reference/source/index-chapter-16.rst deleted file mode 100644 index aa237d8ed08..00000000000 --- a/docs/manuals/en/new_main_reference/source/index-chapter-16.rst +++ /dev/null @@ -1,2 +0,0 @@ - -.. include:: chapter16/restore.rst diff --git a/docs/manuals/en/new_main_reference/source/index-chapter-17.rst b/docs/manuals/en/new_main_reference/source/index-chapter-17.rst index 26fbe4bde9a..f2853792998 100644 --- a/docs/manuals/en/new_main_reference/source/index-chapter-17.rst +++ b/docs/manuals/en/new_main_reference/source/index-chapter-17.rst @@ -1,5 +1,7 @@ Volume Management ################# -.. include:: chapter17/disk.rst -.. include:: chapter17/recycling.rst +.. toctree:: + + chapter17/disk.rst + chapter17/recycling.rst diff --git a/docs/manuals/en/new_main_reference/source/index-chapter-18.rst b/docs/manuals/en/new_main_reference/source/index-chapter-18.rst deleted file mode 100644 index b7a185606b0..00000000000 --- a/docs/manuals/en/new_main_reference/source/index-chapter-18.rst +++ /dev/null @@ -1,2 +0,0 @@ - -.. include:: chapter18/pools.rst diff --git a/docs/manuals/en/new_main_reference/source/index-chapter-19.rst b/docs/manuals/en/new_main_reference/source/index-chapter-19.rst deleted file mode 100644 index ad011da6515..00000000000 --- a/docs/manuals/en/new_main_reference/source/index-chapter-19.rst +++ /dev/null @@ -1,2 +0,0 @@ - -.. include:: chapter19/autochangers.rst diff --git a/docs/manuals/en/new_main_reference/source/index-chapter-20.rst b/docs/manuals/en/new_main_reference/source/index-chapter-20.rst deleted file mode 100644 index 56567a28ced..00000000000 --- a/docs/manuals/en/new_main_reference/source/index-chapter-20.rst +++ /dev/null @@ -1,2 +0,0 @@ - -.. include:: chapter20/tape-without-autochanger.rst diff --git a/docs/manuals/en/new_main_reference/source/index-chapter-21.rst b/docs/manuals/en/new_main_reference/source/index-chapter-21.rst deleted file mode 100644 index 3224f2c8611..00000000000 --- a/docs/manuals/en/new_main_reference/source/index-chapter-21.rst +++ /dev/null @@ -1,2 +0,0 @@ - -.. include:: chapter21/spooling.rst diff --git a/docs/manuals/en/new_main_reference/source/index-chapter-22.rst b/docs/manuals/en/new_main_reference/source/index-chapter-22.rst deleted file mode 100644 index d7a3616a496..00000000000 --- a/docs/manuals/en/new_main_reference/source/index-chapter-22.rst +++ /dev/null @@ -1,2 +0,0 @@ - -.. include:: chapter22/migration.rst diff --git a/docs/manuals/en/new_main_reference/source/index-chapter-23.rst b/docs/manuals/en/new_main_reference/source/index-chapter-23.rst deleted file mode 100644 index 5556c0d9308..00000000000 --- a/docs/manuals/en/new_main_reference/source/index-chapter-23.rst +++ /dev/null @@ -1,2 +0,0 @@ - -.. include:: chapter23/always-incremental.rst diff --git a/docs/manuals/en/new_main_reference/source/index-chapter-24+25.rst b/docs/manuals/en/new_main_reference/source/index-chapter-24+25.rst deleted file mode 100644 index 327952ba9ad..00000000000 --- a/docs/manuals/en/new_main_reference/source/index-chapter-24+25.rst +++ /dev/null @@ -1 +0,0 @@ -.. include:: chapter24/basejob.rst diff --git a/docs/manuals/en/new_main_reference/source/index-chapter-26.rst b/docs/manuals/en/new_main_reference/source/index-chapter-26.rst index 6ef5735ca6f..2a9cb4cb428 100644 --- a/docs/manuals/en/new_main_reference/source/index-chapter-26.rst +++ b/docs/manuals/en/new_main_reference/source/index-chapter-26.rst @@ -1,3 +1,48 @@ +.. _section-plugins: -.. include:: chapter26/plugins.rst -.. include:: chapter26/plugins-vmware-plugin.rst +Plugins +======= + +.. index:: Plugin + +The functionality of Bareos can be extended by plugins. They do exists plugins for the different daemons (Director, Storage- and File-Daemon). + +To use plugins, they must be enabled in the configuration (:strong:`Plugin Directory` and optionally :strong:`Plugin Names`). + +If a :strong:`Plugin Directory` is specified :strong:`Plugin Names` defines, which plugins get loaded. + +If :strong:`Plugin Names` is not defined, all plugins get loaded. + + + +.. _fdPlugins: + +File Daemon Plugins +------------------- + +.. toctree:: + + chapter26/plugins-fd.rst + chapter26/plugins-vmware-plugin.rst + + + +.. _sdPlugins: + +Storage Daemon Plugins +---------------------- + +.. toctree:: + + chapter26/plugins-sd.rst + + + +.. _dirPlugins: + +Director Plugins +---------------- + +.. toctree:: + + chapter26/plugins-dir.rst diff --git a/docs/manuals/en/new_main_reference/source/index-chapter-27.rst b/docs/manuals/en/new_main_reference/source/index-chapter-27.rst deleted file mode 100644 index 7c3c3764042..00000000000 --- a/docs/manuals/en/new_main_reference/source/index-chapter-27.rst +++ /dev/null @@ -1,2 +0,0 @@ - -.. include:: chapter27/win32.rst diff --git a/docs/manuals/en/new_main_reference/source/index-chapter-28.rst b/docs/manuals/en/new_main_reference/source/index-chapter-28.rst index aa60fce831e..19b1d854beb 100644 --- a/docs/manuals/en/new_main_reference/source/index-chapter-28.rst +++ b/docs/manuals/en/new_main_reference/source/index-chapter-28.rst @@ -1,6 +1,8 @@ Network setup ############# -.. include:: chapter28/client-initiated-connection.rst -.. include:: chapter28/passiveclient.rst -.. include:: chapter28/lanaddress.rst +.. toctree:: + + chapter28/client-initiated-connection.rst + chapter28/passiveclient.rst + chapter28/lanaddress.rst diff --git a/docs/manuals/en/new_main_reference/source/index-chapter-29.rst b/docs/manuals/en/new_main_reference/source/index-chapter-29.rst deleted file mode 100644 index fc97ab9c492..00000000000 --- a/docs/manuals/en/new_main_reference/source/index-chapter-29.rst +++ /dev/null @@ -1,2 +0,0 @@ - -.. include:: chapter29/tls.rst diff --git a/docs/manuals/en/new_main_reference/source/index-chapter-30.rst b/docs/manuals/en/new_main_reference/source/index-chapter-30.rst deleted file mode 100644 index 62a539ded9f..00000000000 --- a/docs/manuals/en/new_main_reference/source/index-chapter-30.rst +++ /dev/null @@ -1,2 +0,0 @@ - -.. include:: chapter30/dataencryption.rst diff --git a/docs/manuals/en/new_main_reference/source/index-chapter-31.rst b/docs/manuals/en/new_main_reference/source/index-chapter-31.rst deleted file mode 100644 index e83da1d0187..00000000000 --- a/docs/manuals/en/new_main_reference/source/index-chapter-31.rst +++ /dev/null @@ -1,4 +0,0 @@ -NDMP Backups with Bareos -######################## - -.. include:: chapter31/ndmp.rst diff --git a/docs/manuals/en/new_main_reference/source/index-chapter-32.rst b/docs/manuals/en/new_main_reference/source/index-chapter-32.rst deleted file mode 100644 index a7261aa769e..00000000000 --- a/docs/manuals/en/new_main_reference/source/index-chapter-32.rst +++ /dev/null @@ -1,2 +0,0 @@ - -.. include:: chapter32/catmaintenance.rst diff --git a/docs/manuals/en/new_main_reference/source/index-chapter-33.rst b/docs/manuals/en/new_main_reference/source/index-chapter-33.rst deleted file mode 100644 index 20576d22d59..00000000000 --- a/docs/manuals/en/new_main_reference/source/index-chapter-33.rst +++ /dev/null @@ -1,2 +0,0 @@ - -.. include:: chapter33/security.rst diff --git a/docs/manuals/en/new_main_reference/source/index-part-1.rst b/docs/manuals/en/new_main_reference/source/index-part-1.rst index bc53a46b4e6..d0c3cb35736 100644 --- a/docs/manuals/en/new_main_reference/source/index-part-1.rst +++ b/docs/manuals/en/new_main_reference/source/index-part-1.rst @@ -3,11 +3,10 @@ Introduction and Tutorial .. toctree:: - index-chapter-01 - index-chapter-02 - index-chapter-03 - index-chapter-04 - index-chapter-05 - index-chapter-06 - index-chapter-07 - + index-chapter-01.rst + chapter02/install.rst + chapter03/webui.rst + chapter04/update.rst + chapter05/quickstart.rst + chapter06/tutorial.rst + chapter07/critical.rst diff --git a/docs/manuals/en/new_main_reference/source/index-part-2.rst b/docs/manuals/en/new_main_reference/source/index-part-2.rst index f6e482b27d5..11917a8091d 100644 --- a/docs/manuals/en/new_main_reference/source/index-part-2.rst +++ b/docs/manuals/en/new_main_reference/source/index-part-2.rst @@ -3,10 +3,10 @@ Configuration .. toctree:: - index-chapter-08.rst - index-chapter-09.rst - index-chapter-10.rst - index-chapter-11.rst - index-chapter-12.rst - index-chapter-13.rst - index-chapter-14.rst + chapter08/configure.rst + chapter09/dirdconf.rst + chapter10/storedconf.rst + chapter11/filedconf.rst + chapter12/messagesres.rst + chapter13/consoleconf.rst + chapter14/monitorconf.rst diff --git a/docs/manuals/en/new_main_reference/source/index-part-3.rst b/docs/manuals/en/new_main_reference/source/index-part-3.rst index a6bf2c01078..424edf05ce5 100644 --- a/docs/manuals/en/new_main_reference/source/index-part-3.rst +++ b/docs/manuals/en/new_main_reference/source/index-part-3.rst @@ -3,21 +3,22 @@ Task and Concepts .. toctree:: - index-chapter-15.rst - index-chapter-16.rst + chapter15/bconsole.rst + chapter16/restore.rst index-chapter-17.rst - index-chapter-18.rst - index-chapter-19.rst - index-chapter-20.rst - index-chapter-21.rst - index-chapter-22.rst - index-chapter-23.rst - index-chapter-24+25.rst + chapter18/pools.rst + chapter19/autochangers.rst + chapter20/tape-without-autochanger.rst + chapter20/storage-backends.rst + chapter21/spooling.rst + chapter22/migration.rst + chapter23/always-incremental.rst + chapter24/basejob.rst index-chapter-26.rst - index-chapter-27.rst + chapter27/win32.rst index-chapter-28.rst - index-chapter-29.rst - index-chapter-30.rst - index-chapter-31.rst - index-chapter-32.rst - index-chapter-33.rst + chapter29/tls.rst + chapter30/dataencryption.rst + chapter31/ndmp.rst + chapter32/catmaintenance.rst + chapter33/security.rst diff --git a/docs/manuals/en/new_main_reference/source/index-part-4.rst b/docs/manuals/en/new_main_reference/source/index-part-4.rst index 7f89b4d2d29..fea57322aa5 100644 --- a/docs/manuals/en/new_main_reference/source/index-part-4.rst +++ b/docs/manuals/en/new_main_reference/source/index-part-4.rst @@ -3,16 +3,16 @@ Appendix .. toctree:: - index-appendix-a.rst - index-appendix-b.rst - index-appendix-c.rst - index-appendix-d.rst - index-appendix-e.rst - index-appendix-f.rst - index-appendix-g.rst - index-appendix-h.rst - index-appendix-i.rst - index-appendix-j.rst - index-appendix-k.rst - index-appendix-l.rst - index-appendix-m.rst + appendix-a/requirements.rst + appendix-b/supportedoses.rst + appendix-c/programs.rst + appendix-d/bootstrap.rst + appendix-e/verify.rst + appendix-f/backward-compatibility.rst + appendix-g/tables.rst + appendix-h/howto.rst + appendix-i/rescue.rst + appendix-j/troubleshooting.rst + appendix-k/debug.rst + appendix-l/releasenotes.rst + appendix-m/license.rst