]> git.sur5r.net Git - bacula/docs/blobdiff - docs/manuals/en/main/newfeatures.tex
Spell check and correct new features
[bacula/docs] / docs / manuals / en / main / newfeatures.tex
index 5c817af1e5ff8d082d022b47f65235bc49609968..599b31eb9b28126b93cb5fd682dbe69bd17cf424 100644 (file)
@@ -1,14 +1,93 @@
 \chapter{New Features in 7.0.0}
-This chapter presents the new features that have been added to the next
-Community version of Bacula that is not yet released.
+This chapter presents the new features that have been added to
+the various versions of Bacula.
 
 \section{New Features in 7.0.0}
 
+\subsection{Storage daemon to Storage daemon}
+Bacula version 7.0 permits SD to SD transfer of Copy and Migration
+Jobs. This permits what is commonly referred to as replication or
+off-site transfer of Bacula backups.  It occurs automatically, if
+the source SD and destination SD of a Copy or Migration job are
+different. The following picture shows how this works.
+
+\includegraphics[width=0.8\linewidth]{sd-to-sd}
+
+\subsection{SD Calls Client}
+If the {\bf SD Calls Client} directive is set to true in a Client resource
+any Backup, Restore, Verify, Copy, or Migration Job where the client
+is involved, the client will wait for the Storage daemon to contact it.
+By default this directive is set to false, and the Client will call
+the Storage daemon.  This directive can be useful if your Storage daemon
+is behind a firewall that permits outgoing connections but not incoming
+one. The following picture shows the communications connection paths in
+both cases.
+
+\includegraphics[width=0.8\linewidth]{sd-calls-client}
+
+\subsection{Next Pool}
+In previous versions of Bacula the Next Pool directive could be
+specified in the Pool resource for use with Migration and Copy Jobs.
+The Next Pool concept has been 
+extended in Bacula version 7.0.0 to allow you to specify the 
+Next Pool directive in the Job resource as well. If specified in
+the Job resource, it will override any value specified in the Pool
+resource.
+
+In addition to being permitted in the Job resource, the 
+{\bf nextpool=xxx} specification can be specified as a run
+override in the {\bf run} directive of a Schedule resource.
+Any {\bf nextpool} specification in a {\bf run}
+directive will override any other specification in either
+the Job or the Pool. 
+
+In general, more information is displayed in the Job log
+on exactly which Next Pool specification is ultimately used.
+
+\subsection{status schedule}
+A new status command option called {\bf scheduled} has been implemented
+in bconsole. By default it will display 20 lines of the next scheduled
+jobs.  For example, with the default bacula-dir.conf configuration file,
+a bconsole command {\bf status scheduled} produces:
+
+\begin{verbatim}
+Scheduled Jobs:
+Level        Type   Pri  Scheduled        Job Name     Schedule
+======================================================================
+Differential Backup 10  Sun 30-Mar 23:05 BackupClient1 WeeklyCycle
+Incremental  Backup 10  Mon 24-Mar 23:05 BackupClient1 WeeklyCycle
+Incremental  Backup 10  Tue 25-Mar 23:05 BackupClient1 WeeklyCycle
+...
+Full         Backup 11  Mon 24-Mar 23:10 BackupCatalog WeeklyCycleAfterBackup
+Full         Backup 11  Wed 26-Mar 23:10 BackupCatalog WeeklyCycleAfterBackup
+...
+====
+\end{verbatim}
+
+Note, the output is listed by the Jobs found, and is not sorted
+chronologically.
+
+\smallskip
+This command has a number of options, most of which act as filters:
+\begin{itemize}
+\item {\bf days=nn} This specifies the number of days to list. The default is
+  10 but can be set from 0 to 500.
+\item {\bf limit=nn} This specifies the limit to the number of lines to print.
+  The default is 100 but can be any number in the range 0 to 2000.
+\item {\bf time="YYYY-MM-DD HH:MM:SS"} Sets the start time for listing the
+  scheduled jobs. The default is to use the current time. Note, the
+  time value must be specified inside double quotes and must be in
+  the exact form shown above.
+\item {\bf schedule=schedule-name} This option restricts the output to
+  the named schedule.
+\item {\bf job=job-name} This option restricts the output to the specified
+  Job name.
+\end{itemize}
+
 \subsection{Data Encryption Cipher Configuration}
 Bacula version 7.0 and later now allows to configure the data
 encryption cipher and the digest algorithm. The cipher was forced to AES
-128,
-and it is now possible to choose between the following ciphers:
+128, and it is now possible to choose between the following ciphers:
 
 \begin{itemize}
 \item AES128 (default)
@@ -51,8 +130,8 @@ truncate storage=File pool=Default
 This command does exactly the same thing as a 
 {\bf restart} command but for some users the
 name may be more logical since in general the 
-{\bf restart} command is used to resume running
-a Job that was incompleted.
+{\bf restart} command is used to rerun running
+a Job that had been canceled or had failed.
 
 \subsection{Migration/Copy/VirtualFull Performance Enhancements}
 The Bacula Storage daemon now permits multiple jobs to simultaneously read
@@ -63,6 +142,63 @@ finish up to ten times faster with this version of Bacula.  This is
 built-in to the Storage daemon, so it happens automatically and
 transparently.
 
+\subsection{VirtualFull Backup Consolidation Enhancements}
+By default Bacula selects jobs automatically for a VirtualFull,
+however, you may want to create the Virtual backup based on a
+particular backup (point in time) that exists.
+
+For example, if you have the following backup Jobs in your catalog:
+\begin{verbatim}
++-------+---------+-------+----------+----------+-----------+
+| JobId | Name    | Level | JobFiles | JobBytes | JobStatus |
++-------+---------+-------+----------+----------+-----------+
+| 1     | Vbackup | F     | 1754     | 50118554 | T         |
+| 2     | Vbackup | I     | 1        | 4        | T         |
+| 3     | Vbackup | I     | 1        | 4        | T         |
+| 4     | Vbackup | D     | 2        | 8        | T         |
+| 5     | Vbackup | I     | 1        | 6        | T         |
+| 6     | Vbackup | I     | 10       | 60       | T         |
+| 7     | Vbackup | I     | 11       | 65       | T         |
+| 8     | Save    | F     | 1758     | 50118564 | T         |
++-------+---------+-------+----------+----------+-----------+
+\end{verbatim}
+
+and you want to consolidate only the first 3 jobs and create a
+virtual backup equivalent to Job 1 + Job 2 + Job 3, you will use
+\texttt{jobid=3} in the \texttt{run} command, then Bacula will select the
+previous Full backup, the previous Differential (if any) and all subsequent
+Incremental jobs.
+
+\begin{verbatim}
+run job=Vbackup jobid=3 level=VirtualFull
+\end{verbatim}
+
+If you want to consolidate a specific job list, you must specify the exact
+list of jobs to merge in the run command line.  For example, to consolidate
+the last Differential and all subsequent Incremental, you will use
+\texttt{jobid=4,5,6,7} or \texttt{jobid=4-7} on the run command line. As one
+of the Job in the list is a Differential backup, Bacula will set the new job
+level to Differential. If the list is composed only with Incremental jobs,
+the new job will have a level set to Incremental.
+
+\begin{verbatim}
+run job=Vbackup jobid=4-7 level=VirtualFull
+\end{verbatim}
+
+When using this feature, Bacula will automatically discard jobs that are
+not related to the current Job.  For example, specifying
+\texttt{jobid=7,8}, Bacula will discard JobId 8 because it is not
+part of the same backup Job.
+
+We do not recommend it, but really want to consolidate jobs that have
+different names (so probably different clients, filesets, etc...), you must
+use \texttt{alljobid=} keyword instead of \texttt{jobid=}.
+
+\begin{verbatim}
+run job=Vbackup alljobid=1-3,6-8 level=VirtualFull
+\end{verbatim}
+
+
 \subsection{FD Storage Address}
 
 When the Director is behind a NAT, in a WAN area, to connect to
@@ -209,7 +345,7 @@ RunAfterJob = "/bin/echo Pid=%P isCloned=%C"
 \end{verbatim}
 
 \subsection{Read Only Storage Devices}
-This version of Bacula permits defining a Storage deamon device
+This version of Bacula permits defining a Storage daemon device
 to be read-only. That is if the {\bf ReadOnly} directive is specified and
 enabled, the drive can only be used for read operations.
 The the {\bf ReadOnly} directive can be defined in any bacula-sd.conf
@@ -247,6 +383,139 @@ definition.
  }
 \end{verbatim}
 
+\subsection{Hardlink Performance Enhancements}
+If you use a program such as Cyrus IMAP that creates very large numbers
+of hardlinks, the time to build the interactive restore tree can be
+excessively long. This version of Bacula has a new feature that
+automatically keeps the hardlinks associated with the restore tree
+in memory, which consumes a bit more memory but vastly speeds up 
+building the tree.  If the memory usage is too big for your system, you
+can reduce the amount of memory used during the restore command by
+adding the option {\bf optimizespeed=false} on the bconsole run
+command line.
+
+This feature was developed by Josip Almasi, and enhanced to be runtime
+dynamic by Kern Sibbald.
+
+\subsection{DisableCommand Directive}
+There is a new Directive named {\bf Disable Command} that
+can be put in the File daemon Client or Director resource.
+If it is in the Client, it applies globally, otherwise the
+directive applies only to the Director in which it is found.
+The Disable Command adds security to your File daemon by
+disabling certain commands.  The commands that can be
+disabled are:
+
+\begin{verbatim}
+backup       
+cancel       
+setdebug=    
+setbandwidth=
+estimate     
+fileset      
+JobId=       
+level =      
+restore      
+endrestore   
+session      
+status       
+.status      
+storage      
+verify       
+RunBeforeNow 
+RunBeforeJob 
+RunAfterJob  
+Run          
+accurate
+\end{verbatim}
+
+On or more of these command keywords can be placed in quotes and separated
+by spaces on the Disable Command directive line.  Note: the commands must
+be written exactly as they appear above.
+
+\subsection{Multiple Console Directors}
+Support for multiple bconsole and bat Directors in the bconsole.conf and
+bat.conf files has been implemented and/or improved.
+
+\subsection{Restricted Consoles}
+Better support for Restricted consoles has been implement for bconsole and
+bat.
+
+\subsection{Configuration Files}
+In previous versions of Bacula the configuration files for each component
+were limited to a maximum of 499 bytes per configuration file line. This
+version of Bacula permits unlimited input line lengths.  This can be
+especially useful for specifying more complicated Migration/Copy SQL
+statements and in creating long restricted console ACL lists.
+
+\subsection{Maximum Spawned Jobs}
+The Job resource now permits specifying a number of {\bf Maximum Spawn
+Jobs}. The default is 300.  This directive can be useful if you have
+big hardware and you do a lot of Migration/Copy jobs which start
+at the same time.  In prior versions of Bacula, Migration/Copy
+was limited to spawning a maximum of 100 jobs at a time.
+
+\subsection{Progress Meter}
+The new File daemon has been enhanced to send its progress (files
+processed and bytes written) to the Director every 30 seconds. These
+figures can then be displayed with a bconsole {\bf status dir} 
+command.
+
+\subsection{Scheduling a 6th Week}
+Prior version of Bacula permits specifying 1st through 5th week of 
+a month (first through fifth) as a keyword on the {\bf run}
+directive of a Schedule resource.  This version of Bacula also permits
+specifying the 6th week of a month with the keyword {\bf sixth} or
+{\bf 6th}.
+
+\subsection{Scheduling the Last Day of a Month}
+This version of Bacula now permits specifying the {\bf lastday}
+keyword in the {\bf run} directive of a Schedule resource.
+If {\bf lastday} is specified, it will apply only to those months
+specified on the {\bf run} directive.  Note: by default all months
+are specified.
+
+\subsection{Improvements to Cancel and Restart bconsole Commands}
+The Restart bconsole command now allow selection of either
+canceled or failed jobs to be restarted.  In addition both the
+{\bf cancel} and {\bf restart} bconsole commands permit entering
+a number of JobIds separated by commas or a range of JobIds indicated
+by a dash between the begin and end range (e.g. 3-10).  Finally the
+two commands also allow one to enter the special keyword {\bf all}
+to select all the appropriate Jobs.
+
+\subsection{bconsole Performance Improvements}
+In previous versions of Bacula certain bconsole commands could wait a long
+time due to catalog lock contention.  This was especially noticeable 
+when a large number of jobs were running and putting their attributes
+into the catalog.  This version uses a separate catalog connection that
+should significantly enhance performance.
+
+\subsection{New .bvfs\_decode\_lstat Command}
+There is a new bconsole command, which is
+{\bf .bvfs\_decode\_lstat} it requires one argument, which
+is {\bf lstat="lstat value to decode"}.  An example command
+in bconsole and the output might be:
+
+\small
+\begin{verbatim}
+.bvfs_decode_lstat lstat="A A EHt B A A A JP BAA B BTL/A7 BTL/A7 BTL/A7 A A C"
+
+st_nlink=1
+st_mode=16877
+st_uid=0
+st_gid=0
+st_size=591
+st_blocks=1
+st_ino=0
+st_ctime=1395650619
+st_mtime=1395650619
+st_mtime=1395650619
+st_dev=0
+LinkFI=0
+\end{verbatim}
+\normalsize
+
 
 \subsection*{New Debug Options}