PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : wie kann ich vom Rescue-System auf SWRAID zugrifen?



pixel
26.03.05, 13:23
Hi@all,

ich habe, nachdem ich auf einem SuSE-9.1-Rechner ein Online-Update durchgeführt habe beim booten einen Kernel Panik:

...
kernel panik attempted to kill init

Hier bleibt das System einfach stehen un bootet nicht. Durch das Online-Update wurde ein Kernel-Update eingespielt. Meim Problem ist das ich jetzt überhaupt nicht mehr an das System komme. In dem System hängt ein Adaptec2940UW mit 3 SCSI-Platten welche mit einem SoftwareRAID5 als / Partition dienen.

Wie kann ich nun vom Rescue-System, welches über die SuSE-CD1 gestartet werden kann das RAID mounten. Bei "normalen" Partitionen geht das ja recht einfach jedoch schaffe ich es nicht das RAID in das virtuelle Rescue-System einzuhängen. Weiß jemand wie das geht bzw. gibt es ein Live-System mit welchem ich das RAID einhängen kann?

Viele Grüße
pixel

Tomek
26.03.05, 13:31
Erstelle die Datei /etc/raidtab und starte das RAID.

http://www.uni-kiel.de/rz/nvv/altix-doc/man_html/man5/raidtab.5.html

pixel
26.03.05, 14:18
Hi@all,

ok, hab ich probiert. Ich habe die /etc/raidtab im Live-System angelegt:

raiddev /dev/md0
raid-level 5
nr-raid-disks 3
nr-spare-disks 0
chunk-size 32
persistent-superblock 1
device /dev/sda2
raid-disk 0
device /dev/sdb2
raid-disk 1
device /dev/sdc2
raid-disk 2
Wenn ich anschließend ein 'raidstart --all' mache erhalte ich auf der Konsole keinerlei Ausgabe. Im Logfile finde ich:

kernel: raid5: faild to run raid
kernel: md: pers->run() faild ...
kernel: md: do_md_run() returned -22
kernel: md: md0 stopped
kernel: md: unbind <sdb2>
kernel: md: export_rdev(sdb2)
kernel: md: unbind <sda2>
kernel: md: export_rdev(sda2)
kernel: md: ...autorun DONE
kernel: FAT: unable to read boot sector

Komisch finde ich das im Logfile nichts über die 3. Platte (sdc) mit der Partition sdc2 steht, oder? Was kann das sein. Physikalisch ist die Platte in Ordnung. Am SCSI-Controller wird sie auch gefunden und selbst wenn eine deffekt wäre müßte das RAID an sich doch noch funktionieren. Was kann ich noch tun?

Viele Grüße
pixel

frankpr
26.03.05, 16:53
1234567890

pixel
26.03.05, 18:58
Hi@all,

ich kann das Betriebssystem als mögliche Fehlerquelle ausschließen. Ich habe den Platten-Verbund vom SCSI-Controller entfernt. Habe eine neue IDE-Platte an das System angeschlossen und dort SuSE-9.2 installiert. Anschließend habe ich die Platten wieder an den SCSI-Controller angeschlossen. Bei dieser Aktion wird, normalerweise das Software-RAID autom. erkannt und eingebunden (bis auf den Mount). Gleiches habe ich erst vor kurzem bei meinem Mailsystem gemacht. Hier der relevante Teil aus dem Bootlog:

[...]
<5>SCSI subsystem initialized
<6>ACPI: PCI interrupt 0000:01:07.0[A] -> GSI 11 (level, low) -> IRQ 11
<6>scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.36
<4> <Adaptec 29160 Ultra160 SCSI adapter>
<4> aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs
<4>
<4>(scsi0:A:2): 40.000MB/s transfers (20.000MHz, offset 63, 16bit)
<4>(scsi0:A:3): 40.000MB/s transfers (20.000MHz, offset 63, 16bit)
<4>(scsi0:A:4): 40.000MB/s transfers (20.000MHz, offset 63, 16bit)
<5> Vendor: SEAGATE Model: ST373307LW Rev: 0005
<5> Type: Direct-Access ANSI SCSI revision: 03
<4>scsi0:A:2:0: Tagged Queuing enabled. Depth 32
<5>SCSI device sda: 143374744 512-byte hdwr sectors (73408 MB)
<5>SCSI device sda: drive cache: write back
<5>SCSI device sda: 143374744 512-byte hdwr sectors (73408 MB)
<5>SCSI device sda: drive cache: write back
<6> sda: sda1 sda2
<5>Attached scsi disk sda at scsi0, channel 0, id 2, lun 0
<5> Vendor: SEAGATE Model: ST373307LW Rev: 0006
<5> Type: Direct-Access ANSI SCSI revision: 03
<4>scsi0:A:3:0: Tagged Queuing enabled. Depth 32
<5>SCSI device sdb: 143374744 512-byte hdwr sectors (73408 MB)
<5>SCSI device sdb: drive cache: write back
<5>SCSI device sdb: 143374744 512-byte hdwr sectors (73408 MB)
<5>SCSI device sdb: drive cache: write back
<6> sdb: sdb1 sdb2
<5>Attached scsi disk sdb at scsi0, channel 0, id 3, lun 0
<5> Vendor: SEAGATE Model: ST373307LW Rev: 0005
<5> Type: Direct-Access ANSI SCSI revision: 03
<4>scsi0:A:4:0: Tagged Queuing enabled. Depth 32
<5>SCSI device sdc: 143374744 512-byte hdwr sectors (73408 MB)
<5>SCSI device sdc: drive cache: write back
<5>SCSI device sdc: 143374744 512-byte hdwr sectors (73408 MB)
<5>SCSI device sdc: drive cache: write back
<6> sdc: sdc1 sdc2
<5>Attached scsi disk sdc at scsi0, channel 0, id 4, lun 0
<6>SGI XFS with ACLs, security attributes, realtime, large block numbers, no debug enabled
<6>SGI XFS Quota Management subsystem
<5>ReiserFS: hdc2: found reiserfs format "3.6" with standard journal
<5>ReiserFS: hdc2: using ordered data mode
<4>reiserfs: using flush barriers
<5>ReiserFS: hdc2: journal params: device hdc2, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30
<5>ReiserFS: hdc2: checking transaction log (hdc2)
<5>ReiserFS: hdc2: Using r5 hash to sort names
<4>VFS: Mounted root (reiserfs filesystem) readonly.
<5>Trying to move old root to /initrd ... failed
<5>Unmounting old root
<5>Trying to free ramdisk memory ... okay
<6>Freeing unused kernel memory: 212k freed
<6>Adding 1052216k swap on /dev/hdc1. Priority:42 extents:1
<4>reiserfs: enabling write barrier flush mode
<6>usbcore: registered new driver usbfs
<6>usbcore: registered new driver hub
<4>md: raidstart(pid 2405) used deprecated START_ARRAY ioctl. This will not be supported beyond 2.6
<6>md: autorun ...
<6>md: considering sdb2 ...
<6>md: adding sdb2 ...
<6>md: adding sda2 ...
<6>md: created md0
<6>md: bind<sda2>
<6>md: bind<sdb2>
<6>md: running: <sdb2><sda2>
<3>md: md0: raid array is not clean -- starting background reconstruction
<6>raid5: automatically using best checksumming function: pIII_sse
<4> pIII_sse : 2500.000 MB/sec
<4>raid5: using function: pIII_sse (2500.000 MB/sec)
<6>md: raid5 personality registered as nr 4
<6>raid5: device sdb2 operational as raid disk 1
<6>raid5: device sda2 operational as raid disk 0
<3>raid5: cannot start dirty degraded array for md0
<4>RAID5 conf printout:
<4> --- rd:3 wd:2 fd:1
<4> disk 0, o:1, dev:sda2
<4> disk 1, o:1, dev:sdb2
<1>raid5: failed to run raid set md0
<3>md: pers->run() failed ...
<4>md :do_md_run() returned -22
<6>md: md0 stopped.
<6>md: unbind<sdb2>
<6>md: export_rdev(sdb2)
<6>md: unbind<sda2>
<6>md: export_rdev(sda2)
<6>md: ... autorun DONE.
<6>md: Autodetecting RAID arrays.
<3>md: could not bd_claim sdb2.
<3>md: could not bd_claim sda2.
<6>md: autorun ...
<6>md: considering sdc2 ...
<6>md: adding sdc2 ...
<6>md: adding sdb2 ...
<6>md: adding sda2 ...
<6>md: created md0
<6>md: bind<sda2>
<6>md: bind<sdb2>
<6>md: bind<sdc2>
<6>md: running: <sdc2><sdb2><sda2>
<4>md: kicking non-fresh sdc2 from array!
<6>md: unbind<sdc2>
<6>md: export_rdev(sdc2)
<3>md: md0: raid array is not clean -- starting background reconstruction
<6>raid5: device sdb2 operational as raid disk 1
<6>raid5: device sda2 operational as raid disk 0
<3>raid5: cannot start dirty degraded array for md0
<4>RAID5 conf printout:
<4> --- rd:3 wd:2 fd:1
<4> disk 0, o:1, dev:sda2
<4> disk 1, o:1, dev:sdb2
<1>raid5: failed to run raid set md0
<3>md: pers->run() failed ...
<4>md :do_md_run() returned -22
<6>md: md0 stopped.
<6>md: unbind<sdb2>
<6>md: export_rdev(sdb2)
<6>md: unbind<sda2>
<6>md: export_rdev(sda2)
<6>md: ... autorun DONE.
<6>device-mapper: 4.1.0-ioctl (2003-12-10) initialised: dm@uk.sistina.com
[...]

Sowohl der SCSI-Controller wie auch die Platten werden richtig angesprochen. Ich habe alle drei Platte mit der entsprechenden Funktion im Controller-BIOS überprüft was ohne Fehler verlief.

Der Fehler muß also direkt am Software-RAID zu suchen. Ich habe mir das SoftwareRAID-HowTo durchgelesen, bin aber dort nicht fündig geworden wie solch ein Problem zu lösen ist.

Es muß doch Tools geben mit welchem man das RAID wieder herstellen kann, oder? Einer der Fehler deutet auf Probleme mit dem Superblock hin. Hierzu die gleiche Frage. Läßt sich dieser wieder herstellen?

Gehe ich richtig in der Annahme das ich ein mkraid nicht ausführen darf da hierbei die daten verloren gehen?

Hat noch jemand eine Idee für mich :(

Viele Grüße
pixel

pixel
26.03.05, 19:06
ja, ich nochmal. Als ich mir gerade nochmal das Bootlog angeschaut habe ist mir diese Zeile aufgefallen:

raid5: automatically using best checksumming function: pIII_sse
Was bedeute das? Er versucht ein Checksum zu benutzen, aber was bedeutet pIII_sse? Bei diesem System wurde vor ca. einem halben Jahr das Board getauscht und vorher war ein P3 (mit SSE) eingebaut, vielleicht bringt das ja was?

frankpr
26.03.05, 19:57
1234567890

pixel
26.03.05, 20:07
Hi@all,

was mir noch eingefallen ist. Auf dem Board (A7N8X-Deluxe) ist ein SATA-RAID-Controller, kann der stören?

Soll ich mal den Befehl raidhotadd ... versuchen und versuchen die sdc hinzuzufügen oder sollte man das besser auch nicht tun?

Was ich mir auch noch vorstellen könnte ist das der Controller was abbekommen hat. Ich halte es eher für unwahrscheinlich das die Platten allesammt plötzlich kaputt sein sollen.

Viele Grüße
pixel

pixel
28.03.05, 17:20
Hi@all,

ich bin leider kein Stück weiter bis auf die Erkentnis das es an der 3. Partition liegen muß. Zur Erinnerung, das RAID5 (/dev/md0) betand aus sda2, sdb2 und sdc3.


Der jetzige Stand ist der. Ich habe auf einer neuen IDE-Platte(hdc) ein Rettungssystem (SuSE-9.2) installiert. Auf dieser Platte ist hdc1=swap und hdc2=/. Dieses "neue" System weiß also nichts von irgend einem RAID. Als das System lief habe ich die SCSI-Platten (sda und sdb) wieder an das System angeschlossen.

Außerdem habe ich auf der Platte hdc eine weitere Partition für das RAID angelegt, welche vorübergehend die Funktion der alten sdc2 übernehmen soll. Nun müssen ja die RAID-Partitionen die identische Größe haben. Reit die Größe oder muß auch die Anzahl der Blöcke stimmen?

Auf den SCSI-Platten ist die RAID-Partition 67,8GB groß. Wenn ich nun die Partition hdc3 mit dieser Größe anlege (mit Yast) und mir anschließend die Partitionen mit "fdisk -l" anschaue sehe ich das die Anzahl der Blöcke unterschiedlich sind. Ist das schlimm?

Wenn ich das System dann einfach boote finde ich im Bootlog:


[...]
md: invalid raid superblock magic on hdc3
md: hdc3 has invalid sb, not importing!
[...]

Wie muß ich nun vorgehen um das RAID in diesem neuen System, mit dieser neuen Partition, zu aktivieren?

Viele Grüße
pixel

DVDBrenner
29.03.05, 00:53
Hallo

Die Idee mit der zusätzlichen IDE HDD war ziemlich gut.

Ich hab so ein Raid Array schon mal repariert indem ich auf einer zus. Platte
das System neu installiert habe.

Bei der Installation wird das Array mit md0 erkannt und mann kann es mit dem
Partitionierer zb. unter /old einhängen.

Nach der Installation wird das System ein resync des Raid5 ausführen, da
die Partition sdc2 nicht auf dem aktuellem Stand ist.
cat /proc/sys/mdstat zeigt den Status.

Nach dem resync ist das Raid wieder redundant und die Daten können
gesichert werden.

Unter Suse 9.0 hats funktioniert, keine Garantie.
(Nach meiner Erfahrung kriegt das Rettungssystem nicht mal ne Spiegelung
zusammengebaut)

Ich hoffe es hilft.

Gruß

pixel
29.03.05, 09:37
Hi DVDBrenner,

das heist ich kann mit dem Partitioniere in Yast das RAID anlegen ohne das die Daten futsch sind? Im Partitioniere werden vom Rettungssystem aus die Partitionen des RAID's angezeigt. Über den Menu-Punkt "RAID" kann ich lediglich "RAID anlegen" wählen. Ich dachte das dabei das RAID neu angelegt wird und die Daten auf dem RAID futsch sind. Weiß das jemand?

Viele Grüße
pixel

DVDBrenner
30.03.05, 01:13
Hallo pixel

Bei der Installation macht Yast dir einen Vorschlag für die Neupartitionierung
der Festplatten.

Diesen Vorschlag verwerfen.

Danach Menuepunkt " Manuelle Aufteilung...." wählen, danach sollte
der Partionierer die alte Aufteilung der Festplatten erkennen.

Auch ein Device md0.

Wenn dein md0 erkannt wird mit den dazugehörigen Partitionen.
Das Laufwerk NICHT FORMATIEREN nur einen Mountpoint zuordnen, zb /old.

Nach der Neuinstallation auf der neuen Festplatte sollten deine alten Daten
in dem Verzeichnis /old eingehangen sein.

Wenn die Daten auf 2 von 3 Hdds noch in Ordnung sind sollte der Kernel
das Raid Array erkennen und zusammenbauen.

Das mit dem neu anlegen hab ich nie versucht,aber ich glaube nach dem
Neuanlegen wird das Raid neu formatiert, und deine Daten sind futsch.

Nimm nicht das Rettungssystem sondern geh auf Neuinstallation!

Bei mir hat das sogar mit einem Crypto Laufwerk nach Eingabe des richtigen
Passwort funktioniert.


Gruß