Erasure Coding
Was ist das?
Erasure Coding ist ein Verfahren zum Schutz von Daten in Speichersystemen. Dabei werden Daten in Fragmente aufgeteilt, erweitert und mit redundanten Datenblöcken ergänzt. Anschließend werden sie über verschiedene Speicherorte oder Speichermedien innerhalb eines verteilten Speichersystems verteilt. Eine Teilmenge dieser Daten reicht aus, um die ursprünglichen Daten wiederherzustellen. Ziel von Erasure Coding ist es, Daten, die im Verlauf der Speicherung auf einem Laufwerk beschädigt werden, mithilfe der Informationen zu rekonstruieren, die an anderer Stelle im Speichersystem gespeichert sind.
Erasure Coding ist eine Alternative zur Replikation, bei der einfach mehrere Kopien der Daten erstellt werden. Es kann denselben oder einen besseren Schutz vor Datenverlust bieten und gleichzeitig den insgesamt benötigten Speicherplatz bzw. die erforderliche Raw Capacity um 50 % bis 80 % reduzieren.
Warum wird es benötigt?
Erasure Coding ist wie RAID (Redundant Array of Independent Disks) ein Verfahren, das die Verfügbarkeit und Sicherheit von Daten in einem Speichersystem gewährleisten kann. RAID eignet sich ideal für die Redundanz von Daten innerhalb eines einzelnen Servers: Fällt ein Laufwerk aus, können die Daten von anderen Laufwerken wiederhergestellt werden. In einem verteilten Speichersystem sollten Daten jedoch über Laufwerke in verschiedenen Servern verteilt werden, damit das System auch den Ausfall eines gesamten Servers verkraften kann. Während RAID somit ein Konzept auf Laufwerksebene ist, wird Erasure Coding so implementiert, dass die Daten nicht auf eine Gruppe von Laufwerken in einem einzelnen Server beschränkt sind. Dadurch eignet sich Erasure Coding besser für verteilte Speicherplattformen, die sich über unterschiedliche Speichermedien oder Systeme beziehungsweise verschiedene physische Standorte erstrecken.
Im Vergleich zu RAID kann Erasure Coding den Zeitaufwand und den erforderlichen Overhead bei der Rekonstruktion von Daten reduzieren. Erasure Coding ist jedoch mit bestimmten Kosten verbunden. Zum einen müssen die redundanten Datensegmente verarbeitet werden, wodurch der CPU-Bedarf steigen kann und sich die Latenz erhöhen kann. Daher eignet sich Erasure Coding besonders für Speicherplattformen, bei denen eine hohe Kapazität wichtig ist, da weniger Kapazität für die Datenreplikation benötigt wird und somit mehr Kapazität für die eigentliche Speicherung zur Verfügung steht, oder bei denen Kosteneffizienz im Vordergrund steht, da weniger physische Kapazität zum Speichern und sicheren Schutz der Daten erforderlich ist. Wenn hingegen eine hohe Performance wichtiger ist, können andere Datenschutzverfahren, beispielsweise Replikation, besser geeignet sein.
Wie unterstützt GIGABYTE?
GIGABYTE und Bigtera haben sich zusammengeschlossen, um eine Reihe von Software-defined-Storage-Appliances mit VirtualStor anzubieten. Diese nutzen Erasure Coding als Form des Datenschutzes. VirtualStor ist je nach Softwareumgebung und erforderlicher Speicherleistung in drei verschiedenen Produktvarianten erhältlich (Scaler, Converger oder Extreme) und bietet Speicherkapazitäten von mehreren Terabyte bis hin zu mehreren Petabyte.