Cluster
Was ist ein Cluster?
Cluster werden in der Regel als Sammlungen oder Gruppen von Elementen mit ähnlichen oder unterschiedlichen Merkmalen definiert. Die Gruppe oder Sammlung von Objekten bildet ein Cluster. Im Folgenden finden Sie drei Definitionen eines Clusters, die sich vor allem auf die Technologie beziehen.
1. Unternehmensinformatik. In der Informationstechnologie ist ein Cluster eine Gruppe von Servern und anderen Ressourcen, die sich wie ein einziges System verhalten und hohe Verfügbarkeit, Load Balancing (Lastausgleich) und Parallelverarbeitung ermöglichen. Diese Systeme können von einem Zwei-Knoten-System aus zwei Personalcomputern (PC) bis hin zu einem Supercomputer mit einer umfangreichen Cluster-Architektur verschiedener Ressourcen reichen.
2. Personal Computing. In der PC-Speichertechnologie ist ein Cluster die logische Einheit des File Storage auf einer Festplatte und wird vom Betriebssystem des Computers verwaltet. Jede Datei, die auf einer Festplatte gespeichert ist, nimmt einen oder mehrere Speicher-Cluster ein. Die Cluster einer Datei können auf verschiedene Speicherorte auf dem Laufwerk verteilt sein. Die Cluster, die einer Datei zugeordnet sind, werden in der Dateizuordnungstabelle (File Allocation Table, FAT) der Festplatte festgehalten. Wenn ein Benutzer eine Datei liest, wird die gesamte Datei abgerufen, ohne dass der Benutzer weiß, wo sie gespeichert ist.
Da es sich bei einem Cluster eher um eine logische als um eine physische Einheit handelt - es ist nicht in die Festplatte eingebaut - variiert die Größe. Die maximale Anzahl von Clustern auf einer Festplatte hängt von der Größe eines FAT-Eintrags ab. Die FAT-Einträge von DOS 4.0 waren 16 Bit lang und erlaubten maximal 65.536 Cluster. Windows 95 OSR2 unterstützte einen 32-Bit-FAT-Eintrag, der genügend Cluster für bis zu 2 TB an Daten zuließ, vorausgesetzt, die Festplatte hat genügend Kapazität.
In einem Cluster nimmt die kleinste Datei - oder sogar ein Verzeichnis - den gesamten Cluster ein. Eine 10 Byte große Datei nimmt also 2.048 Byte ein, wenn dies die Clustergröße ist. Viele Betriebssysteme setzen die Clustergröße standardmäßig auf 4.096 Byte oder 8.192 Byte fest. Bis Microsoft Windows 95 OSR2 verfügte die größte Festplatte, die in einer einzigen Partition unterstützt werden konnte, über 512 MB. Größere Festplatten konnten in bis zu vier Partitionenaufgeteilt werden, wobei jede mit einer FAT ausgestattet war, die 512 MB an Clustern unterstützte.
3. Terminals und Workstations. Bei einigen Produkten ist ein Cluster eine Gruppe von Terminals oder Workstations, die an eine gemeinsame Steuereinheit angeschlossen sind.
Anwendungen und Vorteile von Clustern
Cluster-Anwendungen, ob im Betriebssystem oder als separates Tool, unterstützen viele wichtige Benutzeranforderungen und fallen in die folgenden Kategorien:
High Perfomance Computing
High Performance Computing (HPC) wird durch die Nutzung der Leistungsfähigkeiten mehrerer Verarbeitungsknoten im Cluster und das Hinzufügen von Geräten zu einem System erreicht. Die Clustering-Software stellt sicher, dass die hinzugefügten Ressourcen die Anforderungen der Benutzer an hohe Geschwindigkeit und Speicherkapazität erfüllen.
Hochverfügbarkeit
Die Hochverfügbarkeit von Prozessor- und Speicherressourcen - auch Fehlertoleranz genannt - stellt sicher, dass der Ausfall oder die Störung eines Verarbeitungs- oder Speicherelements in einem Computer-Cluster nicht die gesamte Produktion beeinträchtigt. Mitglieder des Clusters können als Backup bestimmt werden, wenn ein anderes Gerät ausfällt. In diesem Fall verlagert die Cluster-Failover-Software die Verarbeitung oder Speicherung schnell auf das Backup- oder Standby-System.
Hochverfügbare CPU- und Speicherkapazitäten erhöhen die Redundanz innerhalb eines Clusters, während die betriebliche Zuverlässigkeit auf alle Cluster-Mitglieder bei Bedarf angewiesen ist. Durch das Clustering mehrerer Geräte wird die Verfügbarkeit sichergestellt; genügend Ressourcen, um die negativen Auswirkungen einer Unterbrechung zu begrenzen, sorgen für Ausfallsicherheit.
Load Balancing
Der Lastausgleich verteilt die Verarbeitungsaktivitäten auf die Cluster-Knoten, um die Leistung zu optimieren und die Arbeitslast gleichmäßig auf die Geräte zu verteilen. Der Lastausgleich von Clustern verbessert die Leistung und die Nutzung zwischen einzelnen Knoten in einem Cluster. Durch die Verteilung der Verarbeitungsaktivitäten auf mehrere Systeme werden eine aktive/aktive Verarbeitung und Größenvorteile erzielt.
Skalierbarkeit der Ressourcen
Datenverarbeitung und Speicher werden auf zwei Arten erweitert oder skaliert:
- Vertikal (Scale Up), indem dem primären Gerät mehr Speicher oder Compute hinzugefügt wird; oder
- Horizontal (Scale Out), wenn dem Cluster selbst weitere Geräte hinzugefügt werden.
Jeder Ansatz wird für unterschiedliche Benutzeranwendungen verwendet. Die Clustering-Software unterstützt beide Arten der Skalierung.
Verwaltung von Containern
In Containern werden alle für die Ausführung einer Anwendung erforderlichen Ressourcen in einem einzigen Paket zusammengefasst. Mit der Clustering-Software werden einzelne Container so verwaltet, als wären sie Mitglieder eines Clusters.
Die Open-Source-Software Kubernetes erleichtert die Vorbereitung, Organisation, Skalierung und Bereitstellung von containerbasierten Anwendungen. Kubernetes-Cluster, die mehrere Container oder Pods enthalten, übernehmen Funktionen wie Ressourcenmanagement, Lastverteilung, Fehlertoleranz und Sicherheitsanforderungen.
Verwaltung von Cloud-Ressourcen in Clustern
Clustering ist nicht auf lokale Rechenzentren beschränkt. Es kann auch mit Cloud-Computing- und Speicherressourcen verwendet werden. Cluster werden über das Rechenzentrum hinaus auf die Ressourcen eines Cloud-Anbietersausgedehnt, wobei eine Reihe von Speicher- und Rechenknoten auf VMs implementiert wird.
Clustering spielt eine Schlüsselrolle beim Hochverfügbarkeits-Computing. Informieren Sie sich über die drei besten Praktiken, die für Hochverfügbarkeits-Computing erforderlich sind.