1

Я хотел бы понять, почему 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, но я не уверен, есть ли у него какие-либо параметры конфигурации, установленные для времени замедления, кроме вращения жестких дисков, когда это возможно, в System> Preferences> Power Management. (Между прочим, в данный момент он отключен при включении питания переменного тока и проверен при включении питания от батареи.

Примерно с 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 означает, что время ожидания (spindown) для накопителя составляет 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 . Я сделаю это на этот раз.

С момента выхода из Suspend я заметил, что мой счетчик циклов увеличился только на 1 раз, так как мой ноутбук перешел в Suspend и теперь вышел из Suspend:

...
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 ответ1

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 среди них нет. Даже если я полностью ошибаюсь, экспериментировать надо.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .