Der Initialisierungsprozess von Raid
Jan 28, 2022
Das RAID-System ist ein wirksames Mittel, um Daten vor gespeicherten Daten zu schützen. Beim RAID-Erstellungsprozess gibt es oft einen sehr langen Systeminitialisierungsprozess. Warum gibt es eine solche Operation im RAID-Initialisierungsprozess? Welche Aspekte wird dieser Vorgang auf SSD haben? Lassen Sie uns den RAID-Initialisierungsprozess aus der Perspektive der Technologieentwicklung analysieren und untersuchen. Die grundlegende Organisationsstruktur eines herkömmlichen RAID-Arrays besteht darin, dass alle Festplatten, die einer RAID-Gruppe hinzugefügt werden, basierend auf ihren LBA-Adressen in eine Reihe von Slices unterteilt werden. Diese Slices werden Stripe Units genannt. Stripe-Einheiten, die denselben LBA-Adressen auf verschiedenen Datenträgern entsprechen, werden in einem Stripe organisiert. Das Codieren aller Daten in einem Streifen, wie z. B. RAID6, das zwei codierte Datenblöcke P und Q erzeugt, ermöglicht, dass beide Datenträger gleichzeitig beschädigt werden. Daher müssen im RAID-System alle Daten im Streifen die Regeln der Codierung und des Dec-Algorithmus erfüllen, d. h. alle Daten im Streifen können Codierungsdaten gemäß bestimmten Regeln erzeugen, und die Codierungsdaten sind die gleichen wie die im Streifen gespeicherten Codierdaten. Diese Situation wird als Daten in diesem Band bezeichnet. Wenn eine Festplatte ausfällt, können die verlorenen Datenblöcke durch die auf dem Streifen gespeicherten verschlüsselten Daten wiederhergestellt werden. Wenn die Daten in einem Streifen inkonsistent sind, d. h. das durch die Daten im Streifen erhaltene Codierungsergebnis nicht dasselbe ist, dann kann der fehlende Datenblock nach dem Ausfall einer Platte nicht richtig durch die im Streifen gespeicherten codierten Daten wiederhergestellt werden. Daher ein Streifen von Dateninkonsistenz, der Datenkorrektheitsprobleme verursacht, wenn der Fehler auftritt.Beim Erstellen eines RAID-Systems kann die Festplatte in der RAID-Gruppe entweder eine neue Festplatte oder eine bereits verwendete Datenfestplatte sein, auf der nicht alle Daten Null sind. In diesem Fall müssen die mit diesen Platten aufgebauten Datenstreifen nicht der Forderung nach Datenkonsistenz genügen. Das heißt, die gemäß bestimmten Regeln berechneten Codierdaten in jedem Band stimmen nicht mit den Codierdaten in dem Band überein. Solche dateninkonsistenten Bänder bringen ein großes Risiko für das Problem der RAID-Datenkorrektheit mit sich. Aus diesem Grund müssen Sie beim Erstellen eines RAIDs daran denken, alle Streifen im System zu initialisieren, um die Konsistenz der Daten in den Bändern sicherzustellen. Die Bandinitialisierung kann normalerweise auf zwei Arten gelöst werden:1. Initialisiert alle Bänder im RAID-System durch Schreiben der Gesamtnull. Alle Daten Nullband, seine Prüfdaten sind ebenfalls Null. Daher können Nur-Null-Daten eine Bandkonsistenz garantieren.2. Überprüfen Sie alle Streifen und aktualisieren Sie die Prüfdaten in den Streifen, um die Konsistenz der Streifendaten zu erreichen. Wenn ein RAID-System initialisiert wird, werden die Daten in allen Bändern konsistent. Der RAID-Systeminitialisierungsprozess ist ein sehr langer Prozess, hauptsächlich weil alle Bänder im System initialisiert werden müssen. Das Leistungsgleichgewicht zwischen der Front-End-Benutzer-IO und der RAID-Systeminitialisierung ist oft ein Ausführungsprozess im Hintergrund, der lange Zeit andauert und die Leistung von Front-End-Anwendungen beeinträchtigt. Für SSDS führt der Initialisierungsprozess des RAID-Systems auch andere Probleme ein. Während der Systeminitialisierung müssen Daten auf SSDS geschrieben werden, unabhängig davon, ob es sich um einen Zero-Write- oder einen Parity-Datenaktualisierungsmodus handelt. Dieser Prozess führt zu einer unnötigen Datenschreibvergrößerung. Bevor Benutzerdaten geschrieben werden, wird durch Initialisierung eine Datenzuordnungstabelle innerhalb der SSD erstellt. Die Lebensdauer und Leistung von SSDS werden reduziert. Daher muss ein RAID-System für SSDS für den Systeminitialisierungsprozess optimiert werden, was eine Besonderheit ist, die herkömmliches RAID nicht berücksichtigt. Daher können herkömmliche RAID-Arrays nicht direkt auf SSDs bereitgestellt werden, was sich auf die Lebensdauer und Leistung von SSDs auswirkt. RAID-Systeme verwenden Striping, um Daten zu schützen, aber es treten auch eine Reihe von Problemen in den Prozess des Striping-Datenschutzes ein. Die Systeminitialisierung ist ein typisches Problem der Streifenkonsistenz. Ein gutes RAID-Datenschutzsystem löst dieses Problem während des Designprozesses. Beispielsweise verfügt EMC Data Domain RAID nicht über den Systeminitialisierungsprozess, es muss natürlich mit dem Dateisystem zusammenarbeiten und hat eine Menge Optimierungen bei der RAID-Strip-Datenverteilung vorgenommen.