Festplatte voll: mountet nicht mehr

  • Ach, ich bin so schlecht in Aufgeben... :rolleyes:


    Kann man den superblock evtl. noch wiederherstellen um wenigstens noch ein paar Daten zu retten?


    Ich habe jetzt viel nachgeforscht und herausgefunden, dass es theoretisch mit "mke2fs -n /dev/sda(1)" die backups der superblocks findet und diese mit "e2fsck -f -y -b 32768 /dev/sda1" wiederherstellen kann.


    Mein Problem dabei ist, dass ich in /dev nur sda habe, kein sda1.


    Wenn ich "mke2fs -n /dev/sda" ausführe, bekomme ich sogar superblock-backups ausgegeben:



    Wenn ich dann aber versuche ein superblock-backup wieder herzustellen kommt lediglich:


    Code
    root@dm8000:~# e2fsck -f -b 32768 /dev/sda
    e2fsck 1.41.9 (22-Aug-2009)
    e2fsck: Attempt to read block from filesystem resulted in short read while trying to open /dev/sda
    Could this be a zero-length partition?


    Nur mit sda geht das nicht und sda1 habe ich nicht (mehr). Das liegt vermutlich alles daran, dass die Festplatte komplett im A... ist. Aber ich hatte noch kurz die Hoffnung, dass man den superblock reparieren kann. Gibt es keine Chance sda1 irgendwie wieder herzustellen, wenn auch ohne superblock und in korrupt?

  • Quote

    Warum sind bei mir unter /media/hdd/ noch die beiden Verzeichnisse EMC und usr vorhanden, wenn die Fetsplatte schrott und nicht gemountet ist?


    Die Dateien sind jetzt am flash. /media/hdd ist ja wenn die HDD nicht gemountet ist ein ganz normaler Ordner.

    -->
    openwrt + minicom + screen = 24/7 Bootlog

  • Quote

    Original von Schnello


    Die Dateien sind jetzt am flash. /media/hdd ist ja wenn die HDD nicht gemountet ist ein ganz normaler Ordner.


    Ahhh, ok. Danke für die Info. :-)

  • Wenn die Platte nicht schon defekt wäre, die Daten hättest Du mit "mke2fs -n /dev/sda" und "e2fsck -f -b 32768 /dev/sda" garantiert in den Computerhimmel geschickt.


    mke2fs (make ext2 filesystem) erzeugt normal ein Dateisystem, mit der Option -n (do nothing) wird das Programm normal ausgeführt, aber ohne etwas zu schreiben. Es wurde angezeigt, wo die Superblockkopien angelegt werden würden, nicht daß da welche wären. Noch dazu hast Du Dich über die Warnung des Programms hinweggesetzt, daß man ein Dateisystem in einer Partition anlegen sollte.


    Und mit dem zweiten Befehl hättest Du den Block 32768, der keinen ext2-Superblock enthält, über die Partitionstabelle kopiert. In die Partitionstabelle gehört natürlich kein ext2-Superblock hin.


    Verwechsle nicht Platte (zB. /dev/sda) mit Partition (zB. /dev/sda1 /dev/sda2). Und ein Dateisystem wird normalerweise in einer Partition erstellt.
    .
    Die Partitionstabelle gibt es bei Dir ja schon lange nicht mehr, denn sonst wären Partitionen angezeigt worden und nicht nur die Festplatte.


    Wenn Du Festplatten und eventuell vorhandene Partitionen suchst verwende zuerst "fdisk -l". Dies zeigt Dir alle angeschlossenen Massenspeicher und eventuell angelegte Partitionen an. Die von Dir genutzten Befehle wie "mount", " df" oder "ls /dev/disk/by-label" zeigen nur fehlerlose Dateisysteme an und nicht die angeschlossenen Festplatten.


    ptha

    Edited once, last by ptha ().

  • Ok, dank dir für die Info.


    Da die Daten für mich sowieso schon verloren waren habe ich halt einfach wild rumgespielt ohne zu verstehen, was ich denn da mache. ;)

  • Ja, das sieht nicht gut aus. Am PC hast Du versucht, sdb zu mounten. Das geht natürlich nicht. Du müsstest sdb1 mounten. Das hat ja aber schon ptha gut erklärt.


    Man weiss oft seit langem, dass Datensicherung wichtig ist, aber oft geht man es dann erst wirklich an, wenn man mal vom Datenverlust betroffen ist. Wird bei Dir nun vermutlich auch so sein, wobei ich sagen muss, dass ich meine Filmaufnahmen zwar aufm RAID5 des NAS liegen hab, der Gesamtgröße wegen aber vom regelmäßigen Backup auf externe Platte ausgeschlossen habe. Wenn der Datenverlust hier mal zuschlägt, dann sind die Aufnahmen halt weg.


    Tja, was kannst Du jetzt noch tun außer neue Hardware anschaffen? Ich glaube nicht viel. Hab da nun auch keine Idee mehr oder wüsste, was man noch machen kann.

  • Quote

    Originally posted by krusta
    Da die Daten für mich sowieso schon verloren waren habe ich halt einfach wild rumgespielt ohne zu verstehen, was ich denn da mache. ;)


    Das wilde Rumspielen ist an sich keine schlechte Idee, nur sollte man das mit einem Image der Platte machen. Beim Erstellen des besagten Image kriegt man auch sehr schnell mit, ob überhaupt noch was zu erwarten ist: Hier ist ja recht offensichtlich (bereits Dein erster dmesg zeigt das) der Anfang der Platte nicht mehr zu lesen. Da in Block 0 die klassische DOS Partition Table steht, war die weg und damit auch die Partitionierung unbekannt. Alle weiteren Beobachtungen resultieren daraus. Das kann nun bedeuten, dass auch kein anderer Block der Platte mehr zu lesen ist (wahrscheinlich), könnte aber auch nur auf einen Schaden im Außenbereich der Platte zurückgehen (unwahrscheinlich).


    Generelle Vorgehensweise:
    [list=1]
    [*]Image
    Hier besorgt man sich am besten erstmal eine neue (und damit leere) Platte mit mehr als der doppelten Kapazität des Opfers. Braucht man ja am Ende wahrscheinlich sowieso. Nun an einem Linux-Host mit GNU ddrescue und passenden Error Retry Parametern eine Kopie in ein File oder ggf. ein Logical Volume anstarten und am besten erstmal in den Urlaub fahren. Nach Stunden bis Tagen kristallisiert sich heraus, ob überhaupt noch Blöcke zu lesen sind und ob man das irgendwann gnädig beendet oder abwartet. Falls man am Ende mehr als 80% der Blöcke doch noch gelesen kriegt (ich hatte Fälle, wo es nur wenige MB erwischt hat, die aber ewig an ein paar anderen schwachen Blöcken kauten), dann lohnt es sich weiter rumzuspielen. Die nächste Aktion ist, die originale Platte weit weg zu legen, das Image noch mal zur Sicherheit wegzukopieren und dann alle weiteren Schritte nur an dem Image vorzunehmen.
    [*]PTBL Recover
    Da nicht mehr damit zu rechnen ist, die PTBL bei (1) noch gelesen zu kriegen, muss man die als nächstes versuchen selbst wieder herzuzaubern. Oft hilft dabei gpart (Guess Partition Table), aber im vorliegenden trivialen Fall (Sektor 0 tot und auch folgende Blöcke nicht lesbar) kann es passieren, dass das nicht mehr klappt. Also rauskriegen, wie die aussah (andere DB-Besitzer mit ähnlicher Box und Platte fragen) und dann manuell anlegen. Auf dem Image kann man ja schreiben.
    [*]Filesystem recover
    Du bist schon auf dem korrekten Weg, wenn die PTBL wieder steht und in deren ersten Blöcken schon ein Superblock steht, Gratulation. Sonst mit der Suche nach Superblock Backups anfangen. Wie gesagt, wenn >80% der Blöcke noch da sind, stehen die Chancen gut, einen zu finden. Danach das entsprechende fsck (am besten erstmal mit -n zum antesten, dann irgendwann mit -y um das Unvermeidliche hinzunehmen - was weg ist ist weg, die Metadaten müssen wieder begradigt werden). Und dann gucken, was überlebt hat.
    [/list=1]
    Falls man nach Schritt 3 den Eindruck hat, da wäre mehr gegangen, einfach das verhunzte Image wegwerfen, eine neue Arbeitskopie von der bei (1) gezogenen Sicherheitskopie machen und auf ein Neues.


    BTW, wenn man nicht den Eindruck hat, die Platte zerlegt sich zunehmend mechanisch und jeder Leseversuch zehrt an ihr, kann man erstmal ddrescue nach /dev/null fahren, um die Erfolgsaussichten abzuschätzen. Es ist ja nicht unwahrscheinlich, dass das Fehlerbild (Read Errors) sich über die ganze Platte zieht. Wurde ja bisher kaum versucht, da ohne PTBL kein Grund vorlag, mal weiter hinten zu lesen.


    HTH,
    Andre.