Sacha Vorbeck: Failover? fuer Arme

Hi,

(ich hoffe, das Failover der richtige Begriff fuer dieses Thema ist. Falls nicht, korrigiert mich bitte - vielleicht finde ich unter dem richtigen Fachbegriff ja dann auch etwas im Archiv)

vor ein paar Wochen habe ich bei 1und1 einen Rootserver angemietet und bin auch zufrieden damit. Wenn aber ein Hardwaredefekt auftritt, ist der Server so lange nicht erreichbar, bis der Support das Teil ausgetauscht hat und ich den Server wieder eingerichtet und gestartet habe.

Das wuerde ich gerne optimieren. Dazu wuerde ich gerne einen 2. Rootserver mieten und die Daten zwischen den beiden Servern regelmaessig abgleichen.

Jetzt habe ich aber noch das Problem, das ich selbst dafuer sorgen muss, dass der 2. Server einspringt, wenn der 1. nicht mehr arbeitet.

Deshalb wuerde ich gerne z. B. ein "Powerpaket" bei 1und1 bestellen, dass die Domain www.meinedomain.de auf ein Verzeichnis mit einer Datei index.php zeigen laesst, die per header-location replace auf den ersten Rootserver verweist.

Zusaetzlich soll auf dem Powerpaket ein Cronjob laufen, der ein Skript anwirft, das in regelmaessigen Abstaenden eine Datei vom 1. Rootserver abruft. Wenn dies fehlschlaegt, soll das Skript die index.php mit der Umleitung auf den 2. Rootserver zeigen lassen.

Dazu habe ich folgende Fragen:
1. Geht das so, wie ich das hier geschildert habe?
2. Kennt ihr bessere Loesungen fuer dieses Problem?
3. Wie kurz kann der zeitliche Abstand sein, mit dem der Cronjob gestartet wird?

Danke und Ciao,

Sacha

  1. Hi Sacha,

    hm, also grundsätzlich kannst Du das so machen, hat aber natürlich ein paar Probleme: 1. es kann nur auf den Index zugegriffen werden, aber gerade in Hinsicht auf Suchmaschinenoptimierung sind mehrere Einstiegsseiten wünschenswert. Dein single-point of failure ist natürlich das Webpack mit dem Weiterleitungsscript, und wenn ich schon so einen Aufwand betreibe würde ich eigentlich für den 2. Server einen anderen Provider nehmen, sonst kann es passieren, dass beide Rootserver ausfallen.

    Gruss

    Marko

    1. Hallo Marko,

      1. es kann nur auf den Index zugegriffen werden

      stimmt natuerlich, das ist schon der erste Riesendenkfehler gewesen. Ich will ja nicht, dass nachher oben in der Adresszeile des Browsers die IP auftaucht *vor_die_Stirn_hau*.

      und wenn ich schon so einen Aufwand betreibe würde ich eigentlich > für den 2. Server einen anderen Provider nehmen, sonst kann es
      passieren, dass beide Rootserver ausfallen.

      richtig, sicherer waere das schon. Da die Server aber abgeglichen werden muessen, waere es wegen dem entstehenden Traffic guenstiger, wenn das 1und1intern passieren koennte.

      Danke und Ciao,

      Sacha

  2. Hi,

    Ich kenne mich mit dem Thema nicht wirklich aus, habe mir aber gerade ein paar Geddanken gemacht:
    Ich glaube aus mehreren Gründen nicht, dass du mit diesem Konzept sonderlich erfolgreich sein wirst. Zu einen, was passiert wenn dann dein Power-Paket ausfällt, was weil es ein Rechner der wahrscheinlich stärker belastet wird als deiner, wahrscheinlicher ist? Dann sind deine Root-Rechner für längere Zeit nur über die IP Adresse ansprechbar, dass ist auch nicht so toll. Daher müsstest du auch dieses Paket Redundant nehmen, was aber auch keinee Lösung ist, weil du dann beide Pakete auf die gleiche Adresse nehmen müsstest, was auch nicht so gut machbar ist. Da würde ich eher überlegen irgendwo anders zu hosten, wo sie flexibler sind, womit ich nihct meine, dass sie die Hardware schneller auswechseln, sondern wo sie es so regeln können dass beide Rechner über eine IP angesprochen werden können, so dass du sogar eine Art Loadbalancing machen könntest.

    Ich hoffe meine Überlegungen waren auch ohne großartige Sachkentniss einigermaßen hilfreich.

    mfg Andres Freund

    1. Hi,

      was weil es ein Rechner der wahrscheinlich stärker belastet wird
      als deiner, wahrscheinlicher ist?

      da bin ich mir nicht sicher, da fehlen mir auch die Erfahrungswerte. Der Rootserver ist ja eher eine einfach Kiste ohne hot-swap Festplatten und so. Deswegen dachte ich, dass die 1und1-eigenen Server, auf denen die vhost-Pakete laufen, da schon etwas besser ausgestattet sind. Aber die Gleichung mehr Benutzer=gleich hoeheres Risiko stimmt vielleicht auch.

      Da würde ich eher überlegen irgendwo anders zu hosten, wo sie
      flexibler sind, womit ich nihct meine, dass sie die Hardware
      schneller auswechseln, sondern wo sie es so regeln können dass
      beide Rechner über eine IP angesprochen werden können, so dass du > sogar eine Art Loadbalancing machen könntest.

      das waere natuerlich genial. Aber das ist dann wahrscheinlich auch gleich eine ganz andere Preisklasse, oder?

      Ich hoffe meine Überlegungen waren auch ohne großartige
      Sachkentniss einigermaßen hilfreich.

      klar ;-), danke.

      1. Moin!

        was weil es ein Rechner der wahrscheinlich stärker belastet wird
        als deiner, wahrscheinlicher ist?

        da bin ich mir nicht sicher, da fehlen mir auch die Erfahrungswerte. Der Rootserver ist ja eher eine einfach Kiste ohne hot-swap Festplatten und so. Deswegen dachte ich, dass die 1und1-eigenen Server, auf denen die vhost-Pakete laufen, da schon etwas besser ausgestattet sind. Aber die Gleichung mehr Benutzer=gleich hoeheres Risiko stimmt vielleicht auch.

        Die Anzahl der Webpräsenzen ist für die Ausfallwahrscheinlichkeit wohl eher uninteressant. Aber der Server mit deinem Powerpaket (und vielen weiteren Präsenzen) dürfte sich hardwaremäßig von deinem Root-Server nicht ein bißchen unterscheiden, jedenfalls in den relevanten Ausstattungsmerkmalen: Eine Festplatte, ein Prozessor, RAM drin, Netzwerk hinten dran.

        Wenn du Ausfallsicherheit haben willst, dann hängt der Ansatz, was dafür zu tun ist, ganz entscheidend von dem ab, was auf dem Server für Anwendungen laufen. Wie zeitnah müssen die Daten repliziert werden? Das ist beleibe keine triviale Aufgabe - und es kann durchaus nervig sein, wenn dir 6 Stunden Datenmaterial verloren gehen - oder dich auch eine Stange Geld kosten, weil der fette Auftrag dadurch verloren ging.

        Ein System wird nicht dadurch automatisch ausfallsicherer, weil du ein identisches zweites danebenstellst. Definiere die möglichen Ausfallszenarien, und definiere die maximal tolerierbare Ausfallzeit - beides zusammen führt dich dann zu Lösungen, diese Anforderungen zu erfüllen.

        Da würde ich eher überlegen irgendwo anders zu hosten, wo sie
        flexibler sind, womit ich nihct meine, dass sie die Hardware
        schneller auswechseln, sondern wo sie es so regeln können dass
        beide Rechner über eine IP angesprochen werden können, so dass du > sogar eine Art Loadbalancing machen könntest.

        Exakt. Erstens gibt es anderswo mit Sicherheit günstigere Angebote für Root-Server, zweitens kosten auch Root-Server und das vorgeschaltete Power-Paket Geld, und drittens ist die skizzierte Lösung keinesfalls wirklich ideal.

        Wenn tatsächlich ein zweiter, identisch aufgebauter und ausgestatteter Server, der ohne Zeitverzögerung immer direkt alle Aktualisierungen erhält, also Hot Spare einsatzbereit neben Server Nr. 1 steht, kann ein fähiger Provider im Ausfall-Fall einfach die IP-Adresse des Ersatz-Servers auf die des Haupt-Servers ändern, und die Zugriffe sind sofort wieder möglich. Das wäre dann die "Lösung für Arme".

        Besser ist in der Tat, die Zugriffe über eine entsprechende Instanz zu leiten, welche automatisch zu einem aktiven Rechner weiterleitet - aber intern. Nach außen müssen alle URLs immer identisch sein, sonst sterben im Fehlerfall die derzeit aktiven Verbindungen (und Sessions) auf dem ausgefallenen Server - ein Wechsel auf eine andere (Sub-)Domain ist nahezu unmöglich, wenn der Ursprungsserver tot ist.

        Aber mal ganz realistisch: Entweder ist der Server wirklich so ultrawichtig, weil eine Menge Geld daran hängt, dass er unbedingt erreichbar ist - dann sollte man auch eine entsprechend höhere Summe für eine ordentliche Ausfallsicherheit zahlen, quasi als Versicherungsprämie. Oder der Server ist im Prinzip unbedeutend, und die Ausfallsicherheit ist als kleines Gimmick "nice to have", aber nicht spielentscheidend - dann ist es auch vollkommen egal, wie gut die Ausfallsicherheit wirklich funktioniert, weil sie nur Spielkram ist.

        Welche dieser beiden Kategorien vorliegt, können wir hier nicht entscheiden.

        Und zu diesen ganzen Betrachtungen kommt hinzu, dass ein Ausfall eines Servers nicht unbedingt zu den wahrscheinlichen Dingen des Lebens gehört. Ok, im Lotto zu gewinnen ist unwahrscheinlicher, aber eine Haltbarkeitsstatistik sollte man in die Betrachtungen unbedingt einbeziehen: Wie wahrscheinlich ist ein Ausfall, und wieviel Geld ist man bereit zu zahlen, dass dieser Fall nicht eintritt bzw. keine Wirkung zeigt. Und wie dumm steht man da, wenn das erdachte Konstrukt, für das man einige Jahre Geld hingeblättert hat, dann doch nicht funktioniert?

        - Sven Rautenberg

        --
        "Bei einer Geschichte gibt es immer vier Seiten: Deine Seite, ihre Seite, die Wahrheit und das, was wirklich passiert ist." (Rousseau)
        1. Hallo Sven,

          Wenn du Ausfallsicherheit haben willst, dann hängt der Ansatz, was > dafür zu tun ist, ganz entscheidend von dem ab, was auf dem Server > für Anwendungen laufen.

          vielen Dank fuer deine ausfuehrlich Antwort. Sie hat mir sehr weitergeholfen und ich werde erstmal ein genaues Anforderungsprofil erstellen um mich dann auf die Suche nach den geeigneten Werkzeugen und einem guten Provider zu machen.

          Ciao,

          Sacha

  3. Tach auch,

    vor ein paar Wochen habe ich bei 1und1 einen Rootserver angemietet und bin auch zufrieden damit. Wenn aber ein Hardwaredefekt auftritt, ist der Server so lange nicht erreichbar, bis der Support das Teil ausgetauscht hat und ich den Server wieder eingerichtet und gestartet habe.

    Mal was ganz anderes: Du sagst "vor ein paar Wochen" und machst Dir schon Gedanken was Du bei einem eventuellen Serverausfall machst? Oder willst Du andeuten das in der kurzen Zeit bereits mehrmals der Server abgeraucht ist?

    Im ersten Fall: Was hast Du denn fuer Sachen auf dem Server liegen dass Dir 100% ununterbrochene Erreichbarkeit so wichtig ist? Und wie hoch ist die Wahrscheinlichkeit dass dieser Fall eintritt? Ist Dir das wirklich den Aufwand wert?

    Im zweiten Fall: Waere es da nicht angebracht den Anbieter zu wechseln oder auf einem vernuenftigen Server zu bestehen?

    Gruss,
    Armin

    --
    Location: Swindon/Wiltshire/England/UK/Europe/Northern Hemisphere/Planet Earth/Solar System/Milky Way Galaxy/Universe
    http://www.ministryofpropaganda.co.uk/
  4. Moin!

    Dazu habe ich folgende Fragen:
    [...]

    Ich haette auch eine Frage: Wen haelst Du fuer inkompetent, das SelfForum oder doch IW-Tec?

    Crosspostings sind erstens nicht gerne gesehen und zweitens wenn dann zu kennzeichnen. Warum nicht gerne gesehen? Hier gibts eine Loesung, dort rauchen die Koepfe usw. Und wenn die Frage so einfach war, dass die Koepfe nicht zu rauchen haben, ist es einfach nur nervig fuer diejenigen, die beides Lesen.

    Viele Gruesse,

    Einbecker

    --
    ... auch wenn ich eigentlich ja Dresdener bin...
    1. Hi,

      Ich haette auch eine Frage: Wen haelst Du fuer inkompetent, das SelfForum oder doch IW-Tec?

      die IW-Tec Leute sind ganz bestimmt nicht inkompetent, die Leute hier ebensowenig.

      Wegen des sehr niedrigen Mailaufkommen in der IW-Tec Liste und des sehr speziellen Listenthemas (im Gegensatz zur i-worker) hielt ich es fuer sehr unwahrscheinlich, dass ich mit dem Crossposting tatsaechlich jemanden doppelt erwische.

      Das es nun doch passiert ist, tut mir leid und ich entschuldige mich dafuer.

      Ciao,

      Sacha

      1. Moin!

        Wegen des sehr niedrigen Mailaufkommen in der IW-Tec Liste und des sehr speziellen Listenthemas (im Gegensatz zur i-worker) hielt ich es fuer sehr unwahrscheinlich, dass ich mit dem Crossposting tatsaechlich jemanden doppelt erwische.

        Das es nun doch passiert ist, tut mir leid und ich entschuldige mich dafuer.

        Hm, Du missverstehst mich. Es geht hier gar nicht darum, dass ich diese Sache zweimal gelesen habe. Es geht mir darum, dass man hier nicht weiss, was Lutz, Enrico & Co Dir zu deinem Problem gesagt haben, waehrend diese nun widerum nicht wissen, was Marko, Armin, Andres und Sven dir sagen. Du nimmst also in Kauf,  dass Leute mehrfach genau das selbe Antworten - und dadurch anderen Leuten nicht helfen koennen, weil sie nun Dir geantwortet haben. In dringenden Faellen kann es mal noetig sein, dann merkt man das aber _immer_ an, damit sich die andern die Antworten hier und vice versa angucken koennen. Und der erste Satz "Seit einigen Wochen..." sieht nicht nach einer sehr dringenden Frage aus...

        Es geht mir wie gesagt nicht um eine Entschuldigung sondern um das Verstehen, warum man lieber nicht crosspostet.

        Viele Gruesse,

        Einbecker

        --
        ... auch wenn ich eigentlich ja Dresdener bin...