Come si configura un dispositivo di archiviazione che è “acceso” solo quando utilizzato?


10

Uso il mio Pi come homeserver (senza testa via ssh, sempre acceso, riavviato una volta alla settimana). Esegue raspbian e sto eseguendo Ubuntu sul mio desktop. Ora, voglio aggiungere dischi rigidi per backup e NAS al Pi. Al momento utilizzo un disco rigido USB esterno, ma in seguito potrei voler utilizzare un sistema di raid (nel caso in cui un'unità si guasti). Uso anche autofs con --ghost per smontare l'unità quando non viene utilizzata per un po 'di tempo.

L'idea / speranza dietro questo era che il disco rigido sarebbe entrato in una sorta di modalità standby / spindown quando smontato tramite autofs, ma non è così. Sembra girare più velocemente di sempre, e diventa anche caldo come quando montato.

Quindi quello che voglio è l'archiviazione di massa che passa alla modalità sleep / standby più profonda disponibile, quindi non si surriscalda troppo, risparmia energia e si sveglia solo quando necessario (cioè quando montato). Qualcuno sa come posso raggiungere questo obiettivo? Grazie.

EDIT: ho provato quanto segue:

$ sudo hdparm -Y /dev/sda

/dev/sda:
 issuing sleep command
SG_IO: bad/missing sense data, sb[]:  70 00 05 00 00 00 00 0a 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

e

$ sudo hdparm -y /dev/sda

/dev/sda:
 issuing standby command
SG_IO: bad/missing sense data, sb[]:  70 00 05 00 00 00 00 0a 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

e

sudo sdparm --flexible --command=stop /dev/sda

questa sembra essere quasi la soluzione, l'unità si gira verso il basso, ma dopo circa un secondo diventa di nuovo veloce.

EDIT2: questo sembra promettente:

Qualcuno mi ha detto che dovrei usare espulsione, e ha funzionato. Tuttavia, non è installato per impostazione predefinita. Quindi ho fatto quanto segue:

sudo apt-get install eject
sudo eject /dev/sda

E l'unità si è completamente ridotta. Autofs era ancora in grado di svegliarlo. Dato che uso autofs per decidere quando l'unità viene smontata (e per montarla automaticamente quando necessario), devo eseguire questo comando quando autofs ha smontato l'unità. Tuttavia, non ho trovato una soluzione per farlo. Hai qualche suggerimento?


Nel mio caso l'HDD si gira dopo 10 minuti di inattività, quando il server è in esecuzione (odroid), ma quando è scollegato o il server non funziona, quindi gira indefinitamente. Cosa succede all'HDD esterno quando si spegne l'RPI?
inf3rno,

il mio non si ferma nemmeno con "espulsione". L'unico che funziona è inattivo ma si ferma solo per 1 minuto, quindi si riaccende.
Danny182,

Risposte:


4
sudo hdparm -y /dev/sda

(supponendo che tu abbia solo un disco USB collegato) può mettere il dispositivo in sospensione. Se lo fai dopo aver smontato il dispositivo, dovrebbe rimanere in questa modalità di risparmio energetico fino a quando non provi a montarlo di nuovo.

Puoi anche provare l' -Yopzione per la modalità di sospensione invece di stand-by.

Puoi anche provare:

hdparm -k1 -K1 -S2 /dev/sda

che dovrebbe far girare l'unità dopo 10 secondi di inattività (è possibile passare -SXXad altri valori (1-240 può essere utilizzato per specificare multipli di 5 secondi, 0 gira il tempo di inattività, 241-255 può essere utilizzato per specificare periodi più lunghi).

Un'altra opzione che potresti provare è usare:

sdparm --flexible --command=stop /dev/sda

Nota: sembra che i comandi supportati dipendono dal convertitore HDD e HDD-> USB utilizzato.


Ho l'impressione che hdparm non funzioni necessariamente su dischi collegati tramite USB. Ciò potrebbe dipendere dal controller da USB a SATA (o IDE) in uso. Ma su dischi IDE o SATA direttamente collegati sono sicuro che hdparm sia la strada giusta.
Frepa,

@Frepa: so che almeno alcune persone hanno riferito che funziona per loro, quindi potrebbe davvero dipendere dal controller specifico.
Krzysztof Adamski il

Ok buono a sapersi. Non l'ho fatto funzionare da solo, non so esattamente perché.
Frepa,

Scusa se ho risposto così tardi, non riuscivo a trovare il tempo per provare questo. L'ho provato ora, ma non funziona per me. Modificherò i messaggi di errore dal terminale nella mia domanda.
verpfeilt,

@chocobai: ho aggiornato la mia risposta. Potrebbe aiutare il tuo caso.
Krzysztof Adamski

1

L'APM (Advanced Power Management) di un disco rigido collegato tramite bridge da USB a SATA può essere impostato tramite comando

sudo smartctl -s apm,127 /dev/sdx

Il valore 127 significa "livello intermedio (APM) con standby ". Utilizzando questo livello, il disco rigido si spegne dopo alcuni secondi di inattività e si riavvia su richiesta.

Testato su BeagleBone, Ubuntu 13.10.


Per installare smartctlè necessario eseguiresudo apt-get install smartmontools
Hengjie

0

Le porte USB sono soluzioni generali solo per ... per tutto, ma non specializzate su hard disk, queste porte USB-2 lente hanno accesso condiviso con l'adattatore Ethernet. Ciò significa che sarai lento come l'inferno con molti dischi collegati a loro.

È possibile utilizzare una scheda controller aggiuntiva per la soluzione del progetto. Cerca "raspberry pidrive" e ottieni una scheda controller X8XX da collegare.

Puoi anche consultare https://www.smartmontools.org/wiki/USB che descrive cosa è possibile con un'interfaccia USB "humpty-dumpty" e quale controllo hai con SATA ....

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.