Почему количество циклов моего жесткого диска увеличивается так быстро?
Я хотел бы понять, почему SMART сообщает, что необработанное значение счетчика циклов загрузки моего жесткого диска HGST увеличивается, и если есть что-то, что я должен сделать, чтобы минимизировать это, чтобы продлить срок службы моего жесткого диска.
Я использую Debian Jessie на своем ноутбуке, и последние несколько часов я подключен к системе кондиционирования. У меня установлен smartctl:
# apt-get install smartmontools
Мой жесткий диск - HGST Travelstar:
$ sudo smartctl -a /dev/sda
...
Model Family: HGST Travelstar 7K1000
Device Model: HGST HTS721010A9E630
...
У меня есть сценарий, периодически собирающий некоторые статистические данные:
9 Power_On_Hours 0x0012 089 089 000 Old_age Always - 5236
12 Power_Cycle_Count 0x0032 099 099 000 Old_age Always - 1598
193 Load_Cycle_Count 0x0012 070 070 000 Old_age Always - 305107
Мой сценарий собирает эти значения и сохраняет их в файле, чтобы я мог построить их с течением времени с помощью gnuplot:
Timestamp,PowerOnHoursValue,PowerOnHoursRawValue,PowerOnHoursWorst,PowerOnHoursThreshold,PowerCycleCountValue,PowerCycleCountRawValue,PowerCycleCountWorst,PowerCycleCountThreshold,LoadCycleCountValue,LoadCycleCountRawValue,LoadCycleCountWorst,LoadCycleCountThreshold
2017-06-10T11:02:18,089,5235,089,000,099,1598,099,000,070,304747,070,000
2017-06-10T11:17:01,089,5235,089,000,099,1598,099,000,070,304795,070,000
2017-06-10T12:17:01,089,5236,089,000,099,1598,099,000,070,305195,070,000
2017-06-10T12:27:03,089,5236,089,000,099,1598,099,000,070,305304,070,000
У меня нет cmd_line
опция установлена в моем /etc/hdparm.conf
настройка файла hdparm
возможность настроить время замедления; и у меня нет никаких -e apm
опция установлена в моем /etc/smartd.conf
файл.
Я использую MATE, но я не уверен, есть ли у него какие-либо параметры конфигурации, установленные для времени замедления, кроме флажка " Вращать жесткие диски при возможности" в разделе " Система"> "Установки"> "Управление питанием". (Кстати, в настоящее время он не отмечен при включении питания переменного тока и проверен при включении питания от батареи.
Примерно с 11:05 до 12:00 я оставил свой ноутбук в покое, но не переключил его в режим ожидания или сна; он все еще был включен с заблокированным экраном.
В 12:00 я начал использовать его снова и был у клавиатуры до 12:27 вечера.
Вот мои текущие настройки APM:
$ sudo smartctl --get=apm /dev/sda
...
APM level is: 128 (minimum power consumption without standby)
$ sudo hdparm -I /dev/sda | grep level
Advanced power management level: 128
$ sudo hdparm -B /dev/sda
/dev/sda:
APM_level = 128
По описанию -S
возможность hdparm
"128" означает, что тайм-аут (время ожидания) для накопителя составляет 128*5=640 секунд или чуть более 10 минут, если я правильно понял.
Обновление: я отключил APM на диске, отредактировав мой /etc/smartd.conf
и меняется -e apm,241
в -e apm,off
, а затем перезапустить smartmontools.
Похоже, это помогло остановить увеличение:
Timestamp,PowerOnHoursValue,PowerOnHoursRawValue,PowerOnHoursWorst,PowerOnHoursThreshold,PowerCycleCountValue,PowerCycleCountRawValue,PowerCycleCountWorst,PowerCycleCountThreshold,LoadCycleCountValue,LoadCycleCountRawValue,LoadCycleCountWorst,LoadCycleCountThreshold
2017-06-10T11:02:18,089,5235,089,000,099,1598,099,000,070,304747,070,000
2017-06-10T11:17:01,089,5235,089,000,099,1598,099,000,070,304795,070,000
2017-06-10T12:17:01,089,5236,089,000,099,1598,099,000,070,305195,070,000
2017-06-10T12:27:03,089,5236,089,000,099,1598,099,000,070,305304,070,000
2017-06-10T13:17:01,089,5237,089,000,099,1598,099,000,070,305585,070,000
2017-06-10T14:17:01,089,5238,089,000,099,1599,099,000,070,305864,070,000
2017-06-10T14:59:17,089,5238,089,000,099,1600,099,000,070,305868,070,000
2017-06-10T14:59:24,089,5238,089,000,099,1600,099,000,070,305868,070,000
2017-06-10T15:00:05,089,5238,089,000,099,1600,099,000,070,305868,070,000
2017-06-10T15:01:06,089,5238,089,000,099,1600,099,000,070,305868,070,000
2017-06-10T15:02:08,089,5238,089,000,099,1600,099,000,070,305868,070,000
2017-06-10T15:03:09,089,5238,089,000,099,1600,099,000,070,305868,070,000
2017-06-10T15:04:10,089,5238,089,000,099,1600,099,000,070,305868,070,000
2017-06-10T15:05:11,089,5238,089,000,099,1600,099,000,070,305868,070,000
2017-06-10T15:05:26,089,5238,089,000,099,1600,099,000,070,305868,070,000
2017-06-10T15:15:27,089,5238,089,000,099,1600,099,000,070,305868,070,000
2017-06-10T15:17:01,089,5238,089,000,099,1600,099,000,070,305868,070,000
Если ни у кого нет идей получше, то следующее, что я могу попробовать, это поиграться со значением 241, чтобы увидеть, как это меняет дело. Согласно hdparm
справочная страница:
- 0: таймауты отключены
- 1..240: кратно 5 секундам, тайм-ауты 5 с.20 м
- 241..251: 1..11 единицы по 30 минут, время ожидания 30м..5.5ч
- 252: 21-минутный тайм-аут
- 253: установленный поставщиком период ожидания 8 ч.12 ч.
- 254: зарезервировано
- 255: 21 минута плюс 15 секунд
Я хотел 241 для своего ноутбука специально для 30-минутного тайм-аута, поэтому я ожидал, что число циклов загрузки будет увеличиваться на 1 не менее, чем каждые 30 минут; однако, кажется, что я наблюдал увеличение количества в 300-400 раз в час до того, как отключил APM, что в среднем составляло бы 5-7 раз в минуту или один раз каждые 8-12 секунд.
Пожалуйста, поправьте меня, если я неправильно их интерпретирую.
Обновление: я только взял ноутбук и вынул его из Suspend. В последнем обновлении я никогда не проверял уровень APM после перезапуска smartmontools
, Я сделаю это на этот раз.
С момента выхода из режима ожидания я заметил, что число моих циклов увеличилось только на 1, так как мой ноутбук перешел в режим ожидания, а теперь вышел из режима ожидания.
...
2017-06-10T15:17:01,089,5238,089,000,099,1600,099,000,070,305868,070,000
2017-06-10T15:25:28,089,5238,089,000,099,1600,099,000,070,305868,070,000
2017-06-10T15:35:29,089,5239,089,000,099,1600,099,000,070,305868,070,000
2017-06-11T00:56:09,089,5239,089,000,099,1601,099,000,070,305869,070,000
2017-06-11T01:04:24,089,5239,089,000,099,1601,099,000,070,305869,070,000
...
Что смешно, теперь оно снова увеличивается:
...
2017-06-11T01:04:24,089,5239,089,000,099,1601,099,000,070,305869,070,000
2017-06-11T01:14:25,089,5239,089,000,099,1601,099,000,070,305918,070,000
2017-06-11T01:17:01,089,5239,089,000,099,1601,099,000,070,305918,070,000
2017-06-11T01:21:35,089,5239,089,000,099,1601,099,000,070,305918,070,000
2017-06-11T01:24:26,089,5239,089,000,099,1601,099,000,070,305918,070,000
2017-06-11T01:33:48,089,5239,089,000,099,1601,099,000,070,305963,070,000
Я проверил уровень APM, и он вернулся к 128:
$ sudo hdparm -I /dev/sda | grep level
Advanced power management level: 128
$ sudo smartctl --get=apm /dev/sda
...
APM level is: 128 (minimum power consumption without standby)
$ sudo hdparm -B /dev/sda
/dev/sda:
APM_level = 128
мой /etc/smartd.conf
настройки еще указаны -e apm,off
так я просто перезапустил smartmontools
а затем снова проверил уровень APM:
$ sudo service smartmontools restart
$ sudo smartctl --get=apm /dev/sda
...
APM feature is: Disabled
$ sudo hdparm -I /dev/sda | grep level
Advanced power management level: disabled
$ sudo hdparm -B /dev/sda
/dev/sda:
APM_level = off
Я нарочно положил ноутбук в Suspend снова и вынул его обратно. Я проверил уровень APM, и он снова был 128, как и выше; когда я перезапустил smartmontools
уровень APM снова был отключен, как и выше.
Снова мой счетчик циклов удерживается после отключения APM:
...
2017-06-11T01:33:48,089,5239,089,000,099,1601,099,000,070,305963,070,000
2017-06-11T01:34:27,089,5239,089,000,099,1601,099,000,070,305971,070,000
2017-06-11T01:42:06,089,5239,089,000,099,1601,099,000,070,306048,070,000
2017-06-11T01:42:58,089,5239,089,000,099,1602,099,000,070,306050,070,000
2017-06-11T01:43:24,089,5239,089,000,099,1602,099,000,070,306050,070,000
2017-06-11T01:44:32,089,5239,089,000,099,1602,099,000,070,306050,070,000
2017-06-11T01:45:00,089,5239,089,000,099,1602,099,000,070,306050,070,000
Следуя информации в ошибке # 1248012, я попытался включить параметры APM в /etc/hdparm.conf
:
...
# -B apm setting
#apm = 255
apm = 255
# -B apm setting when on battery
#apm_battery = 127
apm_battery = 255
...
Я перезапустил hdparm
:
$ sudo /etc/init.d/hdparm restart
Вставив жесткий диск в Suspend и вернув его обратно, я заметил, что уровень APM вернулся к 128.
Я открыл для этого Вопрос № 1218107.
1 ответ
Эти ценности вы получили от man hdparm
применить к -S
опция - вращение вниз, заставляя пластины перестать вращаться.
Мои быстрые исследования показывают, что Load_Cycle_Count
подключен к головкам парковки и, кажется, -B
вариант (Advanced Power Management, APM) является правильным. Описание на странице руководства не совсем понятно для меня, но ваша ценность 128
является наиболее агрессивным, который не допускает замедления. Я думаю, это чаще всего паркует головы.
Вы рассчитываете время замедления из этого значения 128
используя описание -S
и я думаю, что это неправильно. Этот расчет сбивает с толку -B
а также -S
, Такая же путаница возникает, когда вы устанавливаете APM в 241
,
Я видел утверждения, что hdparm -B 255 /dev/sdX
помогает. Это отключает расширенное управление питанием, хотя. Мой диск настроен на 254
и у него есть то, что я считаю умеренным Load_Cycle_Count
в отношении Power_On_Hours
: 200k и 20k соответственно, поэтому соотношение намного лучше, чем у вас.
Мой совет - использовать одно из следующего:
hdparm -B 127 /dev/sdX
hdparm -B 254 /dev/sdX
hdparm -B 255 /dev/sdX
Я думаю, если вы установите -B
до значения, которое позволяет замедление (т.е. 127
или меньше), то вы также должны настроить -S
возможность получить не слишком короткое время замедления. Это потому, что каждое замедление требует, чтобы головы были припаркованы.
В то время как man hdparm
предупреждает о различных опасных вариантах, -B
не среди них. Даже если я полностью ошибаюсь, экспериментировать надо.