hdparm -S bzw. -B wirkungslos

Kr0nos

Lt. Junior Grade
Registriert
Feb. 2007
Beiträge
463
Hallo zusammen,
als mein erstes Linux Bastel Projekt habe ich mir ein "Min-NAS" gebaut und nun Probleme die HDD über hdparm nach x min Inaktivität automatisch in den Spin down zu schicken.
  • BananaPi M2 Berry
  • 8 TB HDD über SATA angebunden (leider exFAT formatiert)
  • ARMBIAN 5.69 stable Debian GNU/Linux 9 (stretch) 4.19.25-sunxi
Mittlerweile läuft, das Setup soweit zu meiner Zufriedenheit, auch wenn ich bei einem Neustart (natürlich, da das erste Projekt) fast alles anders machen würde.

Seit ich versucht habe hdparm -S 240 reboot persistent (über crontab -e bzw. /etc/hdparm.conf) zu machen, ist dies wirkungslos. Die Änderungen sind wieder gelöscht, ohne Veränderung.

Dann habe ich verschiedene hdparm -B Werte unterhalb von 128 ausprobiert, bei denen spinndown möglich sein soll.
# hdparm -B 127 /dev/sda

Dies hat nur geändert, dass als Antwort auf sudo hdparm -I /dev/sda | grep level nicht mehr die Spindownzeit von hdparm - S folgt, sondern der Wert von hdparm -B

Aktuelles hdparm Antworten:
Code:
root@banaNAS:~# hdparm -B 12 /dev/sda

/dev/sda:
 setting Advanced Power Management level to 0x0c (12)
 APM_level      = 12
root@banaNAS:~# sudo hdparm -S 50 /dev/sda

/dev/sda:
 setting standby to 50 (4 minutes + 10 seconds)

root@banaNAS:~# sudo hdparm -I /dev/sda | grep level
        Advanced power management level: 12

Der gesetzte hdparm -B Wert bleibt auch nach dem reboot erhalten

Manuelles sudo hdparm -Y /dev/sda funktioniert weiterhin, aber zeitgesteuert klappt es nicht mehr
Das noch mit installierte Radicale sowie duplicati, liegen selbst sowie deren Daten auf der SD Karte, so dass ich nicht glaube, dass diese die Ursache sind.

Der Thread hier blieb ohne Lösung und ging in die Richtung, dass es mit ext4 zu tun haben könnte, das bei mir nicht zum Einsatz kommt

Weiß jemand wie man hdparm -B wieder zurück setzt? Oder hat sonst eine Idee? Das ganze muss nicht reboot persistent sein, bananapi läuft durch, somit führe ich das gerne nach den seltenen reboots manuell wieder aus.

Da auf die Festplatte nicht oft zugegriffen wird und ich deshalb nicht den Aufpreis für eine 24/7 NAS HDD gezahlt habe, wollte ich die Festplatte über hdparm -S bzw. -B nach 20 min ohne Zugriff in den Spindown schicken lassen.
Das hatte manuell über sudo hdparm -S 240 /dev/sda auch funktioniert.

Dann habe ich jedoch versucht, das ganze auch noch reboot persitent zu machen, und seit dem ist hdparm -S bzw. -B wirkungslos

Versuche
  • crontab -e
    • @ReBoot sudo hdparm -S 240 /dev/sda
  • /etc/hdparm.conf
    • /dev/sda {
      spindown_time = 240
      }
    • bzw. das selbe per uuid bzw. label

Nachdem ich über dieses Wiki https://wiki.archlinux.org/index.php/hdparm#APM_level_reset_after_suspend gestolpert bin, habe ich verschiedene hdparm -B Werte unterhalb von 128 ausprobiert, bei denen spinndown möglich sein soll.
# hdparm -B 127 /dev/sda

Dies hat nur geändert, dass als Antwort auf sudo hdparm -I /dev/sda | grep level nicht mehr die Spindownzeit von hdparm - S folgt, sondern der Wert von hdparm -B
 
/dev/sda:

ATA device, with non-removable media
Model Number: WDC WD80EMAZ-00M9AA0
Serial Number: VAG407NL
Firmware Revision: 81.00A81
Transport: Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6, SATA Rev 3.0; Revision: ATA8-AST T13 Project D1697 Revision 0b
Standards:
Used: unknown (minor revision code 0x0029)
Supported: 9 8 7 6 5
Likely used: 9
Configuration:
Logicalmaxcurrent
cylinders1638316383
heads1616
sectors/track6363
--
CHS current addressable sectors: 16514064
LBA user addressable sectors: 268435455
LBA48 user addressable sectors: 15628053168
Logical Sector size: 512 bytes
Physical Sector size: 4096 bytes
Logical Sector-0 offset: 0 bytes
device size with M = 1024*1024: 7630885 MBytes
device size with M = 1000*1000: 8001563 MBytes (8001 GB)
cache/buffer size = unknown
Form Factor: 3.5 inch
Nominal Media Rotation Rate: 5400
Capabilities:
LBA, IORDY(can be disabled)
Queue depth: 32
Standby timer values: spec'd by Standard, no device specific minimum
R/W multiple sector transfer: Max = 16Current = 0
Advanced power management level: 12
DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 *udma6
Cycle time: min=120ns recommended=120ns
PIO: pio0 pio1 pio2 pio3 pio4
Cycle time: no flow control=120ns IORDY flow control=120ns
Commands/features:
EnabledSupported:
*SMART feature set
Security Mode feature set
*Power Management feature set
*Write cache
*Look-ahead
*Host Protected Area feature set
*WRITE_BUFFER command
*READ_BUFFER command
*NOP cmd
*DOWNLOAD_MICROCODE
*Advanced Power Management feature set
Power-Up In Standby feature set
*SET_FEATURES required to spinup after power up
SET_MAX security extension
*48-bit Address feature set
*Device Configuration Overlay feature set
*Mandatory FLUSH_CACHE
*FLUSH_CACHE_EXT
*SMART error logging
*SMART self-test
*Media Card Pass-Through
*General Purpose Logging feature set
*WRITE_{DMA|MULTIPLE}_FUA_EXT
*64-bit World wide name
*URG for READ_STREAM[_DMA]_EXT
*URG for WRITE_STREAM[_DMA]_EXT
*WRITE_UNCORRECTABLE_EXT command
*{READ,WRITE}_DMA_EXT_GPL commands
*Segmented DOWNLOAD_MICROCODE
*unknown 119[6]
unknown 119[7]
*Gen1 signaling speed (1.5Gb/s)
*Gen2 signaling speed (3.0Gb/s)
*Gen3 signaling speed (6.0Gb/s)
*Native Command Queueing (NCQ)
*Host-initiated interface power management
*Phy event counters
*NCQ priority information
*READ_LOG_DMA_EXT equivalent to READ_LOG_EXT
Non-Zero buffer offsets in DMA Setup FIS
DMA Setup Auto-Activate optimization
Device-initiated interface power management
In-order data delivery
*Software settings preservation
unknown 78[7]
unknown 78[10]
unknown 78[11]
*SMART Command Transport (SCT) feature set
*SCT Write Same (AC2)
*SCT Error Recovery Control (AC3)
*SCT Features Control (AC4)
*SCT Data Tables (AC5)
*SANITIZE feature set
*OVERWRITE_EXT command
*reserved 69[3]
*DOWNLOAD MICROCODE DMA command
*WRITE BUFFER DMA command
*READ BUFFER DMA command
Security:
Master password revision code = 65534
supported
notenabled
notlocked
notfrozen
notexpired: security count
notsupported: enhanced erase
810min for SECURITY ERASE UNIT.
Logical Unit WWN Device Identifier: 5000cca099c1d269
NAA: 5
IEEE OUI: 000cca
Unique ID: 099c1d269
Checksum: correct


Ich finde darin nichts
 
lies evtl. mal was zu -B unter https://linuxwiki.de/hdparm ab „Vorwort und Beispiel für Settings“ steht und experimentier evtl. mal mit den -B Werten. Evtl. hilft dir -B 254 oder 255.
 
  • Gefällt mir
Reaktionen: Kr0nos
Kr0nos schrieb:
Weiß jemand wie man hdparm -B wieder zurück setzt?

Normal sollte sich diese Einstellung zurücksetzen sobald die HDD komplett stromlos ist, also z.B. nach dem Ausschalten bzw. Standby des kompletten Rechners. Neustart reicht nicht.
 
@br4tmaxe
vielen Dank, habe nicht daran gedacht, dass reboot nicht ausreicht.
Leider hat das zurücksetzen des Levels aber auch keine Veränderung gebracht

@alxa -B 254 und 255 haben leider auch nicht geholfen.
Aber vielen Dank für den Link, das dortige disk_spindown2.sh script konnte ich anpassen und hat die HDD nun schon 2mal in den Spindown versetzt👍 Vielen Dank
 
Ist dir bewusst, dass Festplatten nicht beliebig viele Spindowns überleben? Falls deine Nutzung des Geräts also mit häufigem Aufwachen aus dem Spindown einhergeht, ist es besser, diesen zu vermeiden.
 
@lapetos: ja ist es mir
Da auf die Festplatte nicht oft zugegriffen wird und ich deshalb nicht den Aufpreis für eine 24/7 NAS HDD gezahlt habe, wollte ich die Festplatte über hdparm -S bzw. -B nach 20 min ohne Zugriff in den Spindown schicken lassen.
 
  • Gefällt mir
Reaktionen: Iapetos
Mach mal hdparm -Y und warte eine gewisse Zeit. Wenn sie sich von alleine wieder einschaltet, werden die Filehandles halt bedient, bzw. die Platte immer wieder angesprochen, so dass sie nicht in den Sleep gehen kann.
 
Zurück
Oben