linux_ws2122/chapters/07-backups.tex
Markus Pesch fed26c8bbd
All checks were successful
continuous-integration/drone Build is passing
Initial Commit
2021-10-13 19:25:16 +02:00

204 lines
9.6 KiB
TeX

% <#>---------------------------------------------------------------------------<#>
\section{Backup}%
\label{sec:backup}
Sicherlich hat jeder schon einmal schmerzlichst erfahren müssen, wie ärgerlich
es ist, wenn Daten verloren gegangen sind und diese nicht durch ein Backup
gesichert wurden. Der Schmerz sitzt tief, wenn die Urlaubsbilder, Kinderfotos
oder andere wichtige Dokumente verloren sind. Man ärgert sich häufig über sich
selber, da man wusste, dass dieser Moment früher oder später mal eintreten würde
und man es bis dahin nicht geschafft hat ein Backup zu erstellen.
In Kapitel \nameref{sec:dateisysteme.btrfs} wurden Snapshots von Subvolumes
erzeugt. Dies Snapshots können nicht direkt als ein Backup betrachtet werden,
obwohl sie eine Momentaufnahme eines Subvolumes wiederspiegeln. Der Grund ist,
dass unter einem Backup die Sicherung eines Zustands auf einem anderen
Speichergerät verstanden wird. Dies kann beispielsweise auf eine andere
Festplatte oder ein Magnetband per Bandlesegerät realisiert werden.
Früher wurden Bandlesegeräte sehr häufig eingesetzt, um große Datenmengen zu
sichern. Diese Methode wird zunehmend ersetzt durch andere Technologien wie
Beispielsweise das exportieren und importieren von Snapshots. Dies muss nicht
zwingend ein BtrFS Dateisystem sein, es kann auch ein ZFS oder QCOW2 Dateisystem
sein. Aus der Zeit, in der Bandlaufgeräte vorwiegend Verwendung fanden, sind
unterschiedliche Backup Methoden entstanden.
Je nach Datenbestand wurden unterschiedliche Methoden angewand oder kombiniert,
um die Vorteile je nach Situation auszunutzen. Nachfolgend werden die einzelnen
Methoden näher erläutert.
% #>-----------------------------------------------------------------------------<#
\subsection{Inkrementelles Backup}%
\label{sec:backup.inkrementell}
Ein inkrementelles Backup setzt ein bestehendes Backup der Daten vorraus. Dies
kann ein Vollbackup, differentielles oder inkrementelles Backup sein. Es werden
ausschließlich die Daten gesichert, welche sich zum Zeitpunkt des letzten
Backups geändert haben. Zum Wiederherstellen des Datenbestandes werden somit
alle Backups benötigt, da die Änderungen sequenziell eingespielt werden müssen.
Dies führt beim dem Einsatz von Magnetbändern gerade dazu, dass Administratoren
panisch auf die Suche nach den Magnetbändern gehen, wenn Daten vergangener Jahre
wiedergerstellt werden müssen. Grund für die Aufregung ist, dass wenn ein Backup
oder Magnetband fehlt die Wiederherstellung der gesicherten Daten nicht möglich
ist.
Die folgende Abbildung beschreibt den Speicherverbrauch pro Wochentag und hebt
hervor, welche Änderungen in welchem inkrementellen Backup gesichert sind.
\begin{figure}[H]
\centering
\includegraphics[width=1\textwidth]{img/inkrementell-backup.png}
\caption{Inkrementelle Backups}%
\label{fig:backup.inkrementell}
\end{figure}
\begin{itemize}[label={},itemsep=0pt]
\item \textbf{Vorteile:}
\begin{enumerate}[itemsep=0pt]
\item Sehr einfaches Verfahren
\item Niedriger Speicherbedarf. Die Backups sind wesentlich kleiner als
differentielle oder Vollbackups. Es werden daher auch Magnetbänder mit
geringerer Kapazität benötigt. Kosten können so gesenkt werden.
\item Das Erstellen der Sicherung ist im Vergleich zu den anderen Methoden
schneller erstellt, da nur die letzten Änderungen gesichert werden müssen.
\end{enumerate}
\item \textbf{Nachteile:}
\begin{enumerate}[itemsep=0pt]
\item Das Vollbackup und \textbf{alle} inkrementellen Backups sind
notwendig, um einen Zeitpunkt wiederherzustellen.
\end{enumerate}
\end{itemize}
% #>-----------------------------------------------------------------------------<#
\subsection{Differenzielles Backup}%
\label{sec:backup.differentiell}
Das differentielle Backup ist dem inkrementellen Backup sehr ähnlich. Es werden
jedoch nicht die Änderungen zu jedem letzten beliebigen Backup gesichert,
sondern ausschließlich zum letzten Vollbackup. Demnach ist zur Wiederherstellung
der Daten das letzte Vollbackup und das gewünschte differentielle Backup
notwendig. Die folgende Abbildung spiegelt wie Abbildung
\ref{fig:backup.inkrementell} den Speicherverbrauch pro Wochentag ab und hebt
hervor, welche Änderungen in welchem differenziellen Backups gesichert sind.
\begin{figure}[H]
\centering
\includegraphics[width=1\textwidth]{img/differentielles-backup.png}
\caption{Differenzielle Backups}%
\label{fig:backup.differentiell}
\end{figure}
\begin{itemize}[label={},itemsep=0pt]
\item \textbf{Vorteile:}
\begin{enumerate}[itemsep=0pt]
\item Weniger Speicherbedarf als bei einem Vollbackup, aber mehr als bei
einem inkrementellen Backup
\item Zur Wiederherstellung wird nur das letzte Vollbackup und das
differentielle Backup zum gewünschten Zeitpunkt benötigt.
\end{enumerate}
\item \textbf{Nachteile:}
\begin{enumerate}[itemsep=0pt]
\item Dateien, die einmal verändert werden, müssen bei jedem differentiellen
Backup neu gesichert werden. Dadurch entsteht ein höheres Datenaufkommen.
\end{enumerate}
\end{itemize}
% #>-----------------------------------------------------------------------------<#
\subsection{Vollbackup}%
\label{sec:backup.vollbackup}
Bei einem Vollbackup wird der komplette Datenbestand gesichert. Um verlorene
Daten wiederherzustellen wird nur das entsprechende Vollbackup benötigt. Die
folgende Abbildung beschreibt das Wachstum der Vollbackups pro Tag.
\begin{figure}[H]
\centering
\includegraphics[width=1\textwidth]{img/vollbackups.png}
\caption{Vollbackups}%
\label{fig:backup.vollbackup}
\end{figure}
\begin{itemize}[label={},itemsep=0pt]
\item \textbf{Vorteile:}
\begin{enumerate}[itemsep=0pt]
\item Sehr einfache Wiederherstellung
\item Nur das jeweilige Backup bzw. Band notwendig
\end{enumerate}
\item \textbf{Nachteile:}
\begin{enumerate}[itemsep=0pt]
\item Sehr hoher Speicherverbrauch
\item Um auf mehrere Versionen zurückgreifen zu können wird das jeweilige
Backup benötigt.
\end{enumerate}
\end{itemize}
% #>-----------------------------------------------------------------------------<#
\subsection{Großvater-Vater-Sohn Prinzip}%
\label{sec:backup.gvs-prinzip}
Das Großvater-Vater-Sohn Prinzip, auch Generationen Prinzip genannt, ist ein
Rotationsverfahren für Magnetbänder, um mit möglichst wenigen Magnetbändern den
Zugriff auf ältere Sicherungszustände zu gewährleisten.
Als Sohn-Sicherung werden die täglichen Sicherungen von Montag bis Donnerstag
beschrieben. Dies sind in der Regel inkrementelle Sicherungen. Die Sicherung,
welche Freitags erstellt wird, ist die erste Vater-Sicherung. Für die erste
Woche sind daher fünf Magnetbänder notwendig.
Wird nun bei der Vater-Sicherung ein differentielles Backup erstellt, sind die
Änderungen, welche in der Woche angefallen sind inkludiert. Dies bedeutet, dass
die Sicherungsbänder von Montag bis Donnerstag in der zweiten Woche
wiederverwendet und überschrieben werden können.
Daraus folgt, dass ein sechstes Band für die 2. Vater-Sicherung in der 2. Woche
notwendig ist. Dies geht so für die 3. und 4. Woche des Monats weiter. Es
resultiert daher für einen Monat, dass vier Sicherungsbänder für die
Sohn-Sicherungen und vier Sicherungsbänder für die Vater-Sicherungen notwendig
sind. Also insgesamt acht Bänder.
\begin{itemize}[label={},itemsep=0pt]
\item \textbf{Aufgabe 1a:} Gehen Sie davon aus, dass zu Beginn des Monats ein
Vollbackup des vergangenen Monats existiert. Geben Sie tabellarisch oder
grafisch für den aktuellen Monat an, an welchen Tagen, welches Band und
Backup-Methode verwendet wird, um dem Vater-Sohn Prinzip zu entsprechen.
\end{itemize}
Am letzten Tag im Monat wird die Sohn- oder Vater-Sicherung durch die
Großvater-Sicherung ersetzt. Die Großvater-Sicherung ist im Regelfall ein
Vollbackup. Anschließend wird wieder mit der Sohn- und Vater-Sicherung für den
nächsten Monat fortgefahren. Da die Großvater-Sicherung alle Änderungen des
letzten Monats beinhaltet, kann die Sohn-Sicherung als auch die Vater-Sicherung
im nächsten Monat überschrieben werden. Daraus resultiert, dass zusätzlich 12
Bänder für jeden Monat benötigt werden. Insgesamt also 20 Bänder pro Jahr.
\begin{itemize}[label={},itemsep=0pt]
\item \textbf{Aufgabe 1b:} Geben Sie für drei Monate tabellarisch oder
grafisch die Tage an, welches Band und Backup-Methode verwendet wird, um dem
Großvater-Vater Prinzip zu entsprechen.
\end{itemize}
% #>-----------------------------------------------------------------------------<#
\subsection{Praxisaufgabe: Die nette Kollegin}%
\label{sec:backup.praxisfall}
In dem Unternehmen, indem Sie tätig sind wird nicht Ende des Monats, sondern an
dem ersten Freitag im Monat, die Großvater-Sicherung erstellt. Die letzte
Großvater-Sicherung wurde vergangenen Freitag, den 6. November 2020, erstellt.
Eine Kollegin aus der Finanzabteilung hat Sie schriftlich informiert, dass der
letzte Praktikant ein Verzeichnis gelöscht hat, welches Sie nun benötigt. Das
Beschäftigungsverhältnis des Praktikanten fing vor drei Monaten, zwei Wochen und
einem Tagen, ausgehend von der letzen Großvater-Sicherung, an. Gehen Sie davon
aus, dass die Dateien zu diesem Zeitpunkt vorhanden waren.
Welche Bänder sind notwendig, um die Dateien und Verzeichnisse für die Kollegin
aus der Finanzabteilung wiederherzustellen?
Ihr Chef traut ihnen nun das Wiederherstellen von Daten zu. Prompt erhalten Sie
einen Anruf, dass die Daten welche sie wiederhergestellt haben nicht in der
Version vorliegt, welche die nette Kollegin erwartet hat. Sie hat sie angewiesen
die Daten vom 28. Oktober 2020 wiederherzustellen.
Welche Bänder sind notwendig, um die Daten und Verzeichnisse vom 28. Oktober
2020 wiederherzustellen?.