Kefk Network : home.gif (15x16 -- 888 bytes) Hardware | news.gif (13x11 -- 102 bytes) About |  Wiki Changelog | Inhalt | Index | Site Map | Suchen  
 
  Akteure | Anbieter | Anwendungen | Ausgabe | Architekturen | Chronologie | Eingabe | Energie | Erfahrungsberichte | GPS | Kabel | Kameras | Kommunikation | Konzepte | Kühlung | Literatur | Mobil | Massenspeicher | Multimedia | Multiprocessing | Networking | PDAs | Peripherie | Redundanz | Reviews | Schallpegel | Schnittstelle | Shopping | Software | Speicher | Stromverbrauch | Supercomputing | Verfügbarkeit | Workshops | Wireless | Zentraleinheit.

 

SMP

SMP : Übersicht
25-Okt-2001/10-Jan-07


Übersicht

Ein Cluster ist die Verknüpfung mehrerer Systeme zu einer Gruppe, die über eine Cluster-Software verwaltet und gesteuert wird. Physisch gesehen ist ein Cluster eine Gruppe von zwei oder mehreren unabhängigen Servern, die auf dieselben Daten zugreifen können und dieselbe Gruppe von Clients bedienen. In Anbetracht des heutigen Stands der Technik bedeutet dies meistens, dass die Server mit gebräuchlichen I/O-Bussen und einem normalen Netzwerk für den Client-Zugriff verbunden sind.

Logisch betrachtet stellt ein Cluster eine einzelne Verwaltungseinheit dar, in der ein beliebiger Server jedem autorisierten Client jede verfügbare Leistung anbieten kann. Die Server müssen Zugriff auf dieselben Daten haben und ein gemeinsames Sicherheitssystem besitzen. Dem heutigen technischen Standard entsprechend bedeutet dies, dass in der Regel Server in einem Cluster dieselbe Architektur besitzen und unter der gleichen Version des gleichen Betriebssystems laufen.

Obwohl es verschiedene Möglichkeiten gibt, wie Cluster aufgebaut sein können, bieten alle die folgenden drei Vorteile:

  • Fehlertolerante Hochverfügbarkeit bei Anwendungen und Daten;
  • Skalierbarkeit von Hardware-Ressourcen;
  • Einfachere Verwaltung grosser oder schnell wachsender Systeme.

Höhere Verfügbarkeit

In unternehmenskritischen Umgebungen bildet die Hochverfügbarkeit von Diensten (z.B. Webserver, Datenbanken oder Netzwerk-File-Systemen) die Voraussetzung für den Erfolg des Unternehmens. Häufige Gründe für Verfügbarkeitsprobleme von Diensten sind unterschiedliche Formen von Systemstörungen. Die Störung kann in der Hardware, Software, Anwendung oder im Ablauf begründet sein. Man kann sich gegen diese Störungen absichern, indem ein Cluster als Anwendungs- oder Datenserver verwendet wird. Cluster bieten neben redundanter Rechenleistung, I/O- und Speicherkomponenten auch die Möglichkeit, dass beim Ausfall eines Servers ein anderer Server dessen Arbeit unterbrechungsfrei übernimmt. Somit ermöglichen Cluster eine hohe Verfügbarkeit der Server-Dienste auch bei einer Störung.

Die Abbildung auf dieser Seite zeigt ein einfaches Cluster, bestehend aus zwei vernetzten Servern und einem RAID-System zum Speichern der Daten.

  • Wenn an einem Server Hard- oder Softwarestörungen auftreten oder der Server abstürzt, kann der andere Server dessen Funktion übernehmen;
  • Wenn die Netzwerkschnittstelle eines Servers ausfällt und dadurch die Verbindung zu den Clients abbricht, können die Clients weiterhin auf die Leistungen des zweiten Servers zurückgreifen;
  • Wenn ein I/O-Bus oder -Adapter ausfällt, kann über einen alternativen Pfad auf die Daten des RAID-Systems zugegriffen werden;
  • Wenn eine Platte ausfällt, sind die Daten durch das RAID-System weiterhin verfügbar.

In allen Fällen müssen Server und Clients die Störung erkennen und beheben. Zwar kommt es hierbei zu einer Unterbrechung der Leistung des Cluster-Dienstes, diese beträgt jedoch bei der Verwendung von Clustern normalerweise nur wenige Sekunden, im Gegensatz zu Minuten oder Stunden bei sonst üblichen Wiederherstellungsmethoden.

Skalierbarkeit

Ein weiterer wichtiger Vorteil einiger Cluster-Architekturen ist die Skalierbarkeit, die ein Anwendungswachstum über die Kapazität eines einzelnen Servers hinaus ermöglicht. Viele Anwendungen besitzen mehrere Threads relativ abgegrenzter Aktivitäten, die nur gelegentlich interagieren. Anwendungen mit mehreren Threads können als pseudo-parallele Prozesse auf einem Server mit einem Prozessor laufen oder als echte parallele Prozesse in symmetrischen Multiprozessorsystemen (SMP). In einem Cluster können Gruppen der Anwendungs-Threads auf verschiedenen Servern ausgeführt werden, da die Server auf dieselben Daten zugreifen können. Wenn eine Anwendung zu gross für einen Server wird, kann ein zweiter Server installiert werden, um ein Cluster zu erstellen und so die Anwendungskapazität zu erhöhen.

Damit die Server auf dieselben Daten zugreifen können, ist Koordination erforderlich. Diese Koordination kann durch eine
Anwendung, einen Datenbank-Manager oder ein verteiltes Dateisystem erfolgen. In einem Cluster, in dem diese Koordination fehlt, ist der gleichzeitige direkte Zugriff mehrerer Server auf eine beliebige Datei nicht möglich. Jedoch lassen sich selbst mit diesem begrenzten Zugriff einige Anwendungen skalieren. Die Anwendungen können so aufgeteilt werden, dass die einzelnen Programme unterschiedliche Daten verwenden.

Einfachere Verwaltung

Der dritte Vorteil von Clustern ist die einfachere Verwaltung. Cluster vereinfachen die Komplexität der Systemverwaltung, indem sie den Umfang der von einem einzelnen System verwalteten Anwendungen, Daten und Benutzerdomänen vergrössern. Die Systemverwaltung umfasst unter anderem folgende Bereiche:

  • Betriebssystem,
  • Middleware,
  • Anwendungspflege,
  • Verwaltung von Benutzer-Accounts,
  • Konfigurationsverwaltung und
  • Datensicherung.

Komplexität und Kosten für die Systemverwaltung hängen von der Grösse und insbesondere von der Anzahl der verwalteten Systeme ab. Beispielsweise ist die tägliche Datensicherung für alle Server nötig, die wichtige Daten speichern - unabhängig von der Menge der zu sichernden Daten. Auch Änderungen von Benutzer-Accounts müssen auf allen Servern aktualisiert werden, auf die der Benutzer zugreift.

Cluster verringern die Anzahl der einzelnen Systeme - und somit die Kosten für die Systemverwaltung - indem sie eine grössere Anzahl von Anwendungen, Daten und Benutzern zu einem einzigen Rechnersystem zusammenfassen. Ein Vorteil davon ist, dass in einem Cluster-System nur jeweils ein einziger Satz von Benutzer-Accounts, Dateizugriffsberechtigungen, Datensicherungsregeln, Anwendungen, Datenbank-Managern etc. enthalten sein muss. Obwohl die durch unterschiedliche Cluster-Architekturen erstellten Einzelsysteme variieren können, ist
es normalerweise günstiger, ein einzelnes Cluster anstatt der entsprechenden Anzahl unverbundener Server-Systeme zu
verwalten.

Die Lastverteilung zwischen den einzelnen Cluster-Servern erfolgt automatisch. Sowohl Unix- als auch OpenVMS-Cluster bieten automatische Lastverteilung und Skalierbarkeit, Windows 2000 Cluster bieten zur Zeit lediglich eine bessere Verfügbarkeit. Mit dem Cluster-Server des Windows 2000 Advanced Servers können zwei Server, beim Windows 2000 Data Center Server vier Server zu einem Cluster verbunden werden. Die vom Cluster-Server unabhängige automatische IP-Lastverteilung erlaubt die Verteilung von Web-Applikationen auf bis zu 32 Systeme.

High Performance Computing / Beowulf Cluster

Die Beowulf-Cluster-Architektur besteht im Prinzip aus einer Anzahl von Rechenknoten und einem oder mehreren Zugangsrechnern. Die Zugangsrechner werden als Front End oder als Server Node bezeichnet. Ein Nutzer loggt sich, meist remote, nur auf diesem Server Node ein. Von dort aus kann er sich eine beliebige Menge von Rechenknoten für seine Arbeit (seinen Rechenauftrag) reservieren und benutzen. Dementsprechend benötigen die Rechenknoten keinerlei Ein- oder Ausgabe-Peripherie wie Tastatur, Maus oder Bildschirm. Sowohl Zugangsrechner als auch Rechenknoten erfordern keinerlei spezielle Hardware, in der Regel kommen Standardsysteme mit x86- oder Alpha-Prozessoren zum Einsatz. Die Koppelung der Systeme kann mit jeder beliebigen Netzwerk-Infrastruktur erfolgen. Als Betriebssystem kommt in der Regel ein freies Betriebssystem (Linux, FreeBSD usw.) zum Einsatz.

Ein Beowulf Cluster dient zur preisgünstigen Lösung von Aufgaben, die sehr viel Rechenleistung erfordern. Die Einrichtung eines solchen Clusters ist jedoch keine einfache Aufgabe, da es kein fertiges Paket gibt. Das Cluster muss, den Anforderungen entsprechend, aus mehreren Softwareteilen zusammengestellt, und die Anwendung muss dann noch parallel programmiert werden.

Hochverfügbarkeits-Cluster mit SGI Failsafe

Die SGI-Failsafe- Clustersoftware ist ein universelles, frei konfigurierbares und fehlertolerantes Hochverfügbarkeitssystem, mit dem einzelen Dienste (Services) redundant aufgebaut werden können. Mit Hilfe der Software kann ein Dienst im Fehlerfall automatisch oder manuell auf einen anderen Node (Server) migriert
werden. Wobei der Fehlerfall nicht nur in defekter Hardware liegen muss: Applikationsfehler, desolate Prozesse und kritische Systemzustände werden ebenfalls als solche erkannt und entsprechend behandelt. Dazu müssen die einzelnen Nodes des Clusters auf gemeinsame Datenbereiche zugreifen können, um den Datenbestand im Fehlerfall zu übernehmen. Hierzu kann eine SCSI RAID- oder SAN-Architektur genutzt werden, die es den Servern ermöglicht, Datenbereiche im Fehlerfall zu übernehmen.

Wurden die Datenbereiche erfolgreich übernommen, kann der aktive Cluster-Server die Dienste neu starten und unter der gleichen IP wieder zur Verfügung stellen. Die Downtime eines Dienstes ist somit kalkulierbar und in gewissem Rahmen sogar steuerbar, da man verschiedene Kriterien für die Dienstmigration konfigurieren kann. Mit entsprechend redundanten Serversystemen ist mit dieser Lösung ein Verfügbarkeit von 99,99 % realisierbar.

--

Microsoft Cluster Server-Konfiguration

Quelle: Transtec

Literatur und Quellen

Initialzündung
Erste Systeme mit Intels 100-MHz-Pentium
Georg Schnurer
Report, Pentium, Pentium 785/90, P54C, P54CM, SNI PCE-5S, Micronics
Testarossa, TMC PCI54VI, PAT54VP, ASUS Dual-Pentium-Board PCI/E-P54 NP4
mit Symetrischem Multiprozessing lt. Intels Pultiprocessing Specification
V1.1
c't 6/94, S. 114 (gs)

Abteilung K
PA-RISC-Server mit symmetrischem Multiprocessing
Fred Hantelmann
review
iX 6/95, S. 80 (rh)

Offen verteilt
Symmetrisches Multiprocessing mit Linux/SMP
Fred Hantelmann
review
iX 6/96, S. 66 (rh)

Weichenstellung
Wege zum symmetrischen Multiprocessing
Thomas Weihrich
wissen
iX 8/96, S. 118 (rh)

Fünf vor X
Das neue Apple-Betriebssystem Mac OS X kommt am 24. März
Stephan Ehrmann
aktuell, Mac OS X, Unix-Kern, symmetrisches Multiprocessing,
Multitasking, Speicherschutz, hunderte Applikationen, Apple, Steve Jobs
c't 2/01, S. 55 (se)

SMP
Nach oben
Chipsatz
Kühlung
Mainboard
SMP FAQ
Wer ist online?
Login | Logout
Name: Besucher
Online: 2 aktive User.
Monitoring:
Benachrichtigen bei Änderungen:


Discount24.de:
Angebote der Woche:
Markenartikel super preisgünstig
Nokia Online-Shop:
Angebote der Woche:
Nokia Online-Shop
Nokia Online-Shop
Avitos.com
Angebot der Woche:
Literaturhinweise:
PC - Hardwarebuch.
 von Hans-Peter Messmer

Addison-Wesley, 10/2000
Tom's Hardware Guide. Der perfekte PC im Eigenbau.

Franzis, 2002
PC-Werkstatt
 von Klaus Dembowski

Markt & Technik, 11/2002
PC Hardware Superbibel
 von Scott Mueller

Markt & Technik, 2003
PC Hardware in a Nutshell
 von Robert und Barbara Thompson

O'Reilly, 2. Aufl., 2002
Kefk Network:
Thematisch verwandte Subsites:
Shops und Händler
Preisvergleichsdienste
Meinungsportale
Verbraucherschutz

Kefk Network Home

 

URL: http://www.kefk.net/Hardware/Multiprocessing/SMP/index.asp.
Translate this page with Google to 
Website: About | Index | Inhalt | Suchen | Site Map | Statistik | Wer ist online? | What's New?.
Thematisch verwandte Websites: Fotografie | Networking | PDA | Shopping | Software | Webworking | xDSL.
Ergänzungen, Fragen und Kommentare: Kontakt | Foren | Wiki.
E-Mail: echo "asb at keNOSPAMfk.net"| sed -e "s/ at /@/" -e "s/NOSPAM//".
Copyright | Impressum | Credits.