
Bei mir auf der Arbeit verwenden wir eine Linux-Box, um unseren Quellcode zu speichern und unsere Revisionskontrollsoftware (SVN) zu hosten. Wir haben dort auch einige andere Produkte wie „Trac“ für das Projektmanagement, Fisheye und Crucible für Codeüberprüfungen. Wenn diese Box den Geist aufgibt, möchte ich alle Dienste, Software, Benutzerkonten usw. mit nahezu null Ausfallzeiten am Laufen halten können. Nach welcher Lösung suche ich?
Einige nützliche Tipps:
- Die Kosten für die Lösung sind kein Problem. Ich würde jedoch lieber eine einmalige Gebühr zahlen als ein Abonnement.
- Ich möchte nur minimalen Verwaltungsaufwand für die Wartung und Wiederherstellung des Backups.
- Die Box ist nachts und am Wochenende im Leerlauf.
- Wir haben ein paar Kilometer entfernt eine weitere Einrichtung, aber eine relativ langsame Verbindung zwischen den beiden Gebäuden (nachts jedoch schneller). Ich hätte diese Wiederherstellungsoption gerne außerhalb des Standorts für den Fall eines Brandes usw.
- Ich möchte, dass das Backup gekauft, ausgeführt und bereit ist, bevor ich es jemals benötige. Nicht „nach einem Absturz eine neue Box kaufen, ...“
- Die Box ist nichts Besonderes, nur ein Standard-Desktop mit Ubuntu Linux darauf. Nichts, wofür wir sie verwenden, ist Hochleistung.
Kennt jemand eine Lösung für mich? Ich kenne mich weder mit Linux noch mit Servern gut aus, also gebt in euren Antworten bitte grundlegende Erklärungen.
Danke!
Antwort1
Eigentlich sprechen Sie von drei miteinander verbundenen, aber unterschiedlichen Dingen:
- Fehlertoleranz (wie kann ich den Betrieb aufrechterhalten oder ein Backup mit minimalen Ausfallzeiten einrichten)
- Datensicherung (was mache ich, wenn jemand mein Repository per RM-RF aufruft)
- Disaster Recovery (Was mache ich, wenn mein Büro vom Erdboden verschwunden ist)
Sie sollten sie wirklich als drei unterschiedliche, aber miteinander verbundene Prozesse betrachten. Ich werde am ausführlichsten auf die Fehlertoleranz eingehen, da dies bei einer Ausfallzeit von maximal einer Stunde anscheinend das ist, wonach Sie wirklich suchen.
Einige Aspekte, die hinsichtlich der Fehlertoleranz zu berücksichtigen sind:
- Wie lange dauert es, bis ich neue Ausrüstung bekomme?
- Wie lange werde ich brauchen, um die Box wieder aufzubauen?
- Wie lange dauert die Überprüfung und Wiederherstellung der Daten?
Nehmen Sie die Summe dieser Zeiten, multiplizieren Sie sie mit 30 % (in einem Notfall läuft nichts so reibungslos, wie Sie denken) und wenn diese Summe größer ist als Ihre akzeptable Ausfallzeit, müssen Sie sich nach Hochverfügbarkeits-Setups umsehen. Wenn sie geringer ist, liegt es an Ihnen, das Risiko einzugehen, dass Ihre Schätzungen falsch sind und die Leute möglicherweise länger ausfallen als erwartet.
Was mögliche Lösungen angeht, gibt es eine Menge Dinge, die man tun kann. Aber in jedem Fall würde ichhöchstIch empfehle, den Desktop durch eine Maschine der Serverklasse zu ersetzen. Die Qualität der Komponenten ist höher und sie sind für den 24-Stunden-Betrieb an 365 Tagen im Jahr ausgelegt, sodass in die Hardware bereits eine angemessene Redundanz eingebaut ist (gute RAID-Karten, redundante Netzteile usw.).
- Sie könnten an Ihrem zweiten Standort einen Standby-Server einrichten und dann Ihre Daten alle x Zeiträume per Rsync synchronisieren – wobei x die Datenmenge ist, die Sie zu verlieren bereit sind, wenn der Server zwischen den Replikationen ausfällt. Rsync ist nach der ersten Synchronisierung sehr datenleitungsfreundlich, da es nur Deltas und geänderte Dateien sendet. Richten Sie Ihre Server außerdem so ein, dass sie über CNAME aufgerufen werden, sodass Sie einfach die Zieladresse wechseln und loslegen können.
- Gehen Sie wie oben beschrieben vor, allerdings mit dem Unterschied, dass sich der Standby-Server an Ihrem primären Standort befindet.
- Besorgen Sie sich ein SAN/NAS und zwei Server. Richten Sie diese dann in einem Active/Active-Cluster oder einem Active/Passive-Cluster ein.
Backups sind ebenfalls ein sehr wichtiger Teil des Szenarios. Sie sollten bedenken, dass es keinen Ersatz für ein zeitpunktbezogenes Backup gibt, das extern gespeichert ist. Persönlich bin ich immer noch der Meinung, dass ein Backup auf Band und die anschließende externe Speicherung durch ein Unternehmen wie Iron Mountain die beste Option ist. Für Ihre Umgebungsgröße sollte jede der „großen“ Backup-Lösungen – ArcServ, BackupExec, NetBackup – ausreichen. Stellen Sie außerdem sicher, dass Sie Ihre Backups mindestens vierteljährlich TESTEN. Nichts ist ärgerlicher, als herauszufinden, dass das Backup, das Sie benötigen, schlecht ist.
Bei der Notfallwiederherstellung geht es eigentlich nur darum, sich hinzusetzen und zu planen, von wo aus Sie arbeiten werden, woher Sie die Ersatzgeräte bekommen und sicherzustellen, dass Sie gute externe Backups haben. Ich betrachte die Notfallwiederherstellung als das Zusammenführen aller oben genannten Komponenten in einen zusammenhängenden Aktionsplan für den Fall, dass das Schlimmste passiert.
Antwort2
Sie könnten die Umgebung virtualisieren und müssten dann lediglich das Image wiederherstellen.
Antwort3
Abhängig von der Datenmenge, der Komplexität des Hauptsystems und davon, wie viel Verwaltungsaufwand Sie durchführen möchten, gibt es hier zahlreiche Optionen.
Ich mag XenServer dafür, wenn die virtualisierte Box relativ klein ist (wenige GB). Ein interner App-Server, den wir betreiben, ist beispielsweise nur 3 GB groß. Ich kann ihn einfach anhalten, ein Backup erstellen und das Backup auf ein anderes System übertragen. Wenn Sie jedoch mit XenServer nicht vertraut sind, kann dies eine steile Lernkurve sein.
Ich verwende auch die CDP-Server-Backup-Software von R1Soft, aber sie ist nicht wirklich für eine schnelle Wiederherstellung geeignet. Sie eignet sich hervorragend für eine vollständige Bare-Metal-Wiederherstellung eines ausgefallenen Servers, aber für Backups und Wiederherstellungen in weniger als einer Stunde.
Ich habe so etwas für Kunden gemacht: Verwenden Sie die CDP-Backup-Software, um ein Primärsystem auf ein kaltes Ersatzsystem zu klonen. Dadurch wird sichergestellt, dass das Ersatzsystem mit dem Primärsystem identisch ist. Dann haben wir stündliche Snapshots auf dem CDP-Server gespeichert. Der CDP-Server verwendet einen sehr effizienten Backup-Algorithmus, sodass der Live-Server kaum beeinträchtigt wird.
Im Fehlerfall können Sie die Daten vom CDP-Server auf Ihrem Cold-Spare wiederherstellen.
Das Problem bei diesem oder einem rsync-basierten Ansatz besteht darin, dass Sie sicherstellen müssen, dass sowohl das Hot- als auch das Cold-Spare verwaltet werden, damit deren Software synchron bleibt. Sie möchten sicherlich nicht auf einem Betriebssystem-Updates ausführen und vergessen, sie auf dem anderen durchzuführen.
Eine Empfehlung besteht darin, nach Möglichkeit eine standardisierte Konfiguration auf Ihrem Server zu verwenden. Dadurch werden die Auswirkungen von Konfigurations-/Aktualisierungsänderungen beim Wiederherstellen/Neusynchronisieren von Daten auf das Cold-Standby-System verringert.
Außerdem halte ich meine Daten – also die Dinge, die ich hinzufüge – gerne gut isoliert vom System. Wenn Sie LVM verwenden, funktionieren LVM-Snapshot-Methoden möglicherweise auch.
Es müssen viele Optionen in Betracht gezogen werden. Welche Option die beste ist, hängt jedoch von Ihrem internen Fachwissen, der für die Systemverwaltung benötigten Zeit und Ihren Datennutzungsmustern ab.
Wenn die Datenmenge sehr gering ist, sollten Sie sich auch Backup-/Wiederherstellungstools auf Desktop-Ebene ansehen. Ich bin mit denen nicht so vertraut.
http://www.r1soft.com/ CDP-Serversoftware
http://www.citrix.com/XenServer
Antwort4
scheint, als ob hier etwas so Einfaches wie rsync + cron ausreichen könnte.