Un service per mettere a riposo l' HDD

Problemi e discussioni inerenti ai PC portatili e ai loro accessori
Rispondi
Avatar utente
TheSaint
Robin Hood
Messaggi: 7813
Iscritto il: 8 settembre 2007, 7:43
Architettura: x86_64 (64bit)
Località: davanti al computer

Un service per mettere a riposo l' HDD

Messaggio da TheSaint » 18 gennaio 2018, 3:30

Ciao forum,
Ho messo l' argomento qui, il mio portatile ha due collegamenti SATA. Magari non solo il mio portatile ad averne :)
Mi ha colto la mania del SSD. Quindi ho l' HDD inusato, allora ho fatto un ragionamento che potrei mettere il comando in ~/.bash_profile. Ma mi sono accorto che non è un comando che si può eseguire da utente. Da questo ho pensato da un service per systemd. Fortunatamente la ricerca è stata fruttuosa e mi son risparmato qualche rompicapo per scrivere un service da me.

Codice: Seleziona tutto

# /etc/systemd/system/sda-spindown.service
[Unit]
Description=Set HDD spindown

[Service]
Type=oneshot
ExecStart=/usr/bin/hdparm -B 241 /dev/sdb
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target
Quindi si può avviare subito e metterlo nel processo di esecuzione

Codice: Seleziona tutto

systemctl daemon-reload
systemctl enable sda-spindown.service
systemctl start sda-spindown.service
F the saint
12 anni da questo forum ;)

caruso spaonazzo
Arciere Provetto
Messaggi: 484
Iscritto il: 9 maggio 2017, 14:06

Re: Un service per mettere a riposo l' HDD

Messaggio da caruso spaonazzo » 18 gennaio 2018, 12:14

interessante, per risvegliarlo poi come faccio?

VenereNera
Little John
Messaggi: 887
Iscritto il: 20 dicembre 2012, 19:50

Re: Un service per mettere a riposo l' HDD

Messaggio da VenereNera » 18 gennaio 2018, 13:02

Lo usi normalmente, non è che si spegne o che. Appena selezioni un file/cartella/contenuto del disco, questi si sveglia. :P
EDIT: Adesso @thesaint ha creato un servizio anche se in realtà basterebbe una regola in udev. La differenza sta che un service lo mette a ninna sin dal boot mentre udev quando non lo usi per x tempo (opzione -S).
Comunque -B 241 non supporta lo spin-down.

caruso spaonazzo
Arciere Provetto
Messaggi: 484
Iscritto il: 9 maggio 2017, 14:06

Re: Un service per mettere a riposo l' HDD

Messaggio da caruso spaonazzo » 18 gennaio 2018, 13:34

si parla solo di hd interni giusto?

perché quelli esterni vanno a riposo automaticamente (o solo alcuni, o nessuno?)

Avatar utente
TheSaint
Robin Hood
Messaggi: 7813
Iscritto il: 8 settembre 2007, 7:43
Architettura: x86_64 (64bit)
Località: davanti al computer

Re: Un service per mettere a riposo l' HDD

Messaggio da TheSaint » 18 gennaio 2018, 14:17

VenereNera ha scritto:
18 gennaio 2018, 13:02
Comunque -B 241 non supporta lo spin-down.
Grazie dell' informazione. Credo che gli cambio la linea di comando e gli metto un bel -y.
Ho notato anche la regola di udev. Non è che sia una paranoia, mi basta che sta fermo. Tanto non ho dati da mettergli.

A dispetto degli allarmi, che avevo anche commentato in un altro argomento, ho finalmente svuotato tutti i dati e fatto passare al pettine con badblocks. Alla fine non ci sono blocchi difettosi. Era piùttosto il caso della partizione NTFS. Fine, nouva vita al disco vecchio.

Noto che avendolo usato per diverse ore è freddo. Leggermente tiepido dalla parte della GPU.
F the saint
12 anni da questo forum ;)

VenereNera
Little John
Messaggi: 887
Iscritto il: 20 dicembre 2012, 19:50

Re: Un service per mettere a riposo l' HDD

Messaggio da VenereNera » 18 gennaio 2018, 23:30

@caruso spaonazzo per HDD/SSD in genere.

Avatar utente
TheSaint
Robin Hood
Messaggi: 7813
Iscritto il: 8 settembre 2007, 7:43
Architettura: x86_64 (64bit)
Località: davanti al computer

Re: Un service per mettere a riposo l' HDD

Messaggio da TheSaint » 19 gennaio 2018, 4:14

Eppure il link cita
to apply power-saving settings for all external drives
E magari una ricerca hdparm external drive avresti notato questo.
È presumibile che hdparm agisce in /dev/sd??, quindi quello che passa i kernel viene usato da hdparm. Poi dipende dal modo che i parametri sono passati al controllore del disco tramite l' USB.
Ma nei computer recenti in genere le periferiche usano questo BUS seriale, che comprende anche il sotto sistema USB.
F the saint
12 anni da questo forum ;)

Zar Marco
Arciere Provetto
Messaggi: 617
Iscritto il: 29 dicembre 2015, 11:34
Architettura: x86_64 (64bit)

Re: Un service per mettere a riposo l' HDD

Messaggio da Zar Marco » 19 aprile 2018, 20:38

Parlando dello stesso argomento mi sembra corretto continuare qui, ma che differenza c'è tra il service che viene modificato in questo thread e quello presente nella pagina wiki di hdparm?

Codice: Seleziona tutto

 Putting a drive to sleep directly after boot
A device which is rarely needed can be put to sleep directly at the end of the boot process. This does not work with the above udev rule because it happens too early. In order to issue the command when the boot is completed, just create a systemd service and enable it:

/etc/systemd/system/hdparm.service
[Unit]
Description=hdparm sleep

[Service]
Type=oneshot
ExecStart=/usr/bin/hdparm -q -S 120 -y /dev/sdb

[Install]
WantedBy=multi-user.target[\code]
Lenovo Legion Y520 Intel i7 7700HQ 8Gb ram arch(x86_64)+plasma5+i3wm
Macbook pro intel core 2duo 8gb di ram arch(x86_64)+i3wm

Avatar utente
TheSaint
Robin Hood
Messaggi: 7813
Iscritto il: 8 settembre 2007, 7:43
Architettura: x86_64 (64bit)
Località: davanti al computer

Re: Un service per mettere a riposo l' HDD

Messaggio da TheSaint » 20 aprile 2018, 8:15

Sono i parametri del programma hdparm.
In breve tradotto significa:
q = quiet
S nnn = tempo di spegnimento
y forza di spegnere immediatamente il drive
Per me basta y, non ho tenuto conto degli altri parametri.
F the saint
12 anni da questo forum ;)

Rispondi