Re: Cluster wie Raid mit verteilten CPU-Ressourcen

From: Oliver Fromme <olli(at)secnetix.de>
Date: Sun, 22 Jun 2003 13:57:50 +0200 (CEST)

Nils Beyer <NilsBeyer(at)web.de> wrote:
> "Oliver Fromme" <olli(at)secnetix.de> schrieb:
> > Oh, das ist viel. Die Dienste dürfen tatsächlich für einen
> > ganzen Tag ausfallen? Dann wäre eine echte Cluster-Lösung
> > der totale Overkill.
>
> Die Dienste dürfen nicht für einen ganzen Tag ausfallen, dafür
> soll doch der intakte Rechner zuständig sein und die Dienste
> weiterführen bis der defekt wieder da ist.

Ach, so war das gemeint. OK. Wenn der Übergang im Falle
eines Defekt »nahtlos« erfolgen soll, wirst Du allerdings
um zusätzliche Hardware nicht herumkommen. Kannst Du also
knicken.

> > Fehlt noch Load-Balancing. Da solltest Du Dich
> > erstmal fragen, ob Ihr das überhaupt braucht -- habt Ihr
> > soviel Last, daß ein Rechner alleine es nicht bewältigen
> > kann? Glaube ich eigentlich nicht.
>
> ;-))
> .-------------------------------------------------------.
> |Der Cluster ist wirklich nur ein Experiment. Nix, womit|
> |wir Geld verdienen. |
> |Hat also eher Privat-Mann-Status. |
> '-------------------------------------------------------'

Ich interpretiere das mal als »nein«. Du brauchst also
kein Load-Balancing.

(BTW, das mit den ASCII-Kästchen stört eher, vor allem beim
Quoten. Muß nicht unbedingt sein.)

> Vielleicht ist wirklich ein "Notfall-Einsatzserver" ein-
> facher und passender für dieses Experiment.

Sehe ich auch so.

Eine wichtige Frage, die ich noch nicht gestellt habe: Muß
das Fail-Over unbeaufsichtigt funktionieren, sprich, Tag
und Nacht, ohne daß jemand vor Ort sein muß? Oder genügt
es, wenn im Falle eines Ausfalls jemand alarmiert wird, der
dann hingeht und manuell umschaltet? Letzteres ist einfa-
cher und auch sicherer.

> Fall 1 (alles i.O.):
> --------------------
> NotPC: "Hallo, HauptServer, lebst Du noch?" - "Hau' ab,
> Du störst!" - "Ok, ich frag' aber in einer Minute nochmal."
>
> Fall 2 (Server hat Probleme):
> -----------------------------
> NotPC: "Hallo, HauptServer, lebst Du noch?" - "Stööhn,
> ächz" - "Warte, ich mach' für Dich weiter. Deine Stifte und
> Vorlagen habe ich ja auch. Schick' mir mal eben schnell Deine
> Daten, wo Du grade bist.

Unrealistisch. Möglicherweise ist der Hauptserver zu dem
Zeitpunkt nicht mehr in der Lage, irgendwas zu schicken.
Möglicherweise gibt er nicht einmal mehr ein »stöhn, ächz«
von sich.

> Auch nicht schlecht. Vor allem, Alles wird mit Bordmitteln
> gemacht. Wenn ich Lebens-Pings mit Skripten mache, wie
> stelle ich fest, ob der eine Rechner ausgefallen ist? Mit
> 'ps -ax | grep <wassolllaufen>' und/oder 'ping'?

Gute Frage. Das ist nicht trivial, denn Du mußt auf mehre-
ren Ebenen testen. Ein ping sagt Dir nur, daß ein sehr
kleiner Teil des IP-Stacks des Kernels noch funktioniert.
ICMP-ECHO wird noch innerhalb des Interrupt-Kontexts der
Netzwerkkarte behandelt. Eine Kiste kann also klinisch tot
sein und trotzdem noch auf pings antworten.

Wenn es Dir darum geht, bestimmte Dienste verläßlich anzu-
bieten, dann sollte das Check-Skript genau diese Dienste
prüfen. Beispiel: Wenn Du einen Webserver laufen hast,
sollte die Überprüfung darin bestehen, daß Du eine bestimm-
te Webseite holst, von der Du weißt, daß sie da sein muß.

Aber es gibt immer Fälle, in denen so eine Prüfung versagt.
Wenn z.B. die Festplatte gerade am sterben ist, die besagte
Webseite aber noch im RAM gecacht ist, wird der Apache die
Seite anstandslos ausliefern.

Was passiert, wenn irgendjemand etwas an der Webserver-Kon-
figuration verändert und ahnungslos den Apache restartet?
Für einen kurzen Augenblick kriegt das Check-Skript die
Seite nicht, glaubt an einen Totalausfall und übernimmt
alle Dienste vom ersten Rechner. Der ist aber schon in der
nächsten Sekunde wieder da, hat überhaupt nix mitgekriegt
und funkt jetzt dazwischen.

Eine weitere Falle ist die, die Bernd schon erwähnte: Was
ist, wenn die Verbindung zwischen den beiden Rechnern aus-
fällt, aber alles andere ist noch intakt? Dann denkt
jeder von beiden, der andere sei ausgefallen, und beide
versuchen gleichzeitig ihre Dienste auszuführen. Das ist
_ganz_ schlecht.

Du siehst schon, das ganze ist alles andere als trivial.

> > > [Cold-Standby]
> > > So war es eigentlich auch vorher gemacht worden. Der zweite
> > > Rechner war wirklich nur ein Ersatzrechner, falls der erste
> > > ausfällt. Aber jetzt haben wir uns gedacht, wofür soll der
> > > zweite vollstauben ohne zu rechnen. ;-)
> >
> > Das ist aber kein technisches Argument. ;-)
>
> Aber ein verständliches. ;-))

Nein, ich finde es eigentlich nicht verständlich.

Gruß
   Olli

-- 
Oliver Fromme, secnetix GmbH & Co KG, Oettingenstr. 2, 80538 München
Any opinions expressed in this message may be personal to the author
and may not necessarily reflect the opinions of secnetix in any way.
"Clear perl code is better than unclear awk code; but NOTHING
comes close to unclear perl code"  (taken from comp.lang.awk FAQ)
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Sun 22 Jun 2003 - 13:57:53 CEST

search this site