Frage, Ausfallsicherheit für vServer erhöhen?

Domi

Member
Hallo Leute, ich habe da mal wieder eine kleine Frage an Euch.
Ich würde gerne mal wissen, wie Ihr die Ausfallsicherheit Eurer Server erhöht habt. Problematik bei uns ist jetzt, wir haben eine Domain auf einem Hetzner vServer. Der ist dummerweise Donnerstag Vormittag und Samstag spät Abends nicht mehr erreichbar gewesen.

Da wir für diese Domain Google Adwords geschaltet haben, ist das natürlich ganz ungünstig. Nun wollte ich mal fragen wie Ihr bei Euch die Server / vServer oder Domains vor so etwas abgesichert habt.

Da ich hier und dort mal Google verwendet habe, seit Jahren auch das eine oder andere Thema verfolge, fällt mir spontan Load-Balancing ein, aber das ist ja auch keine Lösung die 100% bieten könnte. Denn wenn der Server für das Load-Balancing weg bricht, haben wir den gleichen Salat :D

Somit müsste ich vier Server haben... 2x Load-Balancer und 2x Webseite. Dann kommt aber wieder das Phänomen, wie erkläre ich dem DNS das die IP von dem zweiten Load-Balancer angesprochen werden soll, falls der erste ausfällt?

Daher wollte ich jetzt einfach einmal von Euch wissen wie Ihr eine Eurer wichtigsten Domains oder alle Domains so abgesichert habt, dass ihr die geringste Ausfallsicherheit habt?!

Joa.. Hoffe ich habe alles erklärt und hoffentlich bin ich hier in der vServer Ecke vom Forum richtig unterwegs. Da bin ich mir nämlich nicht so sicher.

Gruß, Domi

p.s. Ich bin mir jetzt nicht 100% sicher aber Prioritäten im DNS waren nur beim MX-Record möglich und nicht beim A-Record, richtig?
 
Eine einfache und kostengünstige DNS-basierte Möglichkeit stellt Round-Robin-DNS dar. Dabei definierst du mehrere A-Records für deine Domain mit unterschiedlichen IPs. Ist ein Server (respektive eine IP) down, geht der Client nach einem Timeout einfach zum nächsten.

http://de.wikipedia.org/wiki/Lastverteilung_per_DNS

Zusätzlich musst du natürlich dafür sorgen, dass auf allen Servern im DNS-Pool der gleiche Datenbestand vorliegt. Das kann man z.B. über rsync, NFS-Shares oder ein Gluster-Filesystem realisieren. Letzteres wird auf einem vServer aber nicht möglich sein. Für das Thema Datenbank (z.B. MySQL) gibt es ja bereits entsprechende Replikationsmechanismen. So eine Lösung ist quasi der Entry-Level in Sachen Load-Balancing.

Eine Nummer größer wäre dann z.B. eine Lösung aus Heartbeat, Pacemaker und DRBD, ggf. in Kombination mit Failover-IPs, wie sie auch Hetzner anbietet.

http://www.thomas-krenn.com/de/wiki...ierend_auf_Heartbeat,_Pacemaker,_DRBD_und_LXC

http://wiki.hetzner.de/index.php/Failover

Ich persönlich setze bei dem Thema mittlerweile auf CoreOS und Docker.

http://coreos.com/using-coreos/

Natürlich gibt es Load-Balancer auch als fertige Appliance von diversen Anbietern (z.B. Barracuda, F5). Da geht es aber erst so im mittleren vierstelligen Euro-Bereich los, was wohl euer Budget übersteigen wird. Bevor man sich hier aber auf eine konkrete, technische Lösung festlegen kann bzw. eine Empfelung aussprechen kann, müsste man genau wissen, was auf dem Server den überhaupt laufen soll und wie hoch denn die Ausfallsicherheit sein soll.
 
Moin tomasini, das sind ja schon mal Ansätze für mich in die ich mich ein wenig einlesen kann. Das mit der Lastverteilung per DNS sieht ja schon mal am einfachsten aus... da könnte ich im Prinzip bei INWX die Einträge entsprechend anpassen.

Das /var/www/domain Verzeichnis könnte ich dann, wie Du meintest mit rsync synchron halten und die MySQL Datenbank würde ich über ein Master-Master Replikation Synchron halten.

Wegen der genaueren Empfehlung und dem was auf dem Server laufen soll, gehe ich mal davon aus das Du das meinst was ich Erreichbar halten will, richtig? Also es geht um unsere Versicherungsseite auf der Kunden Reiseversicherungen vergleichen und hinterher abschließen können :)

Was die gewünschte Erreichbarkeit angeht, wenn es nach Chef geht, müsste die Seite zu 105% erreichbar sein. Und somit dürfte es NIE eine Down-Time geben... nie nie nie. Aber da lehne ich mich jetzt mal ganz leicht aus dem Fenster und behaupte, dass es so etwas nicht gibt. Es ist sehr sehr unwahrscheinlich, dass zwei Server gleichzeitig ausfallen könnten, aber die Chance besteht.

Aber mal ein wenig einlesen.
Und was die Load-Balancer von Baracuda etc. angeht, ich denke auch dass so etwas das Budget sprengt. Außer unsere Domain ist viele Stunden Offline und die AdWords Klicks explodieren. Dann könnte sich das wieder rechnen, aber da müsste ich rechnen wie lange die Domain Offline sein müsste um einen Load-Balancer zu rechtfertigen ;)
 
Noch eine Anmerkung: wenn du das jetzt als Low-Level-Lösung mit zwei vServern umsetzen möchtest, dann den zweiten natürlich nicht auch von Hetzner nehmen. Durch einen zweiten Hoster bzw. ein zweites RZ kannst du dann auch den Fall abdecken, dass Hetzner komplett down ist.
 
Hm.. Klingt irgendwie logisch. Alternativ würde ich dann einen Server von OVH verwenden. Da müssten wir auch noch ein Kundenkonto besitzen :)

Aber bevor der Plan wirklich steht, muss ich erst einmal ein Master-Master System für MySQL aufbauen. Da muss ich nämlich gestehen, dass habe ich noch nicht gemacht. War zwar immer geplant, aber bis jetzt noch keine wirkliche Zeit gehabt :rolleyes:

Aber Chef versteht die Notwendigkeit immer erst dann, wenn was passiert ist :D
 
Eine einfache und kostengünstige DNS-basierte Möglichkeit stellt Round-Robin-DNS dar. Dabei definierst du mehrere A-Records für deine Domain mit unterschiedlichen IPs. Ist ein Server (respektive eine IP) down, geht der Client nach einem Timeout einfach zum nächsten.

Schöne Traumwelt, wenn es doch nur so einfach wäre. ;)
DNS Round-Robin heißt, das Client nimmt per Zufall eine der IPs die er vom DNS bekommt und verbindet dahin. Die allermeisten Clients (insbesondere Browser) Cachen diese Antwort und bleiben dann eine ganze Weile bei dieser IP.
Sollte er sie dann doch irgendwann mal wieder anfragen, nimmt er sich irgendeine IP aus dem Pool den er wieder via DNS bekommt. Völlig egal ob er vorher schon festgestellt hat, ob sie erreichbar ist oder nicht.
Selbst die TTL der Domain ist aus Client-Sicht erstmal völlig banane. Wenn ein Server ausfällt, muss dieser extra aus dem Round-Robin entfernt werden. Wenn entsprechende APIs zur Verfügung stehen, kannm an es unter Umständen automatisieren. Pauschal gesagt, ist das aber erstmal ein manueller Schritt durch den Admin.

Die Generation die im IRC groß geworden ist, kennt und hasst dieses Round-Robin Prinzip zu genüge. ;)

@Domi
100% wirst du sowieso nie erreichen. Wenn dann nur 99,999...%. Und jede 9 mehr in der Kette wird verdammt teuer.
Bevor du dir Gedanken um die technischen Details machst, solltest du dir also erstmal überlegen, welche Verfügbarkeit du tatsächlich erreichen willst (Gedanken wie "die höhste die möglich ist" kannst du direkt verdrängen) und welches Budget du dafür in die Hand nehmen willst (mit 2 Stelligen Beträgen brauchst du gar nicht erst anfangen ;) Denke lieber mal in Größerordnungen 100, 500, 1000, 2500, 5000, 10000, usw.). Auf den einzelnen Euro kommts nicht an. Ziel+Budget entscheidet darüber, was man überhaupt realisieren kann.

Wenn du es andersherum angehst, wird immer eine Lösung bei rauskommen, die wirtschaftlich völlig unrentabel ist oder nicht den Anforderungen entspricht.
 
Nabend... Ja, klar... eine 100% Lösung gibt es nicht. Hatte ich ja auch geschrieben. Ich kann mich auch nicht daran erinnern, irgendwo gelesen zu haben "das ist die 100% Lösung für einen immer verfügbaren Server" :)

Das ist wie bei einem Auto, einer Lampe, einem PC, einem Monitor oder etwas ähnlichem. Es gibt einfach keine 100% Verfügbarkeit. Das will mein Chef aber nicht kapieren, als ich ihm sagte 8 Jahre lief es zu 100% und jetzt ist zwei mal hintereinander etwas passiert. Donnerstag Vormittag für 30 Minuten und Samstag Abend für X Minuten (dazu kann ich aber nichts genaueres sagen, da nur Chef meinte das es nicht ging).

Also wenn ich bedenke, dass ich die Wartung und Pflege über eigene Server (vServer und root-Server) für diese Domain seit ungefähr 12.2006 bei uns in der Firma mache und wir jetzt eine maximale Downphase von 60 Minuten hatten, ist das (meiner Meinung nach) vertretbar. Oder wie seht Ihr das als langjährige Spezies in dem Gebiet?

Gruß, Domi

Nachtrag: Laut Excel wäre der Zeitraum 01.12.2006 bis 14.07.2014 = 66.768 Stunden. Gehen wir von einem Ausfall von ca. 1 Stunde aus, dann entspricht das einem Ausfall von 0,0015% und somit eine Verfügbarkeit von 99,9985% oder habe ich mich da jetzt verrechnet? :D
 
Last edited by a moderator:
Naja nun vergleichst du aber Äpfel mit Birnen. ;)
Natürlich kannst du mit einem einzigen System ohne große Maßnahmen rückblickend 100% Verfügbarkeit in Zeitraum X erreichen. Das hat dann aber eher was mit Glück zu tun.

Wenn wir hier über Erhöhung der Verfügbarkeit debattieren, dann ist für gewöhnlich die garantierte Verfügbarkeit gemeint. Also die Zeit die das System definitiv uneingeschränkt zur Verfügung stehen muss. Das die reelle Verfügbarkeit oft über das hinaus gehen kann, ist völlig normal. Aber darauf verlassen kann man sich eben nicht.

Bei der Verfügbarkeit die ihr bisher hattet, würde ich mir nun also erstmal kurzfristig keine Sorgen machen. Dennoch kann hier niemand bewerten, wie wichtig diese Website (und was sonst noch so auf dem Server liegt) für euren Geschäftsbetrieb ist. Die Wichtigkeit müsst ihr selbst definieren.
Und an Hand dieser kann man dann abschätzen, was technisch und vorallem wirtschaftlich sinnvoll ist.
Die benötigte Verfügbarkeit wird oft überschätzt. 1-2 Stunden Downtime sind in vielen Fällen hinnehmbar und solang sie nicht jede Woche auftreten, kann man hier mit sehr günstigen 1-Server-Lösungen arbeiten.
Wenn man etwas empfindlicher ist, kann man vielleicht auch ein Aktiv/Passiv Setup in Betracht ziehen, entsprechend niedrige TTL bei den Domains und falls der aktive Teil wegbricht, schwenkt man halt manuell auf die passive Node. So kommt man zwar um die 1-2 Stunden Downtime vielleicht nicht drum herum, hat aber ein 2. Standbein, falls der Ausfall tatsächlich mal länger dauern sollte.
Mit einem entsprechenden Backup-Konzept und diversen vServer on-demand Angeboten (ich habe mal bewusst nicht "Cloud" geschrieben ;)). Kann man sowas sogar mit sehr niedrigen laufenden Kosten realisieren.

Wenn man die 1-2 Stunden Downtime nicht haben möchte, musst dann schon etwas tiefer in die Tasche greifen. Dann gehts mit 2-Server-Lösungen am gleichen Standort los. Wieder vom einfachen Aktiv-Passiv Cluster mit IP-Schwenk (muss der Hoster supporten!) oder redundantem Loadbalancer (kann man bei Hostern einkaufen, muss man nicht selber bauen!) bis hin zu gemeinsamen Block- oder File-Storage (kann man auch bei Hostern einkaufen).
Dann hätte man schon mal das Setup am Standort Redundant. Wenn man nun noch abfangen möchte, dass der ganze Standort ausfällt, kann man entweder damit obige Billig-Lösungen kombinieren und manuell schwenken. Oder man automatisiert auch dieses und baut sich dann gleich noch ein eigenes AS mit eigenen Routern davor (je nach Hoster und Access-Provider gibt es hierzu auch entsprechende Managed "AS" Angebote. ;))

Letzteres wird dann aber mal so richtig teuer und ist wohl in keinster Weise mehr vergleichbar mit eurem aktuellen Budget für einen einfachen vServer. ;)
 
Alles klärchen... Wenn Chef mich noch einmal darauf anspricht, oder wir sonst irgendwie auf die Thematik kommen, werde ich ihm mal versuchen zu erklären dass das was wir jetzt an Ausfällen hatten, in einem Toleranzbereich liegt.

Wenn er noch mehr Sicherheit haben will, muss er mal eben 1.000 Euro und mehr pro Monat für eine Ausfallsicherheit investieren. Hoffe, mal der Preis ist jetzt nicht zu niedrig gegriffen.

Was die Kosten / Unkosten angeht, wenn die Domain für ein paar Minuten oder Stunden ausfällt, ist Zeitabhängig. Im Sommer ist weniger Betrieb auf der Seite und im Winter ist dann wieder richtig gut was los.

Ich nenne ihm einfach mal die Zahlen und dann soll er selbst sagen ob er doch lieber einen Load-Balancer für 1.000+ Euro haben möchte oder ob er so etwas hinnehmen würde. Vielleicht ist das ein Ansatz.

Und das mein Vergleich jetzt nicht gerade der schönste war, dachte ich mir fast. Aber irgend etwas brauche ich dann doch mal als Zahl :D
 
Evtl können in begrenztem Maß auch CDNs wie https://www.cloudflare.com/overview helfen, Lastspitzen bei Promotions abzufangen, oder DDoS Attacken gar nicht erst zum Ziel kommen zu lassen, oder sogar Ausfälle teilkompensieren.

Oder man sourced die Website in die Cloud (z.B. AWS) aus (wenn die Website das mitmacht), dann kann man "on demand" skalieren und noch am ehesten Hochverfügbarkeit erreichen.
 
es gibt durchaus Anbieter, die einem die HA-Lösungen mit Loadbalancer auch fertig für bezahlbares Geld liefern - ich weiß jetzt nicht mehr, bei welchem ich das gesehen habe (ich meine Hetzner und Strato) - man muss ja nicht immer alles selbst kaufen und exclusiv für sich selbst nutzen.

Kleinere Anbieter für sowas gibt's auch.
 
Ich sagte ja schon, sowas kann man sich auch alles vom Hoster mieten. Jenachdem wie man es dann kalkuliert, kann es preiswerter oder teurer sein, als sich eigene Loadbalancer Pärchen hinzustellen.

Alternative Hoster für sowas wären auch Profitbricks oder PlusServer/internet24.
Anzumerken sei hier allerdings: ignoriere die Preise auf der Website (soweit vorhanden) und lass dir ein individuelles Angebot erstellen. Wenn man den passenden Partner wählt, gehören entsprechende Consulting Leistungen dazu und dann muss man hier auch nicht den Loadbalancer/Nadel im Heuhaufen suchen. ;)
 
Back
Top