PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Notfallplan bei totalen Ausfall von gemieteten Server / Habe ich an alles gedacht ?



ComputerMan
27.08.13, 09:03
Ich habe bei 1und1 einen dedizierten Server mit CentOS 6.4 und Plesk 11 mir vor kurzem gemietet. Nun stricke ich mir einen Notfallplan falls der Server mal komplett neu aufgesetzt werden müsste. Es wäre schön wenn Ihr mal auf meinen Plan schauen könntet und eventuelle Verbesserungsvorschläge machen könntet.

Diese Hardware möchte ich für meinen Plan nutzen


Dedizierter Server L4 (4 Core) bei 1und1 1GB HDD
Sysnology DS711+ (bei mir Zuhause erreichbar per SSH)
Onlinestorage bzw. kleiner dedizierter Server der nur für Rsync bzw Bacula sein soll


Was soll gesichert werden (ca. 6GB)


Magento und einige zusätzliche Daten (normale Daten vom Webspace)
4 MySQL Datenbanken
Systemdaten die benötigt werden um das System schnell wieder auf den Ursprungszustand zum Zeitpunkt der Sicherung zurückspielen zu können


Welche Programme zum sichern


Bacula 5.2.13 installiert auf den 1und1 Server
Webmin (um Bacula einfacher zu steuern)
Rsync
MySQLDumper


Was wird mit Bacula gesichert um das System wieder komplett im Urzustand zum Zeitpunkt der Sicherung zu haben


/etc
/bin
/home
/sbin
/var/www
/var/lib
/var/log
/var/run
/var/webmin
/usr
/lib
/opt
/root


Und dies ist mein Plan:
1. Per Rsync und MySQL Dumper auf die DS711+ Webspacedaten und SQL Datenbanken abgleichen (vielleicht auch den ganzen Server, habe aber nur 2300er DSL :( , vielleicht reicht der Speed nicht für alles)
2. Per Rsync und MYSQL Dumper den ganzen Server auf den zusätzlichen Olinestorage/Server
3. Mit Bacula auf dem 1und1 Server in einen Bereich täglich/stündlich "Arbeitsdaten" und mit MYSQLDumper ebenso täglich/stündlich die SQL Datenbanken sichern
4. Mit Bacula auf den zusätzlichen Olinestorage/Server den ganzen Server sichern
4.1 Optional wenn ein zweiter Server angeschafft wird, von dem zweiten Server den 1und1 Server mit Bacula sichern und die Daten auf dem zweiten Server lagern
5. Sicherungen in Plesk regelmässig vom Webspace machen und auf den zusätzlichen Olinestorage/Server lagern

Dabei ist zu bedenken, das falls der Server von Grund auf neu gemacht werden müsste, ich das über 1und1 anschmeissen kann. Dann ist der Server wieder komplett mit CentOS 6.4 und Plesk 11 in der Grundeinstellung weil die ja alle Installationsdateien zur Verfügung stellen. Dann zuerst Bacula draufpacken (als Client ) und schon könnte ich vom zusätzlichen Olinestorage/Server einspielen. Oder eben vom zusätzlichen Olinestorage/Server per Rsync. Zum Schluss die letzten Versionen der SQL Datenbanken mit MYSQLDumper einspielen.

Irgendwie kommt mir das "zu krumm gedacht" vor. Denke ich zuviel oder habe ich was vergessen ? Da ich erst seit kurzem in der Linuxwelt bin, bin ich mir auch nicht sicher ob ich alle wichtigen Verzeichnisse sichere um einen total ausgefallenen Server wieder herstellen zu können mit allen Einstellungen von mir.

Was wäre wenn ich auf z.B. CentOS 6.5 (also eine neue Version) aufspielen müsste, weil 1und1 mein Installationspaket nicht mehr anbietet ? Aus der Entfernung kann ich ja leider kein Festplattenimage vom ganzen Server machen, denn das wäre in regelmässigen Abständen ja das sicherste.

Gebt mir mal bitte Euren Rat was Ihr hiervon haltet und was Ihr besser machen würdet. Ich bin auch für alle Scripte oder Einstellungen für Bacula oder Rsync sehr dankbar. Ebenso Empfehlungen für günstige Sicherungsserver oder Onlinestorage. Habe bisher im Auge Euserv Onlinestorage (http://www.euserv.de/produkte/server/optionen/ftp-backup.php?sess_id=492ac4476e93856ae9e656977ef470c 7) oder KSG4 Server (http://www.ovh.de/dedicated_server/isgenug.xml)

Viele Grüsse

Aqualung
27.08.13, 10:39
Webmin nicht benutzen.

zyrusthc
27.08.13, 13:02
Webmin ist das Sicherheitsloch in deinem System.

ComputerMan
28.08.13, 06:49
Webmin ist das Sicherheitsloch in deinem System.
Mhh,
warum schimpft Ihr so auf Webmin ?
Wo ist da das Sicherheitsloch denn ? Als Benutzer ist nur einer eingetragen mit merkwürdigen Namen und der Port ist geändert. Dann kann es ja nur noch an den Scripten liegen, oder ?

Ist es denn wirklich so schlimm ? Finde die Oberfläche eigentlich ganz praktisch.

Wenn Webmin nichts ist und es trotzdem eine Oberfläche sein soll, welche nehmt Ihr denn ?

Und zu der Backupstrategie, ist das zu heavy und ginge es auch einfacher ebensogut ?

Grüsse

marce
28.08.13, 06:59
Und zu der Backupstrategie, ist das zu heavy und ginge es auch einfacher ebensogut ?
Grundlegende Frage wäre erst mal: Wie viel Zeit darf denn die Wiederherstellung und die Sicherung kosten? Wie eng musst Du am jeweiligen Live-Stand sein?

Ansonsten - mit einer sauberen Installationsanleitung (1) (getestet) - kannst Du Dir eigentlich das Sichern von Dingen wie bin und aller anderer Systemverzeichnisse sparen und Dich nur auf die applikationsrelevanten Daten konzentrieren - also meist irgendein Web-Verzeichnis + einen DB-Dump - der Rest ist generisch und ergibt sich aus (1) - wenn man das sauber durchgeplant hat innerhalb weniger Minuten und quasi ohne manuelles zutun.

Ich würde mehr Augenmerk darauf legen, daß diese Backup-Daten auch garantiert valide sind.

ComputerMan
28.08.13, 07:15
Grundlegende Frage wäre erst mal: Wie viel Zeit darf denn die Wiederherstellung und die Sicherung kosten? Wie eng musst Du am jeweiligen Live-Stand sein?

Ansonsten - mit einer sauberen Installationsanleitung (1) (getestet) - kannst Du Dir eigentlich das Sichern von Dingen wie bin und aller anderer Systemverzeichnisse sparen und Dich nur auf die applikationsrelevanten Daten konzentrieren - also meist irgendein Web-Verzeichnis + einen DB-Dump - der Rest ist generisch und ergibt sich aus (1) - wenn man das sauber durchgeplant hat innerhalb weniger Minuten und quasi ohne manuelles zutun.

Ich würde mehr Augenmerk darauf legen, daß diese Backup-Daten auch garantiert valide sind.
Na ja Zeit, irgendwie Nachts und am Tage ein paar mal Datenbank Dumps.

Wie meinst Du Installationsanleitung ? Die eigentlichen Einstellungen für z.B. PHP, Apache, ssh usw. liegen doch in den Verzeichnissen die ich sichere. Wenn ich also eine Grundinstallation zurückspiele und dann diese Daten zurückspiele mit den SQL Dumps müsste ich doch wieder alles haben, oder ?

Wie gewährleistest Du denn das Deine Backups valide sind bzw. wie testet man das ? Wenn Bacula meldet Sicherung OK heisst das für mich auch OK oder habe ich einen Gedankenfehler ?

Grüsse

marce
28.08.13, 07:53
Wie meinst Du Installationsanleitung ? Die eigentlichen Einstellungen für z.B. PHP, Apache, ssh usw. liegen doch in den Verzeichnissen die ich sichere. Wenn ich also eine Grundinstallation zurückspiele und dann diese Daten zurückspiele mit den SQL Dumps müsste ich doch wieder alles haben, oder ?
Wenn der neue Server identisch mit dem zuvor ist - ja, mehr oder weniger.
Mac-Adressen ändern sich, ggf. ssh-Keys, ...
Wenn dann das Installationsimage noch neuer ist als das alte (soll ja ggf. vorkommen) - hast Du ein Problem.

Sauber wäre ein Script, welches von einem "from Scratch"-System die Applikation sauber neu aufbaut und alle notwendigen Einstellungen setzt. Ja, das ist Arbeit. Damit steht dann aber auch nach Bereiststellung des Servers die komplette Umgebung in ca. 10 Minuten - dann noch Dumps einspielen und fertig.


Wie gewährleistest Du denn das Deine Backups valide sind bzw. wie testet man das ? Wenn Bacula meldet Sicherung OK heisst das für mich auch OK oder habe ich einen Gedankenfehler?
Stichworte:
- geöffnete Dateien
- temporäre Dateien
- DB-Transaktionen

ein reiner default-mysqldump z.B. ist nicht transaktionssicher.

pibi
28.08.13, 08:41
Wie gewährleistest Du denn das Deine Backups valide sind bzw. wie testet man das ? Wenn Bacula meldet Sicherung OK heisst das für mich auch OK oder habe ich einen Gedankenfehler?Bacula an sich ist eine gute Sache. Ich setze es schon seit Jahren ein. Kompliziert wird es nur, wenn die Maschine "kaputt geht", auf der Bacula selber laeuft und die auch die Bacula-DB beherbergt (Stichwort "Desaster recovery" im Manual). Ich kenne die Moeglichkeiten nicht, die Dein Hoster bietet, aber ohne physischen Zugang zum Server hast Du in diesem Fall wahrscheinlich schlechte Karten.

Gruss Pit.

ComputerMan
28.08.13, 12:51
Bacula an sich ist eine gute Sache. Ich setze es schon seit Jahren ein. Kompliziert wird es nur, wenn die Maschine "kaputt geht", auf der Bacula selber laeuft und die auch die Bacula-DB beherbergt (Stichwort "Desaster recovery" im Manual). Ich kenne die Moeglichkeiten nicht, die Dein Hoster bietet, aber ohne physischen Zugang zum Server hast Du in diesem Fall wahrscheinlich schlechte Karten.

Gruss Pit.
Ich hatte eigentlich vor mit MYSQLDumper auch die bacula Datenbank regelmässig (mind. 2mal täglich, auf jeden Fall direkt nach den nächtlichen Sicherungen) auf mein lokales NAS zu dumpen. Wenn dann Bacula komplett down ist könnte ich doch die gleiche Version installieren (das tar dafür habe ich mir zurückgelegt), und die bacula Datenbank wiederherstellen. Zusammen mit den Sicherungen müsste es eigentlich dann sofort wieder funktionieren, oder ?

Ich glaube das beste ist, ich mache mir, demnächst wenn etwas Zeit ist, eine identische virtuelle Maschine bei mir lokal . Da habe ich dann alle Möglichkeiten die gedumpten baculadatenbanken und die Sicherungen wieder zurückspielen zu können.

Grüsse

marce
28.08.13, 13:02
naja, das gehört ja eh dazu: Test, ob die Sicherung auch wieder zurücksicherbar ist.

Ohne das - kannst Du die Sicherung ggf. auch einfach weglassen :-)

Sven_R
01.09.13, 21:29
Und dies ist mein Plan:
1. Per Rsync und MySQL Dumper auf die DS711+ Webspacedaten und SQL Datenbanken abgleichen (vielleicht auch den ganzen Server, habe aber nur 2300er DSL :( , vielleicht reicht der Speed nicht für alles)
2. Per Rsync und MYSQL Dumper den ganzen Server auf den zusätzlichen Olinestorage/Server
3. Mit Bacula auf dem 1und1 Server in einen Bereich täglich/stündlich "Arbeitsdaten" und mit MYSQLDumper ebenso täglich/stündlich die SQL Datenbanken sichern
4. Mit Bacula auf den zusätzlichen Olinestorage/Server den ganzen Server sichern
4.1 Optional wenn ein zweiter Server angeschafft wird, von dem zweiten Server den 1und1 Server mit Bacula sichern und die Daten auf dem zweiten Server lagern
5. Sicherungen in Plesk regelmässig vom Webspace machen und auf den zusätzlichen Olinestorage/Server lagern

zu 1) Kannst du über Bacula erledigen lassen. In den Configs einen zweiten Storage einrichten und die DB Dumps per Sicherungslauf über "Run Befor Job" und "Run After Job" erledigen. Die Scripte dazu auf dem Clienten hinterlegen.

zu 2) würde ich von Bacula machen lassen ist einfacher und zuverlässiger.
zu 3) Stündliche Sicherungen halte ich mit Bacula nicht für Vorteilhaft, wenn das Backup der DB eine Stunde Dauert kommen sich die Jobs in die Quere.
zu 4) nicht wirklich empfehlenswert da man das Basissystem sowieso durch die neu Installation bekommt, es sei den da sind diverse Sachen drauf die selbst gebaut sind, aber selbst dann würde ich das beim Recover über ein Script machen, da das mehr Sicherheit bringt.
zu 5) Plesk würde ich keine Backups anvertrauen! Hab schon viele Kunden gehabt die von Plesk ein kaputtes Backup bekommen haben.



Dabei ist zu bedenken, das falls der Server von Grund auf neu gemacht werden müsste, ich das über 1und1 anschmeissen kann. Dann ist der Server wieder komplett mit CentOS 6.4 und Plesk 11 in der Grundeinstellung weil die ja alle Installationsdateien zur Verfügung stellen. Dann zuerst Bacula draufpacken (als Client ) und schon könnte ich vom zusätzlichen Olinestorage/Server einspielen. Oder eben vom zusätzlichen Olinestorage/Server per Rsync. Zum Schluss die letzten Versionen der SQL Datenbanken mit MYSQLDumper einspielen.

Über Bacula wäre das besser da Bacula auch Daten sichert wenn sie Kaputt sind!! Falls so was vorkommt kannst du eine Version einer Datei nehmen die Funktioniert.
Könnte man sogar über Scripte laufen lassen, haben wir bei diversen Kunden teilweise massiv im Einsatz. So was kann man dann auch zum Deploy Missbrauchen, statt ein System wieder herzustellen. Bacula Console rauf nen paar Bashscripte gezimmert und los gehts.



Irgendwie kommt mir das "zu krumm gedacht" vor. Denke ich zuviel oder habe ich was vergessen ? Da ich erst seit kurzem in der Linuxwelt bin, bin ich mir auch nicht sicher ob ich alle wichtigen Verzeichnisse sichere um einen total ausgefallenen Server wieder herstellen zu können mit allen Einstellungen von mir.

Wichtig ist vor allem zu wissen was die Daten, bzw. ein Ausfall Verursacht und wie lange er im schlimmsten Fall Dauern darf.



Was wäre wenn ich auf z.B. CentOS 6.5 (also eine neue Version) aufspielen müsste, weil 1und1 mein Installationspaket nicht mehr anbietet ? Aus der Entfernung kann ich ja leider kein Festplattenimage vom ganzen Server machen, denn das wäre in regelmässigen Abständen ja das sicherste.

Kein Image aber eine Komplettsicherung des gesamt Systems geht ja, man muss nur sicherstellen das die Kiste bei einem Komplettrecover auch wieder startet, ansonsten ist das kein Problem solche Konstellationen zuverlässig zu fahren. Wir haben für solche Sachen nen Recover auf ne Virtuelle Maschine die ein neues System enthält und dann über Bacula das Recover drüber bügelt, solange es keine Grundlegenden Veränderungen in der Hardware gibt geht das. Ist zwar fummelig aber lösbar.




Gebt mir mal bitte Euren Rat was Ihr hiervon haltet und was Ihr besser machen würdet. Ich bin auch für alle Scripte oder Einstellungen für Bacula oder Rsync sehr dankbar. Ebenso Empfehlungen für günstige Sicherungsserver oder Onlinestorage. Habe bisher im Auge Euserv Onlinestorage (http://www.euserv.de/produkte/server/optionen/ftp-backup.php?sess_id=492ac4476e93856ae9e656977ef470c 7) oder KSG4 Server (http://www.ovh.de/dedicated_server/isgenug.xml)

Also aus meiner sicht würde ich soviel wie möglich durch Bacula erledigen lassen, da man so was mit Bacula einfach umsetzen kann würde das die Sache viel einfacher machen und nicht so Komplex



Wie gewährleistest Du denn das Deine Backups valide sind bzw. wie testet man das ? Wenn Bacula meldet Sicherung OK heisst das für mich auch OK oder habe ich einen Gedankenfehler ?

Das heist nicht das die Daten vom Backup auf laufen!! Ne abgebrochenen SQLDump merkst du nicht, und schon garnicht Bacula. Ein OK heist nur das der Job erfolgreich ausgeführt wurde. Um die Integrität der Daten zu Gewährleisten kannst du einen "Verfify Job" laufen lassen. Der bestimmt an Hand von Prüfsummen ob die Daten auch korrekt im Storage liegen, das gibt aber keine Garantie das die Datei nicht beschädigt ist.



Kompliziert wird es nur, wenn die Maschine "kaputt geht", auf der Bacula selber laeuft und die auch die Bacula-DB beherbergt (Stichwort "Desaster recovery" im Manual). Ich kenne die Moeglichkeiten nicht, die Dein Hoster bietet, aber ohne physischen Zugang zum Server hast Du in diesem Fall wahrscheinlich schlechte Karten.

Auch kein Problem da kann man bei MySQL/Postgres die Replikation benutzen somit hat man zwei Datenbanken die man zum Recover nutzen kann. Man muss nur die Bacula Console Installiert haben und der Reserver Director muss die gleichen Konfigs haben dann geht sowas. Ist zwar Fummelig und mit ein bisschen Aufwand verbunden, das muss man auch Testen, aber es geht. Ansonsten hast du dir sowieso in beide Knie geschossen.


Ich hatte eigentlich vor mit MYSQLDumper auch die bacula Datenbank regelmässig (mind. 2mal täglich, auf jeden Fall direkt nach den nächtlichen Sicherungen) auf mein lokales NAS zu dumpen. Wenn dann Bacula komplett down ist könnte ich doch die gleiche Version installieren (das tar dafür habe ich mir zurückgelegt), und die bacula Datenbank wiederherstellen. Zusammen mit den Sicherungen müsste es eigentlich dann sofort wieder funktionieren, oder ?

Ich glaube das beste ist, ich mache mir, demnächst wenn etwas Zeit ist, eine identische virtuelle Maschine bei mir lokal . Da habe ich dann alle Möglichkeiten die gedumpten baculadatenbanken und die Sicherungen wieder zurückspielen zu können.

Das macht Bacula sowieso Täglich, das ist nen Standard Job. Das kannst du auch per Job über "Run Before" auch durch Bacula machen lassen, musst nur nen Script bauen was das macht.

Sven