GNU/Linux >> LINUX-Kenntnisse >  >> Linux

RAID für diejenigen, die es vermeiden

Jede Hardware fällt irgendwann aus. Dies ist eine der schmerzhaften Nebenwirkungen der Entropie in unserem Universum. Bei den meisten Arten von Hardware, die in modernen Infrastrukturen verwendet werden, führt der Verlust einer einzelnen Komponente normalerweise zu einer gewissen Ausfallzeit. Abgesehen von der Zeit, die benötigt wird, um etwas wie eine schlechte CPU oder einen RAM-Riegel auszutauschen, sehen Systemadministratoren oder Benutzer selten viele langfristige negative Auswirkungen. Aber wenn ein Administrator nicht besonders auf die Speicherung achtet, kann Datenverlust durch Festplattenausfälle unmittelbare und dauerhafte Folgen haben.

Nehmen wir als Beispiel den Desktop eines Nutzers:Wenn er seine Daten lokal auf einem einzigen Laufwerk speichert, gehen seine Daten verloren, wenn das Laufwerk unweigerlich ausfällt. Dasselbe gilt unabhängig von der Qualität, Marke oder Art des Laufwerks. Natürlich gibt es Datenrettungsunternehmen, die gerne hart verdientes Geld für die Möglichkeit nehmen würden, Bits von toten Laufwerken wiederzubeleben. Leider werden die Kosten schnell exorbitant, und selbst diese Spezialisten sind irgendwann nicht mehr in der Lage.

Administratoren stehen eine Reihe von Optionen zur Verfügung, um eine drohende Katastrophe abzuwehren:RAID, Backups, Netzwerkspeicher-Cluster usw. Oft werden diese Optionen in Verbindung verwendet, um Datenschutzebenen und mehrere Möglichkeiten bereitzustellen, um ein Problem zu stoppen, bevor es zu einem Problem wird spät. Der Aufbau redundanter Festplatten-Arrays und die Abstrahierung des Speichers von einzelnen Laufwerken ist der einfachste und beste Weg, um diese Single Points of Failure zu beseitigen. Das Ziel ist es, späte Nächte und lange Wochenenden mit der Wiederherstellung von Backups (die hoffentlich jemand gemacht hat) zu vermeiden oder die extremen Gebühren an Wiederherstellungsunternehmen zu zahlen.

Was ist RAID?

Redundant Arrays of Inexpensive Disks (RAID) ist eine der am weitesten verbreiteten und effektivsten Speichertechnologien, auf die ein Systemadministrator stoßen wird. Es ist wichtig, mit den gängigsten Implementierungen vertraut zu sein. RAID kann als Softwarelösung über ein Betriebssystemdienstprogramm wie mdadm angeboten werden in Linux ein Hardware-RAID-Controller wie die MegaRAID-Kartenreihe oder sogar Chipsätze, die Pseudo-RAID-Fähigkeiten bieten. Hardware-Controller wie die der MegaRAID-Reihe sollten jedoch nicht mit Host-Bus-Adaptern (HBAs) verwechselt werden, sie sind für den einfachen und direkten Zugriff auf Festplatten konzipiert. HBAs bieten eine Möglichkeit, Konnektivität ohne die Intelligenz des RAID-Controllers bereitzustellen, und sind folglich viel kostengünstiger.

Auf hoher Ebene besteht das Konzept von RAID darin, eine Sammlung von Laufwerken in einem Array zu gruppieren, um Daten darauf zu schreiben. Je nach Konfiguration werden die Daten auf unterschiedliche Weise geschrieben, mit unterschiedlichen Mengen an Paritätsinformationen, um die Wiederherstellung der Daten im Falle eines Laufwerksausfalls zu unterstützen. Obwohl es möglich ist, unterschiedliche Typen, Geschwindigkeiten, Größen oder Verbindungen für Laufwerke in einem Array zu verwenden, ist es am besten, sie so gut wie möglich aufeinander abzustimmen. Laufwerke unterschiedlicher Größe landen fast immer auf dem kleinsten gemeinsamen Nenner, und Laufwerke mit unterschiedlichen Geschwindigkeiten müssen auf das langsamste warten.

Viele Administratoren ziehen es jedoch vor, Laufwerke von verschiedenen Herstellern zu kaufen, um zu vermeiden, dass fehlerhafte Laufwerkschargen gleichzeitige Ausfälle bei Mitgliedern von Arrays verursachen.

RAID-Stufen

Da RAID-Konfigurationen in Ebenen benannt werden, impliziert das Nummerierungsschema eine lineare Progressionsskala von einer Konfiguration zur anderen, obwohl viele der Ebenen nicht miteinander verbunden sind. Jede RAID-Stufe hat Vor- und Nachteile, und einige Stufen sind nützlicher als andere. In der realen Welt sind die gebräuchlichsten Ebenen 0, 1, 5, 6, 10, 50 und 60. Die RAID-Ebenen 2, 3, 4 und einige andere existieren ebenfalls, sind jedoch proprietär, veraltet oder werden selten verwendet. Das mag nach viel klingen, aber wenn diese Informationen aufgeschlüsselt sind, werden sie leichter verdaulich.

RAID 0

Die meisten RAID-Level passen zu einem bestimmten Anwendungsfall. Beginnend mit RAID 0 stellen wir fest, dass es ohne interne Redundanz aufgebaut ist, da jede Festplatte dem Array ihre volle Kapazität als nutzbaren Speicher zur Verfügung stellt. Da die Daten aufgeteilt und parallel auf alle Platten geschrieben werden, sehen wir einen Vorteil. Wenn Lese- und Schreibvorgänge auf einem so konfigurierten Array ausgeführt werden, können sie sehr schnell sein, da sie linear zur Anzahl der im Array enthaltenen Festplatten skaliert werden.

Technisch gesehen können Sie zwar eine einzelne Festplatte zu einem RAID 0-Array machen, aber Sie würden dies wirklich mit mindestens einem Festplattenpaar tun. Der größte Nachteil von RAID 0 besteht im Allgemeinen darin, dass das gesamte Array ausfällt und die Daten verloren gehen, wenn eine einzelne Festplatte verloren geht. Diese Konfiguration ist nicht für den Produktionseinsatz geeignet, wenn die Daten nicht auf einem anderen leicht zugänglichen System gespeichert sind. RAID 0 kann jedoch ein durchaus vernünftiges Setup für eine Endbenutzer-Workstation sein, die eine hohe Leistung benötigt, wenn diese Workstation nicht die einzige Heimat für die Daten ist, an denen gearbeitet wird.

RAID 1

RAID 1 wurde mit einem völlig anderen Ziel als RAID 0 entwickelt. Anstatt Daten ohne jeglichen Schutz auf eine Reihe von Laufwerken zu verteilen, gibt RAID 1 einem Administrator die Möglichkeit, Daten aus Gründen der Ausfallsicherheit auf zwei oder mehr Laufwerke zu spiegeln. Dieses RAID-Level tut dies, um eine lokale Kopie (oder Kopien) von Daten bereitzustellen, um den Ausfall eines einzelnen Laufwerks zu verhindern, und es verwendet Daten von fehlerfreien Laufwerken, um Daten nach dem Austausch wiederherzustellen.

Normalerweise bestehen RAID 1-Spiegelungen aus einem Laufwerkspaar, aber sie können drei oder mehr enthalten, je nachdem, wie viele Kopien von Blöcken der Administrator online haben muss. Es ist wichtig darauf hinzuweisen, dass dies nicht ist eine Sicherung. Diese Daten existieren als Live-Kopie des Laufwerks in einem System und bieten nicht die Sicherheit eines regulären Backup-Systems. Diese Spiegel sind 1:1-Klone, daher müssen die Laufwerke die gleiche Größe haben, oder der Speicherplatz wird verwirkt, um das kleinste Laufwerk im Satz aufzunehmen.

Unabhängig von der Anzahl der Festplatten, die einem RAID 1-Array hinzugefügt werden, bleibt die Gesamtkapazität gleich. Diese Kapazität entspricht der Größe einer einzelnen Festplatte im Array (der kleinsten, wenn sie nicht identisch sind), aber die Anzahl der Datenkopien steigt mit jeder zusätzlichen Festplatte, ohne dass die Gesamtkapazität zunimmt. Jede Festplatte ist ein weiterer Klon der Daten und bietet zusätzlichen Schutz vor dem Ausfall einzelner Laufwerke.

Abhängig von der verwendeten Software und/oder dem Controller, an den sie angeschlossen sind, gibt es Beschränkungen dafür, wie viele Festplatten zu einem Array hinzugefügt werden können.

RAID 2 bis 4

Die RAID-Level 2, 3 und 4 sind veraltet, proprietär oder sehr selten. Es ist unwahrscheinlich, dass viele Sysadmins auf Systemen laufen, auf denen eine dieser drei Konfigurationen ausgeführt wird, und unter normalen Umständen können diese effektiv ignoriert werden. Wenn Sie an einem System arbeiten, auf dem eines dieser Systeme ausgeführt wird, lesen Sie am besten die Dokumentation des Anbieters, um herauszufinden, wie Sie es am besten verwalten.

RAID 5

Abgesehen von der Verwendung von RAID 0 zum Striping von Daten über eine Sammlung von Laufwerken ohne Schutz oder der Verwendung von RAID 1 zum Erzielen einer gewissen Redundanz bei begrenzter Kapazität bietet RAID 5 einen großartigen Mittelweg zum Schreiben von Daten auf mehrere Laufwerke und bietet gleichzeitig ein gewisses Maß an Redundanz für das Array . RAID 5 tut dies, indem es Paritätsinformationen auf jedes Laufwerk schreibt, sodass es die Daten von jedem einzelnen Laufwerk wiederherstellen kann.

Bei der Verwendung von RAID 5 kommt eine neue Anforderung ins Spiel, da das Array mindestens drei Festplatten enthalten muss. Die Kapazität entspricht dann der Summe der Festplatten abzüglich der Größe einer davon. Beispielsweise ergibt ein RAID 5 mit sieben 2-TB-Festplatten 12 TB (7 x 2 sind 14 und minus ein Laufwerk sind 12).

Wenn eine dieser Festplatten ausfällt, kann ein Administrator sie austauschen und das System den Ersatz mit Daten aus dem Rest des Arrays unter Verwendung der zuvor erwähnten Paritätsinformationen neu erstellen lassen. Diese Konfiguration hat zwei Hauptnachteile. Erstens wird die Schreibleistung beeinträchtigt (das Schreiben all dieser zusätzlichen Bits an Paritätsinformationen beim Schreiben der echten Daten verursacht Overhead). Zweitens ist das Array während einer Wiederherstellung anfällig für einen Totalverlust, wenn auch eines der gesunden Laufwerke ausfällt. Abhängig von der Auslastung der Maschine kann eine Neuerstellung zu einem plötzlichen Anstieg der Aktivität dieser Laufwerke führen und am Ende auch eines der fehlerfreien Laufwerke zum Ausfall bringen. Aus diesem Grund entscheiden sich derzeit viele Administratoren für RAID 6.

RAID 6

Als natürliche Weiterentwicklung von RAID 5 verwendet RAID 6 das gleiche Grundkonzept und erweitert das „einzelne Laufwerk“ mit Paritätsinformationen auf ein Laufwerkspaar. Während nicht die Gesamtheit der einzelnen Laufwerke für die Parität verwendet wird, wird die Gesamtkapazität der Laufwerke im gesamten Array verwendet, und RAID 6 verwendet den Platz von zwei Laufwerken, um die Paritätsbits zu speichern.

Die Nutzung des Speicherplatzes einer zusätzlichen Festplatte bedeutet, dass die Mindestanzahl von Festplatten für ein RAID 6-Array auf vier ansteigt. Diese scheinbar einfache Änderung kann eine Welt des Guten bedeuten, wenn es darum geht, ein ausgefallenes Laufwerk wieder aufzubauen und ein Array weiterhin zu betreiben. Sie können sicher sein, dass ein weiterer Ausfall keinen Totalverlust der lokal auf der Maschine vorhandenen Daten bedeutet.

Verschachteltes RAID

Jenseits der Ebenen 0, 1, 5 und 6 finden wir uns mit der Idee wieder, RAID-Ebenen miteinander zu verschachteln, um neuartige Konfigurationen zu schaffen, die neue Optionen für die Speicherung bieten. Die am weitesten verbreiteten und vorteilhaftesten sind 10, 50 und 60; jeweils eine Kombination aus 1, 5 und 6 plus 0.

RAID 10

Eine Kombination aus 1 und 0 mag so klingen, als hätte es noch einmal RAID 5 sein sollen, aber die beste Art, sich diese verschachtelten Ebenen vorzustellen, ist in zwei Dimensionen. Für RAID 10 nehmen wir mehrere RAID 1-Arrays und Striping über sie, als ob diese Arrays Festplatten wären, und daraus ein RAID 0-Array erstellen. Aufgrund dieses Faktors erfordert RAID 10 mindestens vier Festplatten:zwei für eine Spiegelung und ein Paar dieser Spiegelungen. Was wir erhalten, ist ein Array mit einer Geschwindigkeit wie ein RAID 0, profitiert aber von der internen Redundanz eines RAID 1. Ein RAID 10-Array würde nur dann ausfallen, wenn eines der internen RAID 1-Arrays ausfällt.

In jedem RAID 1-Paar (oder mehreren Spiegeln, wenn ein Administrator dies wünscht) ist eine Wiederherstellung möglich, wenn Festplatten ausgetauscht werden müssen, sodass ein ganzer Satz von RAID 1-Mitgliedern ausfallen müsste, damit das RAID 10 selbst einem Datenverlust unterliegt . Umbauten sind auch anders. Bei RAID 5 müssen Daten von allen Laufwerken im Array gelesen werden, um neue Bits aus der zuvor geschriebenen Parität zu berechnen. Da RAID 10 RAID 1 verwendet, liest es von den Klonen des ausgefallenen Laufwerks, um es neu zu erstellen.

RAID 50

Wie RAID 10 gibt uns RAID 50 die Möglichkeit, aus redundanten ein schnelles Array zu erstellen. Am Ende haben wir ein RAID 0, das eine Reihe von RAID 5-Arrays umfasst, ähnlich wie RAID 10 eine Reihe von RAID 1-Arrays war. Hier sehen wir, dass viele Festplatten selbst für die einfachsten Setups ins Spiel kommen. Da ein Basis-RAID 5 drei Laufwerke erfordert, wären für ein RAID 50 insgesamt mindestens sechs erforderlich, da es sich mindestens um ein Paar RAID 5-Arrays handelt.

Auch hier ist, ähnlich wie bei RAID 10, das Beste aus zwei Welten. RAID 50 gibt uns zusätzliche Geschwindigkeit durch das Hinzufügen von mehr parallel hinzugefügten Festplatten, während es uns immer noch die internen Paritätsinformationen aus der RAID 5-Konfiguration liefert. Ein RAID 50 kann dem Ausfall mehrerer Laufwerke standhalten, solange sie sich nicht im selben verschachtelten RAID 5-Array befinden.

RAID 60

An dieser Stelle sollte RAID 60 keine Überraschung sein, da es die gleiche logische Erweiterung von RAID 6 auf 60 ist, wie es RAID 5 auf 50 war. Der größte zusätzliche Vorteil sind die erreichbaren Geschwindigkeitsgewinne, kombiniert mit der massiven Erhöhung der Redundanz, die durch die mehrfachen Kopien der Paritätsinformationen bereitgestellt wird, und dem engen Fehlerbereich für jedes verschachtelte Array. RAID 60-Arrays beginnen bei acht Laufwerken, da jedes RAID 6 mindestens vier ist, in Vielfachen von mindestens zwei Arrays.

RAID vs. Backups

Eines der am häufigsten vertretenen Sprichwörter im Bereich der Systemadministration scheint zu sein:„RAID ist kein Backup“. Für neue Administratoren oder diejenigen, die nicht viel Zeit damit verbringen, über Speicher nachzudenken, ist diese Tatsache möglicherweise nicht sofort offensichtlich. Es kann sogar antagonistisch oder absolut falsch erscheinen.

Das Problem ergibt sich aus der Tatsache, dass die in RAID-Konfigurationen integrierte Redundanz mit den gleichen Zielen wie Backups erstellt wurde:Bekämpfung von Datenverlust. Der Grund, warum es so wichtig ist, über den Unterschied zu sprechen, ist nicht, um pingelig zu sein, sondern um uns daran zu erinnern, dass diese Tools dazu da sind, uns Schutzschichten zu bieten, und indem wir sie in einen Topf werfen, tun wir uns selbst keinen Gefallen.

RAID existiert, um eine sofortige Live-Kopie von Daten bereitzustellen, um einer laufenden Maschine als Krücke zu helfen, wenn sie sich nach einem Stolpern wieder aufrichtet. Auf der anderen Seite bieten Backups die Möglichkeit, unsere Fähigkeit zu testen, eine Maschine wieder in einen funktionsfähigen Zustand zu versetzen oder Daten wiederherzustellen, ohne dass die Maschine laufen muss. Backups bieten uns andere Vorteile, die RAID nicht bietet, einschließlich der Möglichkeit, Kopien an mehrere Orte auf mehreren Medientypen zu verschieben und mehrere Versionen zu speichern.

RAID und Backups erfüllen unterschiedliche Rollen, aber beide sind wichtig und sollten nicht vernachlässigt werden.


Linux
  1. MySQL – Konvertieren in Tabellendaten für InnoDB

  2. Top 5 Datensicherungssoftware für Linux

  3. Pseudodateien für temporäre Daten?

  4. DSGVO-Compliance für globale Managed Service Provider

  5. Verwenden von Dateien für Shared Memory IPC

Süßes und Saures für Sysadmins und Ops

Die 15 besten Datenbankverwaltungssysteme für Linux Desktop

Was ist eine verteilte Datenbank und wozu dienen verteilte Datensysteme?

So installieren Sie Anaconda unter Linux für Data Science Wins!

Die 20 besten Data-Mining-Software für Linux-Desktop

Die 15 besten Komprimierungs- oder Archivmanager für Linux-Systeme