====== Western Digital: отключаем APM ======
Если при установленном 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
{{tag>hdd western_digital wd smart APM smartctl Load_Cycle_Count idle3ctl hdparm}}