Если при установленном Linux (да и в Windows есть такая проблема), диск частенько щелкает - поздравляю, отрабатывает APM (Advanced Power Management) и паркует головку диска. В некоторых моделях это происходит каждый 3 секунды. Бесполезная вещь, которая напрягает механику диска и всех окружающих, т.к. слышать эти щелчки быстро надоедает.
Если проверить счетчик циклов командой
smartctl -a /dev/sda | grep Load_Cycle_Count
становится очевидно что проблема есть и что-то с ней нужно делать.
Есть утилита от WD: https://support.wdc.com/downloads.aspx?p=113 и есть адаптированное решение под Linux: http://idle3-tools.sourceforge.net/ но увы, работают не со всеми моделями дисков. У меня все варианты запуска выдавали «sg16(VSC_SENDKEY) failed: Invalid exchange»:
idle3ctl -g /dev/sda idle3ctl -g100 /dev/sda idle3ctl -g101 /dev/sda idle3ctl -g103 /dev/sda sg16(VSC_SENDKEY) failed: Invalid exchange
Часто советуемый вариант с
hdparm -J
у меня тоже не сработал - команда применяется, но диск продолжает щелкать. Зато помог другой подход:
hdparm -B 255 -S 0 /dev/sda
Чтобы данная настройка заработала при загрузке системы (или при необходимости ее можно было отключить) создал файл /etc/systemd/system/wd-apm.service
[Unit] Description=Western Digital disable APM [Service] ExecStart=hdparm -B 255 -S 0 /dev/sda [Install] WantedBy=multi-user.target
Далее включаем запуск при загрузке:
systemctl daemon-reload systemctl enable wd-apm.service