Hallo!
Das mit mehreren Boxen war nicht meine Idee, ich hatte das nur weiter ausgeführt.
OK ;-)
interessant finde ich das auf jeden Fall, ist nur die Frage ob man auf sowas die ganze hier verwendete Software lazufen lassen kann. Und vor allem ist das glauieb ich nicht ganz so trivial aufzusetzen wie ein einfacher Server, oder?
Mittlerweile schon, es hat sich da viel getan.
Hm ich finde eigentlich fast nur Artikel anno 1999 und sowas, naja, und selbst das was da steht hört sich gut an.
Nett war auch ein Satz in einem Online-CT Artikel von 1999, "... die utopische Rechenleistung von 3000 Mhz..." , wenn die wüßten das man sowas heute im Aldi nachgeschmissen bekommt, naja, fast ;-)
Ja, die Verfügbarkeit erhöht sich extrem. Wenn die Qualität auch nur halbwegs ist, ist auch die Administration ohne Mehraufwand möglich, denn man muß ja erst ab einer bestimmten Ausfallmenge auswechseln.
Ich würde ja gerne einen neuen Athlon64 oder Opteron nehmen, nicht DUAL, denn da bekommt man schon Board S-ATA und gbit-LAN und Prozessor für unter 500 EUR... aber das lohnt sich ja nicht wirklich, wenn schon dann richtig billig(außerdem braucht man da registered RAM, das finde ich wirklich bescheuert, denn wenn man nur max. 2 GB RAM einsetzt bringt registered AFAIK gar nichts). Und Außerdem ist da die schlechte Erfahrung mit AMD, wobei das mit der thermischen Belastung heute nicht mehr ganz so vergleichbar ist, die neuren(nicht die 64bit) AMDs produzieren weniger Abwärme als Pentiums und die Kühler sind erheblich besser.
Das Problem ist nur - was macht man mit dem Eingangsrechner, also der der das ganze verwaltet? Denn wenn der ausfällt ist Ende!
Das ist ein normaler Cluster, da gibt es keinen Eingangs- oder Ausgangsrechner. Aber problematisch ist natürlich die Peripherie. Wenn die Anbindung über einen Switch erfolgt, ist dieser selbstverständlich ein Schwachpunkt.
Hä? Wie soll das denn funktionieren? Alle Requsts müssen doch über eine Maschine laufen, also die IP die bei teamone.de aufgelösen wird. Oder dachtest Du daran mehrere öffentliche IPs zu verwenden und dann entsprechend sellforum, selfhtml... auf verschiedene Maschinen zu legen? Aber dann hast Du ja keine Redundanz. IMHO braucht man einen Loadbalancer oder einen Reverse-Proxy oder sowas, der entsprechend die aAnfragen verteilt. Soll denn jeder Rechner alles können, oder hat jeder bestimmte aufgaben?
Ich hatte eigentlich gedacht, dass alle Request über einen(qualitativ hochwertigeren) Rechner kommen, der die anderen Rechner vewaltet, und dann nur die Prozesse auf die Rechner verteilt, je nach deren Auslastung. Sowas in der Art, aber sowas finde ich nicht ;-)
Ich finde immer nur Informationen wie man dann Software entwickelt, die sich auf mehrere Rechner verteilen lässt, aber gerade das will ich ja nicht, ich will eine Software die das für alle Prozesse übernimmt. Gibts sowas nicht?
Problem hierbei ist natürlich, das es deutlich mehr Platz braucht und mehr Strom verbraucht, und zusätzlich noch mehr Wartungsaufwand erfordert, das heißt dass öfter mal ein Techniker was austauschen muss.
Mehr Wartungsaufwand eher nicht.
Und was ist mit Administartionsaufwand?
Mehr Strom? Ja, das ist leider wahr. Wenn man aber ein wenig sparsam ist, sollte der Cluster mit 10 Maschinen mit rund einem kW auskommen.
Zur Not nimmt man halt VIA-CPUs, die verbrauchen nur gut 10 Watt im Schnitt ;-)
Bei 5 Maschinen hat es sich also schon egalisiert (Ja, die dicken Server brauchen _mindestens_ ein halbes kW!). Das wären dann (bei einem kW) im Monat 720 kWh. Der Preis liegt bei großen Rechenzentren im Industrieabnehmerbereich von ca 0,10 EUR/kWh, macht 72 EUR im Monat, großzügig gerundet also 100 EUR/Monat. Für weitere hundert Tacken im Monat sollte es auch möglich sein, einen Hiwi zu bekommen, der regelmäßig die Maschinen wechselt. Mit allem Drum und Dran und Steuern wären das rund 3.000 EUR/Jahr. Dafür sollte sich ein Sponsor finden lassen.
Aber was ist mit den Rechnern die nach 2 Jahren kaputt gehen? Wahrscheinlich braucht man dann alle 3 Jahre alle Rechner neu, dsas heißt pro Jahr kommen nochmal 1/3 der Anschaffungskosten dazu.
Nur, bist Du Dir bei den 250 EUR so sicher? Einen PC für 250 EUR ist kein Problem, aber ich finde so gut wie keine Rack-Gehäuse die mit passendem Netzteil viel weniger als 200 EUR kosten. Außerdem sind das meist 4 HE, das wären dann mind. 40 HE im Rechenzentrum, wenn alle Dicht an Dicht liegen, ggfs. + Switch...
Dummerweise kommen da noch die Übertragungskosten dazu und _die_ hauen richtig rein.
Ja, da kommen sicher mal schnell 100 GB im Monat zusammen. Und das wird ja gesponert, wenn man sich das mal überlegt, wirklich Wahnsinn!
Aber wenn das wirklich 40+ HE würden, naja, das ist auch nicht von Pappe!
Aber Du hattest vermutlich eher so 1HE Dinger im Kopf, oder? Naja, wenn man die denn so billig bekommt...
Naja, wie gesagt, ich finde es höchst interessant. Und wenn ich nicht irre eignet sich FreeBSD hervorrangend für so einen Cluster-Betrieb,
bleibt nur noch die Frage wie das ganze verwaltet wird, und was mit der Software ist. Ich weiß nicht in wiewiet man da was verändern muss, ich denke die Forums-Software z.B. funktioniert nict so ohne weiteres parallel auf mehreren Rechnern.
Doch, das dürfte nun wirklich kein Problem sein. Alle Software auf dem Selfserver läßt sich ohne weiteres verteilen.
Ja? Was ist z.B. mit dem Apachen, wie genau würde das verteilt? Haben dann alle Maschinen die selben Daten auf der Platte? Anders geht es ja nicht, wenn bei jedem Request von irgend ner anderen Platte über das Netzwerk was geholt werden müsste, das wäre vor allem bei der Suche tötlich. Dann müssen die Daten beim schreiben aber auch überall aktualisiert werden, wer oder was übernimmt das?
Was ist mit der Datenbank, wieder dasselbe Problem. Noch schlimmer beim Forum, obwohl, das komuniziert z.B. über Unix-Sockets, OK das könnte man vielleicht auch mit TCP machen (CK hat mal gsagt dass man das theoretisch verteilen könnte wenn ich nicht irre), aber die Frage ist _wie_ man das ganze verteilt. Wenn man jetzt für jeden Service eine dedizierte Maschine meint, dann ist das kein Problem, aber ich verstehe nicht wie genau das bei einem Cluster funktionieren soll, so dass die Daten auf allen Machinen im RAM liegen. Ich weiß dass man das lösen kann, aber nur wenn man Sachen umprogrammiert und entsprechende Bibliotheken verwendet, aber ich hatte Dich jetzt so verstanden das sowas nicht nötig ist.
Irgendwo mache ich glaube ich einen dicken Denkfehler ;-)
Kann man denn nicht einfach so zu sagen ein virtuelles Betriebssystem drüberlegen, also als hätte man nur einen extrem großen Rechner? Das heißt Das alles beim alten ist, und sich nur irgendeine Software um die Verteilung der Daten und Prozesse auf die Rechner sorgt...
Nein, so ein "virtuelles OS" ist nicht nötig, das ist seit Beowulf doch schon ziemlich gereift ;-)
Ja, aber trotzdem kann man das doch nur nutzen, wenn die Software über TCP/UDP, MPI, PVM oder SysV IPC komuniziert. Das Problem ist ja auch, dass man hier Threads nicht verteilen kann(geht nicht ist glaube ich falsch, aber...). So eine Architektur wie der Apache 1.3 hat ist denke ich für sowas sehr gut geeignet, weil es eben einen Prozess gibt der sich um die anderen kümmert, also die übrigen Prozesse startet und beendet und mit Daten versorgt. Ich frage mich nur wie man dem beibringen will Prozesse auf anderen Rechnern zu starten ohne in den Quellcode einzugreifen.
Mal ein Zitat von http://www.xtreme-machines.com/x-cluster-qs.html:
"UNLESS AN APPLICATION WAS SPECIFICALLY WRITTEN FOR A CLUSTER ENVIRONMENT IT WILL
ONLY WORK ON ONE CPU. YOU CAN NOT TAKE APACHE OR MYSQL AND RUN THEM OVER
MULTIPLE CPUS IN A CLUSTER UNLESS SPECIFIC PARALLEL SOURCE CODE VERSIONS
HAVE BEEN CREATED."
Naja, noch glaube ich es wäre einfacher dedizierte Maschinen für die Dienste zu verwenden, vielleicht mit load-balancing, failover..., nur kommt man so nicht an die Performance und schafft "nur" Verfügbarkeit, dann sollte man aber lieber weniger dafür bessere Rechner einsetzen. Ein Cluster ist aber interessanter ;-)
Naja, aber da kennt Ihr Euch sicher besser aus ;-)
Das muß nicht sein, das kannst Du ändern! ;-)
Ich versuch mein bestes ;-)
etwas verwirrte Grüße,
Andreas