У нас есть Linux-сервер, который интенсивно используется в течение 3 лет. Мы запускаем на нем несколько виртуализированных серверов, некоторые из которых плохо себя ведут, и в течение значительного времени емкость сервера io превышалась, что приводило к плохому iowait. У него есть 4 накопителя Barracuda sata по 500 Гб, подключенных к RAID-контроллеру 3com. На 1 диске установлена ОС, а на остальных 3 установлены raid-5.
Теперь у нас есть дискуссия о состоянии дисков и о том, действительно ли они выходят из строя.
Вот часть вывода для 1 из 4 дисков. У всех них относительно схожая статистика:
SMART Attributes Data Structure revision number: 10 Vendor Specific SMART Attributes with Thresholds: ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 1 Raw_Read_Error_Rate 0x000f 118 099 006 Pre-fail Always - 169074425 3 Spin_Up_Time 0x0003 095 092 000 Pre-fail Always - 0 4 Start_Stop_Count 0x0032 100 100 020 Old_age Always - 26 5 Reallocated_Sector_Ct 0x0033 100 100 036 Pre-fail Always - 0 7 Seek_Error_Rate 0x000f 077 060 030 Pre-fail Always - 200009354607 9 Power_On_Hours 0x0032 069 069 000 Old_age Always - 27856 10 Spin_Retry_Count 0x0013 100 100 097 Pre-fail Always - 1 12 Power_Cycle_Count 0x0032 100 100 020 Old_age Always - 26 184 Unknown_Attribute 0x0032 100 100 099 Old_age Always - 0 187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always - 0 188 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 1 189 High_Fly_Writes 0x003a 100 100 000 Old_age Always - 0 190 Airflow_Temperature_Cel 0x0022 071 060 045 Old_age Always - 29 (Lifetime Min/Max 26/37) 194 Temperature_Celsius 0x0022 029 040 000 Old_age Always - 29 (0 21 0 0) 195 Hardware_ECC_Recovered 0x001a 046 033 000 Old_age Always - 169074425 197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 0 198 Offline_Uncorrectable 0x0010 100 100 000 Old_age Offline - 0 199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 0 SMART Error Log Version: 1 No Errors Logged
Я считаю, что у нас не было никаких плохих секторов или других признаков того, что какой-либо из дисков активно выходит из строя.
Однако высокие значения Raw_Read_Error_Rate и Seek_Error_Rate указываются как признаки того, что диски умирают.
Для дисков Seagate (и, возможно, некоторых старых дисков от WD) Seek_Error_Rate и Raw_Read_Error_Rate - это 48-битные числа, где наиболее значимые 16 бит - это количество ошибок, а младшие 32 бита - количество операций.
% python
>>> 200009354607 & 0xFFFFFFFF
2440858991
>>> (200009354607 & 0xFFFF00000000) >> 32
46
Таким образом, ваш диск выполнил 2440858991 поиск, из которых 46 были неудачными. Мой опыт работы с дисками Seagate показывает, что они, как правило, выходят из строя, когда количество ошибок превышает 1000. YMMV.
«Частота ошибок поиска» и «частота ошибок прямого чтения» RAW_VALUES практически бессмысленны для кого-либо, кроме поддержки Seagate. Как указывали другие, необработанные значения таких параметров, как «количество перераспределенных секторов» или записи в журнале ошибок накопителя, с большей вероятностью указывают на более высокую вероятность отказа.
Но вы можете взглянуть на интерпретированные данные в столбцах VALUE, WORST и THRESH, которые предназначены для чтения как индикаторы:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH
7 Seek_Error_Rate 0x000f 077 060 030
Это означает, что ваша частота ошибок поиска в настоящее время считается «хорошей на 77%» и сообщается SMART как проблема, когда она достигает «30% хорошо». Когда-то он был на уровне «60% хорошего», но с тех пор волшебным образом восстановился. Обратите внимание, что интерпретируемые значения рассчитываются логикой SMART привода внутри, и точный расчет может быть опубликован или не опубликован производителем и обычно не может быть изменен пользователем.
Лично я считаю диск, содержащий записи журнала ошибок, "неисправным" и настоятельно рекомендую заменить его, как только они возникнут. Но в целом данные SMART оказались довольно слабым индикатором для прогнозирования отказов, поскольку исследовательская статья, опубликованная Google раскрытый.
По моему опыту, у Seagates странные числа для этих двух атрибутов SMART. При диагностике Seagate я обычно игнорирую их и более внимательно смотрю на другие поля, такие как количество перераспределенных секторов. Конечно, в случае сомнений замените диск, но даже новые Seagates будут иметь высокие значения этих атрибутов.
Я понял, что это обсуждение немного устарело, но хочу добавить свои 2 цента. Я обнаружил, что разумная информация является неплохим показателем готовности к отказу. Когда сработает умный порог, замените привод. Вот для чего нужны эти пороги.
В подавляющем большинстве случаев вы начнете видеть сбойные сектора. Это верный признак того, что диск начинает выходить из строя. SMART меня много раз спасал. Я использую программный RAID 1, и он очень полезен, поскольку вы просто заменяете неисправный диск и восстанавливаете массив.
Я также еженедельно провожу короткие и длинные тесты для самопроверки.
smartctl -t short /dev/sda
smartctl -t long /dev/sda
Или добавьте его /etc/smartd.conf и отправьте вам электронное письмо, если есть ошибки
/dev/sda -s L/../../3/22 -I 194 -m someemail@somedomain
/dev/sdb -s L/../../7/22 -I 194 -m someemail@somedomain
Обязательно установите logwatch и перенаправьте root на адрес электронной почты и проверяйте ежедневные электронные письма от logwatch. Там будут отображаться флаги срабатывания SMARTD, но это бесполезно, если никто не отслеживает их регулярно.
Приносим извинения за некромантию в этом посте, но, по моему опыту, поля «Raw Read Error Rate» и «Hardware ECC Recovered» для диска Seagate буквально идут повсюду и постоянно увеличиваются до диапазона триллионов, после чего они возвращаются к нулю, чтобы продолжить процесс снова. У меня есть Seagate ST9750420AS, у которого эта проблема возникла с первого дня, и он по-прежнему отлично работает даже после нескольких лет и более 3500 часов использования.
Я думаю, что эти поля можно безопасно игнорировать, если вы используете их в своем случае. Просто убедитесь, что два поля сообщают одно и то же число и постоянно синхронизируются. Если они не ... ну ... на самом деле это может означать проблему.
Да, эти поля выглядят плохо, но я не доверяю (больше) информации, сообщаемой smart (у моей тестовой машины есть диск, который должен быть мертв давно, если вы читаете данные с помощью smartctrl) Дело в том, что вы сообщили high iowait и накопителям 3 года. Этого должно хватить, чтобы сменить диски.
Для автоматизации расчетов этот ответ, воспользуйтесь онлайн-калькулятором javascript:
Это скажет вам:
Калькулятор действителен для Seagate:
Для получения дополнительной информации о вычислении нормализованных значений (от 0 до 100) см. Эта статья.