Clustering mittels VServern ?

VirtualBox, VMWare, KVM, XEN, OpenVZ, Virtuozzo, etc.
evilh
Posts: 126
Joined: 2004-03-25 17:45

Clustering mittels VServern ?

Post by evilh » 2008-08-21 18:09

Hi,

ich bastle derzeit an einer Webseite, die nahezu 100% ausfallsicher ein soll.
Normale Szenarien mittels Fail-ON IPs sind mir bekannt.

Ich habe mich jetzt gefragt, in wiefern ein Clustering (aus reinen Sicherheitsgründen - Performance ist zweitrangig) mittels VServern sinnvoll wäre.
Hätte ich z.b. 5 VServer angemietet, die physikalisch alle auf verschiedenen Maschinen liegen, wäre die Chance ja verschwindend gering, dass alle gleichzeitig einen Defekt haben. Der Vorteil wäre natürlich ganz Klar der Kostenvorteil-> nette VServer gibt es ja schon für 5 EUR pro Monat.
Des weiteren wäre ein Backup sowie Einspielen eines neuen Knotens ein Kinderspiel.

Seht Ihr hierbei irgendwelche Nachteile bzgl. der Tatsache, dass es nur VServer sind ? Hängen sich VServer z.B. schneller auf ?
Performance spielt wie gesagt eine untergeordnete Rolle.

Roger Wilco
Administrator
Administrator
Posts: 6001
Joined: 2004-05-23 12:53

Re: Clustering mittels VServern ?

Post by Roger Wilco » 2008-08-21 20:50

evilh wrote:ich bastle derzeit an einer Webseite, die nahezu 100% ausfallsicher ein soll.

Wieviel willst du denn dafür ausgeben?
IMHO beißt sich die Anforderung "nahezu ausfallsicher" mit der Eigenschaft (Consumer-) VServer.

evilh wrote:Hätte ich z.b. 5 VServer angemietet, die physikalisch alle auf verschiedenen Maschinen liegen, wäre die Chance ja verschwindend gering, dass alle gleichzeitig einen Defekt haben.

Schöne Idee, wenn die einzelnen Instanzen nicht durch einen "unvorsichtigen" Nachbar auf dem gleichen System extrem ausgebremst (I/O Last...) und damit je nach Einsatzzweck unbrauchbar gemacht werden könnten.

Außerdem: Wie willst du verteilen bzw. was konkret? Alles? Nur einzelne Dienste? Sollen die Daten repliziert oder lediglich aufgeteilt werden? usw. usf.

evilh
Posts: 126
Joined: 2004-03-25 17:45

Re: Clustering mittels VServern ?

Post by evilh » 2008-08-21 23:59

das ganze ist nur mal ein Gedankenspiel...

Ich denke die Ausfallsicherheit mit dedizierten Rechnern würde mich mind. 500 EUR/Monat kosten (die in den Anfängen sehr weh tun), von daher habe ich die Idee nur mal in meinem Kopf "rumspinnen" lassen.

Ich habe seit langem zu verschiedenen Zwecken einen VServer angemietet. Auf diesem entwickle ich derzeit die Applikation und arbeite somit derzeit sicher 12 Stunden täglich auf der Maschine.
Gelegentlich waren die Reaktionszeiten etwas schlecht, aber seit etwa 4 Wochen wo ich nun schon an dem Projekt arbeite gab es nie Blockaden oder ähnliches.

Wie gut sind die einzelnen VServer auf einer dedizierten Maschine denn voneinander getrennt ? Sprich kann ein VServer von einem anderen zum Absturz gebracht werden ? Oder sind CPU Auslastungen und damit ein temporäres "nicht erreichbar sein", die einzig mögliche negative Auswirkung (die sich ja von selbst wieder legen sollte).

In meinem Gedankenexperiment laufen 5 identische Systeme die Änderungen z.B. an der Datenbank oder am Filesystem auf alle anderen Systeme duplizieren.
Ein oder zwei paralelle dedizierte (ja, wirklich echte :wink: ) Server würden dann die einzelnen Useranfragen an die einzelnen VHosts verteilen, je nach deren Reaktionszeit (Ping).

Habe ich einen generellen Denkfehler oder könnte das Ganze wirklich klappen ?
Die Chance wäre ja vernachlässigbar gering, dass alle Systeme gleichzeitig durch "unvorsichtige Nachbarn" temporär lahmgelegt werden.

Spinnt man das Gedankenexperiment z.B. mit 20 VServern weiter, würde die Ausfallsicherheit ja immer besser werden.

wgot
RSAC
Posts: 1707
Joined: 2003-07-06 02:03

Re: Clustering mittels VServern ?

Post by wgot » 2008-08-22 00:54

Hallo,

evilh wrote:Ein oder zwei paralelle dedizierte Server würden dann die einzelnen Useranfragen an die einzelnen VHosts verteilen

einer. Sobald es zwei sind brauchst Du wieder einen, der zwischen diesen verteilt. (Ausnahme: einer für Email der andere für den Rest, weil diese Trennung auf NS-Ebene möglich ist).
Habe ich einen generellen Denkfehler

Ja: die Zuverlässigkeit kann nicht höher sein als die Zuverlässigkeit des verteilenden Dedicated. Also nimm einfach einen Dedicated und pack deine Anwendungen da drauf.

Spinnt man das Gedankenexperiment z.B. mit 20 VServern weiter, würde die Ausfallsicherheit ja immer besser werden.

Auch bei tausenden von Vservern kann sie nicht höher werden als die Zuverlässigkeit des Verteilers. :roll:

Gruß, Wolfgang

User avatar
daemotron
Administrator
Administrator
Posts: 2800
Joined: 2004-01-21 17:44

Re: Clustering mittels VServern ?

Post by daemotron » 2008-08-22 09:56

evilh wrote:Wie gut sind die einzelnen VServer auf einer dedizierten Maschine denn voneinander getrennt ? Sprich kann ein VServer von einem anderen zum Absturz gebracht werden ? Oder sind CPU Auslastungen und damit ein temporäres "nicht erreichbar sein", die einzig mögliche negative Auswirkung (die sich ja von selbst wieder legen sollte).

Das hängt von der eingesetzten Technik ab. Linux vServer und OpenVZ verwenden einen Kernel für alle Instanzen. Wenn der panicked, sind Host und alle Guests tot. Bei Xen startet jeder Guest einen eigenen Kernel; eine Panic in einem Guest tangiert den Host und die anderen Guests i. d. R. nicht. In puncto Ressourcen lassen sich RAM und CPU-Anteile ziemlich gut aufteilen, Disk I/O ist aber ein massives Problem. Generell gilt aber ohnehin, dass die meisten Hoster ihre Maschinen "überbuchen", weil sie einfach davon ausgehen, dass nicht alle Kunden permanent die maximale Leistung ihres vServers ausschöpfen.