• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] Server: Dev verschwunden, not clean, superblock,

SUSE_PC

Newbie
Hallo,

4 Tage vor der geplanten ersten Sicherung des Servers reagiert der nicht mehr!

Was ist passiert? Die letzten Freitag gekaufte Acronis Software nutze ich um 2 Workstations zu sichern. Als Sicherungsort gab ich den Server im Netz an. Die Sicherung brach mitten drinne ab. Als ich zum Server ging, war der Monitor eingefroren. Auch nach 10 Minuten keine Reaktion. Ich schaltete den Server aus und startete neu. Auf dem Monitor steht:

doing fast boot
Creating device nodes with udev
Trying manual resume from /dev/disk/by-id/ ata-SAMSUNG_HD103UJ_S13PJDWS159709-part1

/dev/sda3: recovering journal
/dev/sda3: clean, 138798/983040 files, 1122869/3931908 blocks
fsck succeeded. Mounting root device read-write.
Mounting root /dev/disk/by-id/ata-SAMSUNG_HD103UJ_S13PJDWS159709-part3
mount -o rw,acl,user_xattr -t ext4 /dev/disk/by-id/ata-SAMSUNG_HD103UJ_S13PJDWS159709-part3 /root
INIT: version 2.86 booting
System Boot Control: Running /etc/init.d/boot
Mounting sysfs at /sys
Mounting debugfs at /sys/kernel/debug
Remounting tmpfs at /devmount: can't find /dev in /etc/fstab or /etc/mtab failed

Initializing /dev
Mounting devpts at /dev/pts

ok
Starting udevd:
Loading drivers, configuring devices:
Loading required kernel modules
Acticating swap-devices in /etc/fstab...
Set System Time to the current Hardware Clock
Activating device mapper...

Starting MD Raid mdadm: /dev/md0 assembled from 2 drives – not enough to start the array while not clean – consider –-force

Setting up hostname …
Setting up loopback interface lo
lo IP address: 127.0.0.1/8
IP address: 127.0.0.2/8

Checking file systems...
fsck from util-linux-ng 2.16
Checking all file systems.
[/sbin/fsck.ext4 (1) –- /boot] fsck. Ext4 -a /dev/sda2
/dev/sda2: clean, 39/128520 files, 39777/514080 blocks
[/sbin/fsck.ext4 (1) - - /home] fsck.ext4 -a /dev/md0
/dev/md0:
The superblock could not be read or does not describe a correct ext2
filesystem. If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193 <device>
failed
fsck failed for at least one filesystem (not /).
Please repair mannually and reboot.
The root file system is is already mounted read-write.

Attention: Only CONTROL-D will reboot the system in this
maintanance mode. Shutdown or reboot will not work.

Give root password for login:
(repair filesystem) #

Was ist es für eine Maschine? Na toll Unterlagen sind alle auf dem Server, aus dem Gedächtnis: Intel E8400, 4 SATA Festplatten je 1TB, davon 3 zu einem Software-Raid 5 zusammengeschlossen, auf der 4. Platte liegt OpenSuse und Reservepartition für Raid.

Nun zu meinen Fragen:
1.: Wie kann ich nun erstmal eine Sicherung des derzeitigen Zustands machen, ohne noch mehr kaputt zu machen?
Mit Acronis True Image Home 2011 Plus kann ich keine Sicherung eines SoftwareRaids 5 anfertigen. Gibt es eine günstige Alternative?
2.: Was kann ich dann tun? ext2 habe ich wohl kaum verwendet. Zumindest für die Raispartitionen hatte ich entweder ext3 oder gar ext4 eingerichtet.
Soll ich nun einfach
e2fsck -b 8193 sda3
eingeben?

Hat jemand schon mal derartiges erlebt und kann Rat geben?
Gruß SUSE_PC
 
A

Anonymous

Gast
nichts übereilig falsches machen, ruig bleiben, vor allem keine angeblich alleskönnende Programme aus dem Internet starten, und hier mal lesen. Das ist ein ganz normaler Fehler, bei dem deinen Daten nichts passiert ist.

Bei dir ist es der 2. Fall, /home.

Das Problem bei dir ist hier allerdings es kann das Raid /dev/md0 nicht sauber aufsetzen. und desshalb ist das ganze Raid nicht da das er prüfen soll.

Analog hier wie bei diesem RAID1verfahren.
zuerst von alle möglichen Superblöcke der Raiddevices mittels "mdadm --examine DEVICE" untersuchen und vergleichen. Wenn alles soweit passt und vorhanden ist gehts weiter.
Je nachdem wie der Status der einzelnen Bestandteile ist, dann das Raid dort wieder mit 2 der 3 Platten anwerfen und dann starten, Wahrscheinlich haben die 3 Raidbestandteile gegensätzliche Informationen welches online ist und welches nicht. Eventuell ist auch das Raid schon mit 2 Devices unter /proc/mdstat vorhanden, es wurde nur nicht automatisch gestartet, das ist aus dem Log oben so nicht 100%ig herauszulesen. In diesem Fall brauchst du es nur forciert zu starten, dann läuft es mit den 2 Devices an. Das 3. kannst du dann später wieder rebuilden lassen.

Wichtig bei Raid in einem solchem Fehler: Immer mit "Assemble" arbeiten und nicht mit "Create" siehe auch Manpage von mdadm.

Am Besten erst mal das /home in der /etc/fstab auskommentieren und in den Single-User-Modus fahren, damit du anständig arbeiten kannst. Hier findest du auch Reparaturversuche für raid5 dort sollten alle Befehle zu finden sein, (die du natürlich für dein System angepassen musst), brauchst.


robi
 
OP
S

SUSE_PC

Newbie
Hallo Robi,

erstmal vielen Dank für die beruhigenden Worte. Inzwischen habe ich auch etwas Zuversicht, mittels der ich mich nun der Thematik weiter beschäftigen konnte. Habe nun auch einiges gelesen, aber bei weitem noch nicht genug.

Zweitens habe ich erste Befehle eingegeben:
Code:
# /bin/mount 
   /dev/sda3 on / type ext4 (rw,acl,user_xattr)
# /etc/fstab
   bash: /etc/fstab: Permissions denied
# /bin/mount -a
   [1217.036330] EXT4-fs (md0): unable to read superblock
   mount: wrong fs type, bad option, bad superblock on /dev/md0,
         mising codepage or helper program, or other eror
         (could this be the IDE device where you in fact use
         ide-scsi so that sr0 or sda or so is needed?)
         In some cases useful info is found in syslog – try
         dmesg | tail or so

   mount: devpts already mounted or /dev/pts busy

Den folgenden neuen Teil deiner Antwort komme ich nicht weiter, denn so gut bin ich noch nicht in der Materie. Die folgenden Befehle ergaben alle ein mdadm: No md superblock detected on /dev/sda

Dazu hatte ich folgende Befehle eingegeben:
Code:
# mdadm --examine sda
# mdadm --examine sdb
# mdadm --examine sdc
# mdadm --examine sdd
# mdadm --examine sda1
# mdadm --examine sda2
# mdadm --examine sda3
Was habe ich falsch gemacht?

Vielen Dank für die Bemühungen.

Gruß SUSE_PC
 

josef-wien

Ultimate Guru
SUSE_PC schrieb:
# /bin/mount
/dev/sda3 on / type ext4 (rw,acl,user_xattr)
Eingehängt ist nur die Systempartition /dev/sda3, und die ist in Ordnung. Die Partitionen der Platte /dev/sda enthalten kein RAID. Bei einer Platte wirst Du mit mdadm --examine kein RAID finden, Du mußt die einzelnen Partitionen von /dev/sdb, /dev/sdc und /dev/sdd untersuchen, also z. B.:
Code:
mdadm --examine /dev/sdb1
SUSE_PC schrieb:
# /etc/fstab
bash: /etc/fstab: Permissions denied
Hier handelt es sich formal um eine Textdatei, die kannst Du nicht ausführen. Um sie anzusehen, mußt Du
Code:
cat /etc/fstab
eingeben.
 
OP
S

SUSE_PC

Newbie
Hallo einen wunderschönen guten Morgen.

Vielen Dank für die schnelle und prompte Antwort. Als Linux Neuling lerne ich momentan viel dazu. So habe ich auch versucht einen USB-Sick anzuschließen, aber das war wohl keine gute Idee. Den USB Stick habe ich nicht lesbar gefunden.

Nun habe ich die Meldungen abfotografiert. Die Qualität ist mäßig, jedoch kann man wohl das Wichtigste erkennen. Jedoch sagen mir die Angaben wenig, eher gar nichts. Aufgefallen war mir:
Feld: Device Role
sdb: Active device 0
sdc: Active device 1
sdd: spare

Wo ist die dritte Festplatte des Raids5?

Feld: Array State
sdb: AA.
sdc: AA.
sdd: AAA

Feld: Events
sdb: 473189
sdc: 473189
sdd: 371537

Die Befehle mdadm --examine /dev/sda1, mdadm --examine /dev/sda2, mdadm --examine /dev/sda3 und mdadm --examine /dev/sda4 ergaben alle:
mdadm: No md superblock detected on /dev/sda2

http://img4web.com/g/NKVW7

Monitor gezoomt fotografiert: sdb, sdc, sdd
http://img4web.com/g/AE5DS


Ich bin nun total ratlos, was die nächsten Schritte sein könnten. Momentan lache ich gerade über mich, ich sitze schon seit heute früh 7:30 dranne. Mitlachen ist erlaubt.

Gibt es noch eine Chance, den Server zum Leben zu erwecken?

Gruß vom Suse-Nutzer
 

josef-wien

Ultimate Guru
Fotos auf Deiner Festplatte nützen gar nichts. Im Internet hochgeladene Fotos sind auch nicht besonders hilfreich. Lies einmal http://www.linupedia.org/opensuse/Hilfe_zu_Antworten_aus_dem_Forum#Konsolausgabe_ins_Forum_posten.2C_wenn_Grafisch_nichts_geht. Vermutlich wirst Du den USB-Stick mit fdisk -l (kleines L) identifizieren und dann mit mount /dev/sdXY /mnt einhängen müssen. Je nach Formatierung könnte ein Parameter notwendig sein, z. B.: mount -t vfat /dev/sdXY /mnt
 
OP
S

SUSE_PC

Newbie
klar hatte ich das gelesen gehabt -ich habe ja heute nichts anderes mehr gemacht- und danach auch den USB-Stick eingesteckt. Konnte aber -obwohl ich mich an die Anweisung gehalten hatte- nicht darauf zugreifen. Dann stand dort der Hinweis mit dem Fotografieren...

sorry.
 
A

Anonymous

Gast
Hast du den Rechner in den Single User Mode gebootet oder stehst du immer noch im Bootscript bootlocal ? Das würder erklären warum dein USB nicht erkannt wird, auf deinem Rechner läuft ja noch nichts vernünftiges, er kann den USB also noch gar nicht automatisch einbinden.

Das Raid scheint aber mit 2 Platten zu laufen, ist nur nicht gestartet, weil die dritte der Meinung ist, sie gehört auch noch dazu und sie ist auch sauber meint sie.

mal vorsichtshalber noch mit
Code:
cat /proc/mdstat
kontrollieren ob es dort wirklich ein md0 gibt und dieses aus sdb1 und sdc1 besteht.

Wenn ja, dann Starte das Raid mit
Code:
mdadm -R /dev/md0
dann kannst du den Filesystemcheck machen, ( aber hier noch nicht rebooten, sonst hast du das Problem beim nächsten Boot wahrscheinlich wieder)
danach kannst du probehalber per Hand mounten

Code:
mount -o ro /dev/md0 /mnt
wenn dann die Dateien unterhalb von /mnt alle da sind, "und nur dann" die dritte Platte mit dazunehmen.
Code:
mdadm /dev/md0 -a /dev/sdd1

Kontrollieren wieder mit cat /proc/mdstat ob der Rebuild der 3. Platte läuft. Ist der durch rebooten und es sollte alles normal laufen.

Wenn ein Befehl nicht funktioniert, dann bitte die genaue Fehlermeldung.

robi
 
OP
S

SUSE_PC

Newbie
Hallo Robi,

ich habe den Rechner noch so laufen wie gestern; er hat auch kein DVD-laufwerk, da an den 4 SATA-Anschlüssen die 4 Festplatten hängen. Das externe USB-DVD-Laufwerk anzuschließen, traute ich mich nicht.

Code:
# cat /proc/mdstat
Personalities :
md0 : inactive sdb1[0](S) sdd1[3](S) sdc1[1](S)
      2831190672 blocks super 1.0

unused devices: <none>
Die unterschiedlichen Ziffern in der eckigen Klammer verstehe ich nicht. Es scheint wohl die interne Nummerierung der Platten zu sein.

Nun sind aber nicht 2 Platten hier aufgeführt, sondern 3. Mit unused devices könnte man glauben, das Raid5 funktioniert. Wichtiger ist die Frage nun, jetzt mdadm -R /dev/md0 eingeben?

Entschuldige bitte, wenn ich so vorsichtig bin...
 
A

Anonymous

Gast
Das Raid ist so schon richtig gefunden worden, es kann also gar nichts schaden versuchen es so auch zu starten
Code:
mdadm -R /dev/md0

erwartetes Ergebnis, sinngemäß "md0 start oder running now " oder irgend sowas in der Art
dann bitte nochmal die Ausgabe von
Code:
cat /proc/mdstat
zur Kontrolle was er genau gemacht hat. oder einen eventuelle Fehlermeldung hier posten.

wenn der Befehl nicht gefunden werden sollte
vollen Path beim der Eingabe des Befehls benutzen "/sbin/mdadm"

Wenn das so nicht mit 3 Devices funktionieren solle, müssen wir eines davon auf defekt setzen. und dann mit 2 Devices starten. Aber versuche es erst mal so.

robi
 
OP
S

SUSE_PC

Newbie
Code:
# mdadm -R /dev/md0
[82001.597168] raid5: cannot start dirty degraded array for md0
[...               ] raid5: failed to run raid set md0
[...               ] md: pers->run() failed ...
mdadm: failed to run array /dev/md0: Input/output error
Oje diese Fehlermeldung sagt mir nun gar nichts. ich googele mal.
 
A

Anonymous

Gast
ok, dann das Raid erstmal stoppen so wie es dort jetzt steht

Code:
mdadm -S /dev/md0
dann das Raid mit sdb1 und sdc1 wieder aufsetzten

Code:
mdadm /dev/md0 -Af /dev/hdb1 /dev/hdc1

und starten

Code:
mdadm -R /dev/md0
dann nochmal die Ausgabe von /proc/mdstat

robi
 
OP
S

SUSE_PC

Newbie
Code:
# mdadm -S /dev/md0
mdadm: stopped /dev/md0

# mdadm /dev/md0 -Af /dev/hdb1 /dev/hdc1
mdadm: cannot open device /dev/hdb1: No such file or directory
mdadm: /dev/hdb1 has no superblock - assembly aborted.
Und während ich abtippe kommt mir der Gedanke: Hätte es nicht sdb1 und sdc1 heißen müssen?
 
A

Anonymous

Gast
:eek:ps: natürlich sdb1 und sdc1 , sah mir gleich so komisch aus.

robi
 
OP
S

SUSE_PC

Newbie
Vielen Dank für die prompte Reaktion. Anbei die Ergebnisse:

Code:
# mdadm /dev/md0 -Af /dev/sdb1 /dev/sdc1
[] raid5: raid level 5 set md0 active with 2 out of 3 devices, algorithm 0
mdadm: /dev/md0 has been started with 2 drives (out of 3)

# mdadm -R /dev/md0
mdadm: failed to run array /dev/md0: Device or resource busy

# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdb1[0] sdc1[1]
        1887460352 blocks super 1.0 level 5, 128 chunk, algorithm 0 [3/2] [UU_]
        bitmap: 259/451 pages [1036KB], 1024KB chunk
 
A

Anonymous

Gast
ok das Raid sollte jetzt mit 2 Platten laufen.
Du kannst den Filesystemcheck machen.

Mal vorsichtshalber aber zuerst noch nicht scharf mit

Code:
fsck -fn /dev/md0
hier wird er dir eventuell jede Menge Dinge aufzeigen die nicht ok sind und die repariert werden müssen, es aber noch nicht reparieren, also die Platten noch nicht ändern.

Hier musst du jetzt selbst abschätzen, sind es ein paar Meldungen oder vielleicht auch hundert, dann ist es ok. Sind es jedoch 10000 oder noch mehr dann ist was am Raid nicht ok.
Wenn es ok ist dann dann das "n" gegen ein "y" tauschen und den Filesystemcheck scharf laufen lassen.

Ich muss mich hier jetzt erstmal verabschieden und kann frühestens in 2 bis 3 Stunden weiter machen, vielleicht kann ein anderer an dieser Stelle für mich in die Presche springen und dich bei den nächsten Schritten begleiten.

robi
 
OP
S

SUSE_PC

Newbie
Code:
# fsck -fn /dev/md0
fsck from util-linux-ng 2.16
e2fsck 1.41.9 (22-Aug-2009)
Warning: skipping journal recovery because doing a read-only filesystem check.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Entry MeineletztebearbeiteteDateiBlaBlaBla.tib in BlaBla (117179245) has deleted/unused inode 117179248. Clear? no

Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Free blocks count wrong (195982241, counted=176839521).
Fix? no

Inode bitmap differences: -117179248
Fix? no

Free inodes count wrong  (117277864, counted=117276508).
Fix? no

/dev/md0: ******* WARNING: Filesystem still has errors *********************************

/dev/md0: 695128/117972992 files (0.0% non-contiguous), 275882847/471865088 blocks
Das ganze war in wenigen Sekunden fertig. Die meiste Zeit brauchte ich zum Abtippen.

Beurteilen kann ich das Protokoll nicht. Jedoch diese eine Datei MeineletztebearbeiteteDateiBlaBlaBla.tib war die zu letzt erstellte. Die ist unwichtig und kann gelöscht werden.

Die unterschiedlichen Zahlenangaben verstehe ich nicht. Insbesondere die letzten beiden Zeilen.
Errors? Gibt es weitere Fehler in Dateien?
Was heißt der Quotient 695000/117972000?

Aber wichtiger ist die Frage, wie es weiter gehen könnte?
Wäre nun der nächste Schritt fsck -fy /dev/md0?
 

spoensche

Moderator
Teammitglied
Verwende mal die Code-Tags, wenn du Befehlsausgaben postest.

Du musst jetzt die Fehler beheben. Also
Code:
fsck -fy /dev/md0
 
OP
S

SUSE_PC

Newbie
Hallo,

vielen Dank, dass Du übernommen hast. Den Befehl habe ich nun ausgeführt. Befehl lief ohne Fehlermeldung durch.

Code:
# fsck -fy /dev/md0
fsck from util-linux-ng 2.16
e2fsck 1.41.9 (22-Aug-2009)
/dev/md0: recovering journal
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information

/dev/md0: ******* FILE SYSTEM WAS MODIFIED *****
/dev/md0: 696484/117972992 files (0.0% non-contiguous), 295109535/471865088 blocks

Wie geht es nun weiter? Weiter mit folgendem Schritt (gemäß Robi 12:49)?

Code:
mount -o ro /dev/md0 /mnt

Gruß SUSE_PC
 
Oben