Czy ktoś wie, czy istnieje elegancki sposób, aby powiedzieć zewnętrznemu napędowi USB, aby nie wirował po okresie bezczynności? Widziałem rozwiązania oparte na cronie, które zapisują plik co minutę, ale nic nie pachnie niezłą elegancją. Musi istnieć polecenie hdparm lub scsi, które mogę wydać (dyski USB są dostępne za pośrednictwem sterownika SD w OpenBSD) na dysk, aby powiedzieć mu, aby nie spał. Obawiam się, że jest to prawdopodobnie funkcja wbudowana w kontroler w obudowie i jako taka niewiele może go zmienić, poza wyrywaniem napędu z obudowy i umieszczaniem go bezpośrednio w maszynie, ale pomyślałem, że zapytam: przy okazji.
Idealnie szukam rozwiązania OpenBSD, ale wiem, że istnieją inni z tym samym problemem, więc wszelkie rozwiązania będą brane pod uwagę w odpowiedzi.
Odpowiedzi:
Tak, zazwyczaj jest wbudowany w oprogramowanie układowe. Niektórzy producenci napędów udostępniają narzędzie do zarządzania oparte na systemie MS Windows, które pozwala modyfikować różne parametry, w tym wyłączać „uśpienie” lub wyłącznik czasowy. Jeśli masz dostęp do okna systemu Windows, warto kontynuować ten kąt.
źródło
Tylko moje 2 centy ...
Jest więcej niż prawdą, że obracanie dysków zmniejsza ich żywotność. Lata doświadczeń pokazały, że uruchomienie i zatrzymanie silnika dyskowego powoduje znacznie większe zmęczenie niż wirowanie 24/7. Wszystkie moje dyski z dużą liczbą start / stop przeniosły sektory, a wszystkie moje dyski, które obracają 10 lat 24/7 są (wierzcie lub nie) dobre jak nowe. W końcu dyski są przeznaczone do wirowania, a nie do pracy na biegu jałowym, więc jeśli Twoim priorytetem jest mniejsze zmęczenie niż zużycie energii, możesz swobodnie obracać dyski 24/7.
Mam zewnętrzny dysk 2 TB, który obraca się po 30 minutach bezczynności. Dysk powinien być zasilany 24 godziny na dobę przez 7 dni w tygodniu w celu tworzenia kopii zapasowych i działania jako mały NAS podłączony do Orange PI.
Użyłem następującej reguły udev w
(Nigdy nie działało, ponieważ spinowanie jest w oprogramowaniu układowym dysków)
Chociaż dysk obsługuje
Napisałem mały proces demona, który może działać podczas rozruchu w
który zapisuje 10 razy w cykli bieżącą datę i godzinę w pliku dziennika, dzięki czemu dysk jest zawsze włączony. Modyfikuj, jak chcesz.
Opcje wiersza poleceń to: katalog docelowy do zapisu awake.log i (opcjonalnie) opóźnienie czasowe (domyślnie 300)
na przykład
kod: (możesz skompilować za pomocą gcc)
źródło
To rozwiązanie (dla Linuksa) z http://www.arrfab.net/blog/?p=107 pomogło stworzyć dysk Seagate Portable o pojemności 1 TB, który nie przestawał spać:
Napęd reaguje natychmiast, nawet gdy jest bezczynny przez godzinę. Jednak jeszcze nie przetestowałem, czy ustawienie jest zapisywane między restartami itp.
źródło
Przekonałem się, że następujący cronjob działa dla mnie.
* / 5 * * * * / bin / touch / dev / sdb &> / dev / null
Oczywiście zaktualizuj go o nazwę urządzenia na dysku.
Możesz także zmieniać czas w zależności od tego, jak długo dysk jest bezczynny, zanim się wyłączy.
źródło
Ręczne dla Linux
hdparm
zapewnia następujące informacje:Biorąc to pod uwagę, nadal nie ma gwarancji, że obudowa napędu będzie obsługiwać przekazywanie tych instrukcji do napędu. To samo odniesienie wspomina, że możliwość użycia hdparm z obudową jest możliwa tylko w przypadku niektórych „nowszych modeli (2008 i późniejszych)”, które obsługują system tłumaczenia poleceń SCSI-ATA, czyli „SAT”. Jeszcze nie próbowałem tego robić na niczym innym, jak na niedawnym tanim dysku do tworzenia kopii zapasowych, modelu HP SimpleSave. Wydaje się, że zapewnia pewne ograniczone funkcje zarządzania energią.
I oczywiście zakłada to również, że OpenBSD
hdparm
działa w ten sam sposób. W ogóle nie mam wiedzy na temat OpenBSD, więc nie mogę ci pomóc.źródło
atactl
. Ale nie wiem, czy to działa na urządzeniach USB;atactl(8)
jest przywoływany przezwd(4)
(stronę manuala sterownika dysku IDE), ale nie przezumass(4)
(stronę manuala sterownika pamięci USB).hdparm
można go użyć w pętli w jakiś sposób bez sudo, aby zapobiec zasypianiu?hdparam
wartość domyślną dla-B [apm_setting]
?