1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
|
%%
%%
\section{The Current State of Bareos}
\label{StateChapter}
%\index[general]{Current State of Bareos}
\subsection{What is Implemented}
\index[general]{Implementation!What is implemented}
\begin{itemize}
\item Job Control
\begin{itemize}
\item Network backup/restore with centralized Director.
\item Internal scheduler for automatic
\ilink{Job}{JobDef} execution.
\item Scheduling of multiple Jobs at the same time.
\item You may run one Job at a time or multiple simultaneous Jobs
(sometimes called multiplexing).
\item Job sequencing using priorities.
\item \ilink{Console}{UADef} interface to the Director allowing complete
control. Some GUIs are also available.
\end{itemize}
\item Security
\begin{itemize}
\item Verification of files previously cataloged, permitting a Tripwire like
capability (system break-in detection).
\item CRAM-MD5 password authentication between each component (daemon).
\item Configurable
\ilink{TLS (SSL) communications encryption}{CommEncryption} between each
component.
\item Configurable
\ilink{Data (on Volume) encryption}{DataEncryption}
on a Client by Client basis.
\item Computation of MD5 or SHA1 signatures of the file data if requested.
\end{itemize}
\item Restore Features
\begin{itemize}
\item Restore of one or more files selected interactively either for the
current backup or a backup prior to a specified time and date.
\item Listing and Restoration of files using stand-alone \command{bls} and \command{bextract}
tool programs. Among other things, this permits extraction of
files when Bareos and/or the catalog are not available. Note, the
recommended way to restore files is using the restore command in the
Console. These programs are designed for use as a last resort.
\item Ability to restore the catalog database rapidly by using bootstrap
files (previously saved).
\item Ability to recreate the catalog database by scanning backup Volumes
using the \command{bscan} program.
\end{itemize}
\item SQL Catalog
\begin{itemize}
\item Catalog database facility for remembering Volumes, Pools, Jobs, and
Files backed up.
\item Support for PostgreSQL, MySQL and SQLite Catalog databases.
\item User extensible queries to the PostgreSQL, MySQL and SQLite databases.
\end{itemize}
\item Advanced Volume and Pool Management
\begin{itemize}
\item Labeled Volumes, preventing accidental overwriting (at least by
Bareos).
\item Any number of Jobs and Clients can be backed up to a single Volume.
That is, you can backup and restore Linux, Unix and Windows machines to
the same Volume.
\item Multi-volume saves. When a Volume is full, {\bf Bareos} automatically
requests the next Volume and continues the backup.
\item
\ilink{Pool and Volume}{DirectorResourcePool} library management
providing Volume flexibility (e.g. monthly, weekly, daily Volume sets, Volume
sets segregated by Client, ...).
\item Machine independent Volume data format. Linux, Solaris, and Windows
clients can all be backed up to the same Volume if desired.
\item The Volume data format is upwards compatible so that old Volumes
can always be read.
\item A flexible
\ilink{message}{MessagesChapter} handler including routing
of messages from any daemon back to the Director and automatic email
reporting.
\item Data spooling to disk during backup with subsequent write to tape from
the spooled disk files. This prevents tape "shoe shine" during
Incremental/Differential backups.
\end{itemize}
\item Advanced Support for most Storage Devices
\begin{itemize}
\item Autochanger support using a simple shell interface that can interface
to virtually any autoloader program. A script for \command{mtx} is provided.
\item Support for autochanger barcodes -- automatic tape labeling from
barcodes.
\item Automatic support for multiple autochanger magazines either using
barcodes or by reading the tapes.
\item Support for multiple drive autochangers.
\item Raw device backup/restore. Restore must be to the same device.
\item All Volume blocks contain a data checksum.
\item Migration support -- move data from one Pool to another or
one Volume to another.
%\item Supports writing to DVD.
\end{itemize}
\item Multi-Operating System Support
\begin{itemize}
\item Programmed to handle arbitrarily long filenames and messages.
\item Compression on a file by file basis done by the Client program if
requested before network transit.
\item Saves and restores POSIX ACLs and Extended Attributes on most OSes if
enabled.
\item Access control lists for Consoles that permit restricting user access
to only their data.
\item Support for save/restore of files larger than 2GB.
%\item Support for 64 bit machines, e.g. amd64, Sparc.
\item Support ANSI and IBM tape labels.
\item Support for Unicode filenames (e.g. Chinese) on Win32 machines
\item Consistent backup of open files on Win32 systems using Volume Shadow Copy (VSS).
\item Support for path/filename lengths of up to 64K on Win32 machines
(unlimited on Unix/Linux machines).
\end{itemize}
\item Miscellaneous
\begin{itemize}
\item Multi-threaded implementation.
\end{itemize}
\end{itemize}
\subsection{Advantages Over Other Backup Programs}
\begin{itemize}
\item Bareos handles multi-volume backups.
\item A full comprehensive SQL standard database of all files backed up. This
permits online viewing of files saved on any particular Volume.
\item Automatic pruning of the database (removal of old records) thus
simplifying database administration.
\item The modular but integrated design makes Bareos very scalable.
\item Bareos has a built-in Job scheduler.
\item The Volume format is documented and there are simple C programs to
read/write it.
\item Bareos uses well defined (IANA registered) TCP/IP ports -- no rpcs, no
shared memory.
\item Bareos installation and configuration is relatively simple compared to
other comparable products.
\item Aside from several GUI administrative interfaces, Bareos has a
comprehensive shell administrative interface, which allows the
administrator to use tools such as ssh to administrate any part of
Bareos from anywhere.
\end{itemize}
\subsection{Current Implementation Restrictions}
%\index[general]{Current Implementation Restrictions}
\index[general]{Restrictions!Current Implementation}
\begin{itemize}
% \item It is very unusual to attempt to restore two Jobs
% that ran simultaneously in a single restore, but if
% you do, please be aware that unless you had
% data spooling turned on and the spool file held the full
% contents of both Jobs during the backup, the restore will not
% work correctly. In other terms, Bareos cannot restore
% two jobs in the same restore if the Jobs' data blocks were
% intermixed on the backup medium. The problem is resolved by
% simply doing two restores, one for each Job.
% Normally this can happen only if you manually enter specific
% JobIds to be restored in a single restore Job.
\item \label{MultipleCatalogs} It is possible to configure the Bareos Director to use multiple Catalogs.
However, this is neither advised, nor supported.
Multiple catalogs require more management because in general
you must know what catalog contains what data, e.g. currently, all Pools are defined in each catalog.
\item Bareos can generally restore any backup made from one client
to any other client. However, if the architecture is significantly
different (i.e. 32 bit architecture to 64 bit or Win32 to Unix),
some restrictions may apply (e.g. Solaris door files do not exist
on other Unix/Linux machines; there are reports that Zlib compression
written with 64 bit machines does not always read correctly on a 32 bit
machine).
\end{itemize}
\subsection{Design Limitations or Restrictions}
\label{sec:DesignLimitations}
\index[general]{Restrictions!Design Limitations}
\index[general]{Design!Limitations}
\begin{itemize}
\item Names (resource names, volume names, and such) defined in Bareos
configuration files are limited to a fixed number of
characters. Currently the limit is defined as 127 characters. Note,
this does not apply to filenames, which may be arbitrarily long.
\item Command line input to some of the stand alone tools -- e.g. \command{btape},
\command{bconsole} is restricted to several hundred characters maximum.
Normally, this is not a restriction, except in the case of listing
multiple Volume names for programs such as \command{bscan}. To avoid
this command line length restriction, please use a {\bf .bsr}
file to specify the Volume names.
\item Bareos configuration files for each of the components can be
any length. However, the length of an individual line is limited
to 500 characters after which it is truncated. If you need lines
longer than 500 characters for directives such as ACLs where
they permit a list of names are character strings simply
specify multiple short lines repeating the directive on
each line but with different list values.
\end{itemize}
\subsection{Items to Note}
\index[general]{Items to Note}
\begin{itemize}
\item Bareos's Differential and Incremental \textsl{normal} backups are based
on time stamps. Consequently, if you move files into an existing directory
or move a whole directory into the backup fileset after a Full backup, those
files will probably not be backed up by an Incremental save because they will
have old dates. This problem is corrected by using \ilink{Accurate mode}{accuratemode} backups
or by explicitly updating the date/time stamp on all moved files.
\item In non Accurate mode, files deleted after a Full save will be
included in a restoration. This is typical for most similar backup programs.
To avoid this, use \ilink{Accurate mode}{accuratemode} backup.
\end{itemize}
|