QNAP TS-412 RAID / HD ausfall

  • Hallo zusammen,


    ich habe ein QNAP TS-412 mit 4 Platten Seagate ST2000DL003-9VT1CC32 a 2 TB im Raid 5 Verbund. Die Platten waren seinerzeit als kompatibel gelistet, daher habe ich mir gleich 5 der Platten gekauft (also eine Spare).


    Nach einiger Zeit haben zwei Platten einen Fehler aufgewiesen (Warning). Habe dann nach erneuter Prüfung feststellen müssen, dass die Platten zwar Kompatibel sind, jedoch inzwischen nicht mehr empfohlen werden da User damit Probleme festgestellt haben.


    Daher habe ich mir nun 5 neue 2 TB Platten besorgt (Hitachi HUA723020ALA641) die Kompatibel gelistet sind. Dann das Vorgehen zum Austausch, was komplett schief gelaufen ist :cursing:


    1. Sicherung der wichtigsten Daten gemacht (Fotos, Arbeitsdaten)
    2. NAS runtergefahren
    3. HDD2 getauscht und neu eigebaut (mein Ziel war es, nach dem Rebuild HDD4 genauso zu tauschen)
    4. Rebuild abgewartet
    5. Und nun das Lustige: HDD4 stirbt (unreadable), vermutlich während des Rebuild


    Wenn ich das NAS neu starte erkennt er die Platte HDD4 und hat beim Raid "Aktualisierung" angezeigt. Während dessen ist das NAS sehr beschäftigt (schwer auf das Frontend zuzugreifen). Nach einiger Zeit konnte ich dies jedoch und konnte über die File Station sogar teile der alten Networkshares wiederfinden.


    Allerdings stirbt die Platte immer wieder bevor das NAS fertig ist. Status Raid inaktiv, HDD 4 Anormal.


    Wenn das Rebuild abgeschlossen gewesen wäre, müsste ich ja auch ohne HDD4 das RAID klappen, macht es aber nicht. Ich vermute, dass das Raid den Rebuild nicht abgeschlossen hat.


    Nun habe ich ja noch die alte HDD2, welche noch die Daten hat und halbwegs funktionierte. Sollte ich diese wieder einfügen und neustarten, in der Hoffnung, dass dann HDD1,2,3 das RAID wieder zur Verfügung stellen und dann HDD4 tauschen, Rebuild RAID, dann HDD2 tauschen?


    Oder wird das NAS bein Einschub der alten HDD2 nichts mehr anfangen können, da der Rebuild gestartet wurde?


    Da ich nur die wichtigsten Daten gesichert habe (Fernsehaufnahmen, Musik, Softwaredownloads (gekaufte) etc. nicht, da keine Kapa) muss ich irgendwie wieder an die Daten dran kommen.


    Kann mir jemand helfen?
    Viele Grüße
    Gregor


    Hier mal nach das Log-File der letzten 2 Wochen:

  • Welche FW-Vrsion/Build?
    Besorge dir eine Neue Platte gleicher Kapazität welche auf der Kompatibilitätsliste steht und mache von der vierten Platte eine bit-genaue 1zu1 Kopie.
    Besser wäre noch, wenn du dies von allen Platten machst. Verwende dann diese Kopien im NAS. Erfolgswahrscheinlichkeit liegt allerdings nur bei 50%.

  • ich empfehle dir die platte an einen linux rechner zu hängen und die daten mit ddrescue zu kopieren.
    ddresuce arbeitet im prinzip wie dd (also macht eine 1:1 kopie), hängt sich jedoch nicht auf wenn es was nicht lesen kann sondern skippt so lange weiter bis es wieder lesbare sektoren gibt.
    danach werden alle nicht lesbaren blöcke in der hälfte geteilt und nochmals von vorne kommend und von hinten kommend versucht zu lesen; das ganze geht 3 mal so und am ende hast du eigentlich ein 99,99% komplettes images der hdd.
    es sei denn du hast die fallen lassen und der lesekopf ist auf die magnetscheiben geknallt und selbst hinüber.


    schau mal im web wie du das genau einstellen musst; da gibts einige kniffe bei.


    grüße


    acid

  • Hallo zusammen,


    vielen Dank schonmal an der Stelle für die schnellen Antworten.


    Festplatte ist nicht runtergefallen, die Köpfe sollten also noch funktionieren.


    Da ich kein Linux habe, muss ich das erstmal vorbereiten. Hier meine geplante Vorgehensweise:


    1. Linux on USB erstellen http://www.chip.de/downloads/L…USB-Creator_44977398.html
    2. ddrescue ziehen http://www.gnu.org/software/ddrescue/
    3. Alte NAS HDD4 und neue Platte an den Rechner hängen
    4. Über USB Liniux starten
    5. ddrescue copy erstellen von HDD4
    6. Test mit der neuen HDD4, ob das RAID aufgebaut wird
    7. Sofern nicht erfolgreich: Gleiches mit der alten HDD2 machen und zusammen mit der neuen Kopie HDD4 testen


    Oder wäre es zu empfehlen, HDD1-4 alt zu kopieren?


    Denn folgende (theoretische) Frage: Was macht das NAS eigentlich, wenn es das RAID wieder aufbaut? Es erstellt doch Datensatz 1 und 2 die Parität wieder, je nachdem was flöten gegangen ist. Ich gehe mal davon aus, dass nicht eine ganze Platte als Parität gilt, sondern die Sätze verteilt sind über Platte 1-4. Nun aber die Frage, ob bei der Wiederherstellung die Verteilung von Datensatz 1,2 und Parität immer gleich erfolgt. Wenn nicht, könnte folgende Situation enstehen: Mein Nas hat versucht mit Platte 1,3,4 alt das RAID mit HDD2 neu aufzubauen (ist aber nicht fertig geworden, da HDD4 ausgefallen ist). Nun gebe ich ihm wieder HDD1,3,4 (nach teilweise RAID Umverteilung) und die alte Platte HDD2. Dann könnte ich ggf. Datensatz 1 und zweimal Parität (bzw. jede andere Kombi) erhalten, Datensatz 2 ist verloren.


    Oder denke ich hier zu kompliziert _hurted:


    Viele Grüße
    Gregor

  • Zitat von "g8r8e8g"

    Oder wäre es zu empfehlen, HDD1-4 alt zu kopieren?


    Das ist deshalb zu empfehlen, da sich, bei jedem Versuch das RAID zu synchronisieren, die Anzahl der Events

    Code
    mdadm -E /dev/sd[abcd]3 | grep Events

    im RAID-Protokoll ändert. Befindet sich eine der Platten nicht im RAID, ändert sich dort natürlich die Anzahl nicht. Weicht die Anzahl zu stark unter den einzelnen RAID-Platten voneinander ab, kann das RAID nicht mehr erfolgreich zusammengesetzt werden.
    Um also die originalen Platten möglichst nicht zu weit auseinandertriften zu lassen, macht es Sinn komplett mit Kopien zu arbeiten.

  • ich würde dir auch eine rescue-linux distribution deiner wahl emfpehlen.
    bedenke bitte, dass das kopieren mit ddrescue je nach anzahl der fehler gerne mal 1-2 wochen dauern kann. bei meiner 2tb 2,5" externen platte die mir runtergefallen ist hat das recovern ca 3 wochen gedauert. in der zeit kannst du den rechner den du hast nicht nutzen.


    empfehlung: wenn du sowieso schon 4 neue platten kaufen willst um das auszuprobieren (und dir deine daten soviel wert sind) kauf dir noch gleich 2 raspberry pi b 2 dazu (kostenpunkt ca. 100euro inkl netzteil und microsd karte) und boote von denen aus; da brauchst du aber raspbian weil es keine "rescue-remixe" für arm gibt.
    2 raspis, so dass du an jeden je 4 platten hängen kannst zum retten. brauchst natürlich dann noch insgesamt 8 sata to usb adapter...... alles eine frage des preises :)


    grüße,


    acid

  • Zitat von "AcidBurns87"

    bedenke bitte, dass das kopieren mit ddrescue je nach anzahl der fehler gerne mal 1-2 wochen dauern kann.


    Da die Platten wohl weitestgehend in Ordnung sind und momentan nur eine Probleme mit ein paar Sektoren hat, sollte sich die Kopierdauer in Grenzen halten. Ein paar Stunden wird es allerdings trotzdem pro Platte dauern.

  • naja, du weißt ja nicht wieviele sektoren bei der einen platte hin sind. wenn da der lesekopf einmal drübergeschrabbt ist kann das schonmal 10-20% von einer scheibe sein :) :)
    aber richtig, da es kein totalschaden ist sollte es "relativ" schnell gehen; plan aber der sicherheit halber trotzdem mal mit dem worst case; hat mich zumindest die erfahrung gelehrt.

  • Hallo zusammen,


    das mit dem Raspberry hört sich interessant an, zumal ich meiner Frau nicht den einzigen Rechner nehmen will :roll:


    Sind die folgenden Komponenten sinnvoll:
    Raspberry Pi 2 1 GB Werbung entfernt, siehe Forenregeln!
    USB to SATA AD-SATA-IDE-USB2 Werbung entfernt, siehe Forenregeln!


    Viele Grüße
    Gregor

    Einmal editiert, zuletzt von dr_mike () aus folgendem Grund: Werbung entfernt, siehe Forenregeln!

  • jo der Raspi ist eben der Komplettsatz; wobei du noch ein HDMI-HDMI oder HDMI-DVI Kabel brauchst um den Raspi an nen Bildschirm zu hängen.
    WLAN Adapter ist nicht unbedingt nötig; aber wenn du den Raspi schonmal hast kannst du ihn danach auch an den TV hängen mit XBMC/Kodi drauf.


    Zum SATA/IDE Apter kann ich nichts sagen, weil ich keinen Baugleichen da hab; aber willst du nich nocht 6€ mehr ausgeben für usb 3:
    LOGILINK AU0028 Werbung entfernt, siehe Forenregeln!


    bringt dir zwar beim Raspi nix, aber evtl später mal bei nem Einsatz. Du brauchst natürlich auch 2 SATA/IDE Adapter um direkt von einem auf den anderen kopieren zu können.


    Wenn der Raspi mt Raspbian läuft musst du nachdem du die Raspi Config durchlaufen bist (boot to desktop brauchst du nicht unbedingt, der Raspi 2 B kriegt das aber auch flüssig hin.) noch folgendes machen:

    Code
    sudo suapt-get updateapt-get upgradeapt-get install gddrescue nano


    dann

    Code
    ddrescue -n -v /dev/sda /dev/sdb /home/pi/rescue.log


    WICHTIG: mit fdisk -l schauen welche platte die kapute ist und die namen sda bzw sdb dann anpassen. SDA ist hier defekt, SDB ist die neue.
    Der Rest run wird schnell gehen, da -n ddrescue sagt, es soll nicht zu retten versuchen sondern erstmal alles lesen was geht. hat den vorteil, dass du schonmal alles hast was keine fehler hat und du dann rumspielen kannst.


    mit

    Code
    nano /home/pi/rescue.log

    kannst du dir anzeigen lassen, wieviele fehlerhafte Sektoren da sind; die Liste hat eine Zeile pro fehlerhaftem Sektor (mit STRG+X kommst du ausm programm wieder raus)
    2ter run

    Code
    ddrescue -r 3 -v /dev/sda /dev/sdb /home/pi/rescue.log


    3 versuche um jeden fehlerhaften Block zu lesen, danach gibt das Programm auf und geht weiter.


    weitere tips:
    http://wiki.ubuntuusers.de/gddrescue
    grüße,


    acid

    Einmal editiert, zuletzt von dr_mike () aus folgendem Grund: Werbung entfernt, siehe Forenregeln!

  • Hallo Acid,


    Klasse, vielen dank an der Stelle schonmal. Raspi und Adapter sind bestellt. Am nächsten Wochenende wird es ausprobiert zu retten...


    Kurze Nachfrage noch: Warum 2 runs? Kopiert er beim ersten run alles was "ohne Probleme" geht und beim zweiten dann hartnäckig nochmal alles? Ist der Hintergund der, dass, falls die Platte komplett den Geist aufgibt, schonmal ein Teil kopiert ist? Was macht er, wenn er beim ersten mal lesen konnte, beim zweiten mal aber nicht mehr. Belässt er dann das Kopierte (sonst würde das Vorgehen ja keinen Sinn machen und man könnte den ersten run auslassen und direkt mit dem zweiten starten).


    Viele Grüße
    Gregor

  • Moin,


    ddrescue funktioniert anhand der Logdatei, die darf auf keinen Fall verloren gehen! (am besten ab und zu mal eine Kopie davon machen!!!)


    Beim ersten Durchgang kopiert er alles und geht weiter sobald er einen Fehler findet. In die Logdatei schreibt er dann die fehlerhaften Sektoren.
    Den Platz für die Daten auf der gesunden Platte lässt ddrescue einfach frei.


    Beim zweiten Durchgang liest er NUR die fehlerhaften Sektoren nach folgendem Prinzip:
    Angenommen Sektor 200-250 wäre fehlerhaft, dann kommt ddrescue von Sektor 199 auf Sektor 200 und versucht 3 mal jeden Sektor zu lesen. Klappt es nach dem 3ten mal nicht, bleibt der Sektor in der Logdatei als fehlerhaft markiert.
    Danach fährt ddrescue von "hinten" an, also von 251 auf 250 und versucht dann nochmals alle Sektoren zu lesen die noch Fehlerhaft in der Logdatei stehen.
    Angenommen Sektoren 220-240 konnten immer noch nicht gelesen werden, wird dieser Block nun gesplittet in 2 Unterblöcke: 220-230 und 230-240 und das Spiel geht wieder von vorne los. Sollte das dann auch nicht klappen gibt ddrescue auf und geht weiter zum nächsten fehlerhaften Sektorenblock.


    Die netto Lesegeschwindigkeiten bei solchen Vorgängen liegen oftmals nur im byte/minute Bereich, da der Lesekopf den großteil der Zeit damit beschäftigt ist, die Position zu finden und zu versuchen die Daten ohne CRC Error zu lesen. Die Platte kann dabei auch ziemlich heiß werden. In irgendeinem Artikel habe ich aber gelesen, dass Google mal untersucht hat welche Plattentemperatur die beste ist für HDDs. Dies ging einfach über ein Rechenzentrum, auf dem eine Charge von Platte x bei verschiedenen Temps betrieben wurde. Raus kam irgendwas mit 45-50°C. Du musst die Platte also nicht nochmal extra Kühlen, aber auch nicht extra in die Sonne legen.


    Aber durch die Belastung des Lesekopfes ist es sinnvoll von der Platte erstmal alles zu sichern, was noch irgendwie "normal" lesbar ist, da die Wahrscheinlichkeit hoch ist, dass die Platte am Ende der Rettung völlig fertig ist.


    Grüße,


    Acid


    P.S.:
    Mit ddrescueview kannst du dir auch anschauen wie weit ddrescue ist; das Programm zeigt grafisch an wo ddrescue ist, wieviel defekt ist, wieviel normal lesbar ist und was defekt war aber gerettet wurde. --> http://sourceforge.net/project…iles/Releases/v0.3/Win32/
    Einfach die Logdatei mit Filezilla per SFTP von Raspi holen (KOPIEREN, nicht ausschneiden) und anschauen. SFTP funktioniert sobald du den ssh server auf dem Raspi anhast.

  • Hallo zusammen,


    zur ersten Frage: ich habe die wichtigsten, aber nicht alle Daten gesichert.


    So, Raspberry Pi ist angekommen, angeschlossen, updated, upgraded und die HDDs über logilink angeschlossen. Es werden platten erkannt, allerdings die neue nur mit 8MB?! Evtl da noch nicht vormatiert? Muss ich vorher formatieren?


    Habe ddrescue ausprobiert, aber er sagt, dass das outputfile schon existent ist. Meine Vermutung war, das logfile, aber daran hat es nicht gelegen. Unten der shell output. Was mache ich falsch?



    Danke vorab für Hilfe
    Viele Grüße
    Gregor


    --- ModEdit ---


    Ok, wenn man mal richtig nachdenkt... :D


    Die 8 GB war die SD karte :roll:


    sda ist bei mir nicht patitioniert, das ist also die neue platte und damit das Ziel. Warum er sagt, da wäre was drauf kann ich mir nicht erklären. Habe also mit -f einen Force Befehl beigefügt. Nun kopiert er lustig. Dann warte ich mal ab, was passiert...

    Einmal editiert, zuletzt von dr_mike () aus folgendem Grund: Doppelte Beiträge vermeiden, siehe Forenregeln! Bitte den 'Ändern' Button verwenden.

  • Aus der Praxis würde ich Dir empfehlen ein Komplettbackup zu machen, alte Disks raus, neue rein und das Backup zurückspielen.
    Geht schneller und belastet die Platten nur einmal, anstatt dass das RAID bei jedem Disktausch jedes Mal alle vier Platten durchmangelt.

  • bitte mal

    Code
    ls -lah /dev

    ausführen und den output hier reinschreiben.
    außerdem auch nochmal

    Code
    ls -lah /home/pi


    außerdem würde mich der dmesg log interessieren:

    Code
    dmesg


    aus ls /dev sieht man ob überhaupt ein sda existiert, also ob die neue platte erkannt wird, aus dmesg sieht man ob evtl irgendwas mit usb los ist, so dass die sda platte nicht erkannt wird. das listing des home verzeichnises soll mmir zeigen ob da eine rescue.log schon existiert.
    ich habe mir sowieso angewöhnt, immer das datum mit in die log zu schreiben: rescue_20150613_2015.log, so gibts nix doppelt und man erkennt sofort welcher vorgang der aktuellste ist.


    grüße,


    acid

  • ddrescue läuft nun aktuell. Schon 12% innerhalb von 4 Stunden, jayy, dann brauche ich ja nur 133 Stunden um alle vier Platten zu kopieren - sofern ich keinen zweiten Durchlauf benötige :)


    ACID: kann ich die Befehle in einer zweiten shell ausführen, oder stört dies den ddrescue-prozess in der ersten Shell?
    Viele Grüße
    Gregor

  • Moin,


    ne das ist kein Problem, die befehle stören ddrescue nicht; aber wenn ddrescue nun läuft gibts ja auch kein grund mehr die befehle auszufürhren.


    Du solltest auch screen installieren, wenn du nicht direkt den Raspi an einem Bildschirm betreibst, damit du die SSH Verbindung nicht permanent aufrecht erhalten musst...


    Code
    sudo apt-get install screen


    screen startest du mit "screen".
    danach hast du eine shell und nun kannst du mit STRG+c neue shells öffnen, mit STRG+n bzw p zwischen den fenstern hin und her schalten und mit STRG+d den screen in den hintergrund schicken.
    mit dem befehl screen -r kannst du die shells jederzeit wieder hervorholen.


    Vorteil: Wenn die SSH Verbindung abreißt läuft der Prozess trotzdem weiter und du kannst mehrere Fenster mit einer Shell offen haben.


    Wenn du den raspi allerdings an einem bildschirm betreibst ist screen unnötig.


    grüße,


    acid