Страница 1 из 1

Предотвращение износа жёстких дисков в ноутбуках

Добавлено: 13 авг 2015, 21:17
VictorR2007
Сегодня столкнулся с проблемой постоянной парковки головок на ноутбуке у брата.
Что странно, так как раньше на этом ноутбуке такого не было.
Правда недавно сменили жёсткий диск.
Возможно, что проблема идёт отсюда.
Хорошо, что у меня остался старый мануал по устранению этой проблемы.
Решил прилепить сюда.

В некоторых моделях лаптопов происходит периодическая парковка головок жёсткого диска. Наблюдается на разных моделях лаптопов и жёстких дисков в них. Периодичность этого явления зависит от режима работы. При работе от батарей парковка происходит один раз в 10 минут. При работе от сети - 2 раза в минуту. Теоретически производители жёстких дисков дают гарантию, что устройство может выполнить до 600000 циклов парковки. Если пересчитать на часы работы жёсткого диска, то это составит явно меньше ожидаемого срока работы ноутбука в целом. Кроме того, в полной тишине звук парковки отчётливо слышен и действует на нервы. Описать звук сложно, он зависит от модели жёсткого диска. Например, его сравнивают со звуком карандаша, падающего плашмя на деревянный стол. Я бы описал его, как звук ломающейся тонкой стеклянной палочки. Каждый, кто слышал этот звук, не спутает его уже больше ни с чем. Можно не полагаться на слух, а проверить наличие (или отсутствие) этого явления инструментально. Для этого необходимо установить утилиту контроля за состоянием жёстких дисков и запустить соответствующую службу:

Код: Выделить всё

[root@localhost ~]# urpmi laptop-mode-tools

Код: Выделить всё

[root@localhost ~]# urpmi smartmontools
Правда пакет smartmontools скорее всего уже установлен.
Дайте команду

Код: Выделить всё

[root@localhost ~]# service smartd start
Теперь можно посмотреть количество выполненных жёстким диском циклов парковки с момента его изготовления:

Код: Выделить всё

smartctl -a /dev/sda | grep Load_Cycle_Count
Подождите пару минут, если ноут работает от сети или минут 15 если от батареи и повторите измерение. Если счётчик изменил значение, значит ваш ноут тоже подвержен повышенному износу жёсткого диска.

Тут необходимо сделать одно отступление. Изначально столь частая парковка головок была задумана, как средство защиты жёсткого диска при вибрациях и ударах ноутбуков (которые, в отличие от настольных компьютеров являются переносными и больше подвержены опасным воздействиям) Поэтому, если ноутбук преимущественно используется на столе, эту защитную функцию однозначно стоит отключить. Если ноутбук действительно постоянно работает в походных условиях, то уже стоит задуматься, как поступить. Плохо то, что разработчики службы laptop_mode не предоставили пользователю выбора, однозначно включив этот параметр. Непонятно также, почему это срабатывает не на всех ноутбуках. Так, или иначе, здесь каждый должен иметь право решать этот вопрос индивидуально для своей ситуации.

Для того, чтобы отключить навязанную разработчиками функцию нужно внести изменение в файл {/etc/laptop-mode/laptop-mode.conf} Найдите строку CONTROL_HD_POWERMGMT="auto" и замените её на CONTROL_HD_POWERMGMT=1 Перезапустите службу laptop-mode:

Код: Выделить всё

[root@localhost ~]# service laptop-mode restart
Убедитесь, что теперь счётчик циклов парковки не увеличивает значение.

Re: Предотвращение износа жёстких дисков в ноутбуках

Добавлено: 13 авг 2015, 21:39
Barmalei
Даже не заморачивался. У меня то и жесткого не слышно когда грузится и лампочки нету. Выйдет из строя, купим новый. А бэкап рулит.

Re: Предотвращение износа жёстких дисков в ноутбуках

Добавлено: 13 авг 2015, 21:52
VictorR2007
Да я и не спрашивал ничьего мнения.
Писал для тех, кому это интересно и полезно, а не для тех,
кому хочется просто поболтать впустую.

Re: Предотвращение износа жёстких дисков в ноутбуках

Добавлено: 14 авг 2015, 19:03
nvk
VictorR2007! Большое спасибо за обстоятельное и очень нужное сообщение!
Эта проблема и меня немного волновала. Подобное явление происходило иногда. Понять причину не мог.
Очень полная инструкция. Спасибо!

Re: Предотвращение износа жёстких дисков в ноутбуках

Добавлено: 14 авг 2015, 21:00
VictorR2007
На самом деле, это не я сочинил.
Это текст из сохранённой странички "FAQ_по_проблемам_оборудования" от Мандривы.
В сети её больше нет, поэтому не смог дать ссылку.
Пришлось создавать текст темы из текста своей копии.

Re: Предотвращение износа жёстких дисков в ноутбуках

Добавлено: 14 авг 2015, 22:48
awl
VictorR2007 писал(а):[...]
Это текст из сохранённой странички "FAQ_по_проблемам_оборудования" от Мандривы.
В сети её больше нет, поэтому не смог дать ссылку.
Пришлось создавать текст темы из текста своей копии.
Копия этого FAQ-а сохранилась в интернет-архиве "Wayback Machine": https://archive.org/web/
Вот такая оч. длинная прямая ссылка:

Код: Выделить всё

https://web.archive.org/web/20120707095329/http://wiki.mandriva.com/ru/FAQ_по_проблемам_оборудования#.D0.9F.D1.80.D0.B5.D0.B4.D0.BE.D1.82.D0.B2.D1.80.D0.B0.D1.89.D0.B5.D0.BD.D0.B8.D0.B5_.D0.BF.D0.BE.D0.B2.D1.8B.D1.88.D0.B5.D0.BD.D0.BD.D0.BE.D0.B3.D0.BE_.D0.B8.D0.B7.D0.BD.D0.BE.D1.81.D0.B0_.D0.B6.D1.91.D1.81.D1.82.D0.BA.D0.B8.D1.85_.D0.B4.D0.B8.D1.81.D0.BA.D0.BE.D0.B2_.D0.B2_.D0.BD.D0.BE.D1.83.D1.82.D0.B1.D1.83.D0.BA.D0.B0.D1.85_.D0.BD.D0.B0_Mandriva

Re: Предотвращение износа жёстких дисков в ноутбуках

Добавлено: 17 авг 2015, 18:08
strike444
Спасибо. Я пытался решить эту проблему выставляя hdparm -B 254 /dev/sda . Но Advanced power management level выставлялся 127 причем не постоянно. После перезагрузок то слетал то нет.

Re: Предотвращение износа жёстких дисков в ноутбуках

Добавлено: 18 авг 2015, 09:51
strike444
все равно сбрасывается после перезагрузки

Re: Предотвращение износа жёстких дисков в ноутбуках

Добавлено: 18 авг 2015, 12:00
strike444
так же сбивается при ждущем, спящем режимах.

Re: Предотвращение износа жёстких дисков в ноутбуках

Добавлено: 18 авг 2015, 13:52
strike444
Проставил в файле laptop-mode.conf BATT_HD_POWERMGMT=254 вместо 1. Надеюсь это поможет.

Re: Предотвращение износа жёстких дисков в ноутбуках

Добавлено: 18 авг 2015, 14:30
VictorR2007
strike444 писал(а):Проставил в файле laptop-mode.conf BATT_HD_POWERMGMT=254 вместо 1. Надеюсь это поможет.
Так у вас идёт парковка при работе от батареи?
Этот параметр CONTROL_HD_POWERMGMT=1 отключает парковку при работе от сети.
Если правильно помню, для батареи нужно ставить BATT_HD_POWERMGMT=0

Re: Предотвращение износа жёстких дисков в ноутбуках

Добавлено: 18 авг 2015, 15:25
Barmalei
По моему это маниакальная идея от старых ноутов. Зачем ему парковать если в современных HDD надежный тормоз головки, даже при резком выключении питания она не ударится резко, а плавно припаркуется.
Решил проверить почему у меня все тихо.
Вот результат 30 минутной проверки через каждые 5 минут.
Ноут даже уходил в Ждущий режим.

Re: Предотвращение износа жёстких дисков в ноутбуках

Добавлено: 18 авг 2015, 15:49
VictorR2007
Barmalei писал(а):По моему это маниакальная идея от старых ноутов. Зачем ему парковать если в современных HDD надежный тормоз головки, даже при резком выключении питания она не ударится резко, а плавно припаркуется.
Решил проверить почему у меня все тихо.
Вот результат 30 минутной проверки через каждые 5 минут.
Ноут даже уходил в Ждущий режим.
Ну и что?
У меня так же.
Про нас и разговора нет
А у некоторых парковка происходит каждые две минуты, и это по меньшей мере раздражает.
Слушать постоянные щелчки.

Re: Предотвращение износа жёстких дисков в ноутбуках

Добавлено: 18 авг 2015, 17:32
strike444
У меня парковка происходит каждые 2 секунды если ничего не делать. Паркует и от сети и без сети. Буду тестить. Сейчас вроде норм работает. У меня еще одна проблема не сохраняются настройки управления питанием.

Re: Предотвращение износа жёстких дисков в ноутбуках

Добавлено: 19 авг 2015, 19:13
strike444
laptop-mode-tools не ужился у меня с kde power management. Поставил TLP и установил значения DISK_APM_LEVEL_ON_AC="255 255" DISK_APM_LEVEL_ON_BAT="255 255" буду тестить.

Re: Предотвращение износа жёстких дисков в ноутбуках

Добавлено: 20 авг 2015, 12:57
nvk
А если частая парковка происходит не на ноутбуке, а на стационарном компьютере?
Порядок действий такой же или как-то иначе, ведь laptop... не совсем то?

Re: Предотвращение износа жёстких дисков в ноутбуках

Добавлено: 20 авг 2015, 23:14
strike444
laptop mode tools и tlp изначально рассчитан для повышения энергосбережения на ноутбуках. Но ничто Вам не мешает устанавливать нужные нам параметры и для стационарного компьютера. В laptop mode tools BATT значит батарея, в tlp BAT значит работа от батареии а AC работа от сети. Меняй параметры от сети в общем если у тебя стационарный компьютер.

Re: Предотвращение износа жёстких дисков в ноутбуках

Добавлено: 21 авг 2015, 05:26
keleg
кстати, на пятничном тестировании сегодня новый tlp, если вы его помучите - будет здорово!

Re: Предотвращение износа жёстких дисков в ноутбуках

Добавлено: 21 авг 2015, 19:07
nvk
Установил tlp. Начал изучать...
Спасибо за информацию!

Re: Предотвращение износа жёстких дисков в ноутбуках

Добавлено: 30 окт 2015, 22:03
kons666
Я думаю HDD с постоянной проблемой парковки сначала нужно проверить на стенде типа PC3000 т. е. исключить влияние ОС и железа на работу HDD, отсканировать поверхность DA и SA, проверить работу всех модулей, оверлеев и т. д. Проверить наличие обновлений FW и наконец нормально просмотреть (и при надобности почистить) внутренний SMART до которого всякие софтовые поделки добраться не могут. Вообщем провести нормальную диагностику HDD. Только потом по результатам принимать решение или о замене HDD, или (если с винтом все ОК) заниматься ноутом и ОС

Re: Предотвращение износа жёстких дисков в ноутбуках

Добавлено: 30 окт 2015, 22:27
notauser
kons666 писал(а):Я думаю HDD с постоянной проблемой парковки сначала нужно проверить на стенде типа PC3000 т. е. исключить влияние ОС и железа на работу HDD, отсканировать поверхность DA и SA, проверить работу всех модулей, оверлеев и т. д. Проверить наличие обновлений FW и наконец нормально просмотреть (и при надобности почистить) внутренний SMART до которого всякие софтовые поделки добраться не могут. Вообщем провести нормальную диагностику HDD. Только потом по результатам принимать решение или о замене HDD, или (если с винтом все ОК) заниматься ноутом и ОС
Цена вопроса? Или ключевое словосочетание "for Windows (UDMA"). А Linux в частности, и/или СПО вообще подобных средств диагностики не имеют? Не знаю как у вас в вашем дистрибутиве Linux, а у меня при использовании некоторых дисков Seagate есть запись в логе о выходе новой HW и мне приходит соответствующие уведомление. Сам в шоке :)

Re: Предотвращение износа жёстких дисков в ноутбуках

Добавлено: 31 окт 2015, 02:01
kons666
ключевое словосочетание "исключить влияние ОС и железа на работу HDD". цена вопроса (диагностики) как правило достаточно демократичная 300-500 р. у мну.

Re: Предотвращение износа жёстких дисков в ноутбуках

Добавлено: 12 ноя 2015, 11:31
Barmalei
Отключение функции APM позволяет уменьшить частоту «парковки» головок жесткого диска, что позволяет снизить уровень шума. Для отключения APM используется команда:

hdparm -B 255 /dev/sda

или запись в конфигурационном файле /etc/hdparm.conf:

/dev/sda {
apm = 255
}

Re: Предотвращение износа жёстких дисков в ноутбуках

Добавлено: 01 май 2017, 15:44
tverskoy
В Росе нет /etc/hdparm.conf, куда можно конфиг записать? Я поставил второй hdd в ноут, и этот диск постоянно щелкает, и бывает ноут зависает. Хотелось бы чтобы он останавливался, когда не востребован.

Re: Предотвращение износа жёстких дисков в ноутбуках

Добавлено: 01 май 2017, 17:42
keleg
tverskoy писал(а):В Росе нет /etc/hdparm.conf, куда можно конфиг записать? Я поставил второй hdd в ноут, и этот диск постоянно щелкает, и бывает ноут зависает. Хотелось бы чтобы он останавливался, когда не востребован.
А если создать?

Re: Предотвращение износа жёстких дисков в ноутбуках

Добавлено: 01 май 2017, 21:24
tverskoy
Создание конфига не помогает. Буду очень благодарен, если скажите куда можно положить эти команды

Код: Выделить всё

samsung serge # hdparm -B 255 /dev/sdb

/dev/sdb:
 setting Advanced Power Management level to disabled
 APM_level      = off
samsung serge # hdparm -S 5 /dev/sdb

/dev/sdb:
 setting standby to 5 (25 seconds)
samsung serge # 
Разъясните что арчвики советует https://wiki.archlinux.org/index.php/Hdparm
Вроде службу systemd создать, но я не понял как ее запускать при загрузке
Putting a drive to sleep directly after boot
A device which is rarely needed can be put to sleep directly at the end of the boot process. This does not work with the above udev rule because it happens too early. In order to issue the command when the boot is completed, just create a systemd service.
/etc/systemd/system/hdparm.service
[Unit]
Description=hdparm sleep

[Service]
Type=oneshot
ExecStart=/usr/bin/hdparm -q -S 120 -y /dev/sdb

[Install]
WantedBy=multi-user.target
Then enable it.

Re: Предотвращение износа жёстких дисков в ноутбуках

Добавлено: 01 май 2017, 23:56
tverskoy
Создал /lib/systemd/system/hdparm.service

Код: Выделить всё

[Unit]
Description=hdparm apm=off

[Service]
Type=oneshot
ExecStart=/usr/bin/hdparm -B 255 /dev/sdb

[Install]
WantedBy=multi-user.target
запустил

Код: Выделить всё

samsung serge # systemctl enable hdparm.service
Created symlink /etc/systemd/system/multi-user.target.wants/hdparm.service → /lib/systemd/system/hdparm.service.
Но

Код: Выделить всё

samsung serge # systemctl status hdparm.service
● hdparm.service - hdparm apm=off
   Loaded: loaded (/lib/systemd/system/hdparm.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Пн 2017-05-01 23:42:15 MSK; 9min ago
 Main PID: 3682 (code=exited, status=203/EXEC)

май 01 23:42:15 samsung systemd[1]: Starting hdparm apm=off...
май 01 23:42:15 samsung systemd[1]: hdparm.service: Main process exited, code=exited, status=203/EXEC
май 01 23:42:15 samsung systemd[1]: Failed to start hdparm apm=off.
май 01 23:42:15 samsung systemd[1]: hdparm.service: Unit entered failed state.
май 01 23:42:15 samsung systemd[1]: hdparm.service: Failed with result 'exit-code'.
Еще надо добавить после какого сервиса запускать

Re: Предотвращение износа жёстких дисков в ноутбуках

Добавлено: 02 май 2017, 00:20
tverskoy
Ура! Оно работает!

Код: Выделить всё

[Unit]
Description=hdparm apm=off
After=cpupower.service

[Service]
Type=oneshot
ExecStart=/sbin/hdparm -B 255 /dev/sdb

[Install]
WantedBy=multi-user.target
Правда в начале загрузки щелкает, надо пораньше запускать, но после чего не знаю.

Код: Выделить всё

samsung serge # systemctl status hdparm.service
● hdparm.service - hdparm apm=off
   Loaded: loaded (/lib/systemd/system/hdparm.service; enabled; vendor preset: disabled)
   Active: inactive (dead) since Вт 2017-05-02 00:13:32 MSK; 1min 37s ago
  Process: 3660 ExecStart=/sbin/hdparm -B 255 /dev/sdb (code=exited, status=0/SUCCESS)
 Main PID: 3660 (code=exited, status=0/SUCCESS)

май 02 00:13:32 samsung systemd[1]: Starting hdparm apm=off...
май 02 00:13:32 samsung hdparm[3660]: /dev/sdb:
май 02 00:13:32 samsung hdparm[3660]:  setting Advanced Power Management level to disabled
май 02 00:13:32 samsung hdparm[3660]:  APM_level        = off
май 02 00:13:32 samsung systemd[1]: Started hdparm apm=off.
samsung serge # 
P.S 255 поменял на 120, так диск простаивает когда не используется

Re: Предотвращение износа жёстких дисков в ноутбуках

Добавлено: 02 май 2017, 04:00
keleg
если нужно пораньше, то нужно писать не _после_ чего, а _перед_ чем.

Re: Предотвращение износа жёстких дисков в ноутбуках

Добавлено: 02 май 2017, 10:06
tverskoy
А как добавить правило для sda?

Re: Предотвращение износа жёстких дисков в ноутбуках

Добавлено: 02 май 2017, 10:18
keleg
так не пробовал.

Re: Предотвращение износа жёстких дисков в ноутбуках

Добавлено: 04 май 2017, 10:36
tverskoy
У меня после сна сбрасывается уровень apm, арчвики советует сделать так
APM level reset after suspend
The APM level may get reset after a suspend requiring it to be re-executed after each resume. This can be automated with the following systemd unit (adapted from a forum thread):
/etc/systemd/system/apm.service
[Unit]
Description=Local system resume actions
After=suspend.target hybrid-sleep.target hibernate.target

[Service]
Type=simple
ExecStart=/usr/bin/hdparm -B 254 /dev/sda

[Install]
WantedBy=sleep.target
Note: The sleep.target is pulled by all suspend, hybrid-sleep and hibernate targets, but it finishes starting up before the system is suspended, so the three targets have to be specified explicitly. See [1].
У Росы уже запущен apmd, не будет ли здесь конфликтов?

Re: Предотвращение износа жёстких дисков в ноутбуках

Добавлено: 04 май 2017, 11:38
keleg
можно только попробовать и проверить.

Предотвращение износа жёстких дисков в ноутбуках

Добавлено: 08 фев 2022, 15:07
tverskoy
Жил и не тужил пять лет, пока не поставил 2021.1.
Вобщем сервис этот не работает, комп от него зависает, и по буквам бегают мелкие точки. Помогите восстановить работу сервиса hdparm.
скрипт такой

Код: Выделить всё

[Unit]
Description=Local system resume actions
After= suspend.target hybrid-sleep.target hibernate.target

[Service]
Type=simple
ExecStart=/sbin/hdparm -B 120 /dev/sdb

[Install]
WantedBy=sleep.target