{gelöst} Raid5 richtig angelegt?

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
Benutzeravatar
subson
Beiträge: 429
Registriert: 13.09.2005 10:14:04

{gelöst} Raid5 richtig angelegt?

Beitrag von subson » 30.12.2010 13:27:33

Ich habe auf 3 HDDs 2 Raid5 angelegt.

Das 1. sieht so aus
root@debian:# mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Sat Dec 25 14:35:27 2010
Raid Level : raid5
Array Size : 526332928 (501.95 GiB 538.96 GB)
Used Dev Size : 263166464 (250.98 GiB 269.48 GB)
Raid Devices : 3
Total Devices : 3
Persistence : Superblock is persistent

Update Time : Thu Dec 30 12:37:16 2010
State : clean
Active Devices : 3
Working Devices : 3
Failed Devices : 0
Spare Devices : 0

Layout : left-symmetric
Chunk Size : 512K

Name : debian:0 (local to host debian)
UUID : 5b845ce8:76f1da36:44ca4a63:1a7246df
Events : 78

Number Major Minor RaidDevice State
0 8 33 0 active sync /dev/sdc1
1 8 49 1 active sync /dev/sdd1
3 8 65 2 active sync /dev/sde1
Das 2. so
root@debian:# mdadm --detail /dev/md1
/dev/md1:
Version : 1.2
Creation Time : Wed Dec 29 12:52:50 2010
Raid Level : raid5
Array Size : 1427182592 (1361.07 GiB 1461.43 GB)
Used Dev Size : 713591296 (680.53 GiB 730.72 GB)
Raid Devices : 3
Total Devices : 3
Persistence : Superblock is persistent

Update Time : Thu Dec 30 12:37:17 2010
State : clean, degraded, recovering
Active Devices : 2
Working Devices : 3
Failed Devices : 0
Spare Devices : 1

Layout : left-symmetric
Chunk Size : 512K

Rebuild Status : 90% complete

Name : debian:1 (local to host debian)
UUID : d90e908b:3750ab5e:fcabe3c0:ed76e588
Events : 88

Number Major Minor RaidDevice State
0 8 34 0 active sync /dev/sdc2
1 8 50 1 active sync /dev/sdd2
3 8 66 2 spare rebuilding /dev/sde2
Beim 2. wird angezeigt, das 2 als Active Devices und 1 Spare Device genutzt werden. Außerdem sollen 680GB belegt sein, ich habe aber nur zum Test ca 2GB Daten kopiert.
Und das sieht auch recht komisch aus :
Rebuild Status : 90% complete
mit

Code: Alles auswählen

mdadm --manage --stop /dev/md1
kann ich das Raid stoppen, dann das Raid löschen und neu anlegen? Wie muß ich da vorgehen?

Erstellt habe ich das alles so: Mit GParted die einzelnen Partitionen in ext4 erstellt, dann mit

Code: Alles auswählen

mdadm -C -v --auto=yes /dev/md1 -l5 -n3 /dev/sdc2 /dev/sdd2 /dev/sde2
das Raid erstellt und zum Schluss mit

Code: Alles auswählen

mkfs.ext4 /dev/md1
das Dateisystem erstellt.

Code: Alles auswählen

dmesg | less
zeigt : md1: unknown partition table
md: md1 stopped.
[ 11.647670] md: bind<sdd2>
[ 11.649390] md: bind<sde2>
[ 11.651038] md: bind<sdc2>
[ 11.654724] raid5: device sdc2 operational as raid disk 0
[ 11.654729] raid5: device sdd2 operational as raid disk 1
[ 11.655296] raid5: allocated 3179kB for md1
[ 11.655356] 0: w=1 pa=0 pr=3 m=1 a=2 r=3 op1=0 op2=0
[ 11.655362] 2: w=1 pa=0 pr=3 m=1 a=2 r=3 op1=0 op2=0
[ 11.655366] 1: w=2 pa=0 pr=3 m=1 a=2 r=3 op1=0 op2=0
[ 11.655370] raid5: raid level 5 set md1 active with 2 out of 3 devices, algorithm 2
[ 11.655427] RAID5 conf printout:
[ 11.655430] --- rd:3 wd:2
[ 11.655434] disk 0, o:1, dev:sdc2
[ 11.655437] disk 1, o:1, dev:sdd2
[ 11.655440] disk 2, o:1, dev:sde2
[ 11.655521] md1: detected capacity change from 0 to 1461434974208
[ 11.657185] md1: unknown partition table
Zuletzt geändert von subson am 04.02.2011 18:46:20, insgesamt 1-mal geändert.
Gruß subson

Ich bin weg vom Fenster !

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: Raid5 richtig angelegt?

Beitrag von syssi » 30.12.2010 13:31:34

Hi,

als erstes solltest du sicherstellen, dass auf allen Festplatten die gleiche Partitionstabelle existiert. Du koenntest du Ausgabe von "fdisk -l /dev/sdX" posten. Dort sollten mindestens zwei Partitionen vom Typ "fd" aufgefuehrt werden. Dann assemblest du das RAID per mdadm. Mittels "watch cat /proc/mdstat" kannst du zusehen, wie sich die beiden Platten syncen. Als letztes formatierst du die beiden entstandenen MD-Devices (mkfs.ext3 /dev/md0; mkfs.ext3 /dev/md1). Danach schaust du dir nochmal die Outputs von mdadm bzw. /proc/mdstat an und schaust, ob alle 3 Platten aktiv sind.

Gruss syssi

Benutzeravatar
subson
Beiträge: 429
Registriert: 13.09.2005 10:14:04

Re: Raid5 richtig angelegt?

Beitrag von subson » 30.12.2010 14:35:18

root@debian:/# fdisk -l /dev/sdc
Disk /dev/sdc: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0000078a
Device Boot Start End Blocks Id System
/dev/sdc1 1 32764 263168000 83 Linux
/dev/sdc2 32764 121602 713592832 83 Linux

root@debian:/# fdisk -l /dev/sdd
Disk /dev/sdd: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0005fb1e
Device Boot Start End Blocks Id System
/dev/sdd1 1 32764 263168000 83 Linux
/dev/sdd2 32764 121602 713592832 83 Linux

root@debian:/# fdisk -l /dev/sde
Disk /dev/sde: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0001dd81
Device Boot Start End Blocks Id System
/dev/sde1 1 32764 263168000 83 Linux
/dev/sde2 32764 121602 713592832 83 Linux
Steht bei allen 3 das gleiche.
root@debian:/# mdadm --assemble --scan /dev/md1
mdadm: /dev/md1 not identified in config file.
bringt kein Ergebnis.
syssi hat geschrieben:Als letztes formatierst du die beiden entstandenen MD-Devices
Das md0 ist ja scheinbar in Ordnung und schon mit Daten belegt.
Gruß subson

Ich bin weg vom Fenster !

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: Raid5 richtig angelegt?

Beitrag von syssi » 30.12.2010 17:25:44

Deine Partitionen haben den falschen Typ. Sie sollten den Typen "fd" (Linux raid autodetect) haben um erfolgreich von mdadm detektiert zu werden.

Benutzeravatar
subson
Beiträge: 429
Registriert: 13.09.2005 10:14:04

Re: Raid5 richtig angelegt?

Beitrag von subson » 30.12.2010 18:01:17

Also habe ich was beim Erstellen falsch gemacht? Oben habe ich beschrieben wie vorgegangen bin.
Gruß subson

Ich bin weg vom Fenster !

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: Raid5 richtig angelegt?

Beitrag von syssi » 30.12.2010 18:59:38

Du hast geschrieben, dass du mit GParted ext4 Partitionen erstellt hast. Das ist nicht ganz richtig. Erstmal ist ext4 das Filesystem und deine Partionen haben den Typ "Linux" (83). Notwendig fuer mdadm ist aber der Partitionstyp "fd". Stoppe deshalb dein RAID. Partitioniere neu und setze den Typ der Partition korrekt. Anschliessend erstellst du die beiden RAID-Verbünde per

Code: Alles auswählen

mdadm --create --verbose /dev/md0 --level=5 --raid-device=3 /dev/sda1 /dev/sdb1 /dev/sdc1
mdadm --create --verbose /dev/md1 --level=5 --raid-device=3 /dev/sda2 /dev/sdb2 /dev/sdc2
neu. Dann schaust du dir an, dass die Platte ordentlich syncen

Code: Alles auswählen

watch cat /proc/mdstat
Anschließend erzeugst du auf dem Verbund ein Filesystem. Gerne auch ext4.

Code: Alles auswählen

mkfs.ext4 /dev/md0
mkfs.ext4 /dev/md1
Wichtig: Wenn du auch dein Linux-System im RAID Verbund laufen lassen willst, dann solltest du eine Boot-Partition erstellen als RAID1. Grub ist nicht in der Lage von einem RAID5 Verbund zu booten.

Gruss syssi

Benutzeravatar
subson
Beiträge: 429
Registriert: 13.09.2005 10:14:04

Re: Raid5 richtig angelegt?

Beitrag von subson » 30.12.2010 20:16:27

Also wie oben beschrieben, erkennt mdadm das erste Raid ja auch beim Systemstart richtig. OK, dann mache ich aber erst mal das 2. Raid neu, weil ich auf dem 1. schon Daten habe, die muß ich dann nachher aufs 2.verschieben.

Das Raid stoppe ich mit

Code: Alles auswählen

mdadm --manage --stop /dev/md1
Wie lege ich denn die Partitionen mit dem Partitionstyp "fd"an? Sollen die unformatiert sein? Mdadm meldet nach dem stoppen und neuformatieren, das die Partitionen schon einem array angehören
dadm: /dev/sda2 appears to be part of a raid array:
Hab aber jetzt keine Zeit mehr, werde morgen früh weitermachen müssen, danke erst mal für die Hilfe.
Gruß subson

Ich bin weg vom Fenster !

Benutzeravatar
subson
Beiträge: 429
Registriert: 13.09.2005 10:14:04

Re: Raid5 richtig angelegt?

Beitrag von subson » 02.01.2011 23:58:49

Den Partitionstyp habe ich geändert. Wenn ich aber das Raid stoppe und neu partitioniere, und das Raid neu anlege, kommt wie oben beschrieben, die Meldung, das die Partitionen schon einem array angehören. Ich muß das Raid also wahrscheinlich löschen,

Code: Alles auswählen

mdadm /dev/md1 -f /dev/sde2 -r /dev/sde2
wäre die richtige Vorgehensweise? Ich muß nur nacheinander vorgehen, weil ich auf md0 schon Daten habe.

Die mdadm.conf ist leer.
mdadm --assemble --scan /dev/md1
mdadm: /dev/md1 not identified in config file.
Das sieht auch komisch aus:
mdadm --examine --scan
ARRAY /dev/md/0 metadata=1.2 UUID=5b845ce8:76f1da36:44ca4a63:1a7246df name=debian:0
ARRAY /dev/md/1 metadata=1.2 UUID=8976b5e0:9b623318:4ae5f528:8d577541 name=debian:1
spares=1

cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md1 : active (auto-read-only) raid5 sde2[3](S) sdd2[1] sdc2[0]
1427182592 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_]

md0 : active raid5 sdc1[0] sde1[3] sdd1[1]
526332928 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]

unused devices: <none>
Gruß subson

Ich bin weg vom Fenster !

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: Raid5 richtig angelegt?

Beitrag von syssi » 03.01.2011 10:31:14

Les dir mal die allgemeine RAID-Howto durch. Moeglicherweise wird dir dann klarer, was du da ueberhaupt machst. Sollte dir mal eine Platte kaputt gehen, dann sollte sie sich automatisch auf "Fail" setzen und du loest sie mit einem Remove zwischenzeitlich aus dem Array um sie gegen eine neue auszutauschen. Hat diese Platte weitere Partitionen, die bisher noch fehlerfrei sind, dann setze ich sie idR per Hand (mdadm --manage /dev/md0 -f /dev/sda2) auf fail und remove sie im Anschluss.

Du moechtest das gesamte RAID aufloesen. Ob dafuer alle einzelnen Platten aus dem Verbund entfernt werden muessen, bin ich mir unsicher - ich glaube nein. Versuchs einfach:

Code: Alles auswählen

mdadm --stop /dev/md0
mdadm --remove /dev/md0
Damit steht im Superblock der einzelnen Platte immer noch eine RAID-Signatur und nach einem Reboot wird das Raid moeglicherweise wieder zusammen gesetzt, weil dein Debian darauf getrimmt ist, alles was nach Raid aussieht zu finden. Den Superblock einer einzelnen Platte entfernst du so:

Code: Alles auswählen

mdadm --zero-superblock /dev/sda
Hier noch eine Seite zum bookmarken: http://www.ducea.com/2009/03/08/mdadm-cheat-sheet/

Gruss syssi

Benutzeravatar
subson
Beiträge: 429
Registriert: 13.09.2005 10:14:04

Re: Raid5 richtig angelegt?

Beitrag von subson » 03.01.2011 12:38:07

Ich danke Dir erst mal für Deine Mühe.

Das mit den Anleitungen ist so eine Sache. Bei solch komplizierten Dingen ist eine englische Anleitung nicht so einfach zu verstehen, obwohl das bei mir mit dem Englisch so schlecht nicht bestellt ist.

Wie ich schon oben beschrieben habe sind auf md0 schon Daten, also muß ich erst nur das zweite Raid auflösen, richtig erstellen, Daten rüber und dann das gleiche mit dem ersten. Gilt der Superblock für die ganze Platte, oder steht der nur für die Partition, kann ich ihn also für /dev/sda2 zum Beispiel löschen?
Gruß subson

Ich bin weg vom Fenster !

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: Raid5 richtig angelegt?

Beitrag von syssi » 03.01.2011 14:38:53

Oh, einen Superblock gibt es nur einen. Den solltest du nicht loeschen, wenn du den zweiten Verbund behalten willst. :-)

Benutzeravatar
subson
Beiträge: 429
Registriert: 13.09.2005 10:14:04

Re: Raid5 richtig angelegt?

Beitrag von subson » 03.01.2011 18:22:07

Irgendwie komme ich nicht weiter. Habe mal wieder einen Versuch gestartet.

Mit --stop und --remove das raid angehalten und gelöscht. Dann habe ich auch die Partitionen gelöscht. Beim neu booten wurde nur noch das erste angezeigt. Dann habe ich neue Partitionen angelegt, als Raid markiert. Will ich jetzt das raid erstellen, meldet mdadm wieder das die Partitionen zu einem raid gehören, habe dann abgebrochen.
mdadm --examine --scan
ARRAY /dev/md/0 metadata=1.2 UUID=5b845ce8:76f1da36:44ca4a63:1a7246df name=debian:0
ARRAY /dev/md/1 metadata=1.2 UUID=8976b5e0:9b623318:4ae5f528:8d577541 name=debian:1
spares=1
zeigt ein raid an,
mdadm --detail /dev/md1
mdadm: cannot open /dev/md1: No such file or directory
findet nichts.
Erstelle ich das raid trotzdem, zeigt
cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md1 : active (auto-read-only) raid5 sde2[3](S) sdd2[1] sdc2[0]
1427182592 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_]
und mdadm --detail /dev/md1 zeigt wieder 2 Active Devices und 1 Spare Device.

Beim Reboot wird nur md0 angezeigt, mdadm --examine --scan zeigt das gleiche Ergebnis : /dev/md/0 und /dev/md/1, aber cat /proc/mdstat zeigt ein /dev/md127 mit dem Ergebnis wie eben bei md1.

Da muß doch noch irgendwo anders was stehen, was gelöscht werden muß.
Gruß subson

Ich bin weg vom Fenster !

Danielx
Beiträge: 6419
Registriert: 14.08.2003 17:52:23

Re: Raid5 richtig angelegt?

Beitrag von Danielx » 06.01.2011 16:58:09

subson hat geschrieben:Dann habe ich auch die Partitionen gelöscht.
Dann hast du vermutlich nur die entsprechenden Einträge aus den Partitionstabellen entfernt und diese danach wieder mit den gleichen Werten erstellt.
Die Daten sind vor und nach deiner Aktion also binär identisch, d.h. es ist alles wie vorher, so als hättest du deine Aktion nie ausgeführt.
syssi hat geschrieben:Oh, einen Superblock gibt es nur einen. Den solltest du nicht loeschen, wenn du den zweiten Verbund behalten willst. :-)
sdc2, sdd2 und sde2 haben auch jeweils einen Superblock (raid).
Die könnte man auch mal löschen.
Im Zweifel nach dem Löschen von md1 jeweils die ersten MiB von sdc2, sdd2 und sde2 überschreiben, z.B.:

Code: Alles auswählen

dd if=/dev/zero of=/dev/sdx2 bs=512 count=16k
(x entsprechend anpassen)
Und dann das RAID nochmals anlegen.

Siehe auch:
https://raid.wiki.kernel.org/index.php/ ... ck_formats

Gruß,
Daniel

Benutzeravatar
subson
Beiträge: 429
Registriert: 13.09.2005 10:14:04

Re: Raid5 richtig angelegt?

Beitrag von subson » 06.01.2011 19:01:22

Leider das selbe wie oben. Mit --stop und --remove das raid angehalten und gelöscht, dann mit --zero-superblock /dev/sdc2 den superblock gelöscht, dann mit dd die ersten Blöcke überschrieben, bei sdd2 und sde2 das selbe. Dann habe ich die Partitionen gelöscht, neu angelegt, den Partitionstyp raid gesetzt und das raid neu erstellt. Diesmal kam keine Meldung, das die Partitionen einem raid gehören. cat /proc/mdstat zeigte beide raid ordentlich an. md0 und md1. Zum Schluss mit ext4 formatiert.

Beim Neustart vom System wurde wieder nur md0 erkannt.
mdadm --examine --scan
ARRAY /dev/md/0 metadata=1.2 UUID=5b845ce8:76f1da36:44ca4a63:1a7246df name=debian:0
ARRAY /dev/md/1 metadata=1.2 UUID=6b29a469:21de1b4a:cfc4d881:66eea9e0 name=debian:1
mdadm --detail /dev/md1
mdadm: cannot open /dev/md1: No such file or directory
Warum wieder md127?
cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md127 : active (auto-read-only) raid5 sda2[0] sdc2[3] sdb2[1]
1427182592 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_]

md0 : active raid5 sda1[0] sdc1[3] sdb1[1]
526332928 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]

unused devices: <none>
Ich habe hier

Code: Alles auswählen

mdadm --create --verbose /dev/md1 --level=5 --raid-device=3 /dev/sdc2 /dev/sdd2 /dev/sde2
oder sollte ich da besser noch --auto=yes für den Superblock eingeben?

Code: Alles auswählen

mdadm --create --verbose  --auto=yes /dev/md1 --level=5 --raid-device=3 /dev/sdc2 /dev/sdd2 /dev/sde2
Oder hätte ich vorher die arrays in die mdadm.conf schreiben sollen?

Code: Alles auswählen

mdadm --detail --scan >> /etc/mdadm/mdadm.conf
Die drei Platten laufen auf einem Raid Controller (Dawicontrol DC-3410), da sind manchmal die Laufwerksbezeichnungen unterschiedlich. Daran kann das ja eigentlich nicht liegen, mdadm vergibt ja eigene UUID's.
Gruß subson

Ich bin weg vom Fenster !

Danielx
Beiträge: 6419
Registriert: 14.08.2003 17:52:23

Re: Raid5 richtig angelegt?

Beitrag von Danielx » 14.01.2011 14:21:00

Vielleicht mal die UUIDs in die mdadm.conf eintragen?

Gruß,
Daniel

Benutzeravatar
subson
Beiträge: 429
Registriert: 13.09.2005 10:14:04

Re: Raid5 richtig angelegt?

Beitrag von subson » 04.02.2011 18:45:26

So, jetzt bin ich noch mal dazu gekommen zu testen.

Das md1 habe ich noch mal neu gemacht, genau wie in meinem letzten Post. Es hat funktioniert. :D Ich vermute mal ich habe diesen Prozess nicht abgewartet:
syssi hat geschrieben:Mittels "watch cat /proc/mdstat" kannst du zusehen, wie sich die beiden Platten syncen.
Gruss syssi
Das da ein Entstehungsprozess war, ist mir jetzt erst aufgefallen. Man sollte eben nicht so ungeduldig sein.
Danielx hat geschrieben:Vielleicht mal die UUIDs in die mdadm.conf eintragen?
Die UUIDs standen drin, und stehen auch jetzt drin. Da können sich die Laufwerksbezeichnungen ändern, aber die Partitionen werden eindeutig identifiziert.

Ich danke euch riesig für eure Hilfe :THX: , ich höffe mein Fehler wird jemandem mal nützlich sein.
Gruß subson

Ich bin weg vom Fenster !

Antworten