lousek
Goto Top

Übermässige Redundanz?

Hallo Forum

Ich bin gerade dabei, mir zu Hause ein kleiner "Cluster" aufzubauen. Einige mögen jetzt den Kopf schütteln, aber es geht mir vor allem um den Erfahrungswert, nicht ob es "sinnvoll" ist, zu Hause einen Cluster aufzubauen (mit "nach dem Sinn fragen" sollte man bei Informatiker so oder so etwas vorsichtig sein :P)

Ich habe zwei HP ML110G5 am laufen.
Darauf soll in Zukunft ein Virtualisierungs-Cluster mittels "Proxmox VE" (KVM) und DRBD ("RAID1 über Netzwerk").
Die Server sind mehr oder weniger gleich ausgestattet. Jeder Server hat einen RAID-Controller (HP E200) drin, daran hängen:
1x 160GB (Primary normalerweise auf Host A)
1x 250GB (Primary normalerweise auf Host B)
1x 1TB (Primary normalerweise auf Host A)
1x 500GB (Primary normalerweise auf Host B)

Mit Verwendung von DRBD über eine "dedizierte" Netzwerkkarte (direkte Crossover-Verbindung) werden nun die Festplatten zwischen beiden Servern auf Block-Level-Ebene ständig synchron gehalten (also ein RAID1 übers Netzwerk).
Dadurch kann auch Live-Migration für die VMs benutzt werden, da beide Server zwar nicht auf die genau gleiche Storage, aber auf den gleichen Stand der Daten (jeweils lokal) zugreifen können.
Fällt nun eine Festplatte aus hat dies einen gravierenden Nachteil gegenüber einem RAID1 am RAID-Controller: Die VMs, die auf dem "fehlerhaften" Host liefen, werden natürlich unschön gestoppt.
Allerdings hat es auch einen schönen Vorteil: Wenn nicht die Festplatte, sondern z.B. der RAID-Controller oder das Mainboard des Server abschmiert, so wäre bei einem lokalen RAID1 dann "tote Hose".
So aber kann die VM einfach wieder auf dem anderen Host neu gestartet werden.
Das sicherste wäre natürlich ein lokales RAID1, dass übers Netzwerk noch gespiegelt wird, allerdings erscheint mir doppelte Redundanz etwas "oversized".

Um sich gegen einen "generellen" Hostausfall (egal ob Festplatte, CPU, RAM, ...) zu wappnen, könnte man die Redundanz natürlich auf einer höheren Ebene weiterführen:
Die meisten VMs werden redundant ausgelegt, beispielsweise Web, DB, Mail, Proxy, Router. Auf jedem Host lauft je eine VM davon.
Somit läuft beispielsweise die Webseite Ausfall-frei weiter. Z.B. der Fileserver (wohl eher schwierig, den redundant auszulegen) müsste bei einem Hostausfall manuell auf dem anderen Host wieder gestartet werden.
Allerdings braucht dies natürlich doppelt soviele Ressourcen (auch Festplatten-Platz), kann aber in einem Aktiv/Aktiv-Setup auch zusätzlich als Load-Balancing verwendet werden.

Keine konkrete Frage, aber habt ihr dazu irgendwelche Anregungen / Ideen?

Gruss
lousek

Content-ID: 180154

Url: https://administrator.de/contentid/180154

Ausgedruckt am: 05.11.2024 um 11:11 Uhr

Epixc0re
Epixc0re 07.02.2012 um 14:25:16 Uhr
Goto Top
Hi lousek,

ich würde hier einfach einen Server als NFS Server bereit stellen, in Produktivsystemen kommst du damit natürlich nicht weit - da muss dann ne NetApp oder so her.

Ich selbst beschäftige mich auch recht viel mit Cluster,
und hab mir dafür auch ein "großes" Heimnetzwerk gebaut:

1x) CISCO Catalyst - 48Port Full Managed
1x) CISCO Small Business GigaBit Switch
1x) HP Proliant @ 3TB HDD
7x) MikroTik 750G
2x) Server selfmade


lg,

Stefan
Lousek
Lousek 07.02.2012 um 14:32:25 Uhr
Goto Top
Sali Stefan

Natürlich, eine NFS-Storage wäre "einfach" und auch schnell eingerichtet (z.B. mit Debian oder FreeNAS).
Wurde auch schon zum testen so gemacht.
Allerdings: Was passiert wenn deine NFS-Box ausfällt? Dann ist alles tot ...
Und du hast sowohl bei iSCSI wie auch bei NFS wohl mehr Latenzzeit wie bei einer direkt angeschlossenen Disk, die per DRBD gesynct wird.
Zudem brauchst du ein extra Gerät für die Storage (oder zwei wenns voll redundant sein soll) und noch zwei Switches.
Ich brauche jedoch nur zwei Server ohne zusätzliche Switches, da die beiden Server direkt verbunden sind.

Gruss
lousek
Epixc0re
Epixc0re 07.02.2012 um 14:37:22 Uhr
Goto Top
Hi lousek,

was möchtest du denn Primär Clustern?
Willst du das gesammte Versuchsnetzwerk komplett Redundant haben, oder z.B. "nur" die VM-s?

Für zweiteres würde dir ja meine vorgeschlagene Lösung reichen, damit kannst du dich auf den Cluster
konfiguration an sich konzentrieren und musst dir keine Gedanken um die Storage machen.

Im RZ würde hier klarerweise 2x Switches sowie 2x NetApp vorkommen.


lg
Lousek
Lousek 07.02.2012 um 15:01:27 Uhr
Goto Top
Sali Stefan

Eigentlich will ich sowohl ein Virtualisierungs-Cluster inkl. Live Migration aufbauen (deshalb auch das ganze mit DRBD) und aber auch noch z.B. ein MySQL-Cluster, ein Apache-Cluster und auch ein redundanter Router (mittels CARP).

LG
lousek
Epixc0re
Epixc0re 07.02.2012 um 15:52:59 Uhr
Goto Top
Warum verwendest du nicht ESX?
Der kann von Haus aus Failover und live migration.
Lousek
Lousek 07.02.2012 um 15:55:07 Uhr
Goto Top
DAS ist nicht ganz korrekt ... für Live-Migration und Fault Tolerance (ich denke, dass meinst du) musst du ein vCenter haben, und das kostet saftig Lizenz-Gebühren.
Zudem bist du bei ESXi auf ein SAN angewiesen, dass mit DRBD klappt dort nicht.
Beim Proxmox VE läuft unten durch ein Debian, womit auch z.B. Backup etc. kein Problem mehr ist (im Gegensatz zu ESXi wo du dich mit bestimmten Tools oder dem GhettoVCB begnügen musst).

Edit: Und natürlich: Am liebsten Open-Source ;)

Gruss
lousek
Epixc0re
Epixc0re 07.02.2012 um 16:02:55 Uhr
Goto Top
Nicht zwangsläufig, du kannst ein NFS Share als Datastore einbinden.


ProxMox kann lt. Wiki (http://pve.proxmox.com/wiki/Proxmox_VE_Cluster) auch Clustering, solltest du mal testen...
Lousek
Lousek 07.02.2012 um 16:12:12 Uhr
Goto Top
Ja, mit NFS-Store oder auch iSCSI-Target (ESXi hat ein Software-Initiator OnBoard) würde dies natürlich gehen, aber trotzdem müsstest du ein vCenter haben, somit auch eine Lizenz und ein Windows Server.

Proxmox VE als Cluster ist genau das, was ich will (auch schon getestet mit NFS-Store als Storage, funktioniert 1A).
Mein Ziel ist jedoch ein 2-Node-Cluster (http://pve.proxmox.com/wiki/Two-Node_High_Availability_Cluster), wobei die Storage unter Verwendung von DRBD auf den Host direkt liegt.

Ich frage mich jedoch eher, wie weit man es mit der Redundanz sinnvollerweise treibt, und welche Verbesserungen an "meinem" Konzept noch gibt.

Gruss
lousek
Epixc0re
Epixc0re 07.02.2012 um 16:15:38 Uhr
Goto Top
Ich würde mal sagen, das man hier keine genauen Grenzen ziehen kann - kommt im weiterem Sinne auf den Anwendungsfall an,
wenn bei einem Privatkunden die Website mal nen Tag nicht erreichbar ist soll das so sein,
aber bei ner größeren Firma würde ich schon mehr Geld in einen vernünftigen Cluster stecken ...

Für ein Versuchsnetzwerk würde ich persönlich zu zweiterem Ansatz tendieren und einen Vollen Cluster aufbauen,
d.h. Switches, Server, Storage, Uplink voll Redundant.