"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

[Gentoo] Software Raid Problem

The Prophet 02.01.2009 - 12:55 1183 13
Posts

The Prophet

Editor
Addicted
Avatar
Registered: May 2004
Location: Hinterbrühl
Posts: 557
Hallo,

ich habe folgendens Problem. Habe vor einiger Zeit ein Software Raid 5 mit 4 Platten (4x500GB) eingerichtet. Danach habe ich dieses Raid Set in ein neues System gemoved, bei welchem das System ein Raid 1 Set (2x160GB) ist. Die Boot-Partition heißt md1, root heißt md3 und jetzt kommts: das Raid5 heißt auch md1. Das System funktioniert so auch, selbst wenn ich das Raid5 (md1) manuell mounte. Jedoch gibt mir cat /proc/mdstat nicht das Boot Raid (was ja auch md1 heißt) aus:

Code:
md2 : active raid0 hdd2[1] hdc2[0]        4016000 blocks 64k chunks    
md3 : active raid1 hdd3[1] hdc3[0]        19542976 blocks [2/2] [UU]    
md1 : active raid5 sdd1[2] sdc1[3] sdb1[0] sda1[1]
1465151808 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]  

Da ich gerade einen neuen Kernel kompilieren will und das Boot Raid nicht mounten kann (weil es gar nicht da ist?), stehe ich erst mal an. Ich möchte das Raid5 umbenenne, nämlich von md1 zu md4. Ist das möglich?

Achja md2 ist natürlich swap.

lg

EDIT: Ok, anscheinend ist die bootpartition doch md0, wird aber von cat /proc/mdstat nicht angezeigt. Jedoch wenn ich ein ls /dev/md mache, sehe ich 0,1,2,3

Ich kann aber weder md0 mounten (can't read superblock) noch eine einzelne partiton aus dem Raid (hdc1 bzw. hdd1).

EDIT 2: Gut, dmesg sagt mir, dass zuerst das Raid5 initialisiert wird und den Namen md1 bekommt, nachher wird versucht das "Boot Raid" zu initialisieren, jedoch geht das nicht, da der Name md1 schon vergeben ist.

Code:
md: considering hdd1 ...  
md:  adding hdd1 ...  
md:  adding hdc1 ...  
md: md1 already running, cannot run hdd1  
md: export_rdev(hdc1)  md: export_rdev(hdd1)  
md: ... autorun DONE.  
Bearbeitet von COLOSSUS am 03.01.2009, 20:33 (linebreaks added)

Marcellus

OC Addicted
Avatar
Registered: Mar 2005
Location: ~
Posts: 1755
Du kannst probieren die device namen in der /etc/mdadm.conf manuell per uuid einzutragen, vergiss aber nicht die /etc/fstab abzuändern.

The Prophet

Editor
Addicted
Avatar
Registered: May 2004
Location: Hinterbrühl
Posts: 557
danke für die antwort, aber die mdadm.conf verwende ich gar nicht. Ich könnte das Raid5 stoppen und neuem Namen assemblen/reasseblen/createn, aber gehe davon aus, dass die Daten in jedem Fall weg sind, oder?

Marcellus

OC Addicted
Avatar
Registered: Mar 2005
Location: ~
Posts: 1755
Ich nehm schon an, dass die daten weg wären, deswegen würde ich die mdX bezeichnung eher nach uuid ausgeben und das könntest du in der mdadm.conf machen.

The Prophet

Editor
Addicted
Avatar
Registered: May 2004
Location: Hinterbrühl
Posts: 557
hmm...da das System ja bootet, nehme ich an, dass nur auf eine der beiden Boot Partitionen zugegriffen wird. Gibt es eine Möglichkeit das Raid1 (welches ja offensichtlich nicht aktiv ist) mit einem neuen mdX zu erstellen?

Marcellus

OC Addicted
Avatar
Registered: Mar 2005
Location: ~
Posts: 1755
Was hält dich davon ab die uuid von deinem raid 5 in die mdadm.conf als md4 einzutragen?

Aber du kannst natürlich auch das boot raid neu machen, nur halt ichs für die riskantere version.

nexus_VI

Overnumerousness!
Avatar
Registered: Aug 2006
Location: südstadt
Posts: 3762
Die mdX Bezeichnungen sind ja natürlich variabel, wo genau liegt das Problem? mdadm --assemble md8 oder wwi sollte ja auch gehen.

The Prophet

Editor
Addicted
Avatar
Registered: May 2004
Location: Hinterbrühl
Posts: 557
also soll ich einfach meinen beiden Boot Partitionen hdc1 und hdd1 zu einem neuen Raid assemblen? ich glaube du kannst ein md device nur angeben wenn du denn mdadm create befehl benutzt. und dann weiß ich nicht was mit den daten passiert.

nexus_VI

Overnumerousness!
Avatar
Registered: Aug 2006
Location: südstadt
Posts: 3762
Ich würde es mit `mdadm --assemble /dev/mdX /dev/hdc1 /dev/hdd1` probieren. Im Superblock ist zwar der Name des Arrays gespeichert afair, aber wennst es händisch spezifizierst seh ich kein Problem.

The Prophet

Editor
Addicted
Avatar
Registered: May 2004
Location: Hinterbrühl
Posts: 557
Hi,

ok, habe es soeben probiert und werde einen Rebootversuch starten:

Code:
fileserver ~ # mdadm --assemble /dev/md0 /dev/hdc1 /dev/hdd1
mdadm: /dev/md0 has been started with 2 drives.
fileserver ~ # nano -w /etc/fstab
fileserver ~ # cat /proc/mdstat
Personalities : [raid0] [raid1] [raid6] [raid5] [raid4]
md2 : active raid0 hdd2[1] hdc2[0]
      4016000 blocks 64k chunks

md3 : active raid1 hdd3[1] hdc3[0]
      19542976 blocks [2/2] [UU]

md1 : active raid5 sdd1[2] sdc1[3] sdb1[0] sda1[1]
      1465151808 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]

md5 : active raid5 sdg1[2] sdf1[1] sde1[0]
      1465143808 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]

md0 : active raid1 hdc1[0] hdd1[1]
      136448 blocks [2/2] [UU]

unused devices: <none>

Soweit schauts ja gut aus...nur bleibt md0 auch md0? Wir werden es gleich sehen.

lg

COLOSSUS

Administrator
GNUltra
Avatar
Registered: Dec 2000
Location: ~
Posts: 12106
Wieso sind dir denn die Devicenodenamen so wichtig? Die einzelnen Arraymember haben eh die selbe Magic, und ernstzunehmende Filesysteme lassen sich heutzutage eh via LABEL oder UUID mounten.

The Prophet

Editor
Addicted
Avatar
Registered: May 2004
Location: Hinterbrühl
Posts: 557
@COLOSSUS: naja...so wichtig ist es mir nicht, aber ich verwende keien mdadm.conf. Die Platten haben alle das "raid autodetect" flag gesetzt und ich habe keine andere Möglichkeit gesehen das Problem zu lösen ohne die Devicenodenames zu ändern.

@nexus_VI: That did the trick. Es funktioniert alles! Vielen Dank!

COLOSSUS

Administrator
GNUltra
Avatar
Registered: Dec 2000
Location: ~
Posts: 12106
Ich verwende auch keine mdadm.conf. Braucht man ja auch nicht.

nexus_VI

Overnumerousness!
Avatar
Registered: Aug 2006
Location: südstadt
Posts: 3762
Ich verwende auch keine. Schön dass es geklappt hat ;)
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz