Was ist der Unterschied zwischen dem Erstellen eines mdadm-Arrays mit Partitionen oder der direkten Verwendung ganzer Festplatten?

Was ist der Unterschied zwischen dem Erstellen eines mdadm-Arrays mit Partitionen oder der direkten Verwendung ganzer Festplatten?

Kann mir bitte jemand erklären, was der Unterschied zwischen der Erstellung mdadmeines Arrays mithilfe von Partitionen oder der direkten Erstellung ganzer Festplatten ist? Angenommen, ich möchte die gesamten Festplatten verwenden.

Stellen Sie sich ein RAID6 vor, das auf zwei Arten erstellt wurde:

mdadm --create /dev/md0 --level=6 --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1

oder:

mdadm --create /dev/md0 --level=6 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd

Was ist der Unterschied und welche Probleme können bei beiden Varianten auftreten?

Ich meine beispielsweise die Zuverlässigkeit oder Verwaltbarkeit oder Wiederherstellungsvorgänge auf solchen Arrays usw.

Antwort1

Der wichtigste Unterschied besteht darin, dass Sie dadurch die Flexibilität beim Festplattenaustausch erhöhen können. Im Folgenden wird dieser Punkt zusammen mit einer Reihe weiterer Empfehlungen ausführlicher beschrieben.

Man sollte erwägen, eine Partition statt der gesamten Festplatte zu verwenden. Dies sollte zu den allgemeinen Empfehlungen für das Einrichten eines Arrays gehören und kann Ihnen in Zukunft sicherlich einige Kopfschmerzen ersparen, wenn weitere Festplatten ausgetauscht werden müssen.

Das wichtigste Argument ist:

Festplatten verschiedener Hersteller (oder sogar verschiedene Modelle mit „gleicher“ Kapazität desselben Herstellers) haben nicht unbedingt die exakt gleiche Festplattengröße und selbst der kleinste Größenunterschied verhindert, dass Sie eine defekte Festplatte durch eine neuere ersetzen können, wenn die zweite kleiner ist als die erste. Durch Partitionierung können Sie dieses Problem umgehen;

Randbemerkung zu den Gründen für die Verwendung von Datenträgern unterschiedlicher Hersteller: Festplatten fallen aus. Das ist keine Frage des „Ob“, sondern des „Wann“. Festplatten desselben Herstellers und desselben Modells haben ähnliche Eigenschaften und daher ist die Wahrscheinlichkeit höher, dass sie unter denselben Bedingungen und für denselben Verwendungszeitraum gemeinsam ausfallen. Es wird daher empfohlen, Festplatten verschiedener Hersteller und Modelle zu verwenden, insbesondere Festplatten, die nicht zur selben Charge gehören (erwägen Sie, sie in verschiedenen Geschäften zu kaufen, wenn Sie Festplatten desselben Herstellers und Modells kaufen). Es kommt nicht selten vor, dass während einer Wiederherstellung nach einem Festplattenaustausch ein zweiter Festplattenausfall auftritt, wenn Festplatten derselben Charge verwendet werden. Das möchten Sie sicher nicht.

Also die Empfehlungen:

1)Partitionieren Sie die Festplattendas verwendet wird mit einemetwas geringere Kapazitätals der gesamte Festplattenspeicher (ich habe z. B. ein RAID5-Array mit 2 TB-Festplatten und habe sie absichtlich partitioniert, wobei ich auf jeder ca. 100 MB verschwendet habe). Verwenden Sie dann /dev/sd?1 von jeder Platte, um das Array zusammenzustellen. Dadurch wird eine Sicherheitsmarge hinzugefügt, falls eine neue Ersatzfestplatte weniger Speicherplatz hat als die ursprünglichen Platten, die bei der Erstellung des Arrays zum Zusammenstellen verwendet wurden.

2) Verwenden Sie Datenträger verschiedener Hersteller.

3) Verwenden Sie Festplatten verschiedener Modelle, wenn unterschiedliche Hersteller für Sie keine Option sind;

4) Verwenden Sie Datenträger aus unterschiedlichen Chargen.

5) Ersetzen Sie Festplatten proaktiv, bevor sie ausfallen, und nicht alle gleichzeitig. Das kann ein wenig paranoid sein und hängt wirklich davon ab, wie kritisch Ihre Daten sind. Ich habe Festplatten, die 6 Monate Altersunterschied voneinander haben.

6) Machen Sie regelmäßig Backups (immer, egal, ob Sie ein Array verwenden oder nicht). RAID erfüllt nicht denselben Zweck wie Backups. Arrays gewährleisten eine hohe Verfügbarkeit, Backups ermöglichen die Wiederherstellung verlorener Dateien (einschließlich derer, die versehentlich gelöscht oder durch Viren beschädigt wurden, einige Beispiele für Dinge, vor denen Sie Arrays nicht schützen).

OBS: Außer all dennicht zu vernachlässigenWie oben erläutert, gibt es zwischen der Verwendung von /dev/sd? und /dev/sd?# keine weiteren technischen Unterschiede.

Viel Glück

Antwort2

Ein weiteres wichtiges Argument ist, dass einigeMainboards können Ihre RAID-Superblöcke löschenwenn Sie ganze Festplattengeräte verwenden und beim Löschen dieser Geräte nicht besonders vorsichtig sind, wenn Sie einem RAID-Array Festplatten hinzufügen, die einst GPT-Geräte waren.

Ich habe das auf die harte Tour gelernt, als das UEFI meines ASRock-Mainboards mein RAID unbrauchbar machte:

Um sich davor zu schützen, führen Sie die Ausführung immer sgdisk --zapauf einer zuvor GPT-formatierten Festplatte aus, die Sie für ein Geräte-RAID verwenden möchten.

wipefs -a kann auch funktionierenum alle Arten von übrig gebliebenen Partitionsinformationen (nicht nur GPT) zu löschen, bevor das Gerät zur Festplatte hinzugefügt wird.


Das gesagt,Die Verwendung von Partitionen scheint eine bewährte Methode zu sein, um die Wahrscheinlichkeit zu verringern, dass dies passiert.

Ich wusste nie, was dierealArgumente waren für diese bewährte Methode (über die Antwort von @Marcelos Erklärung hinaus, dass es mit Festplatten leicht unterschiedlicher Größe umgehen kann). Jetzt weiß ich es.

Sollte Ihnen das passieren, sind Ihre Daten übrigens nicht verloren.Sie können höchstwahrscheinlich nur sgdisk --zapdas Gerät verwenden und dann das RAID mit z. B. neu erstellen mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdc /dev/sdd(mdadm wird Ihnen mitteilen, dass es bereits frühere Daten erkennt, und Sie fragen, ob Sie diese Daten weiterhin wiederverwenden möchten). Ich habe dies mehrmals versucht und es hat funktioniert, aber ich empfehle trotzdem, vorher ein Backup zu erstellen.

Antwort3

Es gibt einige Beiträge, in denen das Problem beschrieben wird, das gesamte Gerät als RAID-Mitglied statt als Partition zu verwenden.Einer hier. Das kann ich bestätigen.

Wenn Sie also ein RAID mit dem gesamten Gerät erstellen (sagen wir, /dev/sda, /dev/sdb, ... statt auf /dev/sda1, /dev/sdb1, ...), wird das RAID-Gerät nach einem Neustart nicht neu zusammengesetzt, selbst wenn Sie die Konfiguration unter gespeichert haben mdadm.conf. Es besteht auch die Möglichkeit, dass die Firmware des Mainboards den RAID-Superblock überschreibt oder entfernt. In meinem Setup mdadm --assemble --scan --verbosebekomme ich durch Ausführen mein RAID-Setup nicht zurück und es scheint, als wäre der RAID-Superblock nicht verfügbar.

Antwort4

Es ist nicht ungewöhnlich, Festplatten statt Partitionen zu einem RAID zusammenzufassen und das RAID dann zu partitionieren. Insbesondere können die meisten Hardware-RAID-Controller nicht einmal Partitionstabellen lesen, sodass sie immer mit ganzen Festplatten arbeiten. Dasselbe ist jedoch mit Software-RAIDs möglich. Und wenn sie richtig konfiguriert sind, werden Software-RAIDs beim Neustart problemlos wieder zusammengesetzt. Stellen Sie natürlich sicher, dass auf der Festplatte keine Spuren einer früheren Partitionstabelle zurückbleiben. Dies ist besonders wichtig, da viele Festplatten vorformatiert geliefert werden und viele Tools (Software-RAID, Dateisysteme usw.) dazu neigen, am Anfang „leere Sektoren“ zu hinterlassen, in denen diese Spuren früherer Partitionstabellen dann erhalten bleiben können.

Es lohnt sich auch, ein oder zwei zusätzliche Festplatten als Ersatz zu kaufen, wenn Sie ein RAID einrichten. Wenn eine Festplatte ausfällt, können Sie sie schnell ersetzen, was besonders bei einem RAID5 oder einem RAID1 mit zwei Festplatten wichtig ist, wo Sie nach dem Ausfall einer einzelnen Festplatte keine Redundanz mehr haben, bis die ausgefallene Festplatte ersetzt und das RAID neu synchronisiert wurde. Durch ein genau passendes Ersatzlaufwerk vermeiden Sie auch die Probleme, die durch eine „schwache“ Festplatte in einem RAID entstehen können, z. B. wenn die neue Festplatte langsamer oder etwas kleiner als die alten ist.

Das Problem „etwas kleiner“ lässt sich jedoch beheben, egal ob Sie Partitionen haben oder nicht. Verwenden Sie einfach den Device Mapper, um eine virtuelle Festplatte zu erstellen, die 99,9 % ihrer Kapazität von der neuen Festplatte und die fehlenden 0,1 % von einer Systemfestplatte oder SSD erhält. Alternativ können Sie das Dateisystem während eines Neustarts in der initramfs-Phase verkleinern (siehehttps://serverfault.com/a/888830wie das geht), dann verkleinern Sie das RAID und Sie sind auch wieder online.

Mit anderen Worten: Die Verwendung ganzer Festplatten für ein Hardware- oder Software-RAID oder einen ZFS-Speicherpool ist völlig in Ordnung.

verwandte Informationen