Storage Spaces virtualisieren den Speicher bei Windows 2012, Teil 1
9. Juni 2012Mit Windows Server 2012 halten die Storage Spaces Einzug in das Speichersubsystem. Damit wird eine Speichervirtualisierung im Rahmen des Betriebssystems geboten – und damit sollen teure Investitionen in SAN- oder NAS-Geräte nicht mehr unbedingt nötig sein. Dazu hat Microsoft den Server-Manager als grafisches Interface aufgepeppt, über den sich auch ein Thin Provisioning von Speicherkapazität erreichen lässt. Aber auch die Verwaltung über die Powershell ist beim Speichersubsystem machbar – wie es im zweiten Teil dieses Beitrags gezeigt wird.
Die grundlegenden Funktionalitäten des Dateisystems haben sich beim Windows Server seit der Vorstellung von Windows NT nicht großartig verändert. Mit Windows Server 2000 kamen die dynamischen Festplatten dazu – aber auch das Dateisystem NTFS hat einige Erweiterungen und kleinere Optimierungen erfahren. Zuverlässiger und mit höheren Datendurchsatz – so lauten hier die Resultate der Optimierungsanstrengungen.
Die File Services – also die Funktionalität des Dateiservers – kam ebenfalls in den Genuss von Verbesserungen – aber auch sie waren lediglich von „inkrementeller Natur“ – etwa beim Protokoll SMB (Server Message Block). Mit dem FSRM (File System Resource Manager) kamen noch Fähigkeiten dazu, wie etwa im Bereich des Screenings, der Kontingente (Quotas), der Reportings und auch die Klassifizierung der Dateien wurde dazu genommen. Doch der eigentliche Kern des Dateisystems und die Art, wie Dateidienste verwendet werden, blieben unangetastet.
Wenn man an Dateidienste denkt, assoziiert man damit einen Server, auf dem Dokumente – wie etwa aus Microsoft Word oder Powerpoint, abgelegt werden. Soll dieser Server hochverfügbar sein, kann man ihn als Cluster realisieren, so dass immer ein Knoten des Clusters zur Verfügung steht, um die Dateifreigaben verfügbar zu halten. Volumes mit Fehlertoleranz lassen sich auf dynamischen Festplatten anlegen und setzen auf das Mirroring von Windows (RAID 1) oder auf Striping mit Parity (RAID 5) auf.
Allerdings müssen die Administratoren von Hand die Selektion der Festplatten und die eventuell notwendigen Reparaturaufgaben ausführen. Moderne Eigenschaften – wie das Thin Provisioning von Speicherplatz und das einfache Hinzufügen von mehr Speicherkapazität zu einem Speicher-Pool sind nur machbar, wenn man ein separates Speichernetzwerk – in Form eines San oder NAS – verwendet. Doch mit der kommenden Betriebssystem-Generation von Microsoft – dem Windows Server 2012 – ändert sich das gewaltig.
Der Einsatz der Storage Spaces
Im Speicherbereich gibt es immer wieder Herausforderungen für Administratoren oder Endbenutzer. Manchmal wird der Einsatz von fehlertoleranten Speicherbereichen nötig. Ein anderes Mal muss man Informationen ablegen können, die auf andere Art und Weise geschützt werden soll. Dazu kann man die MMC (Microsoft Management Console) mit dem Snap-in „Disk Management“ (Datenträgerverwaltung) öffnen und dann die physischen Festplatten untersuchen, sie – wenn nötig – zu dynamischen Festplatten konvertieren und dann ein Volume anlegen, das den Anforderungen entspricht.
Wenn das Volumen dann größer sein muss, kann man entsprechend erweitern – abhängig von den vorhandenen physischen Festplatten. Doch ein einfaches Hinzunehmen von weiteren Festplatten für ein bestehendes Volume ist nicht machbar – und damit gibt es keine einfache Skalierungsmöglichkeit.
Für kleinere und mittlere Firmen, aber auch für die Zweigniederlassung von großen Unternehmen – bei denen die Bereitstellung von Speicherkapazitäten in Form von SAN oder NAS sich finanziell nicht rentiert – ist das Bereitstellen von „guten Speicherdiensten“ ein großes Problem. Auf der anderen Seite der Anforderungen (also bei Power Usern und ihren Arbeitsplatzsystemen) gibt es das Problem, die Organisation des Einsatzes von den internen Festplatten und extern – via USB – angeschlossenen Laufwerken im Griff zu bekommen und dabei nicht die Übersicht zu verlieren.
Mit dem Windows Server 2012 (und Windows 8 auf der Client-Seite) kommen die Storage Spaces ins Spiel. Sie ändern die Art und Weise komplett, wie der Speicherbereich vom Betriebssystem selbst zur Verfügung gestellt und verwaltet wird. Die Storage Spaces erlauben eine komplette Abstrahierung der physischen Festplatten, die den Speicherbereich bilden, vom Anforderungsprozess nach neuen Volumes – die als Spaces bezeichnet werden. Die Technologie der Storage Spaces entspricht damit einer Speichervirtualisierung und sie führt sogar automatisch alle nötigen Aktionen aus, um Daten wiederherzustellen, wenn Festplatten ausgefallen sind – solange genügend physische Festplatten vorhanden sind.
Voraussetzung ist ein Speicherpool
Zunächst muss der Administrator einen Speicherpool (Storage Pool) erzeugen. Dabei handelt es sich um eine oder mehrere Festplatten, die dann zusammen gruppiert (sprich „gepoolt“) werden und danach von der Technik der Storage Spaces verwendet werden können. Die Storage Pools unterstützen dazu Speichermedien, die via USB, Serial ATA (SATA) und Serial Attached SCSI (SAS) in einem JBOD-Szenario (Just a Bunch of Disks) zum Einsatz kommen.
Auch ohne Unterstützung von Hochverfügbarkeitstechniken wie RAID übernehmen die Storage Spaces die Aufgaben im Zusammenhang mit der Ausfallsicherheit. Der Einsatz von über USB angebundenen Laufwerken spielt seine Vorteile bei Arbeitsplatzsystemen aus. Server fokussieren dagegen mehr auf die via SATA oder SAS angebundenen Laufwerke.
Zudem unterstützen die Storage Spaces auch „Shared SAS“. Dabei kann man ein Gehäuse mit mehreren Platten (Festplatten-Array) auch mit mehreren Hosts in einem Cluster verbinden. Dann werden über die Storage Spaces die „Shared SAS“-Laufwerke für alle Knoten im Cluster bereitgestellt und sie können als Teil des Cluster Shared Volume (CSV) verwendet werden.
Setzt man ein externes Festplatten-Array ein, dann unterstützen die Storage Spaces das Protokoll SES (SCSI Enclosure Services). Dabei können Ausfälle des externen Speichers angezeigt werden.
So könnte man zum Beispiel eine Alarmmeldung „Diskausfall!“ ausgeben lassen, wenn die Storage Spaces ein Problem auf einer physischen Festplatte erkennen. Aber auch andere Technologien, wie zum Beispiel Microsofts Bitlocker Drive Encryption, können zusammen mit Storage Spaces zum Einsatz kommen.
Speicherpool anlegen
Wird ein neuer Speicherpool angelegt, verschwinden die Festplatten, die dem Speicherpool hinzugefügt wurden, aus der Datenträgerverwaltung der MMC. Die Festplatten sind dann virtualisiert und werden allein von der Storage-Spaces-Technik verwendet. Der Administrator kann auf dem Windows Server 2012 die Speicherpools im Server-Manager (unter File and Storage Services) verwalten beziehungsweise mit dem Applet für die „Storage Spaces“ in der Systemsteuerung beim Client mit Windows 8.
Im Verlauf dieser Beitragsreihe geht es um die Storage Spaces auf dem Windows Server 2012, daher liegt der Fokus auf dem Server-Manager und im zweiten Teil des Beitrags auf der Windows Powershell, mit der ebenfalls die Arbeiten mit den Storage Spaces erfolgen können.
Wer die Aktionen mit dem Server-Manager ausführen möchte, der muss nach dem Start des Tools sicherstellen, dass er den Server anspricht, auf dem die Aktionen ausgeführt werden sollen. Dann ist die „File and Storage Services“ zu klicken und dann der Zielserver über den Reiter „Server“ anzugeben. Dann muss man noch den Reiter Storage Pools selektieren, in dem die Informationen über die bereits bestehenden Storage Pools gezeigt werden und über die Festplatten, die für den Einsatz in einem Storage Pool verwendet werden können.
Bei diesen Festplatten handelt es sich um Systemfestplatten, die keine Volumes beherbergen (nicht zugewiesene Bereiche). Diese bislang ungenützten Disks werden als „Primordial Storage Space“ angezeigt und bilden die Blöcke, aus denen die Storage Pools und die Storage Spaces erstellt werden können.
Um nun einen Storage Pool anzulegen, sind die folgenden Schritte zu absolvieren: Aus dem Menü Aufgaben (Tasks) ist „Neuer Speicherpool“ (New Storage Pool) zu selektieren. Danach startet der „Assistent für neue Speicherpools“ (New Storage Pool Wizard).
Zuerst ist ein Name und – optional – eine Beschreibung für den neuen Storage Pool anzugeben und dann auf Weiter zu klicken.
Im nächsten Dialog sind die physischen Festplatten auszuwählen, die bereit stehen, um dem neuen Pool hinzugefügt zu werden. Zudem ist die Zuweisung der Festplatten (standardmäßig ist das „Data Store“) anzugeben. Der Administrator kann aber die Festplatten auch im Rahmen des Anlegens der virtuellen Festplatten (im späteren Verlauf) zuweisen oder sie als „Hot Spare“ kennzeichnen. Dann geht es mit einem Klick auf Weiter zum nächsten Schritt.
Danach kann an die angezeigte Information durchlesen und dann auf Erzeugen klicken, um das Anlegen des Storage Pools anzuschließen.
Damit ist der Storage Pool dann verfügbar (Bild 3). Im nächsten Schritt müssen dann die virtuellen Festplatten innerhalb des Storage Pools erzeugt werden. Danach kann der Administrator noch auf diesen Festplatten Volumes anlegen, damit sie das Betriebssystem auch benutzen kann.
Thin Provisioning hält Einzug
Mit den Storage Spaces halt aber auch noch eine weitere Funktionalität Einzug – die bislang nur über externe Speicherlösungen wie SAN- oder NAS-Geräte zur Verfügung stand: Die Fähigkeit, ein Thin Provisioning von Speicherbereich zu offerieren. Beim Anlegen einer virtuellen Festplatte gibt es zwei Optionen: Zum einen kann man die Disk mit fester Größe – „fix“ – erstellen (in der deutsche Version von Windows Server 2012 wird das als „Fest“ bezeichnet).
Dann wird der komplette Speicherplatz für die virtuelle Festplatte auch gleich beim Anlegen zugewiesen. Die zweite Option ist das Thin Provisioning. Dabei wird der Platz aus dem Speicher-Pool nur dann entnommen, wenn er auch de facto benötigt wird – sprich beim Schreiben auf die virtuelle Platte. Hier haben die Übersetzer der Software die Bezeichnung „Dünn“ gewählt.
Im letzteren Fall lässt sich eine virtuelle Festplatte anlegen, die weitaus größer ist als der tatsächlich (physisch) verfügbare Speicherplatz. Allerdings heißt das nicht, dass man auf einer „dünnen Festplatte“ dann auch entsprechend mehr Daten ablegen kann. Der Vorteil ergibt sich aufgrund einer üblichen Charakteristik:
Ein Datenträger füllt sich erst im Verlauf der Zeit bis zu seinem Maximalwert auf. So könnte man zum Beispiel eine „Thin Disk“ mit 10 TByte anlegen, die zunächst nur über 1 TByte an realen (physischen) Speicherbereich verfügt. Wenn dann nach und nach sich der „Füllgrad“ auf der Festplatte auf die 1 TByte hin bewegt, kann der Administrator eine weitere physische Festplatte mit wiederum 1 TByte einbauen und dann diese Kapazität dem Speicher-Pool hinzufügen.
Das kann sich dann wiederholen, bis man bei den 10 TByte angekommen ist. Solange man physische Festplatten dazu nimmt und noch nicht über die maximale Füllmenge der virtuellen Festplatte (die 10 TByte) kommt, muss der Administrator ansonsten nicht eingreifen.
Einfacher wird die Angelegenheit, wenn der Systembetreuer bestimmte Schwellenwerte für den Füllstand definiert. Dann wird eine Benachrichtigung ausgegeben, wenn die physischen Festplatten zum Beispiel zu 85 Prozent belegt sind. Danach kann der Administrator ohne großen Stress weitere physische Festplatten kaufen und sie in den Pool einbringen.
Anlegen von virtuellen Festplatten
Beim Erzeugen einer virtuellen Festplatte muss der Administrator nur wissen, in welchen Speicher-Pool diese virtuelle Disk anlegt werden soll. Dazu braucht er keine Informationen über die physischen Festplatten haben. Der große Vorteil der Storage Spaces lautet daher: Virtuelle Festplatten werden erst dann erzeugt, wenn man sie auch benötigt. Um diese virtuellen Festplatten zu erzeugen, sind die folgenden Schritte nötig:
Zuerst muss der Systembetreuer angeben, in welchen Speicher-Pool die neue virtuelle Festplatte anzulegen ist. Dazu gibt es im Servermanager im Bereich der „Virtuellen Datenträger“ (Virtual Disks) die Aufgabe „Neuer virtueller Datenträger“ (New Virtual Disk) – danach startet der zugehörige Assistent.
Danach ist zu bestätigen, dass der gewünschte Server und der betreffende Storage Pool ausgewählt sind – das erfolgt in dem Dialog „Select the Server and Storage Pool“ (Bild 5) des Assistenten. Mit einem Klick auf Weiter geht es zum nächsten Abschnitt. Dort ist ein Name und – optional – eine Beschreibung für die neue virtuelle Disk anzugeben und erneut auf Weiter zu klicken.
Anschließend geht es um die Auswahl des Speicherlayouts (Bild 6). Das kann recht einfach (in der deutschen Übersetzung als „simple“ benannt) gehalten sein (also ohne Daten-Redundanz und die Daten verteilt – gestriped – über mehrere Festplatten), gespiegelt („Mirror“; also die Daten sind auf zusätzlichen Festplatten dupliziert) oder mit „Partity“ gesichert (dabei sind die Informationen über mehrere Disks verteilt, dazu kommen noch Parity-Daten, um gegen den Ausfall einer Disk abgesichert zu sein).
Vor der Einführung der Storage Spaces hätte man das alles in der RAID-Nomenklatur als RAID 0, RAID 1 oder RAID 5 bezeichnet. Doch bei den Storage Spaces werden diese Bezeichnungen nicht verwendet. Der Grund ist die unterschiedliche Implementierung. Hier muss der Administrator dann die gewünschte Speicherlayout auswählen und dann zum nächsten Schritt mit einem Klick auf Weiter gehen.
Hier ist nun die Art der Bereitstellung anzugeben: Thin Provisioning (Dünn) oder mit fester Größe (Fest). Anschließend ist die Größe des Speicherbereichs zu spezifizieren. Wer auf das Thin Provisioning setzt, der kann auch einen Wert angeben, der größer ist als der tatsächlich installierte Plattenspeicher im System. Danach muss kann nochmals alle Eingaben bestätigen und dann legt der Assistent nach einem Klick auf „Erzeugen“ (Create) los.
Wenn die virtuellen Festplatten erzeugt sind, stehen sie im Servermanager und in der Datenträgerverwaltung (in der MMC) wieder zur Verfügung. Hier kann der Administrator nun die Volumes anlegen und diese Datenträger auch mit einem Dateisystem formatieren. Den tatsächlich benutzten Bereich, den eine virtuelle Festplatte in einem Storage Pool belegt, kann man im Servermanager sehen – oder aber im entsprechenden Applet in der Systemsteuerung bei Windows 8.