Linux -> festplatte abschalten/schlafen legen

wookie

I love my MTB
Registriert
28. August 2005
Reaktionspunkte
31
Ort
Albtal / Nord Schwarzwald
Hallöchen,

ich hoffe hier gibt es ein paar linux-gurus welche mir bissl weiter helfen können. ich habe hier gerade einen server eingerichtet (openSUSE 11.1) und bekomme die festplatte nicht eingeschläfert.

ich habe es mit hdparm versucht, aber da es sata platte sind funktioniert das nicht. habe herausgefunden das hdparm nicht mit sata funktioniert :(

jetzt gibt es da noch das programm sdparm, welches eigentlich für SCSI konstruiert wurde, angeblich funktioniert das mit SATA auch. - nur habe ich keinen blassen schimmer wie das geht. aus "man sdparm" werde ich nicht schlauer.

hatte von euch jemand mal unter linux ne sata festplatte in stand-by schicken müssen?
 
... unter Fedora lege ich meine Backup-Platte mit

# sdparm --command=stop /dev/sdc

schlafen.

Mit einem

# sdparm --command=start /dev/sdc

kommt die Platte für ein Backup wieder hoch. Vielleicht funzt es auch mit SuSE.

Grüssle,

Jo
 
wow, danke! habe es getestet, funktioniert!

bin jetzt dabei auszuknobeln wie ich einen standby-zeit festlegen kann. die platten sollten so nach einer stunde idle ausschalten.

so sollte es eigentlich gehen:

#sdparm --set SCT=3000 /dev/sdb
(3000 milisekunden)

und dann bekomme ich diese antwort:

# sdparm --set SCT=3000 /dev/sdb
/dev/sdc: ATA WDC WD1002FBYS-0 03.0
change_mode_page: failed fetching page: Power condition
:heul:
 
Prima dass es klappt !
Bei dem Parameter SCT bin ich mir nicht sicher, inwiefern es sich um einen Seagate-spezifischer Parameter handelt. Daher könntest Du ev. mit Deiner WD-Platte Probleme bekommen.
Meine Samsung Platte kennt den Parameter gar nicht. Du kannst Dir eine Übersicht über die unterstützten Commands und Parameter über folgenden Befehl anzeigen lassen:
# sdparm -al -/dev/sdc

Auch dass Deine Platte /dev/sdc angesprochen wurde zeigt ev. einen Fehler in der Befehlssyntax.

Generell würde ich einen zeitgesteuerten Befehl via bash-script wie folgt realisieren:

#!/bin/sh

echo "spin-down hdd in 1h"

sleep 3600
sdparm --command=stop /dev/sdc
echo "hdd spin-down successfully completed"
sleep 30
exit

Der Vorteil mit einem Script ist, dass Du keine HW-spezifischen Kommandos benötigst, die sich beim nächsten Plattenwechsel ev. negativ bemerkbar machen ...

Grüssle,

Jo
 
Zuletzt bearbeitet:
Prima dass es klappt !
Bei dem Parameter SCT bin ich mir nicht sicher, inwiefern es sich um einen Seagate-spezifischer Parameter handelt. Daher könntest Du ev. mit Deiner WD-Platte Probleme bekommen.
Meine Samsung Platte kennt den Parameter gar nicht. Du kannst Dir eine Übersicht über die unterstützten Commands und Parameter über folgenden Befehl anzeigen lassen:
# sdparm -al -/dev/sdc

Auch dass Deine Platte /dev/sdc angesprochen wurde zeigt ev. einen Fehler in der Befehlssyntax.

Generell würde ich einen zeitgesteuerten Befehl via bash-script wie folgt realisieren:

#!/bin/sh

echo "spin-down hdd in 1h"

sleep 3600
sdparm --command=stop /dev/sdc
echo "hdd spin-down successfully completed"
sleep 30
exit

Der Vorteil mit einem Script ist, dass Du keine HW-spezifischen Kommandos benötigst, die sich beim nächsten Plattenwechsel ev. negativ bemerkbar machen ...

Grüssle,

Jo

Will ja nicht meckern, aber das zielt irgendwie am Ziel vorbei.

Mit hdparm kann man problemlos die SpinDown-Zeit einstellen. Meine Platten gehen nach 15 min in denen sie nicht genutzt werden aus.

Sollte doch bestimmt auch mit sdparm gehen, oder?

EDITH SAGT: das geht mit sdparm tatsächlich nicht. Gibt aber noch en Reihe anderer Programme mit ähnlicher Funktionalität.


Grüße Joachim
 
Zuletzt bearbeitet:
Zurück