Tags: Storage, Windows Server 2012 R2, iSCSI
Während man das iSCSI-Target für Windows Server 2008 R2 noch separat herunterladen musste, gehört es seit der Version 2012 zum Lieferumfang des Betriebssystems und wird als eigene Rolle installiert. Das Release 2 brachte vor allem Verbesserungen in puncto Skalierbarkeit. Folgende Anleitung zeigt, wie man auf Basis von Windows ein blockbasiertes Storage-System einrichtet.
iSCSI (Internet Small Computer System Interface) erfreut sich seit einigen Jahren einer großen Verbreitung. Der Grund dafür liegt in den relativ geringen Kosten für die Anschaffung der Infrastruktur und in der einfachen Bereitstellung von zentralem Speicher.
iSCSI-LUNs auf Basis von VHDX
Da das Protokoll SCSI-Befehle in TCP/IP-Pakete kapselt, benötigt man im Rechenzentrum nur administrierbare Layer-3-Ethernet-Switches und S/FTP Patchkabel. Entscheidend für eine gute iSCSI-Performance ist, ob 1 oder 10 Gbit-Netzwerkadapter zum Einsatz kommen.
Bei iSCSI gibt es immer ein Zielspeichersystem (Target) und einen Client Controller (Initiator). Das Windows Server iSCSI Target stellt virtuelle Festplatten als Speichereinheiten (LUNs) bereit, und mit dem Erscheinen von R2 wurden hier bedeutende Verbesserungen vorgenommen.
So kommt nun das neue VHDX-Format zum Einsatz, so dass LUNs bis zu 64 TB groß sein können und bei Server-Ausfällen, etwa wegen Stromunterbrechungen, weniger anfällig gegen Beschädigung sind. Die maximale Anzahl an LUNs erhöhte sich zudem auf 256 auf jene der gleichzeitigen Sessions auf 544. Hinzu kommen Verbesserungen bei Performance und Management, unter anderem durch ein intelligenteres Caching und die Unterstützung der Schnittstelle SMI-S.
Damit eignet sich Windows Server 2012 R2 für den Einsatz als Storage-System in produktiven Umgebungen. Allerdings wird man dort einen Single Point of Failure (SPoF) vermeiden wollen und daher ein iSCSI-Target über ein Failover-Cluster bereitstellen.
Die folgende Anleitung beschreibt jedoch die Konfiguration eines einzelnen Servers, wie man ihn in kleineren Umgebungen nutzen wird, um das grundsätzliche Vorgehen zu erläutern.
Netzwerke konfigurieren
Die Netzwerkadapterkonfiguration spielt, wie bereits angedeutet, eine zentrale Rolle und dementsprechend beginnt hier die Grundsteinlegung. In der Laborumgebung konfiguriere ich zwei Netzwerkadapter am Windows Server und trenne das lokale Netzwerk vom SAN (Storage Area Network).
Eine NIC hat Zugriff auf das Domänennetzwerk und erhält in dieser Beispielkonfiguration die IPv4 192.168.1.8 / 24 mit einem Eintrag für Gateway und DNS-Server. Die zweite NIC bedient das iSCSI-Speichernetzwerk und erhält die IPv4 192.168.10.50 / 24. Bindungen wie Client für Microsoft-Netzwerke usw. sind auf dem iSCSI-Netzwerkadapter nicht erforderlich und sollten dementsprechend deaktiviert werden. Auch eine DNS Auflösung ist hier nicht nötig.
Danach werden die Netzwerkadapter entsprechend ihrer Rolle in z.B. LAN oder iSCSI umbenannt.
In einer Produktivumgebung sollte man für die nötige Redundanz der Netzwerkkarten und Switches sorgen um auch hier einen Single Point of Failure zu vermeiden. Außerdem wird man Multipath I/O konfigurieren, um neben Failover auch einen höheren Datendurchsatz zu erzielen.
Rolle als iSCSI-Target hinzufügen
Nachdem die Netzwerkkarten konfiguriert sind, kann ich die Rolle iSCSI-Zielserver (iSCSI Target) inklusive der iSCSI-Zielspeicheranbieter installieren. Im Server Manager klicke ich auf Verwalten und füge die neue Rolle auf einem ausgewählten Server hinzu. Die Fertigstellung der Installation zieht keinen Neustart des Servers nach sich, und somit taucht die Rolle unmittelbar neu im Server Manager unter Datei-/Speicherdienste => iSCSI auf.
Neue virtuelle iSCSI-Datenträger erstellen
Zu diesem Zweck wechsel ich im Server Manager auf den neuen Punkt iSCSI und klicke auf den Link "Starten Sie den Assistenten für neue virtuelle iSCSI-Datenträger,…".
Die erste Abfrage betrifft den Speicherort für die iSCSI-Datenträger. Sie werden im VHDX-Format angelegt und hier bestimmt man, wo man diese im Dateisystem speichert. Hier lässt sich bei Bedarf auch ein bereits konfiguriertes iSCSI-Target auswählen.
Ich belasse den Standardpfad auf C:\iSCSIVirtualDisk und vergebe anschließend einen Namen für die VHDX-Datei. In diesem Fall soll der Name des Datenträgers Volume1 heißen und der vollständige Pfad lautet somit C:\iSCSIVirtualDisks\Volume1.vhdx. Im nächsten Schritt gelangt man zur Größenkonfiguration.
Eine feste Größe bedeutet immer schnellere Schreib-/Lesezugriffe und geringe Fragmentierung, eine solche fixe VHDX belegt jedoch sofort den angegebenen Speicherplatz. Dynamisch erweiterbare Laufwerke bieten mehr Flexibilität durch ein Anwachsen nach Bedarf, fragmentieren jedoch stärker.
Alternativ zur GUI kann man für diese Aufgabe auch PowerShell einsetzen:
New-IscsiVirtualDisk –Path C:\iSCSIVirtualDisks\Volume1.vhdx –Size 40GB -UseFixed
iSCSI-Ziele definieren
Der Datenträger wurde somit angelegt, nun definiere ich ein neues iSCSI-Ziel mit dem Namen hyper-v-host-a. Im folgenden Dialog werden die Client-Initiatoren hinzugefügt. Das sind die Rechner, die per Initiator auf den iSCSI-Datenträger zugreifen dürfen. Man kann hier das Verzeichnis abfragen, einen IQN (iSCSI Qualified Name) direkt angeben oder per IP bzw. DNS-Namen Zugriffsserver definieren.
Im letzten Schritt konfiguriere ich die optionale Authentifizierung gegen das iSCSI-Ziel. Hier aktiviere ich CHAP (Challenge Handshake Authentication-Protokoll) um den Zugriff auf den Zieldatenträger nur authentifizierten Initiatoren zu gewähren.
Zum Abschluss zeigt der Wizard eine Zusammenfassung aller gewählten Einstellungen an und über den Button Erstellen wird der virtuelle iSCSI Datenträger samt Zugriffskonfiguration erzeugt. Im Server Manager sieht man im Anschluss die nicht verbundenen iSCSI-Ziele und die dazugehörigen Datenträger.
Das iSCSI-Storage auf Basis von Windows Server 2012 R2 ist nun einsatzbereit und lässt sich auf den berechtigten Clients nutzen, nachdem man dort den iSCSI-Initiator eingerichtet hat (siehe dazu: iSCSI-Storage in Windows Server 2012 R2 und Hyper-V nutzen).
Täglich Know-how für IT-Pros mit unserem Newsletter
Marcel Küppers arbeitet seit über 25 Jahren in der IT, aktuell als Team Leader, zuvor als Consultant und Infrastructure Architect unter anderem für den japanischen Konzern JTEKT/TOYODA mit Verantwortung über die Europastandorte Krefeld und Paris.
Darüber hinaus wirkte er als Berater im EU-Projekt-Team für alle Lokationen des Konzerns mit und ist spezialisiert auf hochverfügbare virtualisierte Microsoft-Umgebungen plus Hybrid Cloud Solutions.
Zertifizierungen: MS Specialist und MCTS für Hyper-V/SCVMM, MCSE, MCITP, MCSA. Zusätzlich zertifiziert für PRINCE2 Projektmanagementmethode.
Ähnliche Beiträge
- Failover-Cluster: Windows Server 2012 R2 als hochverfügbares iSCSI Target
- Gartner-Quadrant zu Disk-Arrays: acht Hersteller führend
- VMware vSAN 6.5: iSCSI-Support, 2-Knoten-Cluster mit Direct Connect
- Datenträger bereinigen mit DISM: Speicherplatz sparen in Windows Server
- Speicher-Management: Open-E bringt Data Storage Software v7
Weitere Links
7 Kommentare
Leider lässt die Performance von dem Microsoft iSCSI Target sehr zu wünschen übrig. Ich habe es für eine Testumgebung als Speicher für Hyper-V VMs verwendet, war etwas enttäuschend. Ich verwende nun als kostenlose Alternative das Starwind Virtual SAN. Hier kann man Hauptspeicher als Cache nutzen, was das bei mir doch merklich beschleunigt hat.
Es ist natürlich Geschmackssache, für welches Target man sich letztendlich entscheidet. Das Windows Server Target ist eine Option. Das iSCSI Protokoll hat per design schon overhead und um "hinten raus" performant zu arbeiten, braucht man auch ein entsprechendes Speichersubsystem. Die Flexibilität auf Basis der VHDX Container ist auch ein großes Plus pro Windows Server Target.
Herzlichen Gruß,
StarWind Virtual SAN ist eine alternative Lösung für solche Fälle. Es bietet mehr Möglichkeiten und Flexibilität als Microsoft iSCSI Target.
Für eine 2-Node-Konfiguration kann man die freie Version verwenden.
Hallo!
Ich habe ein Problem mit dem ISCSI Ziel auf Server 2012 R2. Es werden keine Verbindungen hergestellt wenn als InitiatorenID "DnsName" benutzt wird. IP Adresse, MAC und IQN funktionieren. Sind für DnsName Besonderheiten zu beachten?
Hallo!
Hat sich erledigt, der Geistesblitz kam nach dem Senden der Nachricht. Eine Reverse-Lookupzone behebt das Problem.
Konfiguriertes und funktionierendes DNS ist wie immer im Windows Netzwerk essentiell.
Muss die Rolle ISCSI-Zielspeicheranbieter mitinstalliert werden? In vielen anderen Tutorials wird nur die target-Server-Rolle installiert. Ausserdem ist die Rede davon, dass man nicht beide Rollen auf dem selben server installieren soll, sondern die Zielspeicheranbieter-Rolle auf einem "Application-Server".
ich habe laut dieser Anleitung beide Rollen installiert und bekomme dauernd die Fehlermeldungen 13 und 12292. Beide haben als Ursprung den ISCSI Target Harddware provider. Rätsle gerade, ob das was mit der 2. Rolle zu tun hat. Der Server, wo ich installiert habe, ist NICHT der DC, falls das eine Rolle spielt.