У меня есть два архивных жестких диска, которыми я пользуюсь очень редко (я монтирую их разделы вручную в среднем реже одного раза в неделю). Поскольку я выключал компьютер ночью, я пытался предотвратить их вращение при повседневной загрузке, но это кажется слишком сложным: требует исправления ядра Linux. В качестве худшей, но более простой альтернативы я создал простой системный модуль, который переводит жесткие диски в спящий режим сразу после загрузки (ExecStart=/usr/bin/hdparm -Y /dev/disk/by-id/... и WantedBy=multi-user.target). Это почти работает: оба диска вращаются при загрузке. Я подтвердил это с помощью входа в терминал через tty2: sudo hdparm -C /dev/sd[bc] сообщает, что 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 минут в журнале или чаще, когда gnome- disk работает, но строка comm="udisksd" не появляется до перезагрузки. Предполагая, что audd сообщает обо всех обращениях к диску, этот comm="udisksd" должен отвечать за пробуждение. Но почему только один из 2 жестких дисков? Возможно, жесткий диск можно настроить с помощью hdparm чтобы он не просыпался?

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

0