Анализ состояния дисков серверов Yandex BareMetal
Серверы Yandex BareMetal комплектуются дисками, которые могут иметь некоторую историю эксплуатации. Это нормальная практика для серверного оборудования: диски рассчитаны на многолетнюю непрерывную работу, и их производительность в результате такой работы никак не снижается. Наработка сама по себе не является критерием замены диска — критерием является фактическое состояние накопителя.
При добавлении в сервис каждый диск проходит обязательное нагрузочное тестирование. Диски, не прошедшие проверку, в эксплуатацию не поступают.
Диагностика состояния диска
Если в процессе работы с сервером BareMetal вы столкнулись с ошибками чтения/записи данных на диски, отказом диска или RAID-массива, а также если у вас есть подозрение на неисправность диска, его состояние можно проверить несколькими способами.
Совет
Чтобы дополнительно обезопасить себя от потери данных, настройте на вашем сервере резервное копирование с помощью сервиса Yandex Cloud Backup.
SMART
SMART
Ключевой принцип интерпретации SMART: критичным является не конкретное числовое значение счетчика, а его динамика и переход атрибута в состояние FAILING_NOW. Последнее означает, что диск сам сигнализирует об исчерпании встроенных механизмов восстановления.
Для NVMe-накопителей дополнительно отслеживается атрибут percentage_used — степень износа ресурса NAND
Утилита HWCheck
HWCheck — утилита диагностики серверного оборудования. Она автоматически собирает SMART-показатели всех дисков, анализирует их по внутренним критериям и формирует отчет о состоянии накопителей в понятном пользователю виде без необходимости вручную интерпретировать исходные данные SMART.
Вы можете выполнить диагностику сервера, которая позволит определить источник проблемы и сформирует отчет для отправки в службу технической поддержки.
Примечание
Использовать утилиту HWCheck можно только на серверах под управлением ОС Linux
Информация о состоянии дисков сервера сохраняется в директории drive отчета, причем отчет по каждому из дисков сервера сохраняется в отдельном файле. Отчет о значении SMART-атрибутов диска представляет собой таблицу:
ID# ATTRIBUTE_NAME FLAGS VALUE WORST THRESH FAIL RAW_VALUE
1 Raw_Read_Error_Rate POSR-- 083 063 044 - 203094696
3 Spin_Up_Time PO---- 093 093 000 - 0
4 Start_Stop_Count -O--CK 100 100 020 - 224
5 Reallocated_Sector_Ct PO--CK 100 100 036 - 0
7 Seek_Error_Rate POSR-- 084 060 030 - 293695131
9 Power_On_Hours -O--CK 074 011 000 - 23513
10 Spin_Retry_Count PO--C- 100 100 097 - 0
12 Power_Cycle_Count -O--CK 100 100 020 - 225
184 End-to-End_Error -O--CK 100 100 099 - 0
187 Reported_Uncorrect -O--CK 100 100 000 - 0
188 Command_Timeout -O--CK 100 099 000 - 65537
189 High_Fly_Writes -O-RCK 093 093 000 - 7
190 Airflow_Temperature_Cel -O---K 068 051 045 - 32 (Min/Max 31/32)
191 G-Sense_Error_Rate -O--CK 100 100 000 - 0
192 Power-Off_Retract_Count -O--CK 100 100 000 - 187
193 Load_Cycle_Count -O--CK 100 100 000 - 1816
194 Temperature_Celsius -O---K 032 049 000 - 32 (0 18 0 0 0)
195 Hardware_ECC_Recovered -O-RC- 023 003 000 - 203094696
197 Current_Pending_Sector -O--C- 100 100 000 - 0
198 Offline_Uncorrectable ----C- 100 100 000 - 0
199 UDMA_CRC_Error_Count -OSRCK 200 200 000 - 0
Где:
-
ID#— идентификатор атрибута. -
ATTRIBUTE_NAME— название атрибута:Raw_Read_Error_Rate— частота возникновения вызванных аппаратной частью диска ошибок при чтении данных.Spin_Up_Time— время раскрутки дисков из состояния покоя до рабочей скорости. Увеличивается по мере износа механической части диска, а также может говорить о проблемах с электропитанием диска.Start_Stop_Count— общее количество циклов запуска/остановки диска.Reallocated_Sector_Ct— общее количество секторов с ошибками чтения/записи, переназначенных в резервную область.Seek_Error_Rate— частота возникновения ошибок при позиционировании блока магнитных головок. Чем их больше, тем хуже состояние диска. На значение параметра могут влиять перегрев и внешние вибрации.Power_On_Hours— общее количество часов, которые диск провел во включенном состоянии.Spin_Retry_Count— общее количество повторных попыток раскрутки диска до рабочей скорости в случаях, когда предыдущая попытка оказалась неудачной. Увеличивающееся значение атрибута свидетельствует о высокой вероятности проблем с механической частью диска.Power_Cycle_Count— общее количество полных циклов включения/выключения диска.End-to-End_Error— общее количество ошибок, возникающих в случае несоответствия между хостом и диском четности данных, передаваемых через кэш-память.Reported_Uncorrect— общее количество ошибок, которые не удалось исправить с помощью аппаратной части диска.Command_Timeout— общее количество операций, прерванных в связи с таймаутом диска.High_Fly_Writes— общее количество зафиксированных случаев записи данных при высоте головки над поверхностью диска выше рассчитанной.Airflow_Temperature_Cel— температура воздуха внутри корпуса диска.G-Sense_Error_Rate— общее количество ошибок, возникших в результате ударных нагрузок на диск.Power-Off_Retract_Count— общее количество циклов аварийных выключений или отказов питания диска.Load_Cycle_Count— общее количество циклов перемещения блока магнитных головок в область парковки.Temperature_Celsius— температура диска.Hardware_ECC_Recovered— общее количество случаев коррекции ошибок ECC , выполненных контроллером диска.Current_Pending_Sector— общее количество так называемых подозрительных секторов, которые еще не были определены как плохие, но считывание с которых отличается от считывания со стабильного сектора. В случае успешного последующего чтения из сектора он исключается из числа подозрительных. В случае повторных случаев чтения с ошибкой диск пытается восстановить его и выполняет операцию переназначения.Offline_Uncorrectable— общее количество подозрительных (Current_Pending_Sector) секторов, которые диску не удалось восстановить.UDMA_CRC_Error_Count— общее количество ошибок, возникших при передаче данных по внешнему интерфейсу в режиме UltraDMA. Например: ошибки нарушения целостности пакетов.
-
FLAGS— флаги атрибутов, задаваемые производителем диска, характеризующие тип атрибута:P(prefailure warning) — при достижении порогового значения таких атрибутов диск требует замены.O(updated online) — такие атрибуты обновляют значения при выполнении встроенных тестов SMART онлайн и офлайн.S(speed/performance) — такие атрибуты характеризуют производительность диска.R(error rate) — такие атрибуты отражают значения счетчиков ошибок диска.C(event count) — такие атрибуты отражают значения счетчиков событий.K(auto-keep) — самосохраняющиеся атрибуты.
-
VALUE— текущее значение атрибута. -
WORST— наихудшее значение атрибута за все время работы диска. -
THRESH— минимальное пороговое значение атрибута, при достижении которого состояние диска считается критическим, и он может выйти из строя. -
FAIL— состояние, сигнализирующее о выходе атрибута за пороговое значениеTHRESH. -
RAW_VALUE— абсолютное значение атрибута.
Если для любого из атрибутов таблицы с флагом P (prefailure warning) в поле FAIL указано значение FAILING_NOW, значит, ресурс диска исчерпан и диск нуждается в замене.
ID# ATTRIBUTE_NAME FLAGS VALUE WORST THRESH FAIL RAW_VALUE
5 Reallocated_Sector_Ct PO--CK 100 100 010 - 0
9 Power_On_Hours -O--CK 086 086 000 - 67710
12 Power_Cycle_Count -O--CK 099 099 000 - 108
177 Wear_Leveling_Count PO--C- 062 062 005 - 1182
179 Used_Rsvd_Blk_Cnt_Tot PO--C- 100 100 010 - 0
180 Unused_Rsvd_Blk_Cnt_Tot PO--C- 100 100 010 - 17618
181 Program_Fail_Cnt_Total -O--CK 100 100 000 - 0
182 Erase_Fail_Count_Total -O--CK 100 100 000 - 0
183 Runtime_Bad_Block PO--C- 100 100 010 - 0
184 End-to-End_Error PO--CK 100 100 097 - 0
187 Reported_Uncorrect -O--CK 100 100 000 - 0
190 Airflow_Temperature_Cel -O--CK 073 049 000 - 27
195 Hardware_ECC_Recovered -O-RC- 200 200 000 - 0
199 UDMA_CRC_Error_Count -OSRCK 100 100 000 - 0
202 Unknown_SSD_Attribute PO--CK 100 100 010 - 0
235 Unknown_Attribute -O--C- 099 099 000 - 68
241 Total_LBAs_Written -O--CK 099 099 000 - 2179262941271
Где:
-
ID#— идентификатор атрибута. -
ATTRIBUTE_NAME— название атрибута:Reallocated_Sector_Ct— общее количество блоков с ошибками чтения/записи, переназначенных в резервную область.Power_On_Hours— общее количество часов, которые диск провел во включенном состоянии.Power_Cycle_Count— общее количество полных циклов включения/выключения диска.Wear_Leveling_Count— максимальное количество операций стирания, выполненных над одним блоком флеш-памяти.Used_Rsvd_Blk_Cnt_Tot— общее количество использованных блоков флеш-памяти в резервной области.Unused_Rsvd_Blk_Cnt_Tot— общее количество доступных блоков флеш-памяти в резервной области.Program_Fail_Cnt_Total— общее количество сбоев при попытке записать данные в блок флеш-памяти.Erase_Fail_Count_Total— общее количество сбоев при попытке стереть данные из блока флеш-памяти.Runtime_Bad_Block— общее количество блоков флеш-памяти с неисправимыми ошибками, выявленное за все время работы диска.End-to-End_Error— общее количество ошибок, возникающих в случае несоответствия между хостом и диском четности данных, передаваемых через кэш-память.Reported_Uncorrect— общее количество ошибок, которые не удалось исправить с помощью аппаратной части диска.Airflow_Temperature_Cel— температура воздуха внутри корпуса диска.Hardware_ECC_Recovered— общее количество случаев коррекции ошибок ECC , выполненных контроллером диска.UDMA_CRC_Error_Count— общее количество ошибок, возникших при передаче данных по внешнему интерфейсу в режиме UltraDMA. Например: ошибки нарушения целостности пакетов.Total_LBAs_Written— общее количество блоков данных, записанных на диск за все время его жизни.Unknown_SSD_AttributeиUnknown_Attribute— атрибуты, специфичные для конкретного производителя.
-
FLAGS— флаги атрибутов, задаваемые производителем диска, характеризующие тип атрибута:P(prefailure warning) — при достижении порогового значения таких атрибутов диск требует замены.O(updated online) — такие атрибуты обновляют значения при выполнении встроенных тестов SMART онлайн и офлайн.S(speed/performance) — такие атрибуты характеризуют производительность диска.R(error rate) — такие атрибуты отражают значения счетчиков ошибок диска.C(event count) — такие атрибуты отражают значения счетчиков событий.K(auto-keep) — самосохраняющиеся атрибуты.
-
VALUE— текущее значение атрибута. -
WORST— наихудшее значение атрибута за все время работы диска. -
THRESH— минимальное пороговое значение атрибута, при достижении которого состояние диска считается критическим, и он может выйти из строя. -
FAIL— состояние, сигнализирующее о выходе атрибута за пороговое значениеTHRESH. -
RAW_VALUE— абсолютное значение атрибута.
Если для любого из атрибутов таблицы с флагом P (prefailure warning) в поле FAIL указано значение FAILING_NOW, значит, ресурс диска исчерпан и диск нуждается в замене.
Подробнее о том, как запустить утилиту HWCheck, читайте в разделе Проанализировать состояние сервера BareMetal с помощью утилиты HWCheck.
Нагрузочное тестирование
SMART отражает состояние здоровья диска, но не всегда позволяет выявить деградацию производительности: диск с удовлетворительными SMART-показателями может работать значительно медленнее ожидаемого. Для проверки реальной производительности используется нагрузочное тестирование — искусственная нагрузка на диск с замером фактических показателей скорости и IOPS. Удобным инструментом для этого является утилита fio
Примечание
Если диск используется в составе RAID-массива или находится под активной нагрузкой, результаты нагрузочного тестирования могут оказаться неточными.
Использовать утилиту fio можно только на серверах под управлением ОС Linux.
Замена диска
Замена вышедших из строя дисков производится инженерами дата-центра в круглосуточном режиме бесплатно.
Подробнее о замене дисков в серверах BareMetal читайте в разделе Заменить диск в RAID-массиве.