Storage Space mit SSD-Cache

Vorgestellt: Sharkoon Tarea
7. Mai 2012
Newsletter verfügbar
18. Juni 2016

Nun gibt es wieder einen neuen Beitrag von mir :-). Diesmal zum Thema Storage Spaces. Storage Spaces sind die inoffiziellen Nachfolger des Windows Home-Server Balancings und seit Windows 8 in Windows integriert. Mit Windows 10 gibt es nun auch die Möglichkeit ein Storage Space mit SSD-Cache zu erstellen.

Storage Spaces bieten dabei die Möglichkeit mehrer physikalische Festplatten zu einem logischen Laufwerk zusammenzufassen. Dabei werden die folgenden Modi unterstützt:

  • Spiegelung
    • 2-Wege-Spiegelung
    • 3-Wege-Spiegelung
  • Parität
  • Einfach (keine Resilizenz)

Windows 10 hat nun einige neue Funktionen erhalten, die unter Windows 8.1 lange vermisst wurden.

  • Ausgleich über mehrere Festplatten, auch Laufwerksoptimierung genannt
  • Entfernen von Festplatten aus dem Verbund
  • Storage Tiering, also die Möglichkeit schnellen SSD Speicher als Cache für Festplatten zu nutzen

Beim Storage Tiering werden zwei verschiedenen Bereich gebildet. Häufig genutzte Daten (Hot-Data) werden in den SSD-Bereich verschoben und von dort ausgeliefert. Weniger häufig genutzte Daten (Cold-Data) werden von dem HDD-Bereich ausgeliefert. Per Wartungsaufgabe wird in regelmäßigen Abständen die Nutzung des SSD-Bereichs optimiert. Der write-back-Cache wird bei einfachen und gespiegelten Speicherplätzen genutzt um zufällige Schreiboperationen auf die SSD umzuleiten und dann später gebündelt an die HDD weiterzugeben. Der write-back-Cache wird erst genutzt, sobald der SSD-Cache vollständig gefüllt ist.

Storage_Tiering_SSD

Unter Windows 10 lässt sich das Tiering der Storag Spaces nur per PowerShell nutzen. Weiterhin ist es nicht möglich einen bestehende Speicherplatz, mit enthaltenen Daten um ein SSD-Cache zu erweitern.

Voraussetzungen

Folgende Tabelle zeigt, wie viele Festplatten und SSDs mindestens nötig sind um den entsprechenden Modus nutzen zu können.

 Einfach2-Wege-Spiegelung3-Wege-SpeigelungParität
SSD1233
HDD1233

Erstellung

1.) Festplatte vorbereiten

  • Alle Daten der später verwendeten Laufwerke sichern
  • Partitionen löschen unter Systemteuerung -> System und Sicherheit -> Festplattenpartitionen erstellen und formatieren

2.) Festplatten zu einem neuen Pool zusammenschließen

  • Entweder über die Oberfläche unter Systemsteuerung -> System und Sicherheit -> Speicherplätze
    • Wichtig ist, dass bei Nutzung der GUI keine neue Virtuelle Festplatte (auf deutsch auch Speicherplatz) erstellt wird.
  • Oder per folgendes in die PowerShell mit Admin-Rechten eingeben

    $pd = (Get-PhysicalDisk -CanPool $True | Where MediaType -NE UnSpecified)

    New-StoragePool -PhysicalDisks $pd –StorageSubSystemFriendlyName “Storage Spaces*” -FriendlyName „Speicherpool“

3.) Virtuelle Festplatte mit SSD-Cache erstellen

Folgendes in der PowerShell mit Admin-Rechten eingeben

$ssd_Tier = New-StorageTier -StoragePoolFriendlyName „Speicherpool“ -FriendlyName SSD_Tier -MediaType SSD

$hdd_Tier = New-StorageTier -StoragePoolFriendlyName „Speicherpool“ -FriendlyName HDD_Tier -MediaType HDD

New-VirtualDisk –StoragePoolFriendlyName „Speicherpool“ –FriendlyName „Speicherplatz“ –StorageTiers  @($ssd_tier, $hdd_tier) –StorageTierSizes @(100GB, 1750GB) –ResiliencySettingName  Simple –WriteCacheSize 8GB

In diesem Beispiel wird eine neue virtuelle Festplatte mit der Gesamtgröße von 1850GB (1750 + 100) erstellt. Hier ist keine Spiegelung oder Parität eingestellt. Der SSD-Cache ist in diesem Beispiel 100GB groß, der Festplattenanteil 1750GB. Dazu wird ein write-back-Cache in Größe von 8GB genutzt.

4.) Bericht aktivieren

Mit folgendem Befehl in der PowerShell wird nach jeder Optimierung der Bericht unter C:\Windows\StorageTiersOutput.txt aktualisiert. Darin ist z.B zu sehen ob die Größe des SSD-Caches ausreicht.

schtasks /change /tn „\Microsoft\Windows\Storage Tiers Management\Storage Tiers Optimization“ /tr „cmd /c %windir%\System32\defrag.exe /c /h /g /# > %windir%\StorageTiersOutput.txt“

schtasks /change /tn „\Microsoft\Windows\Storage Tiers Management\Storage Tiers Optimization“ /tr „cmd /c C:\Windows\System32\defrag.exe /c /g /# > C:\Windows\StorageTiersOutput.txt“

[Update: Anpassung an Windows 10 1607, da die Kommandozeile das zweite %windir% nicht mehr auflösen konnte.]

5.) Optimierung manuell starten

Die Optimierung läuft nach den Standard-Einstellungen alle 4 Stunden. Manuell lässt sich die Optimierung durch folgenden PowerShell-Befehl starten:

 Get-ScheduledTask -TaskName „Storage Tiers Optimization“ | Start-ScheduledTask

 

Kommentar verfassen