ADMIN

2023

04

2023-03-30T12:00:00

Storage

SCHWERPUNKT

081

Storage

Speicherplattform

StarWind Virtual SAN Free

Starterset

von Thomas Joos

Veröffentlicht in Ausgabe 04/2023 - SCHWERPUNKT

Software-defined Storage muss nicht teuer sein: Zumindest im kleineren Maßstab bauen Sie mit StarWind Virtual SAN Free eine softwarebasierte Speicherplattform auf, mit der sich sogar Cluster und hyperkon­vergente Umgebungen bereitstellen lassen. Wir zeigen in diesem Beitrag, was das Werkzeug alles bietet und wie Sie eine Testumgebung aufbauen, mit der Sie gemeinsamen Datenspeicher im Netzwerk vorhalten.

In unserem Workshopszenario übernimmt StarWind Virtual SAN Free [1] die Aufgabe, physisch verteilten Datenspeicher im Netzwerk effizient und als virtuelle Gesamtstruktur zentral bereitzustellen. Der Vorteil dabei ist die effektivere Ausnutzung der verschiedenen Speicher(technologien) sowie eine verbesserte Hochverfügbarkeit. Wir setzen dabei sowohl Flash- als auch HDD-Laufwerke ein und bauen ein Speichernetzwerk auf, aus dem Sie gezielt Volumes für verschiedene Anwendungen generieren.
Die Software eignet sich gerade für Test- und Entwicklungsumgebungen, da die auch im kommerziellen Umfeld kostenlose Version ausreichend Funktionen mitbringt, um selbst komplexere Cluster aufzubauen. Die Installation kann zum Beispiel auf Windows Server 2019/2022 erfolgen. Auch der Betrieb in virtuellen Umgebungen, sei es Hyper-V, vSphere, KVM und Xen, stellt kein Problem dar.
HDDs und Flash verschmelzen
Wenn Sie auf einem Server HDDs und Flash zur Verfügung haben, lassen sich alle Datenträger zu einem virtuellen System zusammenfassen. Flash-Speicher kann dabei als Cache Verwendung finden, sodass Anwender stets schnellen Zugriff auf häufig genutzte Daten haben, während das System weniger oft verwendete Daten intelligent auf HDDs auslagert. Es ist sogar möglich, dass Virtual SAN den Arbeitsspeicher eines Rechners als Zwischenspeicher nutzt, was die Zugriffe noch einmal beschleunigt, da das schnelle RAM als Cache fungiert. Das kombiniert den günstigen Speicherplatz einer HDD mit dem hohen Tempo von Flash. Speichersysteme lassen sich dadurch insgesamt beschleunigen. Und auch HDDs erfahren eine Beschleunigung, weil die Interaktion beim Datenzugriff nicht mehr direkt auf der Ebene des Datenträgers stattfindet, sondern von Virtual SAN gesteuert wird. Hierzu sind weder spezielle Treiber noch sonstige Anpassungen notwendig.
In unserem Workshopszenario übernimmt StarWind Virtual SAN Free [1] die Aufgabe, physisch verteilten Datenspeicher im Netzwerk effizient und als virtuelle Gesamtstruktur zentral bereitzustellen. Der Vorteil dabei ist die effektivere Ausnutzung der verschiedenen Speicher(technologien) sowie eine verbesserte Hochverfügbarkeit. Wir setzen dabei sowohl Flash- als auch HDD-Laufwerke ein und bauen ein Speichernetzwerk auf, aus dem Sie gezielt Volumes für verschiedene Anwendungen generieren.
Die Software eignet sich gerade für Test- und Entwicklungsumgebungen, da die auch im kommerziellen Umfeld kostenlose Version ausreichend Funktionen mitbringt, um selbst komplexere Cluster aufzubauen. Die Installation kann zum Beispiel auf Windows Server 2019/2022 erfolgen. Auch der Betrieb in virtuellen Umgebungen, sei es Hyper-V, vSphere, KVM und Xen, stellt kein Problem dar.
HDDs und Flash verschmelzen
Wenn Sie auf einem Server HDDs und Flash zur Verfügung haben, lassen sich alle Datenträger zu einem virtuellen System zusammenfassen. Flash-Speicher kann dabei als Cache Verwendung finden, sodass Anwender stets schnellen Zugriff auf häufig genutzte Daten haben, während das System weniger oft verwendete Daten intelligent auf HDDs auslagert. Es ist sogar möglich, dass Virtual SAN den Arbeitsspeicher eines Rechners als Zwischenspeicher nutzt, was die Zugriffe noch einmal beschleunigt, da das schnelle RAM als Cache fungiert. Das kombiniert den günstigen Speicherplatz einer HDD mit dem hohen Tempo von Flash. Speichersysteme lassen sich dadurch insgesamt beschleunigen. Und auch HDDs erfahren eine Beschleunigung, weil die Interaktion beim Datenzugriff nicht mehr direkt auf der Ebene des Datenträgers stattfindet, sondern von Virtual SAN gesteuert wird. Hierzu sind weder spezielle Treiber noch sonstige Anpassungen notwendig.
Auf Protokollebene ermöglicht Virtual SAN Verbindungen per SMB, NFS und iSCSI. Neben iSCSI unterstützt die Software SMB 3.1.1 mit SMB Direct/RDMA, SMB Multichannel und SMB Transparent Failover. Ebenfalls Unterstützung finden Verbindungen mit NFS 4.1, NFS Multichannel und NFS-over-RDMA. In der Regel kommen die Standardoptionen der Betriebssysteme zum Einsatz, zum Beispiel der iSCSI-Initiator von Windows.
Einschränkungen der kostenfreien Version
Sobald Sie die physischen Datenträger auf dem Server mit StarWind Virtual SAN angebunden und die Partitionen konfiguriert haben, lassen sich unter Windows die virtuellen Datenträger des SANs per iSCSI an die Clients anflanschen. Häufiges Einsatzgebiet sind gemeinsame Datenträger für Cluster, die auf die iSCSI-Verbindung aufbauen, oder Datenspeicher für virtuelle Server. Bezüglich der Anzahl von Cluster-Knoten und Speichervolumen gibt es in der kostenfreien Variante keine Limits – auf Support und noch ein paar Dinge mehr müssen Sie in diesem Fall jedoch verzichten.
Bei der Bereitstellung und Verwaltung einer virtuellen Speicherumgebung mit StarWind Virtual SAN Free sind Sie auf drei StarWind-Knoten begrenzt. Die kostenpflichtige Version erlaubt eine unbegrenzte Anzahl, wodurch sich eine bessere Skalierbarkeit erreichen lässt. Die Verwaltung erfolgt über eine grafische Oberfläche, die StarWind Management Console. Allerdings ist bei der kostenlosen Version die Administration nach 30 Tagen nur noch über die PowerShell, mit VVOLs oder SMI-S möglich. Zwar lässt sich die Managementkonsole danach weiterhin dazu verwenden, um Einstellungen und Konfiguration der Umgebung anzuzeigen, nur Änderungen sind in der GUI nicht mehr erlaubt. Die verbundenen Clients und Server sind in der GUI in der kostenfreien Variante ebenfalls weiterhin zu erkennen und lassen sich trennen.
Alle Unterschiede zwischen der kostenlosen und kostenpflichtigen Version hat der Anbieter in einer PDF-Datei zusammengefasst [2]. Bei Bedarf hinterlegen Sie in der Managementkonsole nach dem Anklicken eines Knotens über die Registerkarte "Configuration" mit "Register" und "Modify" eine Lizenz, um alle Funktionen freizuschalten, falls die kostenlosen Features nicht ausreichen.
Bild 1: Die Nutzung der Managementkonsole von StarWind Virtual SAN ist in der kostenlosen Variante auf 30 Tage beschränkt.
PowerShell ist Pflicht
Für die Verwaltung per Kommandozeile stellt Virtual SAN im Verzeichnis "C:\Program Files\StarWind Software\StarWind\StarWindX\Samples\powershell" verschiedene Skripte zur Verfügung, die Sie zur manuellen Konfiguration oder als Vorlage für eigene Skripte nutzen können. Alle Cmdlets zeigen Sie mit dem Befehl Get-Command -Module StarWindX an. Für alle Befehle steht mit Get-help eine Hilfe zur Verfügung, die die Möglichkeiten des jeweiligen Kommandos und seine Syntax anzeigt. Normalerweise wird das StarWind-Modul automatisch geladen, alternativ importieren Sie es in einer geöffneten PowerShell-Sitzung mit Import-Module StarWindX.
Um nun zum Beispiel Anpassungen an einem Virtual SAN-Knoten vorzunehmen, müssen Sie sich zuerst mit dem Server verbinden, genauso wie auch in der Konsole. In den Skripten ist die Verbindung schon hinterlegt. Nutzen Sie eigene Cmdlets, verwenden Sie den folgenden Befehl:
New-SWServer <Server-IP-Adresse> <Portnummer> <Login> <Passwort>
Neue Image-Dateien und die dazugehörigen iSCSI-Ziele erstellen Sie im Anschluss manuell mit den beiden Cmdlets "Add-ImageDevice" und "New-Target". Am einfachsten ist es, wenn Sie bei der Einrichtung von neuen Laufwerken über die PowerShell auf die Beispielskripte zurückgreifen und diese an die eigenen Anforderungen anpassen. Dazu müssen Sie lediglich die Werte der eigenen Umgebung eintragen und danach das Skript starten. Alternativ ist es möglich, per SMI-S auf den Server zuzugreifen. Einen Quick Start Guide zur Nutzung unter Windows liefert Details [3].
Erste Schritte mit Virtual SAN
Die Installation der Umgebung kann wie erwähnt auf physischen Servern oder auf VMs erfolgen. Eine VM stellt dann in einer Test- oder Entwicklungsumgebung einen zentralen Datenspeicher für einen Cluster dar, der ebenfalls auf VMs aufbauen kann. Das Setup beschränkt sich auf das Bestätigen weniger Fenster. Ist es auf einem Server durchgelaufen, fügen Sie einem Speichernetzwerk mit "Add Server" insgesamt bis zu drei Virtual-SAN-Knoten hinzu. Für Testumgebungen reicht oft ein einzelner Knoten aus. Um einen solchen zu verwalten, klicken Sie ihn in der Konsole an und wählen "Connect". Die standardmäßigen Authentifizierungsdaten sind "root" mit dem Kennwort "starwind".
In der Verwaltungskonsole sehen Sie danach den zur Verfügung stehenden Datenspeicher. Erzeugen Sie dann verschiedene iSCSI-Ziele, die die Clients als Datenspeicher verwenden, in der Konsole oder per PowerShell. Die Verbindungen funktionieren in Windows mithilfe des iSCSI-Initiators ohne die Installation einer zusätzlichen Software. Neue Laufwerke schaffen Sie in der Konsole mit "Add Device", in der PowerShell nutzen Sie dazu das vorbereitete Skript "CreateImageFile.ps1".
Nach der Installation bauen Sie in der kostenlosen Version von Virtual SAN eine Verbindung mit der Managementkonsole auf. Allerdings lassen sich hier keine Anpassungen vornehmen. Sie sehen dafür aber Informationen zu den erstellten Datenträgern, wenn Sie mittels "Connect" eine Verbindung zum Gerät hergestellt haben. Außerdem erfahren Sie auf der Registerkarte "Performance" eines Servers, wie dessen Auslastung ist. Der Reiter "General" verrät Infos zur Lizenz, genutzten Ports und zur Authentifizierung.
Für die Überprüfung der Aktionen, die Sie mit den PowerShell-Skripten oder einzelnen Cmdlets durchgeführt haben, ist die Managementkonsole das richtige Werkzeug. Hier überwachen Sie die Umgebung und erkennen, welche Ereignisse auf dem System stattgefunden haben. Dazu steht die Registerkarte "Events" zur Verfügung. Wenn Sie ein Image erstellt haben und Clients per iSCSI mit dem Ziel verbunden sind, sehen Sie das nach dem Anklicken des Images über "iSCSI Sessions". Klicken Sie eine Session an, können Sie diese vom Server trennen.
Eigene Skripte mit PowerShell ISE
Skripte bearbeiten Sie entweder mit der PowerShell ISE, mit Visual Studio Code oder der Erweiterung für die PowerShell beziehungsweise jedem anderen Editor, der in der Lage ist, mit PowerShell-Skripten zu arbeiten. Grundsätzlich ist es möglich mit Notepad in Windows zu arbeiten, allerdings ist die Arbeit mit Skripten dann nicht sehr bequem. Wir beschreiben den Umgang mit Skripten anhand der PowerShell ISE.
Die Skripte sind im Grunde genommen alle gleich aufgebaut. Zu Beginn legen Sie über Variablen die Einstellungen fest, die Sie umsetzen wollen. Wichtig ist an dieser Stelle die Angabe des StarWind-Servers, mit dem Sie eine Verbindung aufbauen wollen, des Ports für die Anmeldung und des Benutzernamens sowie des Kennworts für die Anmeldung. Der standardmäßige Benutzername für die Anmeldung ist wie gesagt "root", das Kennwort lautet "starwind", und als Port kommt normalerweise TCP 3261 zum Einsatz. All diese Informationen entnehmen Sie bei "General" und "Configuration" auch der Managementkonsole.
Die Größe von Laufwerken sowie deren Bezeichnungen steuern Sie in der PowerShell ISE ebenfalls über den oberen Bereich. Bei allen Skripten hat der Hersteller Beispiele hinterlegt, die Sie dann an Ihre eigenen Anforderungen anpassen. Im unteren Bereich sind die Befehle zu finden, die wiederum die Variablen nutzen. Hier müssen Sie in den meisten Fällen nichts modifizieren, möglich ist es aber.
Sie füllen daher am besten die Variablen am Anfang des Skripts aus und lassen das Skript im Anschluss direkt starten. Das geht in der PowerShell am Beispiel von "CreateImageFile.ps1" durch die Eingabe von .\CreateImageFile.ps1, wie bei anderen Skripten auch. In der PowerShell ISE klicken Sie dazu einfach das grüne Dreieck an, das Skripte startet. Im unteren Bereich des Fensters sehen Sie danach die Auswirkungen des Befehls.
Bild 2: In der kostenfreien Version nutzen Sie vor allem die PowerShell ISE und Skripte.
Umgang mit Image-Files
Haben Sie ein Image erstellt, sollten die dazugehörigen Dateien im angegebenen Ordner zu finden sein. Das Skript "CreateImageFile.ps1" erzeugt ein solches Image und ein dazugehöriges iSCSI-Ziel. Dieses taucht nach der Ausführung des PowerShell-Skripts in der Managementkonsole unterhalb des Servers auf. Sie kontrollieren die Einstellungen für Images also in der Konsole und passen die Settings bei Bedarf in der PowerShell an.
Die Verbindung bauen Sie auf einem Windows-Server durch das Starten des iSCSI-Initiators auf, zum Beispiel über die Registerkarte "Ziele". Hier geben Sie den Namen oder die IP-Adresse des Virtual-SAN-Servers ein und lassen sich mit "Schnell verbinden" an Virtual SAN konnektieren. Bei "Name" ist die Bezeichnung des iSCSI-Ziels zu finden und bei "Status" sehen Sie, ob die Verbindung steht. Der Datenträgerverwaltung des Servers, die Sie über diskmgmt.msc starten, ist danach das Laufwerk zu entnehmen, das Sie wie ein lokales Drive konfigurieren. Auf dem gleichen Weg erzeugen Sie beliebig weitere Images mit dazugehörigen iSCSI-Zielen, die Sie wiederum auf verschiedenen Servern nutzen. Über die Cmdlets des Moduls "StarWindX" nehmen Sie nach dem Erstellen von Images und anderen Objekten Anpassungen vor. Dazu gehört zum Beispiel das Schaffen von neuen Image-Dateien, das Anbinden an vorhandene iSCSI-Ziele sowie das Anlegen von neuen Zielen.
Mit dem Skript "enumDevicesTargets.ps1" lesen Sie die einzelnen Images und Ziele auf Ihrem Virtual-SAN-Server aus und zeigen diese in der PowerShell an. Dazu öffnen Sie das Skript in PowerShell ISE mit "Datei / Öffnen", füllen die notwendigen Felder aus, vor allem den Namen und die IP-Adresse des Servers und die Anmeldedaten. Starten Sie das Skript, ist das Ergebnis unten im Fenster zu sehen. Hier sind alle relevanten Infos zu den verschiedenen Images und Zielen zu erkennen. Diese Daten erreichen Sie aber genauso bequem in der Managementkonsole. Um ein Image zu vergrößern, nutzen Sie das Skript "ExtendDevice.ps1". Sie öffnen es wiederum in PowerShell ISE oder Visual Studio Code, geben den Namen des Images ein, das Sie ändern wollen, und danach die neue Größe. Führen Sie das Skript aus, werden die Änderungen sofort aktiv. Überprüfen können Sie das wie immer in der Managementkonsole oder per PowerShell mit dem Skript "enumDevicesTargets.ps1".
Fazit
StarWind Virtual SAN zeigt sich als ideales Werkzeug, um die physischen Speicher mehrerer Server zu einer virtuellen Infrastruktur zusammenzufassen. Danach stellen Sie iSCSI-Ziele zur Verfügung, über die Clients eine Verbindung zu den virtuellen Laufwerken aufbauen. Schon die kostenlose Variante lässt sich produktiv einsetzen und die Verwaltung in der PowerShell sollte durch die Beispielskripte selbst Anfängern leicht fallen. Und wenn die kostenlosen Funktionen nicht mehr ausreichen, ist durch das Eintragen einer Lizenz ein Upgrade möglich, ohne dass eine Neuinstallation notwendig ist.
(ln)
Link-Codes