Почему один из двух жестких дисков выходит из спящего режима при первом графическом входе в систему Linux?

473
vedg

У меня есть два архивных жестких диска, которые я использую очень редко (в среднем я монтирую их разделы не чаще одного раза в неделю). Поскольку я выключал компьютер ночью, я пытался предотвратить их вращение при повседневной загрузке, но это кажется слишком сложным: требует исправления ядра Linux . В качестве худшей, но более простой альтернативы я создал простой системный модуль, который переводит жесткие диски в спящий режим сразу после загрузки ( ExecStart=/usr/bin/hdparm -Y /dev/disk/by-id/...и WantedBy=multi-user.target). Это почти работает: оба диска вращаются при загрузке. Я подтвердил это с помощью логина терминала в tty2: sudo hdparm -C /dev/sd[bc]reports drive state is: standby.

Однако, как только я вхожу в графическую оболочку, один из дисков громко раскручивается, и hdparm сообщает drive state is: active/idleоб этом. Это происходит как с XFCE, так и с KDE Plasma 5 (Manjaro GNU / Linux с последними обновлениями), а также с другим пользователем той же системы. После hdparm -Y ...пробуждения диска я усыпляю его вручную ( ), и он больше не просыпается, пока я не перезагружаю компьютер. Выйти из системы, затем войти в нее, даже как другой пользователь, больше не будит ни одного диска.

Этот пробуждающий диск всегда один и тот же. Я попытался поменять местами кабели SATA этих двух жестких дисков, которые меняли свои идентификаторы (sdb <-> sdc), но при первом графическом входе в систему все же тот же физический жесткий диск пробуждается. Этот пробуждающий диск определенно нигде не упоминается в моих файлах конфигурации из-за его постоянного идентификатора, потому что я приобрел его недавно (из вторых рук). Более конкретно, диск, который продолжает спать, - это Samsung HD103UJ, а диск, который пробуждается при первом графическом входе в систему, - это Samsung HD154UI .

Я наблюдаю / dev / sd [bc] доступ с помощью audd . Логи практически одинаковы для обоих дисков. Сначала я захожу в консоль tty2 и запускаю sudo hdparm -C /dev/sd[bc]: оба диска спят; затем я переключаюсь на tty7 и захожу в XFCE с экрана lightdm; Я быстро переключаюсь на tty2 и теперь один из дисков больше не спит. Суть sudo ausearch -f /dev/sdbвывода команды соответствует этим событиям:

comm="hdparm" exe="/usr/bin/hdparm" comm="udisksd" exe="/usr/lib/udisks2/udisksd" comm="hdparm" exe="/usr/bin/hdparm" comm="udisksd" exe="/usr/lib/udisks2/udisksd" comm="pool" exe="/usr/lib/udisks2/udisksd" comm="pool" exe="/usr/lib/udisks2/udisksd" ... 

И так далее. comm="pool"Линия появляется каждые 10 минут в журнале, или чаще в то время как гном-диски работают, но comm="udisksd"линия не появляется до перезагрузки. Предполагая, что audd сообщает обо всех обращениях к диску, это comm="udisksd"должно быть причиной пробуждения. Но почему только один из 2 жестких дисков? Возможно, нарушающий жесткий диск можно настроить так, hdparmчтобы он не просыпался?

Я сравнил hdparm -I /dev/sdbи hdparm -I /dev/sdcрезультаты со смесью. Также попробовал -Iv, -iи -ivварианты вместо -I. Различия в значительной степени ограничены уникальными идентификаторами, размерами дисков, геометрией. Единственное различие, которое может вызвать эту несогласованность при пробуждении, - это Версия прошивки: 1A A 01118 на диске без пробуждения и 1A G 01118 на диске пробуждения.

0
Я бы также догадался о `udisks` из вашего первоначального описания, потому что именно это заставляет мои раскрученные HD увеличивать скорость. Поскольку я не использую рабочий стол Gnome / KDE, моим решением было отключить udisks. Я не знаю, почему он пытается раскрутить только один диск в вашей системе - то, что делает udisks, это пытается получить информацию о дисках, чтобы они могли представить их через DBus для настольных приложений. dirkt 5 лет назад 0

0 ответов на вопрос

Похожие вопросы