Letztes Jahr haben wir die preisgekrönte Lösung der Atlantis Computing Inc. (http://www.atlantiscomputing.com/ ) für Software-Defined Storage (SDS) USX evaluiert (Kurztest Atlantis virtual Appliance USX). Die USX ist eine Speicherlösung, die parallel auf einem Hypervisor mitlauft und eine ähnliche Funktionalität bietet, wie ein externes Storage-System. Zur Erinnerung, mit Mechanismen wie Hyper-Converged werden vorhandene Speicherkapazitäten oder auch lokale Flash SSDs „Veredelt“ und mit Mechanismen wie Datendeduplizierung beispielsweise für virtuelle Server (VMware, XenServer) bereitgestellt. Dadurch wird Festplattenspeicher eingespart und die Umgebung durch mehr IOPS stark beschleunigt. In unserem ersten Artikel haben wir die „Simple Volumes“ betrachtet. Die RAID Konfiguration über mehrere Hypervisor-Knoten wurde nicht betrachtet. Unsere Testsysteme hatten leider „nur“ 32 GB Arbeitsspeicher und noch laufende virtuelle Maschinen. Im Laufe des letzten Jahres haben wir die Lösung mehrfach bei unseren Kunden evaluiert und produktiv mit mehreren Installationen am Laufen. Inzwischen sind wir Partner für die Lösungen von Atlantis Computing inc. Die Erfahrungen bei unseren Kunden sind alle positiv ausgefallen. Somit ist es an der Zeit, dass ein Blog für eine RAID Konfiguration nachgeliefert werden. RAID mit der Atlantis USX bedeutet, dass einer von mehreren Knoten ausfallen darf. Beispielsweise RAID 5 über vier Knoten. Jetzt darf einer der vier Knoten ausfallen ohne die Gesamtumgebung zu beeinträchtigen. Die restlichen drei Knoten können den Ausfall kompensieren.
Abbildung 1: Atlantis USX RAID 5 Verbund
Mit der Version 3.1 der USX kam zusätzlich die Möglichkeit ein RAID1 Verbund zu nutzen. Also einen Spiegel (Mirror) über nur zwei Server. Weiterhin die „Stretched Cluster“ Funktion. Das bedeutet, dass nur noch zwei Server mit jeweils einem Hypervisor notwendig sind, um eine Ausfallsicherheit zu ermöglichen. Stretched Cluster bedeutet zusätzlich, dass der zweite Server oder die Server in einer RAID 5 Konfiguration für eine vollständige HA Funktion sorgen können. Bei zwei Rechenzentren würden die Systeme auf zwei Standorte verteilt werden können. Ein Standort kann vollständig ohne einen Funktionsverlust ausfallen. Das ist eine Funktionalität, die bisher sehr teuer bezahlt werden musste. Mit der Atlantis USX wird nur nach Kapazität lizensiert. Ob eine Umgebung mit Simple Volumens, All Flash, Stretched Cluster oder Hyper-Converged arbeitet, macht preistechnisch bei der Lizensierung keinen Unterschied. Hingegen sollte ein Unternehmen überlegen, wo welche Funktionalität und Datensicherheit benötige wird. Für Terminalserver, die provisioniert werden, reicht in erster Linie eine hohe Performance. Eine Stretches-Cluster Funktionalität ist hier nicht notwendig. Stretched Cluster und RAID kosten im System physikalische Ressourcen.
Abbildung 2: Atlantis USX im Raid 1 Verbund
Spannend wird es, wenn man mit nur zwei Servern eine vollständige Ausfallsicherheit erreichen kann. Das bedeutet auch für sehr kleine Umgebungen in einem mittelständigen Umfeld eine sehr hohe Verfügbarkeit für Daten und virtuelle Maschinen bei äußerst geringen Kosten (mit vergleichbaren physikalischen Lösungen). Die wichtigste Voraussetzung dafür ist jedoch ein 10GBit Ethernet. Dieses wird jedoch in vielen Bereichen immer mehr zum Standard und ersetzt auch bei vielen anderen Storage-Lösungen nach und nach den Fibrechanel und die HBAs.
Abbildung 3: Atlantis im RAID 1 Stretched Cluster
Die Service-VMs verwalten den Speicherplatz im RAID. Das „USX Volume“ stellt den Speicher bereit. In einer RAID-1-Konfiguration gibt es zwei Service VMs und eine Volume VM. Wenn die Konfiguration als HA bereitgestellt wird, gibt es zwei HA VMs. Eine Bereitstellung ohne HA muss nicht unbedingt einen Ausfall bedeutet. Sichert der Hypervisor den Neustart der Volume VM nach einem Serverausfall, wird der Speicher auch nach kurzer Zeit durch einen Neustart der Volume VM wieder bereitgestellt. Das ist nur möglich, wenn sich die Volume VM auf einem Shared Storage befindet, wenn das nicht möglich ist, bleibt nur eine Stretched-Cluster-Konfiguration. Bei einer HA-Konfiguration hingegen läuft immer eine passive Volume VM auf dem jeweils anderen Knoten mit. Die HA Volume VM kann im Bedarfsfall die Bereitstellung des Speichers übernehmen. Jedoch ist auch dieser Vorgang mit etwas Zeit verbunden. In der Regel ist das Umschalten nach unter einer Minute erledigt.
Wir beschreiben nun, wie leicht es ist, die Lösung zu installieren. Vom Aufwand her ist die Arbeit nach ca. 30 Minuten erledigt.
ANMERKUNG: Ein Stretched Cluster benötigt „eigentlich“ immer einen Tie-Braker. Damit wird die Splitt Brain Problematik umgangen. Tie-Breaker bedeutet einen weiteren USX Manager auf einer weiteren virtuellen Maschine. Dieses Tutorial ignoriert diesen Punkt.
1. Zunächst ist das OVF mit der Atlantis USX Appliance zu installieren. Dazu bitte den vorherigen Blogartikel beachten: http://www.software-virtualisierung.de/entry/kurztest-atlantis-virtual-appliance-usx.html
2. Nach dem Deployment anmelden mit admin/poweruser
3. Zunächst die „Enable advanced settings“ aktivieren. Hier kann u.a. die Funktionalität Snapshot und Recovery für ein NFS LUN ausgeschaltet werden. Das steigert die Performance.
4. Für VMwarte ist NFS.MaxQueueDepth=64 zu setzen (https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2016122)
5. Über die folgenden Schritte wird eine Basiskonfiguration eingerichtet
6. Zunächst über „ADD VM Manager“ den VM Manager einrichten
7. Über „HYPERVISOR AND STORAGE“ die Umgebung festlegen
8. Anschließend die Sites für den Stretched Cluster festlegen
9. Wir ignorieren den Tie-Breaker. Hier nur eine IP angeben, die im Netz nicht existiert. Normalerweise wird dieser zwingend zur Umgebung der Splitt-Brain Problematik benötigt.
10. Nun die Sites festlegen und „Save“ drücken
11. Über „Add a storage Profile werden die Netzwerke festgelegt. Wir legen hier zwei Netzwerke für die Storage Replikation (10 GBit) und für das Management an.
12. Über „ADD TEMPLATE“ werden die Namenstemplates festgelegt, mit denen Atlantis USX virtuelle Maschinen für das USX System erzeugt. Hier ein Template für Volume VM und Service VM festlegen.
13. Nun kann über „Create Volume“ eine neue virtuelle Maschine erzeugt werden
14. Als Speichervarianten stehen die folgenden Optionen zur Auswahl:
- Hyper-Converged Hybrid
- All Flash
- In-Memory (sehr schnell für Terminalserver!)
- „Simple-Hybrid
- Simple All Flash
- Simple in-Memory
15. Für einen RAID-1-Stretched-Cluster wählen wir All-Flash (andere Optionen, außer den „Simple“ sind auch möglich). All Flash bedeutet, dass wir nur lokalen, in den ESX Servern installierten Flash Speicher für die Bereitstellung nutzen. Auf 1TB Flash passen mit Datendeduplizierung ca. 4TB an virtuellen Maschinen. Unabhängig, ob dabei Thin-Provisioniert wird.
16. Nun dauert einige Zeit, bis das neue Volume ausgerollt ist (4~5 Minuten)
17. Nach Abschluss der automatischen Konfiguration unter „MANAGE“ angezeigt
18. Nach einigen Minuten wechselt die Storage VM von „Offline“ auf „Online“
19. Über „Mount Volume“ wird das Storage automatisch im Cluster bereitgestellt
20. Mit „Enable HA“ wird eine weitere VOLUME VM“ erzeugt, die im zweiten Server bereitgestellt wird.
21. Das dauert auch wieder einige Minuten. Das Symbol für das Laufwerk ändert sich
22. „Manage Volumes“ zeigt das aktive Volume und die „HA-VM“
23. Wenn nun die aktive HA VM ausgeschaltet wird, dauert es ca. 30 Sekunden bis zum Failover
Nach dem Failover
24. Der Status geht zunächst auf „Degraded“. Nachdem die VM wieder aktiv ist, dauert es einige Zeit bis sich die Storage Volumes repliziert haben und der Status von degraded wieder auf „Online“ wechselt.
Kommentare