-\chapter{Enterprise Bacula New Features}
+\chapter{New Features in Bacula Enterprise 6.0}
This chapter presents the new features that will be added to the
current Enterprise version of Bacula that is under development. This version will be
released at some later date, probably near the end of June 2011. These
This project was funded by Bacula Systems and is available with the Bacula
Enterprise Edition.
-\section{Support for NDMP protocol}
-
-The new \texttt{ndmp} Plugin is able to backup a NAS through NDMP protocol
-using \textbf{Filer to server} approach, where the Filer is backing up across
-the LAN to your Bacula server.
-
-Accurate option should be turned on in the Job resource.
-\begin{verbatim}
-Job {
- Accurate = yes
- FileSet = NDMPFS
- ...
-}
-
-FileSet {
- Name = NDMPFS
- ...
- Include {
- Plugin = "ndmp:host=nasbox user=root pass=root file=/vol/vol1"
- }
-}
-\end{verbatim}
-
-This project was funded by Bacula Systems and is available with the Bacula
-Enterprise Edition.
\section{Job Bandwidth Limitation}
Name = DeltaFS
...
Include {
+ # Specify one file
Plugin = "delta:/home/eric/.VirtualBox/HardDisks/lenny-i386.vdi"
}
}
+
+FileSet {
+ Name = DeltaFS-Include
+ ...
+ Include {
+ Options {
+ Compression = GZIP1
+ Signature = MD5
+ Plugin = delta
+ }
+ # Use the Options{} filtering and options
+ File = /home/user/.VirtualBox
+ }
+}
+
\end{verbatim}
-Note: the core code features to implement this functionality are included
-in the Community plugin interface as will as the core Community code.
+Please contact Bacula Systems support to get Delta Plugin specific
+documentation.
+\medskip
This project was funded by Bacula Systems and is available with the Bacula
Enterprise Edition.
-\section{Include All Windows Drives in FileSet}
+\section{SAN Shared Storage Plugin}
+
+The problem with backing up multiple servers at the same time to the
+same tape library (or autoloader) is that if both servers access the
+same tape drive same time, you will very likely get data corruption.
+This is where the Bacula Systems shared storage plugin comes into play. The
+plugin ensures that only one server at a time can connect to each device
+(tape drive) by using the SPC-3 SCSI reservation protocol. Please contact
+Bacula Systems support to get SAN Shared Storage Plugin specific documentation.
+
+\medskip
+This project was funded by Bacula Systems and is available with Bacula
+Enterprise Edition.
+
+\section{Advanced Autochanger Usage}
-The \texttt{alldrives} Windows Plugin allows you to include all local drives
-with a simple directive. This plugin is available for Windows 64 and 32 bit.
+The new \texttt{Shared Storage} Director's directive is a Bacula Enterprise
+feature that allows you to share volumes between different Storage
+resources. This directive should be used \textbf{only} if all \texttt{Media
+ Type} are correctly set across all Devices.
+
+The \texttt{Shared Storage} directive should be used when using the SAN
+Shared Storage plugin or when accessing from the Director Storage resources
+directly to Devices of an Autochanger.
+
+When sharing volumes between different Storage resources, you will
+need also to use the \texttt{reset-storageid} script before using the
+\texttt{update slots} command. This script can be scheduled once a day in
+an Admin job.
\begin{verbatim}
-FileSet {
- Name = EverythingFS
- ...
- Include {
- Plugin = "alldrives"
- }
-}
+ $ /opt/bacula/scripts/reset-storageid MediaType StorageName
+ $ bconsole
+ * update slots storage=StorageName drive=0
\end{verbatim}
-You exclude some specific drives with the \texttt{exclude} option.
+Please contact Bacula Systems support to get help on this advanced
+configuration.
+
+\medskip
+This project was funded by Bacula Systems and is available with Bacula
+Enterprise Edition.
+
+\section{Enhancement of the NDMP Plugin}
+
+The previous NDMP Plugin 4.0 was fully supporting only the NetApp hardware, the
+new NDMP Plugin should now be able to support all NAS vendors with the
+\texttt{volume\_format} plugin command option.
+
+On some NDMP devices such as Celera or Blueray, the administrator can use arbitrary
+volume structure name, ex:
+
+\begin{verbatim}
+ /dev/volume_home
+ /rootvolume/volume_tmp
+ /VG/volume_var
+\end{verbatim}
+
+The NDMP plugin should be aware of the structure organization in order to
+detect if the administrator wants to restore in a new volume
+(\texttt{where=/dev/vol_tmp}) or inside a subdirectory of the targeted volume
+(\texttt{where=/tmp}).
\begin{verbatim}
FileSet {
- Name = EverythingFS
+ Name = NDMPFS
...
Include {
- Plugin = "alldrives: exclude=D,E"
+ Plugin = "ndmp:host=nasbox user=root pass=root file=/dev/vol1 volume_format=/dev/"
}
}
\end{verbatim}
+Please contact Bacula Systems support to get NDMP Plugin specific
+documentation.
+\medskip
This project was funded by Bacula Systems and is available with the Bacula
Enterprise Edition.
-
\section{Always Backup a File}
When the Accurate mode is turned on, you can decide to always backup a file
It can allow you to save memory and and CPU resources on the catalog server in
some cases.
+\medskip
These advanced tuning options are available with the Bacula Enterprise Edition.
+
+% Common with community
+\section{Additions to RunScript variables}
+You can have access to JobBytes, JobFiles and Director name using \%b, \%F and \%D
+in your runscript command. The Client address is now available through \%h.
+
+\begin{verbatim}
+RunAfterJob = "/bin/echo Job=%j JobBytes=%b JobFiles=%F ClientAddress=%h Dir=%D"
+\end{verbatim}
+
+\section{LZO Compression}
+
+LZO compression was added in the Unix File Daemon. From the user point of view,
+it works like the GZIP compression (just replace {\bf compression=GZIP} with
+{\bf compression=LZO}).
+
+For example:
+\begin{verbatim}
+Include {
+ Options { compression=LZO }
+ File = /home
+ File = /data
+}
+\end{verbatim}
+
+LZO provides much faster compression and decompression speed but lower
+compression ratio than GZIP. It is a good option when you backup to disk. For
+tape, the built-in compression may be a better option.
+
+LZO is a good altenative for GZIP1 when you don't want to slow down your
+backup. On a modern CPU it should be able to run almost as fast as:
+
+\begin{itemize}
+\item your client can read data from disk. Unless you have very fast disks like
+ SSD or large/fast RAID array.
+\item the data transfers between the file daemon and the storage daemon even on
+ a 1Gb/s link.
+\end{itemize}
+
+Note that bacula only use one compression level LZO1X-1.
+
+\medskip
+The code for this feature was contributed by Laurent Papier.
+
+\section{New Tray Monitor}
+
+Since the old integrated Windows tray monitor doesn't work with
+recent Windows versions, we have written a new Qt Tray Monitor that is available
+for both Linux and Windows. In addition to all the previous features,
+this new version allows you to run Backups from
+the tray monitor menu.
+
+\begin{figure}[htbp]
+ \centering
+ \includegraphics[width=10cm]{\idir tray-monitor}
+ \label{fig:traymonitor}
+ \caption{New tray monitor}
+\end{figure}
+
+\begin{figure}[htbp]
+ \centering
+ \includegraphics[width=10cm]{\idir tray-monitor1}
+ \label{fig:traymonitor1}
+ \caption{Run a Job through the new tray monitor}
+\end{figure}
+
+
+To be able to run a job from the tray monitor, you need to
+allow specific commands in the Director monitor console:
+\begin{verbatim}
+Console {
+ Name = win2003-mon
+ Password = "xxx"
+ CommandACL = status, .clients, .jobs, .pools, .storage, .filesets, .messages, run
+ ClientACL = *all* # you can restrict to a specific host
+ CatalogACL = *all*
+ JobACL = *all*
+ StorageACL = *all*
+ ScheduleACL = *all*
+ PoolACL = *all*
+ FileSetACL = *all*
+ WhereACL = *all*
+}
+\end{verbatim}
+
+\medskip
+This project was funded by Bacula Systems and is available with Bacula
+the Enterprise Edition and the Community Edition.
+
+\section{Purge Migration Job}
+
+The new {\bf Purge Migration Job} directive may be added to the Migration
+Job definition in the Director's configuration file. When it is enabled
+the Job that was migrated during a migration will be purged at
+the end of the migration job.
+
+For example:
+\begin{verbatim}
+Job {
+ Name = "migrate-job"
+ Type = Migrate
+ Level = Full
+ Client = localhost-fd
+ FileSet = "Full Set"
+ Messages = Standard
+ Storage = DiskChanger
+ Pool = Default
+ Selection Type = Job
+ Selection Pattern = ".*Save"
+...
+ Purge Migration Job = yes
+}
+\end{verbatim}
+
+\medskip
+
+This project was submited by Dunlap Blake; testing and documentation was funded
+by Bacula Systems.
+
+\section{Changes in the Pruning Algorithm}
+
+We rewrote the job pruning algorithm in this version. Previously, in some users
+reported that the pruning process at the end of jobs was very long. It should
+not be longer the case. Now, Bacula won't prune automatically a Job if this
+particular Job is needed to restore data. Example:
+
+\begin{verbatim}
+JobId: 1 Level: Full
+JobId: 2 Level: Incremental
+JobId: 3 Level: Incremental
+JobId: 4 Level: Differential
+.. Other incrementals up to now
+\end{verbatim}
+
+In this example, if the Job Retention defined in the Pool or in the Client
+resource causes that Jobs with Jobid in 1,2,3,4 can be pruned, Bacula will
+detect that JobId 1 and 4 are essential to restore data at the current state
+and will prune only JobId 2 and 3.
+
+\texttt{Important}, this change affect only the automatic pruning step after a
+Job and the \texttt{prune jobs} Bconsole command. If a volume expires after the
+\texttt{VolumeRetention} period, important jobs can be pruned.
+
+\section{Ability to Verify any specified Job}
+You now have the ability to tell Bacula which Job should verify instead of
+automatically verify just the last one.
+
+This feature can be used with VolumeToCatalog, DiskToCatalog and Catalog level.
+
+To verify a given job, just specify the Job jobid in argument when starting the
+job.
+\begin{verbatim}
+*run job=VerifyVolume jobid=1 level=VolumeToCatalog
+Run Verify job
+JobName: VerifyVolume
+Level: VolumeToCatalog
+Client: 127.0.0.1-fd
+FileSet: Full Set
+Pool: Default (From Job resource)
+Storage: File (From Job resource)
+Verify Job: VerifyVol.2010-09-08_14.17.17_03
+Verify List: /tmp/regress/working/VerifyVol.bsr
+When: 2010-09-08 14:17:31
+Priority: 10
+OK to run? (yes/mod/no):
+\end{verbatim}
+
+\medskip
+This project was funded by Bacula Systems and is available with Bacula
+Enterprise Edition and Community Edition.