This repository has been archived by the owner on Mar 19, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 16
/
state.tex
231 lines (212 loc) · 10.5 KB
/
state.tex
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
219
220
221
222
223
224
225
226
227
228
229
230
231
%%
%%
\chapter{The Current State of Bareos}
\label{StateChapter}
%\index[general]{Current State of Bareos}
In other words, what is and what is not currently implemented and functional.
\section{What is Implemented}
\index[general]{Implemented!What}
\index[general]{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. A text console and a Qt4 GUI of
the Console program are 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 MySQL, PostgreSQL, and SQLite Catalog databases.
\item User extensible queries to the MySQL, PostgreSQL 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}{PoolResource} 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 (approximately 64K bytes) 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.
\item A comprehensive and extensible
\ilink{configuration file}{DirectorChapter} for each daemon.
\end{itemize}
\end{itemize}
\section{Advantages Over Other Backup Programs}
\begin{itemize}
\item Since there is a client for each machine, you can backup
and restore clients of any type ensuring that all attributes
of files are properly saved and restored.
\item It is also possible to backup clients without any client
software by using NFS or CIFS. However, if possible, we
recommend running a Client File daemon on each machine to be
backed up.
\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 Any SQL database engine can be used making Bareos very flexible.
Drivers currently exist for MySQL, PostgreSQL, and SQLite.
\item The modular but integrated design makes Bareos very scalable.
\item Since Bareos uses client file servers, any database or
other application can be properly shutdown by Bareos using the
native tools of the system, backed up, then restarted (all
within a Bareos Job).
\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}
\section{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 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}
\section{Design Limitations or Restrictions}
\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}
\section{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}