So schützen Sie sich vor dem Verlust eines Servers mit kleinem Budget


22

Ich bin ein kleines Unternehmen mit wenig Budget, das Websites und Datenbanken für wohltätige Zwecke und gemeinnützige Kunden anbietet.

Ich habe ein paar Debian Linux VPS-Server und stelle sicher, dass ich täglich Backups auf einem anderen VPS als dem habe, auf dem der Dienst gehostet wird.

Kürzlich teilte mir eine meiner Hostingfirmen mit, dass zwei Laufwerke gleichzeitig ausgefallen sind und die Daten für immer verloren gingen. Zeug passiert, sie haben sich entschuldigt, was konnten sie sonst noch tun? Aber ich habe mich gefragt, wie ich einen VPS im Falle eines Hardwarefehlers oder eines anderen Hostfehlers auf kostengünstige Weise wieder in Betrieb nehmen kann.

Derzeit müsste ich

  1. Erstelle einen neuen VPS
  2. Holen Sie sich das Backup des letzten Tages (das Datenbanken, Web-Root und website-spezifische Konfiguration enthält) auf den VPS und konfigurieren Sie es wie das letzte usw.
  3. Aktualisieren Sie DNS und warten Sie, bis es sich verbreitet.

Es würde wahrscheinlich einen Tag oder so dauern, um dies zu erreichen, wobei die DNS-Verbreitung ein großes Unbekanntes ist, obwohl ich die TTL ziemlich niedrig eingestellt habe (Stunde oder so).

Einige Hosts stellen Snapshots zur Verfügung, mit denen ein Setup auf einen neuen VPS repliziert werden kann. Es gibt jedoch immer noch die IP-Adresse, und dies hilft nicht, wenn das Host-Unternehmen ein Konto endgültig aufhebt / sperrt (ich habe darüber gelesen) Verhalten von bestimmten Hosting-Anbietern und es macht mir Angst! Ich mache nichts Spammy / Dodgy und behalte die Sicherheit im Auge, aber mir ist klar, dass sie buchstäblich die Macht dazu haben und ich bin ziemlich risikoavers).

Ist dies in Kombination mit der Auswahl seriöser Hosts das Beste, was ich tun kann, ohne eine unglaublich teure Lösung anzustreben?


1
Sehr skeptisch gegenüber der Behauptung, dass 2 Laufwerke gleichzeitig ausgefallen seien, insbesondere bei einem vps
symcbean

Anscheinend ist einer gescheitert, während der neue wieder aufgebaut wurde.
Artfulrobot

Werfen Sie einen Blick auf drbd.linbit.com , dies könnte Ihren Anforderungen entsprechen.
The Unix Janitor

2
@symcbean: Das Problem ist, dass für eine RAID-5-Wiederherstellung alle Daten aller verbleibenden Festplatten gelesen werden müssen. Das ist ein ziemlich langer Vorgang (Stunden, wenn nicht Tage). Ein billiges RAID-5-System verfügt möglicherweise über ein 9 + 1-Setup mit Desktop-Laufwerken. Alle diese 9 Festplatten werden bei einem RAID-Rebuild über die Entwurfsgrenzen hinaus beansprucht. Ein Scheitern ist dann tatsächlich zu erwarten.
MSalters

1
Eigentlich haben sie Speicherpools und Prozessor- + Speicherpools als separate Einheiten, aber die Frage ist nicht, was bei einem bestimmten Anbieter passiert ist oder nicht. Es ist allgemeiner als eine spezifische Implementierung.
Artfulrobot

Antworten:


28

Bei der Auswahl seriöser Hosts und der Durchführung regelmäßiger Sicherungen - beides tun Sie anscheinend bereits - müssen Sie sich nicht mit der Planung von Geschäftskontinuitäten, Hochverfügbarkeits-Setups, SLAs usw. befassen.

Ich sage den Leuten , dass Sie kostenlos Verfügbarkeit von 99% erhalten (dh ohne etwas zu verbringen Extra auf hohe Verfügbarkeit). Das sind ungefähr dreieinhalb Tage Ausfallzeit pro Jahr. Jede zusätzliche 9 in dieser Betriebszeit erhöht die Kosten um das Drei- bis Zehnfache.

Wenn die Leute nicht bereit sind, diese Art von Geld zu bezahlen, ist es meiner Meinung nach ein Fehler, sie in die Irre zu führen und zu glauben, sie könnten einen zusätzlichen Schutz von beliebiger Bedeutung erhalten.


3
Das ist eine großartige Antwort. Ich habe eine sehr ähnliche Konfiguration und Art von Kunden wie @artfulrobot (wir verwenden sogar dasselbe Hosting-Unternehmen), und seine Frage und Ihre Antwort haben mir klar gemacht, dass es meine Verantwortung ist, meinen Kunden die Einschränkungen und Risiken mitzuteilen. in sehr einfachem Englisch, um sicherzustellen, dass sie realistische Erwartungen haben. Die meisten von ihnen sind sehr non-teccie, es besteht also eine sehr reale Wahrscheinlichkeit, dass sie denken, dass alles irgendwie magisch funktioniert, non-stop und ad infinitum. Ich möchte ihre Erwartungen während / nach einem großen Ausfall nicht in den Griff bekommen, ich muss es vorher tun!
Simon Blackbourn

Ich sage nicht, dass Ausfälle völlig unkorreliert sind, aber 1 + 1-Redundanz in der Theorie sollte Ihnen zwei zusätzliche Neunen für das Doppelte der Kosten bringen. Sie schlagen vor, dass die Kosten für zwei zusätzliche Neunen zwischen dem 9-fachen und dem 100-fachen liegen. 2x versus ~ 30x ist ein großer Unterschied.
MSalters

2
@MSalters das ist wahr, gegen bestimmte Arten von Ausfällen (Serverausfall). Gegen zB Standortausfall, es tut nichts, es sei denn , die beiden Server an verschiedenen Standorten sind, und dass wird sehr komplex in Bezug auf Netzwerk - Administrator. Sie berücksichtigen auch nur die Kapitalkosten und übersehen die gestiegenen Betriebskosten - die perfekte Synchronisierung von zwei Servern ist nicht trivial, je nachdem, was sie tun, und es fallen Verwaltungskosten für Load-Balancer an. Ich habe das Gefühl, dass redundante Server an einem einzigen Standort, die sich die LB-Last teilen, Ihnen neun weitere für das 3-4-fache der Kosten geben.
MadHatter unterstützt Monica

Gute und einfache Möglichkeit, es zu präsentieren. (Aber ... ich würde nur irgendwo einen Preis hinzufügen, da 3 bis 10 mal "frei" noch frei ist;). Oder meinen Sie natürlich die Gesamtkosten des Dienstes selbst? )
Olivier Dulac

@OlivierDulac genau so!
MadHatter unterstützt Monica

8

Kleine Unternehmen mit kleinen Budgets, insbesondere gemeinnützige Organisationen, können sich eine hohe Verfügbarkeit in der Regel nicht leisten. Die Frage ist, wenn Sie, wie in solchen Situationen üblich, praktisch kein Budget haben, wie lautet Ihre Wiederherstellungsstrategie?

Ich habe einige solche Kunden, und das ist, was ich tue:

Erstens habe ich für einige von ihnen alle sechs Stunden ein inkrementelles Backup und einen vollständigen Datenbankspeicherauszug. Ein Client hat CrashPlan Pro bereits verwendet, also habe ich das gerade verwendet. Was auch immer Sie tun, Sie müssen sicherstellen, dass Sie ein wiederherstellbares Backup haben.

Ich habe ein einfaches Ansible-Playbook, das ich in ungefähr einer Stunde zusammengestellt habe (ohne zuvor mit Ansible gearbeitet zu haben) und das Nginx, Php-Fpm und MariaDB installiert und für das Hosten einer Website oder von Websites vorbereitet. Das Ausführen dieses Playbooks führt zu einem Server (oder mehreren Servern), auf dem eine typische Webanwendung gehostet werden kann, und ich kann einfach den virtuellen Host, die Anwendungsdateien und die Datenbank von nginx darauf wiederherstellen.

Das Ergebnis ist, dass ich eine solche Website in nur wenigen Minuten aus dem Backup aufrufen kann, im Gegensatz zu der manuellen Methode, die eine Stunde oder länger dauern kann.


Hey, das klingt genau richtig. Ich werde das untersuchen. Vielen Dank.
Artfulrobot

Hochverfügbarkeit ist auch für kleine Kunden von guten Anbietern leicht verfügbar. Sie erzielen Skaleneffekte.
James Ryan

@JamesRyan Ja, aber du bekommst keine Ökonomie von ... Ökonomie. Sagen Sie mir, ob es sinnvoll ist, zwei Amazon-Instanzen und einen Elastic Load Balancer für eine Website auszuführen, auf der 300 Zugriffe pro Monat verzeichnet werden.
Michael Hampton

@MichaelHampton das ist nicht mal im entferntesten das, was ich vorgeschlagen habe. Ein Unternehmen, das VPS für Hunderte von Kunden hostet, kann diese auf redundante Hardware verteilen, anstatt sie einfach auf einen einzigen physischen Server zu legen und ihnen die Daumen zu drücken.
James Ryan

4

Die Komplexität der Implementierung hängt vom Anwendungsstapel ab. Idealerweise möchten Sie jedoch einen "Hot Standby" (bei einem anderen Anbieter) einrichten, bei dem die Daten in Echtzeit (oder so nah wie möglich an der Echtzeit) repliziert werden.

Das Erstellen eines Business Case für zwei "Live" -Server ist so einfach wie das Vergleichen des potenziellen Ertragsverlusts während eines Zeitraums der "Wiederherstellung von Images" mit den Kosten eines anderen Servers.


Vielen Dank. Ich benutze einen LAMP-Stack. Ich denke, Echtzeit wäre so etwas wie MySQL-Replikation, obwohl die Verwaltung ziemlich schwierig werden kann. Und es verdoppelt die Server, die ich verwalten muss. Vielleicht wäre es sinnvoll, eine Low-Spec-Box mit einer Live-Kopie aller anderen Server zu haben, also war es nur die DNS-Weitergabe. Dann könnte ich das wieder auf einen neuen VPS klonen und den DNS ändern (hmmm.).
Artfulrobot

Die Einrichtung und Konfiguration der MySQL-Replikation ist in der Regel recht einfach, abgesehen von der Zeit, die für die Übertragung des ursprünglichen Datasets aufgewendet wurde. Bei DNS respektieren die meisten Resolver heutzutage niedrige TTLs, und das Festlegen einer TTL für einen Datensatz von nur 60 Sekunden funktioniert normalerweise gut.
Mark R.

Die MySQL-Replikation ist komplexer, wenn Sie neue zusätzliche Datenbanken hinzufügen müssen, und ich glaube, es ist immer noch schwierig, einen Server als Slave für mehr als einen Master zu haben (Replikation mehrerer Datenbanken auf einem Standby-Server). Natürlich müssen Sie auch den Zugriff zwischen Servern, z. B. stunnel, sichern, damit die PKI gewartet werden kann, sofern Sie kein privates LAN haben. Dies ist jedoch ausgeschlossen, da dies bei einem separaten Hosting-Unternehmen erfolgen muss.
Artfulrobot

Es gibt immer Replicate-Do-DB- und SSH-Tunnel mit Schlüsseln.
Mark R.

Wird verwendet, um Standard-SSH-Tunnel auszuführen, ist jedoch nicht zuverlässig. Stunnel ist jedoch großartig, wenn Sie es erst einmal zum Laufen gebracht haben.
Artfulrobot

2

Beachten Sie, dass die Verfügbarkeit nicht mit der Datenintegrität identisch ist. Sie können eine Verfügbarkeit von 99,99% erreichen und haben alle Ihre Daten zweimal im Jahr verloren, solange der Server "früh genug" neu gestartet wurde. Die meisten VPS-Anbieter garantieren, dass Ihr Server ausgeführt wird, NICHT, dass Ihre Daten sicher sind. Ihre Daten sind Ihr Problem :(.

Nach was Sie suchen, ist etwas, das Ihre Unterstützungen auf einem unterschiedlichen Bediener und (IMHO) nicht sogar im gleichen Versorger speichert. Abhängig von der Datenmenge, über die Sie sprechen, kann eine tragbare Festplatte als dritte Linie der Offline-Verteidigung verwendet werden. Sichern Sie Ihre Daten wie gewohnt und kopieren Sie diese (oder wenn möglich nur die Änderungen) regelmäßig auf die tragbare Festplatte oder sogar auf einen lokalen Computer. Es gibt auch einigermaßen günstige Optionen wie Backblaze für Backup-Lösungen, aber der Preis hängt von der Datenmenge ab, über die Sie sprechen. Wenn Sie inkrementelle Sicherungen durchführen können, ist dies viel billiger als vollständige Sicherungen. Inkrementelle Sicherungen können jedoch sehr schwierig sein, je nachdem, wo die Daten gespeichert sind (flache Dateien = einfach, Datenbank = nicht so einfach).


Ja, das mache ich :-) Und ja, Hosting-Unternehmen interessieren sich nicht für Daten, ich habe mich auch schon einmal mit Festplattenkorruption befasst!
Artfulrobot

0

Die Antwort hängt ganz von Ihrer Architektur und Ihren Anforderungen ab. Vor einiger Zeit sind 3 Disks auf einem Server von mir ausgefallen und haben mehr als 20 VMs zerstört, als ein Raid 6 fehlgeschlagen ist.

Ich schrieb darüber bei

https://www.linkedin.com/pulse/20140827173324-2064263-wie-verliere-mein-Geschäft-zu-3- Festplatten

Aber: Da dies kritisch ist, hatten wir täglich Backups für unwichtige Dinge, 15 Minuten für Datenbanken und E-Mails. Nun habe ich einen Server hinzugefügt, der alle 30 Sekunden auf einen anderen Computer repliziert wird.

Sie sagen nichts über den Stack, nichts über das Budget - der beste und einzige Ratschlag hier ist, sich an einen Cloud-Anbieter zu wenden und dessen Sicherungsmechanismen zu nutzen. Aber fangen Sie an zu definieren, was Sie tatsächlich brauchen.

Außerdem sollte das Budget für dieses Backup in Ihrem Preis enthalten sein. Es muss bezahlt werden. Und welche Infrastruktur Sie auch brauchen ... Sie brauchen sie. Es ist dann nicht "lächerlich teuer".


TomTom: aoe + openfiler und ein paar Kisten und Sie können ein Micro-San mit sehr hoher Verfügbarkeit
erstellen
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.