Dieses Konzept detailliert wie die Contoso Germany GmbH Daten auf ihren Servern sichert. Es beinhaltet Klassifizierungen für die Wichtigkeit von Daten, Standards an die sich Sicherungen halten müssen und Schritte die pro Sicherung ausgeführt werden müssen.
**Dieses Konzept ist für jede Sicherung einzuhalten**
## Klassifizierungen von Daten
*Ausgelassen für Länge*
## Standards für Sicherungen
Jedes Backup in der Contoso Germany GmbH wird durchgeführt mit dem Programm **Restic** mit einer Versionsnummer **über** 0.16.2. Die Binaries sind vom Entwickler direkt herunterzuladen **oder** über die offiziellen Paket-Repositories der verwendeten Linux Distribution zu installieren.
Jede Sicherung soll auf mindestens zwei Systemen gespeichert sein, diese sind auf der Wiki-Seite des jeweiligen Systems zu vermerken und eine Anleitung anzugeben wie diese Backups eingespielt werden können.
Für jedes System ist ein eigenes Restic Repository anzulegen. Das Passwort dieses Repositories muss in unserem 1Password Vault abgelegt werden.
## Schritte für jede Sicherung
Folgende Schritte müssen bei jeder Sicherung mindestens durchgeführt werden:
1. Sicherstellen des Systems
1. Um vorzubeugen das Sicherungen auf falschen Systemen erstellt werden muss vor jeder Sicherung sichergestellt werden das die Kommands auf dem korrekten System ausgeführt werden.
2. Im zweifel kann dies durch Abstimmung mit einem Kollegen erfolgen
2. Sicherstellen der Restic Versionsnummer
1. Um Kompatibilität der Restic Repositories im gesamten Unternehmen zu gewährleisten muss bei jeder Sicherung verifiziert werden das die Versionsnummer **ÜBER** 0.16.2 ist.
2. Dies kann mit dem Command `restic version` überprüft werden
3. Überprüfen der Intaktheit des Restic Repos
1. Um Korruption der Sicherungen vorzubeugen muss bei jeder Sicherung der Command `restic check` ausgeführt werden und evtl. Fehler sofort behoben werden
4. Sicherstellen der Intaktheit der Sicherung
1. Um Korruption vorzubeugen und eine korrekte Sicherung zu gewährleisten sollte der Command `restic ls latest /` ausgeführt werden.
2. Der Restic ls command gibt die gespeicherten Dateien in einem angegebenen Ordner an und somit kann festgestellt werden ob für diesen Ordner eine Sicherung erfolgt ist
5. Sicherstellen der Wiederherstelltbarkeit einer Sicherung
1. Um die Intaktheit der Sicherung zu gewährleisten sollten pro Sicherung 1 bis 2 Files wiederhergestellt werden und überprüft werden
2. Diese können Stichprobenartig ausgewählt werden und mit dem Command `restic restore latest --include /pfad/zum/file --target /ziel/ordner` wiederhergestellt werden
6. Replizieren der Sicherungen auf andere Speichermittel / Server
1. Die Restic Repositories müssen auch auf anderen Speichermitteln oder Servern gespeichert werden, mindestens auf 2 es sollten aber mehr sein
2. Es ist das Programm "rclone" mit dem Command `rclone sync /pfad/zum/restic/repo user:/remote/pfad/zum/repo` zu nutzen
## Recovery Tests und Strategien
Für jedes System muss monatlich mindestens eine komplette Wiederherstellung erfolgen. Dies wird in diesen Schritten durchgeführt:
1. Login auf das System
2. Eingabe des Commands `restic restore latest --target /tmp/resticRestorePoint`
3. Warten bis dieser Command fertig läuft
4. Bei Fehlern: Dokumentieren der Fehler und ggf. sofortige Fehlerbehebung, bei Fehlern die nicht sofort gelöst werden können muss eine Fehlermeldung auf dem "Systeme" Jira-Board erstellt werden und sobald wie möglich behoben werden
5. In jedem Fall: Der Recovery Test muss unter der Wiki-Seite des jeweiligen Systems mit der Template "System-Recovery-Test-Template" dokumentiert werden