Reboot nach Spin-Down

Robert Vernunft

Neuer User
Mitglied seit
25 Dez 2008
Beiträge
15
Punkte für Reaktionen
0
Punkte
0
Guten Morgen Forum,

bei mir tritt folgendes schwerwiegendes Problem auf.

An der FB hängt ein externes USB-RAID1 mit Ext3 als Dateisystem.
Das RAID macht nach einer Weile selbständig ein Spin-Down. So soll es ja auch sein. Will ich dann auf die Platte zugreifen will passiert folgendes:
Code:
/var/mod/root # cd /var/media/NEW_LINK/
/var/media/ftp/uStor01 # ls
: sense key=0x2
ASC=0x4 ASCQ=0x2
end_request: I/O error, dev sda, sector 1296302159
EXT3-fs error (device sda1): ext3_get_inode_loc:
  • System friert ein
  • Reboot
Das Dateisystem hat aber keine Fehler. fsck.ext3 auf nem Linux lief problemlos durch.
WD Data Lifeguard Diagnostics bescheinigen der Platte einen tadellosen Zustand.
Ich vermute nun, das die Platte zu lange braucht um einen Spin-Up zu machen und dadurch ein Timeout in Form des "I/O error" hervorgerufen wird. Warum dann das System einfriert ist mir allerdings unklar.
Nun ein paar Fragen dazu:
  1. Hatte schon jemand ein vergleichbares Problem? (laut SuFU anscheinend nicht)
  2. Kann man die "Timeouts" hochsetzen?
  3. Ist mit Ext2, ReiserFS oder NTFS ein identisches Verhalten zu erwarten?
Bin für jede Anregung dankbar.

Einen sonnigen Tag
Robert

Nachtrag [2009-01-08 11:10]:
Ich habe soeben versucht das ganze mal am Linux-PC zu reproduzieren - erfolglos.
Das System wartet wie gewünscht bis die Platte wieder hochgefahren hat.

Nachtrag [2009-01-08 14:06]:
Nachdem ich nun die HDD mit ext2 formatiert habe, kann zumindest ausgeschlossen werden, daß es am ext3 liegt:
Code:
/var/media/ftp/uStor01 # ls
: sense key=0x2
ASC=0x4 ASCQ=0x2
end_request: I/O error, dev sda, sector 1749286991
Mir ist bis jetzt nicht klar ob das Problem generell bei Dateisystem zu suchen ist.

Nachtrag [2009-01-08 15:20]:
Nun ist die HDD mit NTFS formattiert. Und folgendes passiert:
Code:
/var/media/ftp/uStor01 # ls
: sense key=0x2
ASC=0x4 ASCQ=0x2
end_request: I/O error, dev sda, sector 6291583
Buffer I/O error on device sda1, logical block 786440
: sense key=0x2
ASC=0x4 ASCQ=0x2
end_request: I/O error, dev sda, sector 6291583
Buffer I/O error on device sda1, logical block 786440
ls: ./home: Input/output error
: sense key=0x2
ASC=0x4 ASCQ=0x2
end_request: I/O error, dev sda, sector 6291575
Buffer I/O error on device sda1, logical block 786439
: sense key=0x2
ASC=0x4 ASCQ=0x2
end_request: I/O error, dev sda, sector 6291575
Buffer I/O error on device sda1, logical block 786439
Aber das System friert nicht mehr ein und ein 2ter Aufruf bringt dann:
Code:
/var/media/ftp/uStor01 # ls
System Volume Information  pool
home                       test
Hat jemand eine Idee was da nun genau los ist?
Sind die Dateisystemtreiber so unterschiedlich implementiert?
 
Zuletzt bearbeitet:
Hallo Robert,

es ist zwar eine etwas verrückte Idee, aber versuche doch mal (bei "eingeschlafenem" RAID) folgenden "Weckversuch":
Code:
rm /var/media/NEW_LINK/gibsnicht
Das sollte zu einer "file not found"-Meldung führen, die Platte aber trotzdem aufwecken.

Joe
 
Guten Morgen Joe,

Du hattest in sofern recht, das er nix löschen kann:
Code:
/var/media/ftp/uStor01 # rm nichda
rm: cannot remove 'nichda': No such file or directory
Allerdings weckt diese Aktion die Platte nicht auf.
Danach habe dann mal was anderes probiert:
Code:
/var/media/ftp/uStor01 # touch testfile
: sense key=0x2
ASC=0x4 ASCQ=0x2
end_request: I/O error, dev sda, sector 551
EXT3-fs error (device sda1): read_inode_bitmap:
Wie man sieht ist da mit Deiner verrückten Idee keine Lösung in Sicht. Außerdem ist das Problem sicherlich an anderer Stelle zu suchen. Mir ist nur noch nicht ganz klar wo.
 
haste schonmal versucht, die platte zu unmounten und danach wieder einzubinden?
 
Hallo technorocka123,

was soll das bringen? Ein
Code:
sg_start /dev/sda
(vorausgesetzt man hat das Spindown-Paket in Freetz drin) würde ja genügen um die Platte aufzuwecken bevor man drauf zu greift. Wie ich in meinem Post versucht habe zu erörtern, suche ich nicht nach einem Work-Around, sondern nach der Lösung der geschilderten Problematik.

So long
Robert
 
Hi Robert,

hast Du eine Lösung für das Problem gefunden? Ich habe das gleich Problem. Ich habe auch die WDC Mirror Edition an einem Linuxsystem mit ext3 und immer, wenn die Platte einen spindown macht, habe ich danach ein kaputtes ext3 dateisystem.

Viele Grüße

Helm
 
Ähnliches Problem hier mit ner IOmega Prestige 500GB.
Einzige "Lösung" die ich derzeit hab, ist nen Syslog auf die HDD schreiben zu lassen, um bei andersweitigen Zugriffen kein Reboot zu kassieren.

Nachteil natürlich, das dadurch die Platte auf Dauer läuft und einfach nur gar nicht erst in die Verlegenheit kommt nen Spindown zu machen.

Nen warten der Box auf das Spinup wäre natürlich der Hammer....


Nachtrag: Hab diese ungeduldige Box auch beim Start. Die HDD läuft immer erst bei Zugriff an. Da dort aber mein Torrent-Verzeichnis drauf liegt, greift die Box beim Start drauf zu (Daemon-Start). Die Platte braucht aber paar Sekunden und so ist der Client der Meinung er kann nicht starten. Auch hier nur die provisorische Lösung beim Daemon-Start ne Schleife zu legen die 5 mal 2 Sek vorm Abbruch wartet, sofern das Platte noch nicht läuft.
 
Zuletzt bearbeitet:
[Edit frank_m24: Sinnfreies Vollzitat gelöscht. Lies noch mal die Forumregeln.]

Ich habe eine Lösung gefunden.
Und zwar auf http://www.nslu2-info.de/forum/showthread.php?t=4565
Danke an Peter.

Code:
scsi=$(ls -1 /sys/block|grep "sd.$")
for ad in $scsi
do
if [ -e /sys/block/$ad/device/scsi_disk\:1\:0\:0\:0/allow_restart ];then
echo 1 >/sys/block/$ad/device/scsi_disk\:1\:0\:0\:0/allow_restart
fi
doneDas 'allow_restart' flag führt dazu, das Linux ruhig abwartet, bis die Platte aufgewacht ist und dann mit Lesen/schreiben beginnt.

Funktioniert einwandrei bei mir und das Dateisystem ist dann auch heile, wenn nach den Spindown auf die Platte geschrieben wird :)

Grüße

Helm
 
Das hab ich versucht, aber er kann die datei "scsi_disk" nicht schreiben.

"permission denied"
 
Sorry, wenn ich hier einen alten Thread nochmal hoch hole, aber ich denke, ich habe das gleiche Problem, und kann die vorgeschlagene Lösung leider nicht nachvollziehen.
Zunächst mal: ich habe eine Fritz!Fon 7150. Dazu habe ich mir kürlich eine 2,5" Seagate Expansion 500GB Platte gekauft, um ein kleines NAS (Backup) aufzubauen. Schnell habe ich festgestellt, dass meine Box mit der offiziellen Firmware weder NTFS noch Samba beherrscht - die Lösung mit Fat32 und FTP finde ich aber suboptimal. So habe ich mich nach längerer Recherche an freetz rangewagt und mir eine eigene Firmware gebastelt. Aktuell ist meine Box geflasht mit freetz-1.1.1 und folgenden Optionen/Packages: replace kernel, patch usb, automount ntfs, ntfs-3g, samba, spindown-cgi, syslogd-cgi, usbutils, usb-storage, ntfs.
Damit läuft das System nun auch schon über eine Woche stabil, sowohl Interent, WLAN, als auch Telefon (DECT, Alice Festnetz und sipgate VoIP) funktionieren einwandfrei. Auch der Zugriff auf die Platte (als Netzlaufwerk) klappt wunderbar. Allerdings habe ich mir Gedanken gemacht über einen Spindown - da die Box immer an ist, wollte ich der Platte auch mal eine Pause gönnen, denn sie wird ja eher selten gebraucht. Die Seagate hat laut Hersteller ein "integriertes Strommanagement", das "energieeffizienten Betrieb" gewährleisten soll. Allerdings weiß ich nicht, ob das bedeutet, dass die Platte tatsächlich mal einen Spindown macht, so lange sie am USB hängt (ist ja eigentlich eine portable Platte).
Zunächst habe ich das spindown-cgi ausprobiert, doch dabei bekam ich sofort Probleme mit dem Dateisystem, die Platte wurde plötzlich nicht erkannt oder Ordner gingen (temporär) verloren. Dann stieß ich auf das Tool HDDScan. Damit konnte ich die Platte (wenn ich sie direkt an meinen Rechner hänge) auch ansteuern. Ich habe dort mal eine Standby-Zeit von 600 Sek. (10 Min.) eingestellt. Das scheint tatsächlich auch noch zu funktionieren, wenn ich die Platte wieder an die Box hänge, was ich vor allem daran merke, dass ich, wenn ich nach >10 Min. Inaktivität auf die Platte zugreifen will, häufig erstmal eine Fehlermeldung bekomme (Platte nicht gefunden). Im syslog tauchen dazu dann folgende Meldungen auf:
Code:
Mar 25 14:00:27 fritz user.info kernel: Device sda not ready.
Mar 25 14:00:27 fritz user.warn kernel: end_request: I/O error, dev sda, sector 6303959
Mar 25 14:00:27 fritz user.err kernel: Buffer I/O error on device sda1, logical block 787987
Mar 25 14:00:30 fritz daemon.notice ntfs-3g[757]: ntfs_attr_pread_i: ntfs_pread failed: Input/output error
Mar 25 14:00:30 fritz daemon.notice ntfs-3g[757]: Failed to read of MFT, mft=6220 count=1 br=-1: Input/output error
Manchmal gehen auch Verzeichnisse verloren. Beim nächsten Versuch sind sie dann aber unter Umständen wieder da.
So, und nun bin ich auf diesen Thread gestoßen und wollte gleich die Lösung mit "allow_restart" ausprobieren. Leider kann ich aber den entsprechenden Pfad auf meinem Fritz!Fon nicht finden (ich ende immer bei /sys/devices/ahci-hcd/usb1/1-1/1-1:1.0/host0/target0:0:0/0:0:0:0). Vielleicht kann mir hier jemand nochmal bei der Umsetzung dieser Lösung helfen?

Viele Grüße, valjah

EDIT: Leider bin ich immer noch nicht weiter gekommen. Die Pfade /sys/block/sda/device und /sys/class/scsi_device/0:0:0:0/device leiten jeweils auf den oben genannten Pfad weiter. Wenn ich dort eine Datei allow_restart anlegen will, erhalte ich immer die Meldung "Permission denied" (auch andere Dateien kann ich nicht anlegen). Natürlich bin ich als root eingeloggt, und Schreibrechte auf den Ordner habe ich auch...
 
Zuletzt bearbeitet:
*push*
Gibt es niemanden, der mir helfen kann?
 
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.