Kann mir bitte jemand erklären, worin der Unterschied besteht, ein mdadm
Array mit Partitionen oder ganzen Festplatten direkt zu erstellen ? Angenommen, ich beabsichtige, die gesamten Laufwerke zu verwenden. Beachten Sie, dass sie mit GPT sind.
Stellen Sie sich RAID6 auf zwei Arten vor:
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
Ist da ein Unterschied?
EDIT1: Ich meine zum Beispiel Zuverlässigkeit oder Verwaltbarkeit oder Wiederherstellungsvorgänge auf solchen Arrays usw.
EDIT2: Ich verwende Laufwerke verschiedener Hersteller. Aber das ist nicht die eigentliche Frage. Sie haben alle genau die gleiche Größe. Ich verstehe, dass es Hersteller geben kann, die Laufwerke mit geringfügig unterschiedlichen Größen herstellen. Um diese Frage zu beantworten, nehmen wir an, dass sie die gleiche Größe haben.
EDIT3: Art Disclaimer: Bisher partitioniere ich immer die Laufwerke.
quelle
Antworten:
Der wichtigste Unterschied besteht darin, dass Sie die Flexibilität für den Austausch von Datenträgern erhöhen können. Es wird nachstehend zusammen mit einer Reihe anderer Empfehlungen ausführlicher beschrieben.
Man sollte in Betracht ziehen, eine Partition anstelle der gesamten Festplatte zu verwenden. Dies sollte unter den allgemeinen Empfehlungen für das Einrichten eines Arrays stehen und erspart Ihnen möglicherweise in Zukunft Kopfschmerzen, wenn weitere Datenträger ausgetauscht werden müssen.
Die wichtigsten Argumente sind:
Datenträger verschiedener Hersteller (oder sogar verschiedene Modelle mit "gleicher" Kapazität desselben Herstellers) haben nicht unbedingt die exakt gleiche Datenträgergröße und verhindern, dass Sie einen ausgefallenen Datenträger durch einen neueren Datenträger ersetzen wenn der zweite kleiner ist als der erste. Durch die Partitionierung können Sie dies umgehen.
Randnotiz, warum Festplatten verschiedener Hersteller verwendet werden: Festplatten fallen aus, es handelt sich nicht um ein "Wenn", sondern um ein "Wann". Festplatten desselben Herstellers und desselben Modells weisen ähnliche Eigenschaften auf, sodass die Wahrscheinlichkeit eines Zusammenbruchs unter den gleichen Bedingungen und zum gleichen Zeitpunkt der Verwendung höher ist. Es wird daher empfohlen, Datenträger von verschiedenen Herstellern und verschiedenen Modellen zu verwenden, die insbesondere nicht zur gleichen Charge gehören. Dies ist nicht ungewöhnlich, wenn ein zweiter Plattenfehler während eines Neustarts nach einem Plattenaustausch auftritt, wenn Platten desselben Stapels verwendet werden. Sie wollen sicher nicht, dass Ihnen das passiert.
Also die Empfehlungen:
1) Partitionieren Sie die Festplatten , die mit einer etwas geringeren Kapazität verwendet werden sollen als der gesamte Festplattenspeicher verwendet werden sollen (z. B. habe ich ein RAID5-Array mit 2 TB Festplatten und habe sie absichtlich so partitioniert, dass jeweils etwa 100 MB verschwendet werden). Verwenden Sie dann jeweils / dev / sd? 1 zum Erstellen des Arrays. Dies fügt einen Sicherheitsabstand hinzu, falls eine neue ersetzende Festplatte weniger Speicherplatz hat als die ursprünglichen, die zum Erstellen des Arrays verwendet wurden.
2) Verwenden Sie Datenträger verschiedener Hersteller.
3) Verwenden Sie Datenträger verschiedener Modelle, wenn für Sie verschiedene Hersteller nicht in Frage kommen.
4) Verwenden Sie Disks aus verschiedenen Chargen.
5) Tauschen Sie Festplatten proaktiv aus, bevor sie ausfallen, und nicht alle gleichzeitig. Dies kann ein bisschen paranoid sein und hängt wirklich von der Kritik der Daten ab, die Sie haben. Ich verwende Disks, deren Alter sich um 6 Monate unterscheidet.
6) Führen Sie regelmäßige Sicherungen durch (immer, unabhängig davon, ob Sie ein Array verwenden oder nicht). Raid dient nicht dem gleichen Zweck wie Backups. Arrays sichern Ihnen eine hohe Verfügbarkeit. Mit Backups können Sie verlorene Dateien wiederherstellen (einschließlich Dateien, die versehentlich gelöscht oder durch Viren beschädigt wurden, einige Beispiele für Dinge, vor denen Sie durch die Verwendung von Arrays nicht geschützt werden).
OBS: Abgesehen von all den oben genannten nicht zu vernachlässigenden Gründen gibt es keine weiteren technischen Unterschiede zwischen der Verwendung von / dev / sd? vs / dev / sd? #.
Viel Glück
quelle
sfdisk -d src | sfdisk tgt
sgdisk --backup && sgdisk --load-backup
Ein weiteres wichtiges Argument ist, dass einige Mainboards Ihre RAID-Superblöcke löschen können, wenn Sie ganze Festplattengeräte verwenden, und beim Hinzufügen von Festplatten zu einem RAID-Array, bei dem es sich früher um GPT-Geräte handelte, nicht besonders vorsichtig sind, diese zu löschen .
Das habe ich auf die harte Tour gelernt, als die UEFI meines ASRock-Mainboards mein RAID unbrauchbar machte:
Um sich davor zu schützen, führen Sie immer
sgdisk --zap
eine zuvor mit GPT formatierte Festplatte aus, die Sie für ein RAID für das gesamte Gerät verwenden möchten.wipefs -a
funktioniert möglicherweise auch , um alle Arten von Partitionierungsinformationen (nicht nur GPT) zu löschen, bevor das Gerät zur Festplatte hinzugefügt wird.Das heißt, nur Partitionen zu verwenden, scheint eine bewährte Methode zu sein, um diese Wahrscheinlichkeit zu verringern .
Ich wusste nie, was die wirklichen Argumente für diese bewährte Methode waren (jenseits von @ Marcelos Antwort, die erklärt, dass es sich um Datenträger mit geringfügig unterschiedlichen Größen handeln kann). Jetzt weiß ich.
Übrigens, wenn Ihnen dies passiert, gehen Ihre Daten nicht verloren. Sie können höchstwahrscheinlich nur
sgdisk --zap
das Gerät und dann das RAID mit z. B. neu erstellenmdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdc /dev/sdd
(mdadm teilt Ihnen mit, dass es bereits frühere Daten erkennt, und fragt Sie, ob Sie diese Daten weiterhin verwenden möchten). Ich habe es mehrmals versucht und es hat funktioniert, aber ich empfehle immer noch, ein Backup zu erstellen, bevor Sie es tun.quelle
Es gibt einige Beiträge, in denen Probleme bei der Verwendung des gesamten Geräts als RAID-Mitglied anstelle einer Partition genannt werden, einen hier . Das kann ich bestätigen.
Also, wenn Sie erstellen RAID das gesamte Gerät (sagen wir
/dev/sda
,/dev/sdb
... statt auf/dev/sda1
,/dev/sdb1
...) das RAID - Gerät nicht reassemble nach einem Neustart , auch wenn Sie Konfiguration gespeichert unter habenmdadm.conf
. Es besteht auch die Möglichkeit, die Mainboard-Firmware zu überschreiben oder den RAID-Superblock zu entfernen. In meinem Setup führt das Ausführen dazu,mdadm --assemble --scan --verbose
dass ich mein RAID-Setup nicht zurückerhalte, und es scheint, dass der RAID-Superblock nicht verfügbar ist.quelle
Verwenden Sie Partitionen, um zukünftige Kopfschmerzen zu vermeiden. Alle Laufwerke fallen aus, es ist keine Frage von "ob", sondern "wann". Wenn Sie ganze Laufwerke verwenden, müssen Sie diese nach einem Laufwerksausfall durch ein Modell mit genau derselben Größe ersetzen. Sogar ein paar MB mehr, aufgrund von Änderungen durch andere Hersteller oder Prozesse, führen dazu, dass der Austausch des Laufwerks fehlschlägt.
Wenn Sie Partitionen verwenden und eines Ihrer aktuellen 2 TB-Laufwerke ausfällt, erhalten Sie ein Ersatz-4 TB-Laufwerk (oder was auch immer, es muss nur größer sein) und erstellen darauf die gleiche Partitionsgröße von 2 TB. Ja, Sie verschwenden möglicherweise Speicherplatz auf diesem neuen großen Laufwerk. Die Verwendung des restlichen Laufwerks als Nicht-RAID-Partition ist möglicherweise möglich, kann jedoch die Leistung auf seltsame Weise beeinträchtigen. Nach mehreren Laufwerksfehlern und -ersetzungen werden Sie möglicherweise alle Ihre ursprünglichen 2-TB-Laufwerke ersetzen und können Ihr RAID-Array jetzt so erweitern, dass größere Partitionen verwendet werden.
quelle