Der ultimative Speicher für Zeitraffer: Microsoft Tiered Storage Spaces

Im letzten Blogartikel “Erfahrungsbericht: 5 Lösungen wie du deine Timelapse sicher & effizient speicherst” habe ich verschiedene Möglichkeiten gezeigt wie du deine Timelapse-Daten speichern kannst. 

Die ultimative Lösung waren dabei die Microsoft Tiered Storage Spaces mit denen es möglich ist, mehrere SSDs und HDDs zu kombinieren und so die Vorteile aus beiden Welten zu nutzen.

In diesem Artikel gehe ich im Detail darauf ein und zeige dir Schritt für Schritt, wie du diese bei dir völlig kostenlos einrichtest.

Was sind Storage Spaces?

“Microsoft Storages Spaces” wurden ursprünglich für Windows Server entwickelt um dort viele Festplatten zu verwalten. Dabei geht es in Servern in erster Linie um Datensicherheit. Gerade wenn viele Festplatten verwendet werden, ist die Wahrscheinlichkeit, dass eine irgendwann ausfällt, sehr hoch.

Daher brauchte man ein System, dass einen Ausfall einzelner Festplatten verkraften kann ohne, dass Daten verloren gehen.

An zweiter Stelle der Anforderungen steht die Performance. Server werden oft von vielen Benutzern gleichzeitig beansprucht, müssen riesige Datenmengen verwalten und übernehmen viele Aufgaben im Netzwerk. Da macht es einen großen Unterschied, wenn die Geschwindigkeit des Speichers zu langsam ist.

Deswegen mussten SSDs in den Gesamtspeicher eingebunden werden, die für die oft gebraucht Daten zuständig sind.

Mit Windows 10 wurden die Storage Spaces auch für reguläre Computer verfügbar. Mittlerweile lassen sich diese sehr komfortable über die Windows Systemsteuerung konfigurieren.

Umgesetzt wurde das ganze rein als Software direkt in Windows 10 – d.h. es ist kein RAID Controller oder zusätzliche Geräte notwendig. 

Mit Storage Spaces können nun verschiedenste Laufwerke (HDDs, SSDs) zu einem riesigen Speicherpool zusammengefasst werden.

Dabei kann man sich entscheiden ob die Daten ähnlich einem RAID5 mit Paritätsinformation gespeichert werden oder komplett gespiegelt abgespeichert sind. Hier eine kompakte Übersicht der verschiedenen RAID Modi und wie sie mit Storages Spaces funktionieren:

RAID Modi mit Windows Storage Spaces

Technisch gesehen verwenden Microsoft kein RAID (Redundant Array of Independent Disks) für die Storage Spaces, sondern ein eigens entwickeltes System mit dem die Daten aufgeteilt werden. Das Ergebnis ist aber sehr ähnlich:

Mirror / Ein-Wege-Spiegelung: Ähnlich wie bei einem RAID1 werden die Daten doppelt auf zwei Datenträgern gespeichert – fällt einer aus, sind die Daten am anderen Datenträger gesichert und nicht verloren.

Parity / Parität: Wie beim RAID5 wird mit mindestens drei Datenträgern eine Datei immer auf zwei Festplatten aufgeteilt und auf die dritte eine Prüfsumme berechnet (“Paritätsinformation”). Sollte eine der drei Datenträger ausfallen, kann aus den verbleibenden die Datei wiederhergestellt werden. 

Zwei-Wege-Spiegelung: Die Daten werden insgesamt drei Mal gespeichert und sind so vor dem Ausfall von bis zu zwei Laufwerken, ähnlich wie bei einem RAID6, geschützt. Die Nettokapazität beträgt dann allerdings nur [Anzahl Festplatten] minus 2. Sinnvoll ist dieser Modus daher erst wenn fünf oder mehr Festplatten verwendet werden.

Zusätzlich kannst du mit erweiterten Konfigurationen zwei weitere RAID Konfigurationen erstellen:

RAID0: Die Daten werden über zwei oder mehrere Festplatten verteilt, sind daher nicht geschützt vor einem Ausfall. Die Geschwindigkeit kann damit aber fast verdoppelt werden. Fällt allerdings eine der Festplatten aus, sind alle Daten weg.

RAID10: Die Kombination aus RAID1 und RAID0 mit mindestens vier Festplatten. Die Daten werden wie beim RAID0 auf zwei Festplatten aufgeteilt, damit diese aber auch bei einem Ausfall geschützt sind werden beide Festplatte nochmal gespiegelt wie beim RAID1. Damit erreicht man einerseits höhere Geschwindigkeiten, ist aber dennoch vor einem Ausfall geschützt. Die Nettokapazität beträgt allerdings nur die Hälfte der Gesamtkapazität.

Tiered Storage Spaces

Zusätzlich zu den normalen RAID Funktionen gibt es mit “Tiered Storages Spaces” die Möglichkeit verschiedene Ebenen (“Tiers”) einzurichten. 

So kannst du als Performance-Ebene ein oder mehrere SSDs mit relativ wenig Speicher einrichten und zusätzlich eine Kapazitäts-Ebene mit regulären HDDs für viel Speicherplatz. Damit vereinst du die Vorteile von beiden Welten: Die Schnelligkeit der SSDs und den großen Speicher der Festplatten.

Die schnelle Ebene wird auch als “Hot Storage” bezeichnet und die langsamere als “Cold Storage”.

Heiße (“hot”) Daten sind die, die sehr oft verwendet werden und daher auch sehr schnell verfügbar sein sollen. Im Gegensatz dazu sind kalte (“cold”) Daten die, die nur sehr selten verwendet werden.

Für uns Timelapser bedeutet das, dass die aktuelle Timelapse Aufnahme, die gerade bearbeitet wird, “heiß” ist und dementsprechend schnell geladen werden soll.

Alte Timelapse Aufnahmen die derzeit nicht gebraucht werden sind “kalt” und können ruhig langsamer geladen werden, falls man sie doch mal braucht.

Genau dieses System machen wir uns zunutze und verwenden es daher sowohl für unser gesamtes Timelapse Archiv als auch für aktuelle neue Aufnahmen die gerade bearbeitet werden.

Das Storage Spaces System kümmert sich dabei selbstständig darum welche Daten wo gespeichert werden. Fotos die du gerade bearbeitest, werden automatisch auf schnellen SSDs gespeichert, alte Zeitraffer-Sequenzen die du schon lange nicht geöffnet hast werden auf den langsamen HDDs archiviert.

Im Explorer erscheint ein einziges, riesiges Laufwerk – alles andere passiert im Hintergrund.

Du siehst nur ein einziges großes Laufwerk und es sind zu jedem Zeitpunkt alle Daten verfügbar. Es entfällt damit auch das hin-und-her Kopieren der aktuellen Daten zwischen der schnellen SSD und der langsamen Archiv-HDD. 

Es kann nur sein, dass es manchmal schneller geht und manchmal langsamer – je nachdem wo die Daten gerade gespeichert sind.

In Kombination mit den oben genannten RAID Modi kann man die Geschwindigkeit bei beiden Ebenen noch deutlich erhöhen und ist zusätzlich vor Ausfällen geschützt.

Praxistest: Performance & Datensicherheit

Ich habe zum Testen einen Tiered Storage Space mit insgesamt vier 1TB SSDs im RAID10 und drei 6TB HDDs im RAID 5 eingerichtet und getestet.

Ursprünglich schafften die SSDs alleine jeweils 560 MB/s schreibend, 530 MB/s lesend – die HDDs schafften jeweils 200 MB/s lesend und 190MB/s schreibend.

Gemessen mit dem CrystalDiskMark Benachmark Programm schafft der neue kombinierte Speicher aus allen Laufwerken bis zu 1,8 Gigabyte pro Sekunde!

Im Test erreicht der Storage Space über 1,8 Gigabyte pro Sekunde.

Da die Testdatei nur 1GB groß ist wird bei diesem Test nur die Performance-Ebene verwendet, also rein die SSDs.

Durch den RAID10 Modus für die SSDs konnte ich die Lesegeschwindigkeit daher fast vervierfachen und die Schreibgeschwindigkeit verdoppeln.

Wie sieht es allerdings aus, wenn man größere Datenmengen kopiert?

Zum Testen habe ich deswegen einen Timelapse-Ordner mit insgesamt 77 GB kopiert. Inhalt waren Nikon-RAW Dateien, .xmp und .lrtpreview Dateien von LRTimelapse sowie einige fertige .mov Videodateien. Insgesamt 5.200 Dateien.

Beim Schreiben großer Datenmengen variiert die Transfergeschwindigkeit ein wenig.

Man sieht deutlich, dass die Geschwindigkeit zwar mit über 1 GB/s gestartet ist, lange Zeit auf 800 MB/s war, aber zwischenzeitlich total eingebrochen ist. 

Vermutlich liegt das daran, dass das System hier im Hintergrund beginnt die Daten von den SSDs auf die HDDs umzuverteilen. Nach kurzer Zeit ging es dann aber wieder mit maximaler Geschwindigkeit weiter. Das Schreiben auf das Laufwerk hat insgesamt 3:50 Minuten gedauert, was einem Durchschnitt von 250 MB/s entspricht.

Beim Lesen der Daten vom Tiered Storage Space zeigt sich ein konstantes Bild:

Beim Lesen läuft es konstant flott.

Hier wird durchgehend von den SSDs mit 750 MB/s gelesen – das ist ein Top-Wert!

Fazit

Tiered Storage Spaces sind eine tolle Möglichkeit um die Vorteile von SSDs mit den Vorteilen von HDDs zu kombinieren. Du erhältst einen riesigen, sehr sehr schnellen Speicher auf den alle Timelapse und Fotos Platz haben und bist zusätzlich flexibel wenn es performant sein muss. Noch dazu ist es kostenlos in Windows 10 enthalten.

Wie du bei den Tests siehst, ist die Geschwindigkeit insbesondere lesend mehr als beeindruckend. Die Manchmal sehr langsamen Schreibgeschwindigkeiten trüben die Ergebnisse ein wenig. Da wird erst der Langzeittest zeigen, wie sehr sich das im Alltag auswirkt oder ob Windows durch die intelligente Speicherung dem entgegenwirkt.

Tiered Storage Spaces eignet sich also für alle Fotografen die viel Speicherplatz benötigen, aber kein externes zusätzliche NAS möchten und auch nicht zusätzlich in einen RAID-Controller investieren möchten.

Gerade wenn vielleicht schon zwei ältere SSDs (zB. 2x 256 GB) vorhanden sind, kann man damit sehr schnell große Festplatten beschleunigen und als Massenspeicher verwenden. Es entfällt das herumkopieren der Fotos von schnellen SSDs zu langsamen Archivspeichern und bietet zusätzlich Schutz vor Laufwerksausfällen.

Die richtige Einrichtung erfordert allerdings etwas technisches Verständnis der Hintergründe, läuft danach aber zuverlässig und unauffällig. Um dir dabei zu helfen, habe ich im Anschluss an diesen Artikel eine detaillierte Anleitung geschrieben.

Zur Anleitung: So richtest du die Tiered Storage Spaces bei dir ein

Vorteile Tiered Storage Spaces

  • Sicherer Schutz gegen Ausfall
  • Sehr schnelle Transfergeschwindigkeit
  • Viel Datenspeicher durch günstige Festplatten
  • keine zusätzliche Hardware erforderlich
  • kostenlos in Windows 10
  • Kombiniert SSD Geschwindigkeit mit HDD Speicherplatz

Nachteile Tiered Storage Spaces

  • Einrichtung einmalig kompliziert (Einfacher mit der Anleitung weiter unten!)
  • Erst ab 2 SSDs und 2 HDDs sinnvoll

Anleitung im Detail: Tiered Storage Spaces einrichten

Mit dieser detaillierten Anleitung kannst du auf deinem Windows-PC selbst Tiered Storage Spaces einrichten.

In meinem Beispiel verwende ich vier SSDs mit jeweils 1TB Speicher sowie drei neue HDDs mit 6TB Speicherplatz. Das Ziel ist, dass jeweils eine SSD und eine HDD ausfallen können und dennoch keine Daten verloren gehen. Die Geschwindigkeit soll deutlich schneller sein als mit einer einzelnen SSD bei gleichzeitig riesigem Speicherplatz.

Meine Testkonfiguration: 4 SSDs und 3 HDDs für ultimative Performance.

1 Speicherpool erstellen

Zuerst erstellst du einen Speicherpool in dem alle Speichermedien zusammengefasst werden die du verwenden willst. In meinem Fall also die vier SSDs und drei HDDs. Gehe dazu in die Systemsteuerung, System und Sicherheit, Speicherplätze.

In “Speicherplätze verwalten” startest du mit “Neuen Pool und Speicherplatz erstellen” den Vorgang

Wähle jetzt alle Geräte aus, die du verwendet möchtest. ACHTUNG: Alle Daten auf den Laufwerken werden damit gelöscht!

Nach dem Klick auf “Pool erstellen” wirst du gefragt, wie du den Speicherplatz konfigurieren willst. Hier unbedingt auf “Abbrechen” klicken und die Einrichtung abbrechen! Jetzt hast du einen Speicherpool, aber noch keinen Speicherplatz den du nutzen kannst:

2 Storage Tiers erstellen

Um SSDs und HDDs zu kombinieren musst du jetzt die Kommandozeile “Powershell” in Windows verwenden da diese erweiterte Einrichtung in der Systemsteuerung (noch) nicht möglich ist. 

Gib im Startmenü einfach “powershell” ein und wähle “Als Administrator ausführen”.

Es öffnet sich ein blaues Fenster in dem wir jetzt einige Befehle eingeben müssen für die Einrichtung:

Sehen wir uns mal an, welche Laufwerke im Speicherpool sind. Tippe folgenden Befehl ein und bestätige mit Enter:

Get-StoragePool Speicherpool | Get-PhysicalDisk

Hier werden alle Laufwerke angezeigt, wichtig ist in der Übersicht die Spalte “MediaType”. Wenn hier bei den Festplatten “Unspecified” steht, hat Windows nicht erkannt dass es reguläre Festplatten sind. SSDs werden meistens korrekt erkannt (MediaTyp SSD).

Um das zu ändern verwende folgenden Befehl:

Get-StoragePool Speicherpool | Get-PhysicalDisk | ? MediaType -eq "Unspecified" | Set-PhysicalDisk -MediaType HDD

Es erscheint keine Ausgabe, wenn du aber nochmal den vorherigen Befehl ausführst, siehst du, dass jetzt alles korrekt als SSD und HDD erkannt wird:

Als nächstes ändern wir die Einstellungen für unseren RAID Modus. Parity entspricht dabei RAID5 das ich für die HDDs verwenden möchte. Hier muss der Wert “NumberOfColumnsDefault” auf die Anzahl der Festplatte festgelegt werden – in meinem Beispiel 3.

Der Modus “Mirror” entspricht einer Spiegelung der Daten (RAID1) und sorgt dafür, dass alle Daten doppelt gespeichert werden auf den SSDs. Um die Geschwindigkeit zu erhöhen möchte ich zusätzlich die Daten auf zwei SSDs verteilen (RAID0) und setze daher den Wert auf 2 bei “NumberOfColumnsDefault”. Das Ergebnis ist eine Art RAID10 (Spiegelung+Verteilung für Performance) für das mindestens vier SSDs notwendig sind.

Jetzt erstellen wir unsere Storage Tiers, zuerst den Performance-Ebene mit den SSDs für mehr Geschwindigkeit (“Hot Storage”):

New-StorageTier -StoragePoolFriendlyName Speicherpool -FriendlyName SSD_Tier -MediaType SSD -ResiliencySettingName Mirror

Danach den Kapazitäts-Ebene mit den Festplatten für mehr Speicherplatz (“Cold Storage”):

New-StorageTier -StoragePoolFriendlyName Speicherpool -FriendlyName HDD_Tier -MediaType HDD -ResiliencySettingName Parity

In der Spalte “FaultDomainRedundancy” wird angezeigt, dass jeweils ein Laufwerk ausfallen könnte ohne Daten zu verlieren. Dass hier noch 0B bei Größe angezeigt wird ist normal.

3 Virtual Disk erstellen und formatieren

Zunächst speichern wir uns unsere StorageTiers in zwei Variablen, die brauchen wir dann für den nächsten Befehl:

$ssd_tier = Get-StorageTier -FriendlyName SSD_Tier
$hdd_tier = Get-StorageTier -FriendlyName HDD_Tier

Für den letzten Befehl musst du dir ausrechnen wie groß dein Speicher sein soll bzw. wie groß er maximal sein kann. In meinem Fall verwende ich vier SSDs mit 1TB, der Befehl am Anfang (Get-StoragePool Speicherpool | Get-PhysicalDisk) hat gezeigt, dass die tatsächliche Größe 931,51GB beträgt, mal vier ergibt 3726,04GB – allerdings verlieren wir durch die Spiegelung die Hälfte, also bleibt noch 1863,02GB. Zur Sicherheit solltest du noch ein paar Gigabyte abziehen, ich habe schlussendlich 1800GB verwendet. 

Bei den Festplatten waren es 5.46TB mal drei wäre 16.38TB wobei eine Festplatte für die Parität verwendet wird – also nur zwei Festplatten übrig bleiben: 10,92TB insgesamt. Ich habe 10.9TB eingestellt.

Diese Größen müssen am Ende des Befehls eingetragen werden, zuerst die SSDs, dann die HDDs:

New-VirtualDisk -StoragePoolFriendlyName Speicherpool -FriendlyName "TieredStorageSpace" -StorageTiers @($ssd_tier,$hdd_tier) -StorageTierSizes 1800GB, 10.9TB

Wenn das nicht funktioniert und folgende Fehlermeldung erscheint, dann ist die Größe zu groß – rechne nochmal nach und ziehe zur Sicherheit etwas mehr ab, dann sollte es funktionieren.

Wenn es geklappt hat, hast du damit ein neues virtuelles Laufwerk erstellt. Wenn du zurück in der Systemsteuerung gehst, gibt es einen neuen Eintrag unter “Speicherplätze”:

Mit einem Klick auf “Formatieren” kannst du einen Namen vergeben, einen Laufwerksbuchstaben auswählen und als Dateisystem NTFS auswählen.

Klicke abschließend auf “Speicherplatz formatieren”, das kann dann abhängig von der Größe schon einige Minuten dauern bis es abgeschlossen ist.

Nach dem Formatieren ist das Laufwerk fertig erstellt und unter “Computer” bereit für den Einsatz.

Je nach Größe und Anzahl der Festplatten/SSDs sowie je nach RAID Modus sind die Befehle allerdings leicht anders. Schreib mir gerne in den Kommentare welche SSDs/HDDs du verwendest und ich versuche dir zu helfen.

Wenn du Hilfe bei der Einrichtung brauchst, spezielle Fragen zu deinem System hast oder einfach nur wissen willst ob das für dich geeignet wäre kannst du mich gerne per kontaktieren!

  • Guten Tag
    Vielen Dank für diesen Super-Artikel und das Angebot bei der Umsetzung zu helfen.
    Ich möchte den vorgeschlagenen Speicherausbau versuchsweise vornehmen. Dazu stehen mir 2 1TB Festplatten und 2 SSD (1TB und 0.5TB) zur Verfügung. Später möchte ich dann einen bereits bestehenden Storage Pool auf die neue Konfiguration umziehen und dabe die Anzahl der HD vergrössern.
    Ist dieses Vorgehen möglich?

    viele Grüsse
    eric

    • Hallo Eric,
      super, freut mich 😀

      Obwohl Storage Spaces grundsätzlich unterschiedliche Größen der HDD/SSD in einem Pool erlauben ist das in Kombination mit den Tiered Storage Spaces nicht zu empfehlen. Nimm also lieber nur die 1 TB SSD und die zwei 1TB HDDs.
      Du kannst danach noch HDDs hinzufügen, das macht allerdings nur bei Parity Sinn. Generell ist es vermutlich sicherer und im Anschluss performanter, wenn du bei einer Änderung der HDDs den Storage Pool neu erstellst (was natürlich bedeutet, dass die Daten gelöscht werden die schon darauf sind!).

      lg Matthias

    • Hallo Matthias
      Vielen Dank für Deine umfassende Antwort. Dann versuche ich jetzt mal den Aufbau mit 1x 1TB SSD und 2x 1TB HDD.
      Bin gespannt wie weit ich komme.
      gruss
      eric

  • Hallo Matthias
    Deine Anleitung hat Super funktioniert. Ohne Probleme alles aufgesetzt.

    Jetzt kommt es aber. Ich werde aus den Messwerten nicht klug.
    Ich habe auf den neuen Tiered Storage pool schnellere Writewerte aber etwa 100x kleinere Read Werte gegenüber einem Vergleichspool mit denselben HD-Typen aber ohne SSD.

    Hier eine Zusammenfassung des CrystalDiskMark:

    Pool mit SSD: Read 3,8MB/s, Write 400 MB/s
    Pool ohne SSD: Read 125 MB/s, Write 115 MB/s

    Hast Du eine Erklärung für dieses Verhalten?

    Eric

    • Komisch, da muss etwas nicht stimmen.
      Wie groß ist der Write-Cache? Mit welchen Einstellungen hast du bei CrystalDiskMark getestet?
      Die HDDs sind gespiegelt?

  • >