]> git.sur5r.net Git - bacula/docs/blob - docs/manual-de/state.tex
Update docs
[bacula/docs] / docs / manual-de / state.tex
1 %%
2 %%
3
4 \chapter{Baculas Stand}
5 \label{_ChapterStart2}
6 \index[general]{Baculas momentaner Stand }
7
8 (was gegenw\"{a}rtig implementiert und funktionsf\"{a}hig ist und was nicht)
9
10 \section{Was implementiert ist}
11 \index[general]{implementiert!Was ist }
12 \index[general]{Was implementiert ist }
13
14 \begin{itemize}
15 \item Sicherung/Wiederherstellung im Netzwerkes unter der Regie eines
16       zentralen \textbf{Director}-Prozess. 
17
18 \item automatische Ausf\"{u}hrung von 
19 \ilink{Job}{JobDef}s nach einem festgelegten Zeitplan.
20    
21 \item Terminplanung f\"{u}r mehrere Jobs zur gleichen Zeit.
22
23 \item die M\"{o}glichkeit einen oder mehrere Jobs zur gleichen Zeit auszuf\"{u}hren. 
24
25 \item zeitliche Staffelung der Jobs entsprechend ihrer Priorit\"{a}t. 
26
27 \item die Wiederherstellung einer oder mehrerer Dateien, die interaktiv
28       aus der letzten Sicherung oder einer Sicherung vor einem festgelegten
29       Zeitpunkt ausgew\"{a}hlt werden k\"{o}nnen.  
30
31 \item die Wiederherstellung aller Dateien eines Systems auf einer
32       leeren Festplatte.  Dieser Vorgang kann bei Linux- und
33       Solaris-Systemen (mit Einschr\"{a}nkungen) gr\"{o}{\ss}tenteils
34       automatisch ablaufen.  N\"{a}heres hierzu im Kapitel
35       \ilink{``Disaster Recovery Using Bacula''}{_ChapterStart38}.
36       Benutzer berichten, dass dies auch mit Win2K/XP-Systemen
37       funktioniert.
38
39 \item die Ermittlung und Wiederherstellung von Dateien mittels eigenst\"{a}ndiger
40       Hilfsprogramme wie {\bf bls} und {\bf bextract}.  Unter anderem ist
41       es damit m\"{o}glich, Dateien wiederherzustellen, wenn Bacula
42       und/oder die \textbf{Catalog}-Datenbank nicht verf\"{u}gbar ist/sind.
43       Beachten Sie aber, dass wir hierf\"{u}r den ``restore''-Befehl an der
44       \textbf{Console} empfehlen und diese Hilfsprogramme nur f\"{u}r den
45       Notfall vorgesehen sind.
46
47 \item die M\"{o}glichkeit, die \textbf{Catalog}-Datenbank durch Auslesen
48       der \textbf{Volumes} mit dem Hilfsprogramm {\bf bscan} wieder herzustellen.
49
50 \item eine \ilink{Konsolen}{UADef}-Schnittstelle zum \textbf{Director}, \"{u}ber die
51       dieser vollkommen gesteuert werden kann.  Die \textbf{Console} ist
52       als Shell-Programm, GNOME-GUI und wxWidgets-GUI verf\"{u}gbar.
53       Beachten Sie bitte, dass das GNOME-GUI gegen\"{u}ber dem
54       Shell-Programm zur Zeit nur sehr wenige zus\"{a}tzliche Funktionen
55       aufweist.
56
57 \item die Verifikation der Dateien, die zuvor in das
58       \textbf{Catalog}-Verzeichnis aufgenommen wurden, erlaubt eine
59       Funktionalit\"{a}t wie sie das Programm ``Tripwire'' hat (Intrusion
60       Detection).
61
62 \item die Authentifizierung der Komponenten (D\"{a}monen) untereinander
63       durch CRAM-MD5 Passw\"{o}rter.
64
65 \item eine konfigurierbare \ilink{TLS (ssl)-Verschl\"{u}sselung }{_ChapterStart61}
66       zwischen den einzelnen Komponenten.
67
68 \item leicht verst\"{a}ndliche und erweiterbare  
69       \ilink{Konfigurationsdateien}{_ChapterStart40} f\"{u}r jeden einzelnen
70        D\"{a}monprozess. 
71
72 \item eine \textbf{Catalog}-Datenbank zur Aufzeichnung der \textbf{Volumes},
73       \textbf{Pools}, \textbf{Jobs} und der Informationen \"{u}ber die gesicherten
74       Dateien.
75
76 \item Unterst\"{u}tzung von \textbf{SQLite}, \textbf{PostgreSQL} und
77       \textbf{MySQL} \textbf{Catalog}-Datenbanksystemen. 
78
79 \item vom Benutzer erweiterbare Datenbankabfragen an \textbf{SQLite}-,
80       \textbf{PostgreSQL} und \textbf{MySQL}-Datenbanksysteme. 
81
82 \item gekennzeichnete \textbf{Volumes}, die ein versehentliches
83       \"{u}berschreiben (zumindest durch Bacula) verhindern.  
84
85 \item eine beliebige Anzahl verschiedener \textbf{Jobs} und
86       \textbf{Clients} kann auf ein einzelnes \textbf{Volume} gesichert werden. Dies
87       bedeutet, dass von Linux-, Unix-, Sun- und Windows-Rechnern auf das gleiche
88       \textbf{Volume} gesichert werden kann. Das gleiche gilt f\"{u}r die
89       Wiederherstellung. 
90
91 \item eine Sicherung kann sich \"{u}ber mehrere \textbf{Volumes} erstrecken. Sobald ein
92       \textbf{Volume} voll ist, fordert {\bf Bacula} automatisch das n\"{a}chste
93       \textbf{Volume} an und setzt die Sicherung fort. 
94  
95 \item die Verwaltung von \ilink{\textbf{Pools}
96       und \textbf{Volumes}}{PoolResource} erlaubt einen
97       anpassungsf\"{a}higen Umgang mit \textbf{Volumes} (z.B. Gruppen von
98       \textbf{Volumes} f\"{u}r die monatliche, w\"{o}chentliche,
99       t\"{a}gliche Sicherung, Gruppen von \textbf{Volumes} f\"{u}r
100       bestimmte \textbf{Clients}...).
101
102 \item das Datenformat der \textbf{Volumes} ist systemunabh\"{a}ngig. Bei Bedarf
103       k\"{o}nnen die Daten von Linux-, Solaris- und Windows-Clients in
104      dasselbe \textbf{Volumen} gespeichert werden.
105
106 \item ein konfigurierbares \ilink{Messages}{MessagesChapter}-Handling.
107       Dazu geh\"{o}rt der Versand von Botschaften aller D\"{a}mon-Prozesse
108       an den \textbf{Director} und die automatische Benachrichtigung des
109       Benutzers \"{u}ber das Mailsystem.
110
111 \item Implementierung der Prozesse als Multithread-Programme. 
112
113 \item Programmtechnisch keine Begrenzung der L\"{a}nge der Dateinamen oder
114       der Botschaften. 
115
116 \item GZIP-Komprimierung f\"{u}r jede einzelne Datei, die schon der Client
117       erledigt, sofern dies vor einer \"{U}bertragung im Netzwerk angefordert wird.
118
119 \item bei Bedarf die Berechnung von MD5 oder SHA1 Signaturen der
120       Dateidaten.
121
122 \item POSIX ACLs werden - wenn aktiviert - unter den meisten
123       Betriebssystemen gesichert und wiederhergestellt.
124  
125 \item die Unterst\"{u}tzung von Autochangern \"{u}ber ein einfache Shell-Schnittstelle.
126       Damit ist es m\"{o}glich, praktisch mit jedem Autoloader-Programm zu kommunizieren.
127       Ein Skript f\"{u}r {\bf mtx} ist bereitgestellt. 
128
129 \item unterst\"{u}tzt Autochanger-Barcodes -- entsprechend der Barcodes
130       wird das Band gekennzeichnet.
131
132 \item automatische Unterst\"{u}tzung mehrerer Autochanger-Magazine.
133       Hierbei wird entweder der Barcode oder das Band gelesen.
134
135 \item Unterst\"{u}tzung von Autochangern mit mehreren Laufwerken
136
137 \item Sicherung/Wiederherstellung als raw-Backup.  Hierbei mu{\ss} die
138       Wiederherstellung auf den gleichen Datentr\"{a}ger erfolgen.
139
140 \item jeder Datenblock (etwa 64KByte) der \textbf{Volumes} enth\"{a}lt die
141       Pr\"{u}fsumme der Daten.
142
143 \item Zugangskontrolllisten f\"{u}r \textbf{Consolen}, die dem Benutzer
144       einen Zugang nur zu den eigenen Daten erlauben.
145
146 \item Zwischenspeicherung der zu sichernden Daten auf der Festplatte und
147       fortlaufende Beschreibung des Bandes mit den zwischengespeicherten Daten 
148       verhindert den ``Schoe-Shine-Effekt'' bei einer inkrementiellen oder
149       differentiellen Sicherung.
150
151 \item Sicherung/Wiederherstellung von Dateien, die gr\"{o}{\ss}er sind als 2GB.
152
153 \item Unterst\"{u}tzung von 64Bit-Systemen wie z.B. AMD64.
154
155 \item es ist m\"{o}glich, die Kommunikation der D\"{a}monen untereinander durch
156       STunnel zu verschl\"{u}sseln.
157  
158 \item Unterst\"{u}tzung von ANSI- und IBM Band-Labels.
159
160 \item Unterst\"{u}tzung von Unicode-Dateinamen (z.B. Chinesisch) auf
161       Win32-Rechnern mit der Version 1.37.28 und h\"{o}her.
162
163 \item konsistente Sicherung von ge\"{o}ffneten Dateien von Win32-Systemen
164      (WinXP, Win2003, nicht Win2000) durch Verwendung von Volume Shadow Copy
165      (VSS).
166
167 \end{itemize}
168
169 \section{Die Vorteile von Bacula gegen\"{u}ber anderen Sicherungsprogrammen}
170 \index[general]{Die Vorteile von Bacula gegen\"{u}ber anderen Sicherungsprogrammen}
171 \index[general]{Sicherungsprogrammen!Die Vorteile von Bacula gegen\"{u}ber anderen}
172
173 \begin{itemize}
174 \item da f\"{u}r jeden Rechner ein eigener Client existiert, k\"{o}nnen die
175       Daten von Betriebssystemen aller Art gesichert und wiederhergestellt
176       werden, wobei immer gew\"{a}hrleistet ist, dass ihre Dateiattribute
177       korrekt gesichert und wiederhergestellt werden.
178
179 \item Man kann auch Clients sichern ohne eine Client-Software zu benutzen
180       und verwendet hierzu NFS oder Samba.  Wir empfehlen jedoch, sofern
181       m\"{o}glich, auf jedem Rechner, von dem Daten gesichert werden
182       sollen, einen eigenen File-D\"{a}mon laufen zu haben.
183
184 \item Bacula kann mit Sicherungen umgehen, die auf mehrere Volumes verteilt
185       sind.
186
187 \item eine umfassende SQL-Datenbank aller gesicherter Dateien
188       erm\"{o}glicht den \"{U}berblick \"{u}ber alle gespeicherte Dateien in
189       jedem einzelnen Volume.
190
191 \item automatische Bereinigung der Datenbank (die Entfernung alter
192       Aufzeichnungen) und dadurch eine Vereinfachung der Datenbankadministration.
193
194 \item durch die Verwendung beliebiger SQL-Datenbanksysteme ist Bacula sehr
195       anpassungsf\"{a}hig.
196
197 \item durch den modularen, dabei aber einheitlichen Entwurf ist Bacula in
198       hohem Ma{\ss}e skalierbar.
199   
200 \item da Bacula D\"{a}monen auf den Client-Rechnern benutzt, ist es
201       m\"{o}glich, dort laufende Datenbank- oder sonstige Anwendungen mit
202       systemeigenen Befehlen zu beenden und nach einer Sicherung die
203       entsprechenden Anwendungen wieder zu starten.  Dies alles kann aus einem
204       einzigen Bacula-Job heraus geschehen.
205
206 \item Bacula hat ein eingebautes Steuerungsprogramm f\"{u}r die
207       Sicherungsjobs.
208
209 \item Das Format der \textbf{Volumes} ist dokumentiert und es gibt einfache
210       C-Programme mit denen sie gelesen und beschrieben werden k\"{o}nnen
211
212 \item Bacula benutzt eindeutige (bei der IANA registrierte) TCP/IP-Ports --
213       also weder RPCs noch Shared Memory.
214
215 \item Baculas Installation und Konfiguration ist gegen\"{u}ber anderen
216       vergleichbaren Produkten relativ einfach.
217
218 \item laut einem unserer Benutzer ist Bacula genau so schnell wie die
219       wichtigen gro{\ss}en kommerziellen Programme.
220
221 \item laut einem anderen Benutzer ist Bacula vier mal so schnell wie eine
222       andere kommerzielle Anwendung.  Das vielleicht deswegen, weil diese
223       Anwendung ihre Verzeichnisinformationen in vielen einzelnen Dateien anstatt
224       in einer SQL-Datenbank speichert, wie Bacula es tut.
225
226 \item neben der grafischen Benutzeroberfl\"{a}che zur Verwaltung hat Bacula
227       eine umfassende Shell-Schnittstelle f\"{u}r die Wartungsaufgaben, wobei der
228       Administrator Werkzeuge wie z.B. ``ssh'' verwenden kann, um jeden Teil von
229       Bacula von \"{u}berall (sogar von Zuhause) zu administrieren.
230
231 \item Bacula hat eine Rettungs-CD f\"{u}r Linux-Systeme mit den folgenden Eigenschaften:  
232    \begin{itemize}
233    \item Sie kompilieren sie von Grund auf auf ihrem eigenen System mit
234       einem einzigen einfachen Befehl: ``make'' (...OK, Sie brauchen dann
235       noch ``make burn''...).
236
237    \item die Rettungs-CD verwendet Ihren Kernel
238
239    \item sie schreibt Skripte entsprechend der Parameter Ihrer Festplatte
240         mit denen Sie diese automatisch repartitionieren und formatieren
241         k\"{o}nnen, um den Ausgangszustand wieder herzustellen.
242    
243    \item sie hat ein Skript, das Ihr Netzwerk wieder starten wird (mit der
244          korrekten IP-Adresse)
245    
246    \item sie hat ein Skript, mit dem Ihre Festplatten automatisch gemountet werden.
247       
248    \item eine vollwertiger Bacula-FD ist statisch eingebunden  
249    
250    \item sie k\"{o}nnen der Rettungs-CD auf einfache Weise zus\"{a}tzliche
251          Daten und Programme hinzuf\"{u}gen.
252
253    \end{itemize}
254
255 \end{itemize}
256
257 \section{Einschr\"{a}nkungen der aktuellen Implementierung}
258 \index[general]{Einschr\"{a}nkungen der aktuellen Implementierung }
259 \index[general]{aktuelle Implementierung! Einschr\"{a}nkungen der}
260
261 \begin{itemize}
262 \item Pfade und Dateinamen mit mehr als 260 Zeichen werden auf
263       Win32-Systemen nicht unterst\"{u}tzt.  Diese werden zwar gesichert,
264       k\"{o}nnen aber nicht wiederhergestellt werden.  Durch Verwendung der
265       Direktive {\bf Portable=yes} in Ihrem FileSet k\"{o}nnen Dateien mit langen
266       Namen auf Unix- bzw.  Linux-Systemen wiederhergestellt werden.  Lange
267       Dateinamen f\"{u}r Win32-Systeme werden in einer sp\"{a}teren Version
268       implementiert sein.
269
270 \item Sollten Sie mehr als 4 Milliarden Dateieintr\"{a}ge in Ihrer
271       Datenbank gespeichert haben, wird der FileID der Datenbank vermutlich
272       \"{u}berlaufen.  Dies w\"{a}re eine ziemlich gro{\ss}e Datenbank, aber
273       immerhin ist sie denkbar.  Irgendwann einmal wird das Feld f\"{u}r den
274      FileID von Bacula von 32 auf 64 Bit erweitert werden und das Problem ist
275      gel\"{o}st.  In der Zwischenzeit ist die Verwendung mehrerer Datenbanken
276      eine gute L\"{o}sung.
277   
278 \item Dateien, die nach einer Vollsicherung gel\"{o}scht wurden, werden bei
279       einer Wiederherstellung eingeschlossen.
280
281 \item Datei-System-Module fehlen(dies w\"{a}ren konfigurierbare Routinen,
282       um spezielle Dateien zu sichern/wiederherzustellen).
283
284 \item Verschl\"{u}sselung des Dateninhalts der \textbf{Volumes}.  
285
286 \item Bacula kann die Dateien eines einzelnen Jobs nicht von zwei oder
287
288 wiederherstellen.  Daher wird eine Wiederherstellung einige Handarbeit
289 erfordern, wenn sie auf mehr als ein Sicherungsger\"{a}t oder verschiedene
290 Medientypen speichern.
291
292    \end{itemize}
293
294 \section{Grenzen und Beschr\"{a}nkungen des Software Design}
295 \index[general]{Restrictions!Design Limitations or }
296 \index[general]{Design Limitations or Restrictions }
297
298 \begin{itemize}
299 \item Namen (\textbf{Resource}-Namen, \textbf{Volume}-Names und
300       \"{a}hnliche) in Baculas Konfigurationsdateien sind auf eine bestimmte
301       L\"{a}nge beschr\"{a}nkt .  Momentan liegt die Grenze bei 127 Zeichen.
302       Beachten Sie bitte, dass diese Einschr\"{a}nkungen nicht die Dateinamen
303       betrifft, die beliebig lang sein k\"{o}nnen.
304
305 \item Durch die Nicht-Unicode Windows API, die wir auf Win32-Maschinen
306       verwenden, sind wir bei Dateinamen auf 260 Zeichen beschr\"{a}nkt.  Wir
307       planen dies in einer zuk\"{u}nftigen Version zu korrigieren, indem wir die
308      Unicode-API verwenden.
309
310 \end{itemize}