# Collax V-Cube+

Collax V-Cube+ ist eine modular aufgebaute Software-Serverlösung des deutschen Unternehmens Collax GmbH, die es ermöglicht, virtuelle Infrastrukturen hoch verfügbar bereitzustellen. Die vollständige Virtualisierung von CPU, RAM, Netzwerkinfrastruktur und Storage kann hierbei über zwei oder mehrere Nodes zu einem HA-Cluster zusammengeschaltet werden. Hauptanwendung ist die Minimierung von Ausfallzeiten von Server-Diensten im Umfeld von klein- und mittelständischen Unternehmen.

## Generelle Funktionen

V-Cube+ erlaubt die Virtualisierung von x86-Gastsystemen, dabei wird KVM (Kernel based Virtual Machine) für die Virtualisierung von CPU, RAM, Netzwerkinfrastruktur und Storage eingesetzt. Mit V-Cube+ können zwei oder mehr Nodes zu einem symmetrischen Cluster zusammengefasst werden. Dieser Verbund wird zentral verwaltet und arbeitet aktiv-aktiv, d. h. auf allen Nodes laufen ständig Serverdienste. Im Falle eines Ausfalls von Cluster-Komponenten werden virtuelle Server (Gastsysteme) automatisch auf andere V-Cube+-Nodes umgezogen und sind damit hochverfügbar. Dabei wird die Funktionalität um ausfallsicheren, redundanten Storage ergänzt. V-Cube+ synchronisiert die Daten der integrierten Festplatten und stellt dadurch hoch verfügbaren Shared Storage bereit.

## Eingesetzte Techniken
### Fencing

Für die Vermeidung von Split-Brain-Situationen im Cluster-Verbund und zur Gewährleistung eines reibungslosen Betriebs der virtuellen Server ist, für den Fall, dass ein Node seinen Zweck nicht mehr erfüllt, der Vorgang „STONITH“ (Shoot The Other Node In The Head) implementiert. Die Umsetzung dieses Vorgangs geschieht über eine schaltbare Steckdosenleiste mit Netzwerkanschluss oder mittels des Collax-Fencing-Geräts. Damit kann ein einzelner Node aus dem Verbund ausgegrenzt werden (Fencing) und es wird gravierende und meist irreparable Datenzerstörung vermieden.

### Virtualisierung

Die Virtualisierungstechnik basiert auf dem KVM-Projekt, das die paravirtualisierte Unterstützung für virtuelle Festplatten, Netzwerkkarten und CPU der Gastsysteme ermöglicht.

### Cluster Backend

Das Cluster-Backend der Collax V-Cube+ ist dafür zuständig, die Verfügbarkeit der gesuchten Ressourcen zu überprüfen. Das eingesetzte OpenAIS implementiert dabei eine Spezifikation AIS, die aus dem Carrier-Grade-Umfeld stammt.

### Cluster Steuerung

Zur Steuerung von OpenAIS dient die abstrahierte Cluster-Steuersoftware Pacemaker, die das Management des Clusters ermöglicht. Über deren Komponenten und durch die Implementierung von Collax wird die Cluster-Konfiguration automatisch erstellt und bearbeitet.

### Embedded SAN

Um einen zusammenhängenden, synchronisierten Speicher für die beteiligten Nodes zur Verfügung zu stellen kommt DRBD, das Distributed Replicated Block Device, zum Einsatz. Die Verteilung des replizierten Storage ist beschränkt auf zwei Cluster Nodes. Die Implementation von Collax benutzt sinnvollerweise den integrierten Festplatten-Speicher der verwendeten Server. Ein externes, hochverfügbares SAN wird somit überflüssig.

### Cluster Filesystem

Für bestimmte Funktionen sind gleichzeitige Zugriffe auf einen bestimmten Bereich des Shared Storage erforderlich. Um solche konkurrierenden Zugriffe ohne Dateninkonsistenzen zu gewährleisten, wird das Cluster-Filesystem OCFS2 eingesetzt.

### Domänenkonzept

Um eine einfache und vor allem konsistente Konfiguration der Cluster-Knoten zu ermöglichen, verfügt der V-Cube+ über eine Domänensteuerung. Für den Cluster gibt es eine zentrale, übergeordnete Oberfläche, die nicht nur das Verhalten eines administrierten Node beeinflusst, sondern das aller Nodes im Cluster. Die Optionen in dieser Oberfläche umfassen alle Konfigurationsoptionen, die auf allen Nodes von Belang sind. Der Begriff der Domäne beschreibt dabei ein wesentliches Element der Zusammenarbeit vieler Nodes im Cluster. Dabei werden wichtige Dinge wie etwa Zeitsynchronität, sichere Authentifizierung und Autorisierung der Nodes untereinander, Austausch der gemeinsamen Konfigurations- und Laufzeitinformationen, Locking und Logging, Koordination gemeinsamer Abläufe etc. implementiert. Dabei kommen Technologien wie Syslog-NG, DNS, LDAP und Kerberos zum Einsatz. Das V-Cube+ Cluster-Konzept ist so realisiert, dass es keinen Single Point-of-Failure gibt, alle Informationen und Funktionen sind redundant im Cluster verteilt. Das bedeutet, dass Nodes oder Einzelkomponenten im Cluster ausfallen können, ohne die Gesamtverfügbarkeit zu gefährden.

## Technische Voraussetzungen

Um einen Hochverfügbarkeits-Cluster einzurichten und sinnvoll betreiben zu können, muss die Hardware folgende Mindestanforderungen erfüllen. Arbeitsspeicher und Festplattenkapazitäten für virtuelle Maschinen müssen je nach Anforderung ergänzt werden. Bei einem Zwei-Node-HA-Cluster müssen beide Nodes ausreichend ausgebaut sein, um alle VMs tragen zu können.

### Mindestanforderung Serverhardware

* 64-Bit-Prozessor (Intel 64 oder AMD64) mit
* Intel VT oder AMD-V Unterstützung
* Arbeitsspeicher: 4096 MB
* Festplatte: 500 GB
* Zwei Gigabit-Netzwerkschnittstellen, Jumbo-Frames (MTU 9000)

### Fencing-Device

* Collax Fencing-Device (patentiert)
* APC Switched Rack PDU Rack PDU, Switched