
Проблема
- После обновления системы NAS с Buster до Bullseye диски не могут остановиться.
Моя настройка NAS
- 5x механических дисков WD RED, без RAID, ext4 без журналирования
- Debian Bullseye, ядро 5.10
- система загружается с шестого SSD диска (чтобы не разбудить механические)
- Утилита hd-idle для замедления вращения после 30 минут бездействия
hd-idle -i 0 -a sda -i 1800 -a sdb -i 1800 -a sdc -i 1800 -a sdd -i 1800 -a sde -i 1800 -l /var/log/hd-idle.log
- никаких аппаратных изменений в NAS при обновлении до Bullseye, также никаких изменений в конфигурации hd-idle
- NAS находится в таком аппаратном обеспечении уже более 8 лет, а также в программном обеспечении, в основном диски останавливались через 30 минут в течение многих лет без каких-либо проблем.
Что я пробовал
- Если я использую
hd-idle -t sda
, диск немедленно останавливается, но после пробуждения (из-за какой-то регулярной дисковой активности) он больше не засыпает. - Если диски принудительно замедляются с помощью
hd-idle -t
, они не просыпаются без регулярной активности, то есть никакая повторяющаяся задача не пробуждает их. - Я подозревал smartmontools, нет ли каких-то изменений в Bullseye, которые их пробуждают. Я немного поигрался с
/etc/smartd.conf
и-n standby
, но безуспешно, поэтому я полностью отключил smartd, чтобы выяснить, не являются ли smartmontools скрытым злодеем, но не повезло, похоже, это не так. lsof | grep /media
ничего не дает (носитель является точкой монтирования для всех этих дисков)- Я немного поигрался с
iotop
также сnmon
. Но ничего интересного не нашел, только обычная активность с SSD (системным) диском. - Я не могу запустить
iosnoop
по какой-то причине. Пакетperf-tools-unstable
установлен правильно, но вызовiosnoop
заканчиваетсяbash: iosnoop: command not found
даже как root. Я не нашел причину этого.
Очевидно, что вы не можете отладить мою систему, но я буду признателен за любые подсказки, как найти проблему, кто мешает дискам останавливаться :-)
решение1
Решено. По крайней мере я знаю, почему мои диски не спят. Я не могу точно сказать, как отследить эту проблему с помощью некоторых инструментов Linux, я нашел ее случайно в каком-то обсуждении.
Похоже на изменение в udisks2
сервисе. Этот сервис проверяет ваши диски и отвечает за автоматическое монтирование ваших USB-накопителей и т. д. Теперь сервис также проверяет SMART дисков (не знаю почему). Если диск спит, он не будет его будить, но если он активен, udisks2 проверяет SMART каждые 10 минут. Так что если время сна составляет 30 минут, диск никогда не уснет. Также диски WD Red часто не могут установить меньшее время сна, чем 10 минут (слишком агрессивное замедление вращения дисков вредно для здоровья, так что это разумный предел).
Некоторые источники:
- hd-idle закрыт вопрос:https://github.com/adelolmo/hd-idle/issues/59
- некоторые ошибки здесьhttps://bugs.launchpad.net/ubuntu/+source/udisks2/+bug/1899361и тамhttps://bugs.launchpad.net/ubuntu/+source/udisks2/+bug/1281588
- коммит в пакет udisks2, который должен решить проблему, но я не могу понять, когда он появится в моей системе:https://cgit.freedesktop.org/udisks/commit/?id=46da39c15f3
Обходной путь для системы NAS: вам, вероятно, вообще не нужна служба udisks2.
sudo systemctl stop udisks2
sudo systemctl mask udisks2