Server-Cluster
Stephan
- webserver
Hallo allerseits,
kann mir jemand zum Beginn von meinem Experiment einen Tip geben, wie ich folgendes realisieren kann:
Ich möchte eine Virtuelle Maschine erstellen, die die Ressourcen von zwei meiner Rechner besitzt.
Idealerweise mit Debian, damit kenne ich mich aus.
Geht das irgendwie mit folgender Architektur?
Problem: Wo setze ich diese virtuelle Maschine auf, wie mache ich das? Ich stehe noch am Anfang.
Danke für Tips!
Stephan
Tach,
kann mir jemand zum Beginn von meinem Experiment einen Tip geben, wie ich folgendes realisieren kann:
Ich möchte eine Virtuelle Maschine erstellen, die die Ressourcen von zwei meiner Rechner besitzt.
Idealerweise mit Debian, damit kenne ich mich aus.
ich wüsste nicht, dass das mit XEN möglich ist, der gesamte Virtualisierungsprozess dreht sich auch in die andere Richtung und basiert darauf die verschwendeten Ressourcen der viel zu leistungsstarken Rechner besser zu nutzen. Die mir bekannten Clusterlösungen wie z.B. ganeti sind zur Erhöhung der Ausfallsicherheit nicht der Performance da.
mfg
Woodfighter
Hey!
Gibt es denn dann die Möglichkeit, das ohne XEN mit einer anderen Virtualisierungsmöglichkeit zu lösen?
Hallo,
Ich möchte eine Virtuelle Maschine erstellen, die die Ressourcen von zwei meiner Rechner besitzt.
kannst du das genauer erläutern? Wenn du vorher zwei Single-Core Prozessoren hättest, möchtest du dann einen Dual-Core haben? Bzw. wenn du vorher 2 x 1 GB Arbeitsspeicher hast, möchtest du dann 1 x 2 GB haben?
Geht das irgendwie mit folgender Architektur?
- Installieren des Betriebssytems auf beiden Servern, Installieren von XEN
- Clustern der beiden Server
- Aufsetzen einer virtuellen Maschine mit den Ressourcen beider Rechner
Dieser Versuch wird daran scheitern, die physikalisch getrennten Ressourcen so zusammenzuschalten, dass daraus eine einzige Ressource wird.
Problem: [...]
Das Problem ist die Vernetzung der Hardware. In der Computertechnik ist eben nicht immer 2 x 1 = 2.
Grüße
Hey!
Ja, so ähnlich. Ich habe 2x HexaCore Prozessor und 2x 16 GB RAM und 2x 750 GB Platte. Jetzt will ich das so bündeln, dass ein Rechner draus wird.
Wie ist das denn dann in einer Cloud gelöst?
Danke :)
Hallo,
Wie ist das denn dann in einer Cloud gelöst?
schau's dir doch mal an: http://en.wikipedia.org/wiki/Cloud_computing
Die reine physikalische Verbindung der Computer wird über extrem schnelle (Netzwerk)verbindungen realisiert. Beispiele sind:
- Infiniband
- Myrinet
- SCI
- oder auch Gigabit Ethernet (Ja, geht auch, weil billig im Vergleich zu den anderen Lösungen)
Hauptproblem ist immer die Latenz beim Zugriff auf entfernte Ressourcen. Mal ein extremes Beispiel: Müsste ein Prozessor ein Datum aus seinem virtualisiertem Cache von einem entfernten Computer von der Festplatte auslesen, dann hast du eben anstatt der weniger als 1 ns mehrere Millisekunden Zugriffszeit. Welche Gesamtverzögerung das bedeuten würde, kannst du selbst ausrechnen.
Grüße
Hauptproblem ist immer die Latenz beim Zugriff auf entfernte Ressourcen. Mal ein extremes Beispiel: Müsste ein Prozessor ein Datum aus seinem virtualisiertem Cache von einem entfernten Computer von der Festplatte auslesen, dann hast du eben anstatt der weniger als 1 ns mehrere Millisekunden Zugriffszeit. Welche Gesamtverzögerung das bedeuten würde, kannst du selbst ausrechnen.
"Hauptproblem" kann man so nicht stehen lassen - auch der Code muss entsprechend optimiert werden.
Ein Code der auf einem schnellen -Prozessor läuft, läuft nicht notwendigerweise gleich schnell auf zwei halb so schnellen Prozessoren.
Es gibt Anwendungsfälle die sich ziemlich liniear skalieren lassen, es gibt Anwendungsfälle in denen es sogar langsamer wird, wenn man parallelisiert, weil das "aufteilen" der Operationen mehr Ressourcen erfordert als durch das getrennte Berechnen gewonnen wird.
Cluster machen oft nur dann sinn, wenn zwar die Berechnungszeit sinken soll, aber eine Abweichung von der Echtzeit kein Problem ist.
"Hauptproblem" kann man so nicht stehen lassen - auch der Code muss entsprechend optimiert werden.
Ja, natürlich. Jedoch läuft auch der schnellste Code nicht wirklich gut, wenn er über eine serielle Schnittstelle kommunizieren muss. Deshalb Hauptproblem; es ging ja um das "Zusammenschalten" von Hardware.
Grüße
"Hauptproblem" kann man so nicht stehen lassen - auch der Code muss entsprechend optimiert werden.
Ja, natürlich. Jedoch läuft auch der schnellste Code nicht wirklich gut, wenn er über eine serielle Schnittstelle kommunizieren muss. Deshalb Hauptproblem; es ging ja um das "Zusammenschalten" von Hardware.
Das ist klar - aber selbst wenn dieses Problem "zur Gänze" gelöst ist (Dual-Core-CPU anstatt Single-Core-CPU) besteht das Problem, dass man nicht einfach alles parallelisieren kann.
Das ist klar - aber selbst wenn dieses Problem "zur Gänze" gelöst ist (Dual-Core-CPU anstatt Single-Core-CPU) besteht das Problem, dass man nicht einfach alles parallelisieren kann.
Jupp.
Hallo Stephan,
Clusterbau mit Linux-HA von Michael Schwartzkopf ist eine gute Grundlage um sich Basiswissen anzueignen. Oder der Nachfolger Clusterbau: Hochverfügbarkeit mit pacemaker, OpenAIS, heartbeat und LVS.
Willst du nur die Rechenleistung skallieren oder Sicherheit oder beides?
Was für Anwendungen sollen da laufen? Spiele, Simulationen, Webseite etc. ?
Kay