Re: Cluster wie Raid mit verteilten CPU-Ressourcen

From: Oliver Fromme <olli(at)secnetix.de>
Date: Sat, 21 Jun 2003 20:10:01 +0200 (CEST)

Nils Beyer <NilsBeyer(at)web.de> wrote:
> Aber ich möchte auch nicht, dass Du
> nachher Ärger mit Deiner Firma kriegst, weil Du hier
> Profi-Wissen für Lau rausgibst.

Meine Chefs wissen das und lesen teilweise selbst hier mit.
Die meisten Leute hier, denen ich Tips gebe, sind ohnehin
Privatmenschen, die die Dienste einer Firma eher nicht in
Anspruch nehmen würden. Darüberhinaus macht Secnetix noch
viel mehr als Support per E-Mail, insofern sind meine paar
Tips hier nichts, was die Firma in den Ruin treiben könnte.
;-)

> Uff, *grübel*,
> - synchrones Dateisystem bei beiden Rechnern (halt wie Raid)
> - gemeinsames Betreiben und Rechnen von Anwendungen/Daemons

Ja, das sagtest Du schon. Meine Frage zielte aber eher
darauf ab, was Du _erreichen_ möchtest. Deine Aufzählung
dagegen beschreibt schon Lösungsansätze (die für die zu
erreichenden Ziele nicht zwangsläufig die besten sein
müssen).

> > Was genau bieten die Rechner für Dienste an, bzw. was sind
> > ihre Hauptaufgaben?
>
> Also: dhcpd, nfs bzw. samba, apache, ftpd, sshd, pppd

OK, das sind lauter Standardsachen.

> > Was genau sind die Anforderungen an die Verfügbarkeit, sprich,
> > wie hoch darf eine Ausfallzeit maximal sein?
> > Wie lange darf eine Recovery dauern?
>
> Ausfallzeit inkl. Recovery kann ruhig bis zu 1 Tag dauern.

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.

> > Welche Ausrüstung steht aktuell zur Verfügung,
>
> 2x Intel Pentium-III 800MHz mit 128MB Ram, Mainboard unbekannt,
> 20GB-Festplatte, 3Com-95x-Netzwerkkarten, ISDN-Karten
>
> > und wieviel kann für zusätzliche Hardware ausgegeben werden?
>
> Leider nix.

Gut, das schränkt die Möglichkeiten schonmal deutlich ein.
Ich gehe aber davon aus, daß Ihr ein Backup-System habt (es
fehlte in Deiner Aufzählung).

In diesem Fall und unter den genannten Voraussetzungen ist
vielleicht ein einfaches Mischsystem mit Fail-Over das
beste. Das erfordert keine zusätzliche Hardware und ist
recht einfach aufzusetzen (ohne spezielle Kenntnisse).

Dazu konfigurierst Du den ersten Rechner als NFS-Server,
der alle Daten hält. Diese werden vom anderen Rechner
gemountet. Somit ist sichergestellt, daß beide auf der
identischen Datenbasis arbeiten. Zusätzlich synchroni-
siert der zweite Rechner regelmäßig alle Daten auf seine
lokale Platte, z.B. einmal pro Stunde. Falls dann der
erste Rechner ausfällt, schwenkst Du auf dem zweiten ein-
fach von NFS auf die lokale Platte um, und alles läuft
weiter, wobei maximal die Daten der letzten Stunde ver-
lorengegangen sind. Also Quasi Hot-Standby. Die Ausfall-
zeit wäre dabei maximal ein paar Minuten. Man könnte dies
auch mit Skripten automatisieren, aber da muß man schon
ein bißchen aufpassen.

Das würde die Punkte Replikation und Redundanz/HA bei Dir
lösen. 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.

Für ein einfaches Load-Balancing würde es genügen, die
Dienste auf beiden Rechnern zu konfigurieren, und dann
z.B. per DNS Round-Robin zu verteilen. Oder einfach
nach Diensten zu verteilen: Der eine macht Samba und NFS,
der andere Apache und FTP. Das sollte man natürlich so
aufteilen, daß die Last möglichst gleichmäßig verteilt ist.
Und natürlich sollte man auf beiden Kisten alle Dienste
konfigurieren, um bei einem Ausfall sofort umschwenken zu
können.

> [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. ;-)

> > Gegen Plattenausfälle hilft ein lokales RAID-1. Das kann
> > man mit einem Hardware-RAID-Controller ebenso realisieren
> > wie per Software (bei FreeBSD: vinum oder ccd).
>
> vinum geht auch über Netzwerk?

Nein, daher schrieb ich ja _lokales_ RAID-1. Aber wenn
Ihr, wie Du schriebst, in jedem Rechner nur eine Platte
habt und keine weitere Hardware dazukaufen könnt, fällt
das ohnehin flach.

> > Alle genannten Maßnahmen entbinden selbstverständlich nicht
> > von der Pflicht, regelmäßig Backups anzufertigen.
>
> Ok.
> ;-))

Ich interpretiere das mal als »Ja, tun wir«.

Ein totaler Datenverlust kann über das Schicksal einer Fir-
ma entscheiden. Ein verläßliches Backup ist daher wichti-
ger als alles andere. Ein RAID, Cluster oder was auch im-
mer hilft z.B. nicht, wenn der Blitz einschlägt oder sonst
eine Katastrophe passiert (auch menschliches Versagen kann
dazugehören: wenn man die falsche Datei killt, ist die
auch auf dem Mirror weg). Und das Backup sollte man nicht
im gleichen Raum lagern, in dem sich die Rechner befinden.
Es ist sehr bitter, wenn man den Wert eines Backups erst
durch negative Erfahrungen schätzen lernen muß -- wenn es
zu spät ist.

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 Sat 21 Jun 2003 - 20:10:04 CEST

search this site