У меня есть жесткий диск, который должен перейти в режим ожидания автоматически через 30 или 60 минут.
Я попробовал (3 минуты для тестирования):
# hdparm -S 36 /dev/sda
/dev/sda:
setting standby to 36 (3 minutes)
И это не сработало, даже когда не было доступа более 5 минут. Теперь я подумал о некотором процессе доступа к данным, поэтому я проверил
# hdparm -y /dev/sda
/dev/sda:
issuing standby command
Драйв перешел в режим ожидания и продолжал спать, как вы можете посмотреть с
# hdparm -C /dev/sda;date
/dev/sda:
drive state is: standby
Прикосновение к какому-либо файлу в точке монтирования разбудило его, как и следовало ожидать.
Почему не работает автоматическая приостановка? Насколько я понял, он даже должен отключать жесткий диск независимо от операционной системы, пока нет доступа.
Ответы:
Обратите внимание, что некоторые диски не поддерживают эту функцию, даже если команда прошла. Вам также может понадобиться снизить уровень Advanced Power Management до 127 или менее с
hdparm -B 127 /dev/sda
. Со страницы руководства:Если все не удается, вы можете написать небольшой скрипт, который опрашивает
/proc/diskstats
или/sys/block/sda/stat
определяет количество операций чтения / записи на устройстве и явно переводит диск в режим ожидания, если они не меняются в течение нескольких минут. Смотрите утилиту hd-idle .источник
hdparm -B 127
этим работает.Актуальная проблема заключалась в том
smartd
, что регулярно проверялись значения устройства, даже когда оно находилось в режиме ожидания.источник