Festplatte mit e2fsck auf der Box prüfen

SaschaBr

Aktives Mitglied
Mitglied seit
1 Mai 2007
Beiträge
2,351
Punkte für Reaktionen
32
Punkte
48
Hallo Leute, ich bräuchte da mal Eure Hilfe:
Ich habe den verdacht, das meine ext2-Festplatte an der Box einen Hau weg hat, weswegen ich diese mal mit e2fsck prüfen wollte. Da ich keinen Linux-PC besitze, wollte ich das Prüfen direkt auf der Fritz!Box durchführen, nur wie?
Rufe ich e2fsck ohne Paramater in der Konsole auf, so wird mir eine kurze Aufflistung der möglichen Parameter angezeigt. Übergebe ich e2fsck meine Festplatte /dev/sdb1 (egal mit welchen Parametern, oder wie die Platte zu dieser Zeit gemountet ist), wird mir nur noch die Zeile "e2fsck 1.41.9 (22-Aug-2009)" angezeigt, und nichts passiert (auch die Festplatte arbeitet nicht). Der Aufruf von PS in einer zweiten Konsole bestätigt mir das Nichtstun von e2fsck mit 0% CPU.

Code:
/var/mod/root # mount
rootfs on / type rootfs (rw)
/dev/root on / type squashfs (ro)
dev on /dev type tmpfs (rw,nosuid)
proc on /proc type proc (rw,nosuid,nodev,noexec)
tmpfs on /var type tmpfs (rw)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec)
/dev/mtdblock5 on /data type jffs2 (rw)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/sda on /var/media/ftp/LOGS type vfat (rw,fmask=0000,dmask=0000,codepage=cp437,iocharset=iso8859-1)
/dev/sdb1 on /var/media/ftp/Icybox type ext2 (rw,noatime,nodiratime)
/var/mod/root # e2fsck
Usage: e2fsck [-panyrcdfvtDFV] [-b superblock] [-B blocksize]
                [-I inode_buffer_blocks] [-P process_inode_size]
                [-l|-L bad_blocks_file] [-C fd] [-j external_journal]
                [-E extended-options] device

Emergency help:
 -p                   Automatic repair (no questions)
 -n                   Make no changes to the filesystem
 -y                   Assume "yes" to all questions
 -c                   Check for bad blocks and add them to the badblock list
 -f                   Force checking even if filesystem is marked clean
 -v                   Be verbose
 -b superblock        Use alternative superblock
 -B blocksize         Force blocksize when looking for superblock
 -j external_journal  Set location of the external journal
 -l bad_blocks_file   Add to badblocks list
 -L bad_blocks_file   Set badblocks list
/var/mod/root # e2fsck -n /dev/sdb1
e2fsck 1.41.9 (22-Aug-2009)

Ich habe schon im Wiki, im Forum und im Internet nach einer vorgehensweise gesucht, aber habe nirgends einen vergleichbaren Fall gefunden.
Mache ich was Falsch, oder stimmt was mit e2fsck auf der Box nicht?
Im Anhang mal meine .config.
 

Anhänge

  • config.txt
    3.3 KB · Aufrufe: 1
Die Festplatte sollte bei der Prüfung mit e2fsck nicht gemountet sein:
Note that in general it is not safe to run e2fsck on mounted filesystems.
Wie es genau geht ist in der e2fsck-man page beschrieben. Je nach Größe der Platte kann es mit e2fsck auf der FritzBox, sehr lange dauern.
 
Die Festplatte sollte bei der Prüfung mit e2fsck nicht gemountet sein...

OK, das habe ich auch probiert. Wenn ich die Festplatte über das Freetz-WebIf unmounte, hat sie aber kein device mehr!?
 
[...] Wenn ich die Festplatte über das Freetz-WebIf unmounte, hat sie aber kein device mehr!?
Und über die Konsole? Bei mir geht das über die Konsole ohne Probleme:

Code:
# [B]mount[/B]
rootfs on / type rootfs (rw)
/dev/root on / type squashfs (ro)
dev on /dev type tmpfs (rw,nosuid)
proc on /proc type proc (rw,nodiratime,nosuid,nodev,noexec)
tmpfs on /var type tmpfs (rw)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec)
/dev/mtdblock6 on /data type jffs2 (rw,noatime)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/sda1 on /var/media/ftp/uStor01 type ext2 (rw,noatime,nodiratime)
[B]/dev/sda2 on /var/media/ftp/uStor02 type ext2 (rw,noatime,nodiratime)[/B]

/var/tmp/flash/mod # [B]umount /var/media/ftp/uStor02[/B]

/var/tmp/flash/mod # [B]mount[/B]
rootfs on / type rootfs (rw)
/dev/root on / type squashfs (ro)
dev on /dev type tmpfs (rw,nosuid)
proc on /proc type proc (rw,nodiratime,nosuid,nodev,noexec)
tmpfs on /var type tmpfs (rw)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec)
/dev/mtdblock6 on /data type jffs2 (rw,noatime)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/sda1 on /var/media/ftp/uStor01 type ext2 (rw,noatime,nodiratime)

[B]/dev/sda2 ist noch da:[/B]
[QUOTE]...
brw-r-----    1 root     root       8,   2 Jan  1  2000 sda2
...[/QUOTE]

[CODE]/dev # [I]mount -o noatime,nodiratime /dev/sda2 /var/media/ftp/uStor02[/I]

/dev #[B] mount[/B]
rootfs on / type rootfs (rw)
/dev/root on / type squashfs (ro)
dev on /dev type tmpfs (rw,nosuid)
proc on /proc type proc (rw,nodiratime,nosuid,nodev,noexec)
tmpfs on /var type tmpfs (rw)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec)
/dev/mtdblock6 on /data type jffs2 (rw,noatime)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/sda1 on /var/media/ftp/uStor01 type ext2 (rw,noatime,nodiratime)
[B]/dev/sda2 on /var/media/ftp/uStor02 type ext2 (rw,noatime,nodiratime)[/B]
 
Zuletzt bearbeitet:
/dev/sda2 ist noch da:....
Wo denn?
...
/var/tmp/flash/mod # mount
rootfs on / type rootfs (rw)
/dev/root on / type squashfs (ro)
dev on /dev type tmpfs (rw,nosuid)
proc on /proc type proc (rw,nodiratime,nosuid,nodev,noexec)
tmpfs on /var type tmpfs (rw)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec)
/dev/mtdblock6 on /data type jffs2 (rw,noatime)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/sda1 on /var/media/ftp/uStor01 type ext2 (rw,noatime,nodiratime)
...
Habe aber trotzdem den umount über die Konsole gemacht, aber nach dem Aufruf von e2fsck: Nix tut sich, gar nix!
Code:
/var/mod/root # mount
rootfs on / type rootfs (rw)
/dev/root on / type squashfs (ro)
dev on /dev type tmpfs (rw,nosuid)
proc on /proc type proc (rw,nosuid,nodev,noexec)
tmpfs on /var type tmpfs (rw)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec)
/dev/mtdblock5 on /data type jffs2 (rw)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/sda on /var/media/ftp/LOGS type vfat (rw,fmask=0000,dmask=0000,codepage=cp437,iocharset=iso8859-1)
[B]/dev/sdb1 on /var/media/ftp/Icybox type ext2 (rw,noatime,nodiratime)[/B]
...
/var/mod/root # umount /var/media/ftp/Icybox
...
/var/mod/root # mount
rootfs on / type rootfs (rw)
/dev/root on / type squashfs (ro)
dev on /dev type tmpfs (rw,nosuid)
proc on /proc type proc (rw,nosuid,nodev,noexec)
tmpfs on /var type tmpfs (rw)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec)
/dev/mtdblock5 on /data type jffs2 (rw)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/sda on /var/media/ftp/LOGS type vfat (rw,fmask=0000,dmask=0000,codepage=cp4     37,iocharset=iso8859-1)
...
/var/mod/root # e2fsck /dev/sdb1
e2fsck 1.41.9 (22-Aug-2009)
 
Dann weiß ich auch nicht weiter. Evtl. können/werden die Experten dir helfen.
 
Dann ruf das mal bitte mit "-v" für "verbose" auf und poste den Output hier. Wenn das nicht geht, nutze bitte strace (evtl ein Image erstellen damit) für dne Programmaufruf und hänge die ausgabe hier an.
 
Mir fällt auf Anhieb nur strace ein. Damit könnte man zumindest mal schauen, ob e2fsck überhaupt noch was tut oder irgendwo hängt.

MfG Oliver
 
e2fsck

Bei mir lief das nach dem unmounten auf ner 7270 ohne probleme durch.
Ein Bekannter hat diesbezüglich Probleme auf einer 7170, welche ihm regelmäßig während das e2fsck Durchlaufs abstürzt.

Das Device ist nach dem unmounten immernoch vorhanden, sollte diesbezüglich keine Probleme mit e2fsck geben.
Gerade bei größeren und langsamen Massenspeichern kann es eine Weile dauern, bis e2fsck "fertig" ist.
 
Hmm, mit "-v" das Gleiche: Nix, keine weitere Reaktion.

In TOP wir jedenfalls 0% CPU und 3% MEM ausgewiesen, woraus man schließen könnte, das dort nichts geschieht (auch nach längerer Wartezeit nicht).
Am Ende bleibt mir dann immer nur, e2fsck mit kill -9 abzuschießen.

Ich sehe schon, ich werde mir wohl mal Strace mit einbauen, und den Umgang hiermit erarbeiten müssen. :(

EDIT:
@Pengu: Wie lange das dauert, wäre mir ja mal egal, wenn e2fsck wenigstens anfangen würde zu arbeiten... (mit 80 Gigabyte ist die Platte aber auch nicht sonderlich groß, aber auch nicht langsam)
 
Zuletzt bearbeitet:
Das würde bedeuten dass sie nicht nur "ausgehängt" wurde, sondern auch für das System nicht mehr vorhanden ist,
wie das auch die Auswerfen-Funktion unter Windows macht.
 
@SaschaBr
Such mal nach dem unmounten, mit:
Code:
find / -iname 'sdb1'
auf der Box nach der Festplatte.
 
Nach einem gewöhnlichen Aushängen ist das Device noch vorhanden.
Wenn jedoch das usb_storage Modul entladen wird, ist auch das Device weg.

lspci oder "cat /proc/modules" bringt Klarheit.
 
1. Es gab hier irgendwo ein Thread, wo ich meine Experimente mit dem e2fsck und co. gepostet hatte.
2. Daraus ging hervor, dass wenigstens theoretisch einen Check mit der gemounten Partition möglich wäre. Es gab zwar hier einige Stimmen darüber, dass es wenig Sinn macht, so ein "online"-RO-Check durchzuführen, für deine ersten Schritte in die Richtung würde es jedoch reichen. Magische Option heißt -n, wenn ich mich nicht irre.
3. Beim "umnount" über FREETZ-WebIF passiert das unmounten der Freigabe (also nur des Pfades mit uStorXY, oder wie er auch immer heißt). Machst du es dagegen über AVM-WebIF, geht es etwas härter. Soweit ich mich erinnern kann, kann dort sogar das komplette Device heruntergefahren werden. Also nicht nur reines unmounten, sondern ein komplettes "killen" von sdX. Unter Umständen werden sogar module für ext2, vfat, etc. ausgeladen.

MfG
 
@sf3978:
Nach dem Unmounten über das Freetz-WebIf ist das Device tatsächlich noch da, so wie sich das gehört.
Code:
/var/mod/root # find / -iname 'sdb1'
/dev/sdb1
/sys/block/sdb/sdb1

@pengu:
Die Notwendigen Module sind scheinbar auch noch da:
Code:
...
usblp 13578 1 - Live 0xc0238000 0xc020c000
ext2 58569 0 - Live 0xc0247000 0xc020a000
mbcache 7075 1 ext2, Live 0xc022f000 0xc022d000
vfat 11303 1 - Live 0xc0211000 0xc020f000
fat 53460 1 vfat, Live 0xc01f2000 0xc0112000
nls_cp437 5368 1 - Live 0xc014a000 0xc0176000
nls_iso8859_1 3714 1 - Live 0xc0148000 0xc0115000
usb_storage 36413 1 - Live 0xc0201000 0xc010f000
...

@hermann72pb:
Das mit dem ro-test hatte ich auch schon gelesen, und deshalb auch mit dem Parameter -n versucht die eingehängte Festplatte zu scannen.
Aber egal was ich mache, e2fsck will bzw. macht scheinbar nichts.
 
Versuch mal mit:
Code:
e2fsck [B]-v[/B] -n /dev/sdb1

EDIT:
So sieht das bei mir aus:
Mem: 28984K used, 1128K free, 0K shrd, 4304K buff, 5180K cached
CPU: 1% usr 10% sys 2% nic 0% idle 57% io 0% irq 27% sirq
Load average: 2.94 2.37 1.27 6/46 310
PID PPID USER STAT VSZ %MEM %CPU COMMAND
2102 1775 root D 7140 24% 5% e2fsck -v -n /dev/sda2
.............
 
Zuletzt bearbeitet:
@sf3978:
Das hatte ich schon probiert; gleiches Ergebnis: Nichts!

Wollte dann grade mein Platte wieder einhängen, was aber nicht ging:
Code:
/var/mod/root # mount -o noatime,nodiratime /dev/sdb1 /var/media/ftp/Icybox
mount: mounting /dev/sdb1 on /var/media/ftp/Icybox failed: No such file or directory
/var/mod/root # mount /dev/sdb1
mount: can't find /dev/sdb1 in /etc/fstab
/var/mod/root # cat /etc/fstab
# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>               <dump>  <pass>
proc            /proc           proc    nosuid,nodev,noexec     0       0
tmpfs           /var            tmpfs   defaults                0       0
sysfs           /sys            sysfs   nosuid,nodev,noexec     0       0

Kann das ganze hier damit zusammen hängen, das ich die e2fsprogs ohne " link all e2fsprog-libraries statically" gebaut habe??
 
Ist das Verzeichnis "Icybox" vorhanden?
 
Wird mit find / -iname 'Icybox' jedenfalls nicht gefunden.

EDIT:
Nach dem neu anschließen der Icybox (bzw. Aus und wieder Einschalten) wird das Verzeichniss "/var/media/ftp/Icybox
" wieder gefunden.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.