meta data for this page
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| backup-konzept [22.10.2017 16:58] – 192.168.77.1 | backup-konzept [Unknown date] (current) – removed - external edit (Unknown date) 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Backup-Konzept ====== | ||
| - | Das Backup-Konzept dient der **Sicherheit** der Daten und der Gewährleistung einer kontinuierlichen Leistungserbringung, | ||
| - | Das Backup-Konzept beschreibt nicht den **Schutz** der Daten (Verhinderung von unerlaubtem Zugriff, Verbreitung etc.) | ||
| - | |||
| - | ===== Risiken ===== | ||
| - | Folgende Risiken versuchen wir primär zu begegnen: | ||
| - | * Benutzerfehler (Benutzer löscht oder überschreibt eine wichtige Datei oder eine Information in der Datenbank) | ||
| - | * Total-Ausfall des Servers durch Fehlschaltung / Blitzschlag / Fremdeinwirkung | ||
| - | * Ausfall des gesamten Standorts (durch Brand, Terror, höhere Gewalt) | ||
| - | |||
| - | ==== Benutzerfehler ==== | ||
| - | Auf dem Server läuft während der Arbeitszeit stündlich ein Script, welches den gesamten Dateibestand mit einem Spiegel vergleicht und die in der Zwischenzeit veränderten Daten in eine History-Struktur wegspeichert. Möchte man eine ältere Version einer Datei zurückholen, | ||
| - | |||
| - | Eingaben in der Datenbank KSDB werden grundsätzlich vollautomatisch aufgezeichnet. Jede Tabelle hat eine History-Tabelle mit gleichem Namen und der Endung '' | ||
| - | |||
| - | An vielen Orten ist in der Applikation hinter der Taste '' | ||
| - | |||
| - | ==== Total-Ausfall des Server ==== | ||
| - | Obwohl der Server mit 5 Harddisks bestückt ist und noch zu 100% funktioniert, | ||
| - | |||
| - | Für diesen Fall läuft im Datencenter der plan-bee.ch ag in Zürich ein baugleicher Server (server08, 192.168.22.22), | ||
| - | Scripts sorgen dafür, dass der Backup-Server einsatzbereit bleibt. | ||
| - | |||
| - | ==== Standort-Ausfall ==== | ||
| - | Ist der gesamte Standort nicht mehr verfügbar (infolge Brand, Hochwasser, Sperrung infolge Terrorgefahr, | ||
| - | - die papiergebundenen Daten | ||
| - | - alle seit der letzten Sicherung - also am letzten Tag - erfassten elektronischen Daten | ||
| - | |||
| - | |||
| - | ===== Backup-Scripts ===== | ||
| - | |||
| - | ==== Prozessübersicht ==== | ||
| - | Die Backup-Scripts müssen dafür sorgen, dass der Backup-Server jederzeit mit wenigen Handgriffen zum Hauptserver umgewandelt werden kann. Es werden | ||
| - | * täglich um 23:00 Uhr die [[# | ||
| - | * Di-Sa um 02:40 Uhr (Backupserver, | ||
| - | - die [[# | ||
| - | - die [[# | ||
| - | - die [[#Rechte korrekt setzen|Rechte korrekt gesetzt]] | ||
| - | - die [[# | ||
| - | * täglich um 05:10 [[#Rechte korrekt setzen|Rechte korrekt gesetzt]] (Produktivserver) | ||
| - | |||
| - | Die Prozesse werden auf den Servern zeitgesteuert über die Aufgabenplanung ausgeführt und sind so ausgelegt, dass sie im Fehlerfall eine E-Mail an operating@plan-bee.ch senden. Bei ordnungsgemässer Durchführung melden sie nichts, sodass die Fehlermails sofort auffallen. | ||
| - | |||
| - | Die Prozesse sind so gestaltet, dass der Backup-Server tagsüber heruntergefahren werden kann, wenn dies gewünscht wird. Hierzu wird am Ende des Scripts, welches die Datenbank um 05:15 lädt, der Befehl '' | ||
| - | < | ||
| - | [ $err == 0 ] && shutdown -p now | ||
| - | </ | ||
| - | dann bleibt der Server am Laufen, wenn ein Fehler aufgetreten ist und man sowieso nachschauen muss, was los ist. | ||
| - | |||
| - | Der wichtigste Prozess, die Dateispiegelung, | ||
| - | |||
| - | ==== Ort der Scripte, Konfiguration etc ==== | ||
| - | Die Scripts sind auf der Freigabe '' | ||
| - | * serverconfig.sh: | ||
| - | * '' | ||
| - | * '' | ||
| - | |||
| - | **Es ist wichtig, dass die Scripts und Konfigurationen auf dem gleichen Stand gehalten werden!** | ||
| - | |||
| - | ''/ | ||
| - | |||
| - | ''/ | ||
| - | |||
| - | ==== Speicherung der Datenbanken in Zip-Dateien ==== | ||
| - | Das Script '' | ||
| - | * '' | ||
| - | * '' | ||
| - | |||
| - | '' | ||
| - | |||
| - | Die Zip-Dateien werden im Verzeichnis '' | ||
| - | Wird das Script versehentlich auf dem Backup-Server ausgeführt, | ||
| - | |||
| - | ==== Vergleich der Benutzerkonfigurationen ==== | ||
| - | Da wir in 2017 einen Server-Ausfall erlebt haben, haben wir bemerkt, dass die Benutzerberechtigungen etwas umständlich sind, um sie im Ernstfall von Hand zu erfassen. Wir haben uns daher entschlossen, | ||
| - | |||
| - | Zu diesem Zweck führen wir das Vergleichs-Script '' | ||
| - | * die Gruppen | ||
| - | * die Benutzer | ||
| - | * die Gruppen-Zugehörigkeiten | ||
| - | * die //gid// und //uid// | ||
| - | auf beiden Servern gleich konfiguriert sind. Wenn nicht, meldet er dies durch Fehlercode --> E-Mail an operating@plan-bee.ch. Sollte also ein neuer Benutzer eröffnet worden sein, so taucht dies spätestens in der Folgenacht auf und kann umgehend korrigiert werden. | ||
| - | |||
| - | ==== Spiegelung der Dateien ==== | ||
| - | Das Script '' | ||
| - | |||
| - | Die '' | ||
| - | * die '' | ||
| - | * die ''# | ||
| - | * die '' | ||
| - | |||
| - | Der Zugriff auf den Produktionsserver erfolgt über ssh und rsync. Deshalb muss in der Systemsteuerung unter Dateidienste der Dienst **rsync** aktiviert werden [[wie_wurde_der_synology_server_aufgesetzt|Einrichten der Synology DS Stationen]]. | ||
| - | |||
| - | Die beiden Server kommunizieren direkt über die IP-Adresse durch den VPN-Tunnel und mit zertifikatsbasierter Authentifizierung. Diese muss eingerichtet werden [[ssh_via_zertifikat|siehe hier]]. | ||
| - | |||
| - | Wird das Script versehentlich auf dem Produktionsserver ausgeführt, | ||
| - | |||
| - | ==== Rechte korrekt setzen ==== | ||
| - | Aufgrund unserer [[Grundsätze der Rechte-Vergabe]] führen wir das Script, welche alle Rechte enthält, täglich auf beiden Servern aus, um sicherzustellen, | ||
| - | |||
| - | Die Rechte sind im Script '' | ||
| - | |||
| - | ==== Datenbank-Dump auf Backup-Server einspielen ==== | ||
| - | Das Script '' | ||
| - | |||
| - | Das Script löscht die Datenbank, legt sie neu an und liest sie anschliessend aus der ZIP-Datei ein. | ||
| - | Das Script verwendet den in my_load.cnf angegebenen Benutzernamen und Passwort für die Anmeldung an mysql. | ||
| - | |||
| - | Wird das Script versehentlich auf dem Produktionsserver ausgeführt, | ||
| - | |||
| - | |||
| - | ===== Umschaltung auf den Backup-Server ===== | ||
| - | |||
| - | Für die Umschaltung der Server gibt es die [[Checkliste Umschaltung Produktionsserver]]. Dazu wird eine Person mit technischer Erfahrung benötigt. | ||