Automatycznie wyłączaj dyski twarde USB po okresie bezczynności

4

Chciałbym automatycznie wyrzucić dyski twarde USB po okresie bezczynności, powiedzmy 15 minut. I, oczywiście, automatycznie je rozkręca podczas uzyskiwania dostępu. Jak mogę to zrobić? Dzięki

Chris
źródło
2
Myślę, że to zależy od kontrolera interfejsu. Mam jeden (Toshiba), który to robi, a raczej nie, i drugi (Seagate), który działa normalnie. Nie wiem, czy można to zmienić za pomocą oprogramowania.

Odpowiedzi:

1

Narzędzie hd-idle powinno być pomocne

Proszę spojrzeć na źródło podane poniżej, uważnie przeczytać i sprawdzić, czy to pomaga:

  1. Pobierz kod źródłowy za CVSpomocą tych poleceń:

    • cvs -d:pserver:[email protected]:/cvsroot/hd-idle login
      • Po wyświetleniu prośby o podanie hasła naciśnij Return
    • cvs -z3 -d:pserver:[email protected]:/cvsroot/hd-idle co -P hd-idle
  2. Systemy Debian:

    • Biegać: dpkg-buildpackage -rfakeroot
    • Aby zainstalować pakiet, uruchom: „dpkg -i ../hd-idle_*.deb”
  3. Stosowanie:

    hd-idle
    
    # This will start hd-idle with the default options, 
    # causing all SCSI (read: USB, Firewire, SCSI, ...) hard disks 
    # to spin down after 10 minutes of inactivity
    

Uwaga: należy pamiętać, że hd-idle używa /proc/diskstatsdo odczytu statystyk dysku. Jeśli ten plik nie jest obecny, HD-Idle nie będzie działać.

Informacja:

Uruchamianie bezczynności HD

Aby uruchomić hd-idle, wpisz „hd-idle”. Spowoduje to uruchomienie trybu bezczynności hd z domyślnymi opcjami, powodując, że wszystkie dyski twarde SCSI (czytaj: USB, Firewire, SCSI, ...) po 10 minutach braku aktywności będą się obracać.

W systemie Debian, po edycji / etc / default / hd-idle i włączeniu go, użyj „/etc/init.d/hd-idle start”, aby uruchomić hd-idle.

Pamiętaj, że hd-idle używa / proc / diskstats do odczytu statystyk dysku. Jeśli ten plik nie jest obecny, HD-Idle nie będzie działać.

Opcje wiersza poleceń

-a <name>   Set (partial) device name of disks for subsequent idle-time parameters (-i). This parameter is optional in the sense that there's a default entry for all [SCSI] disks which are not named otherwise by using this parameter.
-i <idle_time>  Idle time in seconds for the currently named disk(s) (-a <name>) or for all disks.
-l <logfile>    Name of logfile (written only after a disk has spun up). Please note that this option might cause the disk which holds the logfile to spin up just because another disk had some activity. This option should not be used on systems with more than one disk except for tuning purposes. On single-disk systems, this option should not cause any additional spinups.
-t <disk>   Spin-down the specified disk immediately and exit. Use only the disk name (e.g. sda) without /dev/ prefix
-d  Debug mode. This will prevent hd-idle from becoming a daemon and print debugging info to stdout/stderr
-h  Print brief usage information

W odniesieniu do parametru „-a”:

Użytkownicy HD-Idle poprosili o środki do ustawienia parametrów czasu bezczynności dla poszczególnych dysków. Ma to sens, nie tylko dlatego, że niektóre dyski [SCSI] mogą nie reagować dobrze na zatrzymanie. Początkowo hd-bezczynność miała jeden czas bezczynności dla wszystkich dysków. Za pomocą parametru „-a” można teraz ustawić filtr nazwy urządzenia na dysku (pomiń / dev /) dla kolejnych ustawień czasu bezczynności.

  1. Opcja „-i” przed pierwszą opcją „-a” ustawi domyślny czas bezczynności; stąd zachowana jest kompatybilność z poprzednimi wydaniami hd-idle.

  2. Aby domyślnie wyłączyć rozkładanie dysków, a następnie ponownie włączyć rozkładanie na wybranych dyskach, ustaw domyślny czas bezczynności na 0.

Przykład:

hd-idle -i 0 -a sda -i 300 -a sdb -i 1200

W tym przykładzie ustawiono domyślny czas bezczynności na 0 (co oznacza, że ​​hd-bezczynność nigdy nie będzie próbować spuścić dysku), a następnie ustawia jawne czasy bezczynności dla dysków, które w nazwie urządzenia mają ciąg „sda” lub „sdb”. Zatrzymywanie bezczynności HD

Służy killall hd-idledo zatrzymania trybu HD-Idle. W systemie Debian użyj /etc/init.d/hd-idle stop.

Źródło:

http://hd-idle.sourceforge.net/

George Udosen
źródło
1

Zwykle dotyczy to kontrolera USB-SATA po stronie dysku twardego. Oprogramowanie większości zewnętrznych dysków twardych USB również nie jest konfigurowalne, więc nie zawsze można tak ustawić. Mogą istnieć pewne kontrolery, które mogą to zrobić, ale nie znam takich, które są głównymi urządzeniami z twardym dyskiem USB.

Niestety, nie ma prawdziwego sposobu, aby to zmienić albo tylko z Linuksem i jego podstawowym oprogramowaniem, jeśli kontroler nie pozwala już na dokonywanie tego rodzaju zmian ustawień za pomocą własnego pakietu oprogramowania lub czegoś takiego.

Thomas Ward
źródło
1

Możesz użyć hdparm, aby ustawić wartość od 1 do 255 dla spindown.

Poleceniem tego jest hdparm -S255 / dev / sdX z X oczywiście zastosowanym do twoich urządzeń.

Możesz użyć blkid, aby znaleźć odpowiednie urządzenie.

Następnie urządzenie włącza się, gdy jest dostępne.

Użyj hdparm -C / dev / sdX, aby sprawdzić status urządzenia (bezczynność / aktywność / gotowość z trybem gotowości oznacza obniżenie prędkości).

Zachowaj ostrożność: Możesz również ręcznie uruchomić urządzenie za pomocą hdparm -y / dev / sdX . Może to być przydatne do stwierdzenia, czy w ogóle się obraca (patrz poniżej).


Chcę dodać, że teraz działa to z moją konfiguracją:

  • Raspberry Pi
  • Dysk twardy HGST 10 TB
  • Połączony przez USB3

Ale to nie działało cały czas. Przy pierwszym połączeniu nie wirowało ręcznie i nie wirowało automatycznie. Nie jestem pewien, co zmieniło zachowanie dysku. Dwie rzeczy, które zrobiłem pomiędzy:

  • Odłącz dysk i podłącz go do laptopa Win10 i uruchom program sprawdzający od producenta dysku. Właśnie wykonał krótki test SMART. Szukałem ustawienia, aby zmienić tam spindown lub APM, ale nie było to możliwe.
  • Zainstalowałem HD-Idle na Raspberry. Ale tryb HD-Idle nie spowodował spowolnienia dysku. Szukałem więc wskazówek, jak naprawdę działa hd-idle. Podczas szukania ponownie spróbowałem ręcznie go obrócić i zadziałało to nagle.

Btw. mój poziom zaawansowanego zarządzania energią to 254. ( hdparm -B / dev / sdX ). Nie jestem pewien, w jaki sposób APM jest powiązany z czasem spindown. Zwykle wartość 254 powinna zapobiegać jakimkolwiek obrotom. Przeczytałem również, że aby włączyć spindown, należy ustawić wartość 127 lub niższą.

Myślałem, że może dyski twarde wyprodukowane na potrzeby NAS mogą stłumić spindown. Opublikowałem tę odpowiedź z dodatkowymi wątpliwymi szczegółami, aby uzyskać więcej wglądu w temat od innych autorów. Z przyjemnością zaktualizuję odpowiedź później.

EDYCJA: Nie działa cały czas. Dysk w trybie gotowości zostaje obudzony bez dostępu do niego. Ponadto, ponieważ usunąłem HD-Idle, automatyczny tryb gotowości z -S już nie działa.

Ben
źródło
Wow, bardzo dokładna odpowiedź!
Chris
W sieci istnieje wiele odpowiedzi i przewodników dotyczących hdparm. Właśnie skopiowałem i dostosowałem do swoich potrzeb. Jak powiedziałem, nie działa już z moją konfiguracją i obecnie badam, na czym polega problem.
Ben
1

Otwórz programy

Przejdź do narzędzi, w których możesz otwierać dyski

Na górnym pasku po lewej stronie ikony minimalizacji

znajdziesz ikonę kliknij to i przejdź do ustawień napędu

tam możesz zmienić / włączyć ustawienia rozwijania dla dysku USB lub innych dysków.

Trond Hansen
źródło