Ich habe einen Home Media Server unter openSUSE 12.2. Ich verwende acht 2-TB-Laufwerke in einer RAID-10-Konfiguration. Ich habe absichtlich zwei verschiedene Arten von Laufwerken gekauft: vier Seagate Barracuda Green und vier Western Digital Red. Mein Ziel ist es, das RAID so zu konfigurieren, dass jedes gespiegelte Paar innerhalb des Arrays aus unterschiedlichen Laufwerken besteht (dh einem Seagate-Laufwerk und einem WD-Laufwerk). Leider hat mir YaST2 Partitioner in der Struktur des Arrays diese Auswahl nicht gegeben. Daher versuche ich jetzt herauszufinden, wie die Standard-RAID10-Struktur aussieht.
Ich kenne folgendes:
- sdc, sdd, sde und sdf sind alle WD-Laufwerke
- sdg, sdh, sdi und sdj sind alle Seagate-Laufwerke
Beim Erstellen des RAIDs habe ich das Standardlayout 'n2' gewählt. Meine Vermutung basiert auf Informationen aus diesen beiden Quellen, dass benachbarte Laufwerke gespiegelt sind (dh sdc == sdd, sde == sdf usw.), aber ich möchte sicher wissen:
- http://en.wikipedia.org/wiki/Non-standard_RAID_levels#Linux_MD_RAID_10
- https://serverfault.com/questions/200725/mirrored-and-stripped-hd-drives-in-raid10
Hier ist die Ausgabe von 'mdadm --detail / dev / md0':
/dev/md0: Version : 1.0 Creation Time : Sat Mar 16 12:55:11 2013 Raid Level : raid10 Array Size : 7814045696 (7452.05 GiB 8001.58 GB) Used Dev Size : 1953511424 (1863.01 GiB 2000.40 GB) Raid Devices : 8 Total Devices : 8 Persistence : Superblock is persistent Intent Bitmap : Internal Update Time : Sat Mar 16 13:09:37 2013 State : active, resyncing Active Devices : 8 Working Devices : 8 Failed Devices : 0 Spare Devices : 0 Layout : near=2 Chunk Size : 2048K Resync Status : 1% complete Name : aldaris:0 (local to host aldaris) UUID : c6cc3943:97394500:b77d44cd:f02ed876 Events : 149 Number Major Minor RaidDevice State 0 8 33 0 active sync /dev/sdc1 1 8 49 1 active sync /dev/sdd1 2 8 65 2 active sync /dev/sde1 3 8 81 3 active sync /dev/sdf1 4 8 97 4 active sync /dev/sdg1 5 8 113 5 active sync /dev/sdh1 6 8 129 6 active sync /dev/sdi1 7 8 145 7 active sync /dev/sdj1
Und hier sind die Inhalte von / proc / mdstat:
Personalities : [raid10] md0 : active raid10 sdj1[7] sdi1[6] sdh1[5] sdg1[4] sdf1[3] sde1[2] sdd1[1] sdc1[0]
7814045696 blocks super 1.0 2048K chunks 2 near-copies [8/8] [UUUUUUUU]
[>....................] resync = 4.8% (375163456/7814045696) finish=1206.5min speed=102751K/sec
bitmap: 57/59 pages [228KB], 65536KB chunk
unused devices: <none>
Meine Fragen sind also:
- Woran erkenne ich, welche Laufwerke Spiegel voneinander sind?
- Gibt es eine Möglichkeit, dies zu ändern, oder sollte ich einfach die Drähte vertauschen (da dies die Laufwerksbuchstaben vertauscht) und dann das RAID neu erstellen?
Danke im Voraus.
Tangentialer Hinweis, für alle, die meine Überlegungen dazu kennen möchten: Laufwerke desselben Modells und derselben Charge, die unter ähnlichen Betriebslasten, Betriebszeiten und Temperaturen betrieben werden, weisen nur geringe systematische Abweichungen auf, und Unterschiede in der Zeit bis zum Ausfall zwischen den Laufwerken werden hauptsächlich angetrieben durch zufällige Variation im Herstellungsprozess. Dies erhöht das Risiko, dass mehrere Laufwerke gleichzeitig sterben. Durch den Kauf von Laufwerken nicht nur aus verschiedenen Chargen, sondern auch von völlig verschiedenen Herstellern, füge ich meinem Array systematische Variationen hinzu und beeinflusse so, welche Laufwerke zu ähnlichen Zeiten ausfallen.
RaidDevice
Kolumne ansehen könnten . Es könnte so einfach sein wie (0,1), (2,3), (4,5), (6,7). Das würde mich vermuten lassen, dass Sie RaidDevice wie WD / Sea / WD / Sea / etc ausrichten müssen ... Aber da bin ich mir nicht 100% sicher.Antworten:
Aktuelle Versionen von
mdadm
zeigen dies direkt in den Details des Arrays. Beispiel ausmdadm v3.3 - 3rd September 2013
Beachten Sie die Bezeichnung
set-A
oderset-B
. In dem oben genannten Fall kannsdd
undsdb
ohne Datenverlust zusammen versagen. Es ist jedoch möglich, dass diese Daten nicht verfügbar sind, während das Array wiederhergestellt wird.quelle
Ich hatte das gleiche Problem und nach einer Weile googeln fand ich keine zuverlässige Antwort. Nachdem ich darüber nachgedacht hatte, stellte ich fest, dass die Spiegel dieselben Daten haben und wir einen Teil davon vergleichen konnten.
HINWEIS: VORSICHT: WÄHLEN SIE EINEN ANDEREN OFFSET, WENN SIE MEHR ALS 2 ANTRIEBE MIT DER GLEICHEN PRÜFSUMME HABEN, DIE SIE MIT LEEREM DISKSPACE VERGLEICHEN (Überspringen-Option).
Mit diesen wenigen Befehlen können Sie es herausfinden:
Dies wird ungefähr so aussehen:
Jetzt wissen wir, dass sda / sdb ein Spiegel und sdc / sdd ein anderer ist. Einer von jedem muss bleiben, um Datenverlust zu vermeiden.
Der Befehl "dd" liest einmal (count = 1) ein Megabyte (bs = 1M) mit einem Megabyte Versatz vom Plattenstart (skip = 1M). Überspringen Sie nicht = 0, da der Anfang der Festplatte unterschiedliche Informationen enthält. Die Daten beginnen normalerweise nach 1 MB.
quelle
dd if=/dev/$disk skip=1M bs=1M count=1
hat bei mir nicht funktioniert.dd (coreutils) 8.23
von Debian 8 (Jessie) unterstützt keinskip
Gerät. Stattdessen habe ich verwendet,skip=1
wo1
relativ zu istbs
. Möglicherweise ein Tippfehler?d41d8cd98f00b204e9800998ecf8427e
Ihrer Information Wenn Sie die MD5-Summe sehendd
, schlägt Ihr Anruf fehl. Das ist der Hash der leeren Zeichenfolge :-)Ich denke, Sie sprechen von einem echten RAID 10-Array (1 + 0 Striped Mirroring).
1. Erstellen Sie Ihre 4 RAID1-Arrays:
Zu diesem Zeitpunkt haben Sie 4 RAID 1-Arrays mit jeweils 2 TB Speicherplatz.
2. Lass sie uns zusammenbauen!
--run options ist nützlich, da einige Komponenten in einem anderen Array aktiv sind
3. Passen Sie Ihre mdadm.conf-Datei an
Möglicherweise müssen Sie (abhängig von Ihrer Konfiguration) diese Datei anpassen, um Änderungen an unserem neuen Array (/ dev / md4) widerzuspiegeln.
4. Viel Spaß .. Dein neues DIY raid10 Array!
quelle
Sie können immer überprüfen, welche Spiegel sind, indem Sie die Daten grob vergleichen, zum Beispiel:
(wenn Sie keine Streichhölzer erhalten, können Sie erhöhen müssen skip = , wie Sie nicht RAID superblocksl Überspringen, und wenn Sie gleiche MD5 - Summe für mehr als 2 Festplatten erhalten, können Sie erhöhen müssen count = , wie Sie lese und summiere wahrscheinlich Nullen - um zu verhindern, dass Sie zuerst einige Daten auf den Schlachtzug setzen, da sie sonst voller Nullen sein könnten)
Was das Vertauschen von Drähten betrifft, müssen Sie dies nicht tun - mdadm sollte ein RAID mit Geräten erstellen, die in der Befehlszeile in mdadm --create angegeben sind , sodass Sie in der Befehlszeile nur Laufwerke in unterschiedlicher Reihenfolge angeben.
quelle
Führen Sie "mdadm --examine device" auf jedem Komponentengerät aus (dh / dev / sda1, / dev / sdb1 usw.). Anhand der dortigen Informationen können Sie ermitteln, welche Komponenten der Spiegel des jeweils anderen sind.
quelle