Vor ein paar Monaten habe ich einen 1u-Server gebaut, um in eine Colo-Einrichtung zu gehen. Da ich es nicht besser wusste, verwendete ich WD Caviar Green-Laufwerke. Meine Benutzer haben sich beschwert, dass das System etwas langsamer sein kann und smartctl
einen sehr hohen Load_Cycle_Count anzeigt. Ich habe gelesen, dass dies auf das "Grün" zurückzuführen ist, was bedeutet, dass sie versuchen, häufig herunterzufahren, und die Verzögerung, die die Leute sehen, ist, wenn sich die Laufwerke wieder hochdrehen. Die einzigen Vorschläge, die ich gesehen habe, um zu verhindern, dass sie herunterfahren, sind, den Server nach Hause zu bringen und die Festplatten in eine Windows-Box zu legen, um ein Programm auszuführen. Aber ich hatte einmal ein ähnliches Problem mit einem externen Seagate-Laufwerk und habe es behoben sdparm
. Gibt es einen sdparm
Befehl, der dieses Problem behebt?
=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x002f 200 200 051 Pre-fail Always - 0
3 Spin_Up_Time 0x0027 168 133 021 Pre-fail Always - 4558
4 Start_Stop_Count 0x0032 100 100 000 Old_age Always - 65
5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always - 0
7 Seek_Error_Rate 0x002e 200 200 000 Old_age Always - 0
9 Power_On_Hours 0x0032 092 092 000 Old_age Always - 6213
10 Spin_Retry_Count 0x0032 100 253 000 Old_age Always - 0
11 Calibration_Retry_Count 0x0032 100 253 000 Old_age Always - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 58
192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always - 42
193 Load_Cycle_Count 0x0032 196 196 000 Old_age Always - 14941
194 Temperature_Celsius 0x0022 120 106 000 Old_age Always - 27
196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always - 0
197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0030 200 200 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x0032 200 200 000 Old_age Always - 0
200 Multi_Zone_Error_Rate 0x0008 200 200 000 Old_age Offline - 0
quelle
Arbeitslösung folgt, jetzt getestet!
Laden Sie das WDSpinUp DOS-Dienstprogramm herunter .
Erstellen Sie mit UNetbootin (
sudo apt-get install unetbootin
) ein bootfähiges FreeDOS-USB-Laufwerk .Kopieren Sie das heruntergeladene Dienstprogramm auf das USB-Laufwerk.
Konfigurieren Sie Ihr BIOS so, dass Festplattencontroller im kompatiblen oder Legacy-Modus ausgeführt werden (abhängig von Ihrem Motherboard-Hersteller).
Starten Sie FreeDOS über USB und wählen Sie FreeDOS Live CD mit HIMEM + EMM386
Gehen Sie mit zu C: (dem USB-Laufwerk)
C:
Führen Sie schließlich das Dienstprogramm mit aus
wdidle3.exe /D
Denken Sie daran, Enhanced- oder SATA-Controller über das BIOS wieder zu aktivieren.
quelle
wdidle3.exe /s300
stattdessen den Befehl , da dies den Timer auf 5 Minuten einstellt, was das maximal zulässige istIch habe die grünen Laufwerke aktiv gehalten, indem ich festgelegt habe, dass alle paar Minuten ein Cron ausgeführt wird, der eine gewisse Festplattenaktivität erzwingt. Dies kann so einfach sein wie
echo $(date) >> somefile
, dass der Inaktivitäts-Timer des Laufwerks zurückgesetzt wird, bevor er in den Ruhezustand wechselt.Es ist ein Hack, aber es schien bei den Problemen zu helfen, die ich zu Hause auf meinem Dateiserver hatte. Am Ende würde ich es nicht als langfristige Lösung betrachten.
quelle
>>
mit>
füllt die Festplatte nicht ausdd
könnte zum Beispiel auch verwendet werden, um zufällige Sektoren von der Festplatte zu lesendd if=/dev/sda of=/dev/null bs=512 count=1 skip=$[${NSECTORS}/32767*${RANDOM}]
.Wenn die Laufwerke SATA sind, sollten Sie in der Lage sein, das Spindown zu deaktivieren mit:
quelle
-Z: Disable the automatic power-saving function of certain Seagate drives (ST3xxx models?), to prevent them from idling/spinning-down at inconvenient times.