stringtranslate.com

Контроль восстановления после ошибок

В вычислительной технике управление восстановлением после ошибок ( ERC ) ( Western Digital : ограниченное по времени восстановление после ошибок ( TLER ), Samsung / Hitachi : ограничение времени выполнения команды ( CCTL )) — это функция жестких дисков , которая позволяет системному администратору настраивать количество времени, которое микропрограмме диска разрешено тратить на восстановление после ошибки чтения или записи. Ограничение времени восстановления позволяет улучшить обработку ошибок в аппаратных или программных средах RAID . В некоторых случаях возникает конфликт относительно того, должна ли обработка ошибок выполняться жестким диском или реализацией RAID, что приводит к тому, что диски помечаются как непригодные для использования и значительному снижению производительности, хотя в противном случае этого можно было бы избежать.

Обзор

Современные жесткие диски обладают способностью восстанавливаться после некоторых ошибок чтения/записи путем внутреннего перераспределения секторов и выполнения других форм самотестирования и восстановления. Этот процесс иногда может занять несколько секунд или (при интенсивном использовании) минут, в течение которых диск не отвечает. Аппаратные RAID-контроллеры и программные реализации RAID разработаны для распознавания диска, который не отвечает в течение нескольких секунд, и помечают его как ненадежный, указывая на то, что его следует вывести из эксплуатации, а массив перестроить из данных четности . Это длительный процесс, ухудшающий производительность, и если больше дисков выйдут из строя под дополнительной рабочей нагрузкой, это может иметь катастрофические последствия.

Если сам диск изначально надежен, но имеет несколько плохих секторов, то TLER и аналогичные функции предотвращают ненужную маркировку диска как «неисправного», ограничивая время, затрачиваемое на исправление обнаруженных ошибок, прежде чем сообщать контроллеру массива о неудачной операции. Затем контроллер массива может заняться восстановлением данных для ограниченного объема задействованных данных, а не маркировать весь диск как неисправный.

Типичные значения по умолчанию

По сути, TLER и аналогичные функции ограничивают производительность обработки ошибок на диске, позволяя аппаратным RAID-контроллерам и программным реализациям RAID обрабатывать ошибки, если они вызывают проблемы.

Обычно корпоративные диски Western Digital, такие как Raptor , Caviar RE2 и RE2-GP (RAID Edition), поставляются с включенным TLER Read (7 секунд) и включенной TLER Write (7 секунд), в то время как настольные диски, такие как Caviar SE, SE16 и GP, поставляются с отключенными TLER Read и Write (настроенными на 0 секунд для отключения).

Соображения по поводу автономности и RAID

Лучше всего, чтобы TLER был «включен» в массиве RAID, чтобы предотвратить превышение времени восстановления после ошибки чтения или записи на диске порогового значения тайм-аута реализации RAID. Если диск выходит из строя по тайм-ауту, жесткий диск необходимо вручную добавить в массив, что потребует повторной сборки и повторной синхронизации жесткого диска. Включение TLER позволяет предотвратить это, прерывая исправление ошибок до тайм-аута, чтобы сообщать об ошибках только для сегментов данных. Результатом является повышение надежности массива RAID.

В автономной конфигурации TLER следует отключить. Поскольку диск не является избыточным, сообщение о сегментах как об отказавших только увеличит ручное вмешательство. Без аппаратного RAID-контроллера или программной реализации RAID для удаления диска, нормальная (без TLER) способность к восстановлению является наиболее стабильной.

В конфигурации программного RAID полезность TLER зависит от операционной системы. Например, в FreeBSD стек ATA/CAM управляет тайм-аутами и настроен на постепенное увеличение тайм-аутов по мере их возникновения. Таким образом, если диск рабочего стола без TLER начинает задерживать ответ на чтение сектора, FreeBSD будет повторять чтение с последовательно более длительными тайм-аутами, чтобы предотвратить преждевременное выпадение диска из массива.

ЗФС

Файловая система ZFS была разработана для немедленной записи данных в сектор, который считается плохим или для чтения которого требуется слишком много времени (например, диски, не поддерживающие TLER); это обычно приводит к немедленному перераспределению секторов в слабом секторе на большинстве дисков. [ необходима ссылка ]

RAID-контроллеры

Значения тайм-аута отключения для различных аппаратных RAID-контроллеров могут различаться у разных поставщиков; таким образом, TLER должен сработать до того, как контроллер истечет время ожидания диска. Например, 3ware 9650SE использует 20 секунд в качестве тайм-аута, [1] тогда как для LSI Logic, используемого в IBM x-series, он составляет 10 секунд. [2]

Широко распространенная технология Intel Matrix RAID/Intel Rapid Storage , встроенная в серверные материнские платы Intel и современные материнские платы для настольных ПК, представляет собой псевдоаппаратный контроллер, а не настоящий аппаратный RAID-контроллер.

Программный RAID-массив

Linux mdadm просто удерживает и позволяет диску завершить восстановление, однако тайм-аут команды по умолчанию для уровня SCSI Disk (/sys/block/sd?/device/timeout) составляет 30 секунд, [3] после чего он попытается сбросить настройки диска, а если это не удастся, переведет диск в автономный режим. [4]

Изменение ERC

стандарт АТА-8

Стандарт ATA-8 2006 года определяет команду SCT Error Recovery Control . [5] Для жестких дисков, реализующих этот интерфейс, можно использовать утилиту smartctl (часть пакета smartmontools ) для изменения тайм-аута восстановления после ошибки с помощью . [6] В 2018 году в ACS-4 была добавлена ​​функциональность для сохранения настройки после перезагрузки; теперь она поддерживается smartctl. [7]-l scterc

Управление поведением тайм-аута с помощью утилиты smartctl может работать не на всех жестких дисках, поскольку некоторые производители изменили свои настольные диски, чтобы не включать поддержку параметра ERC, [8] [9] предположительно для того, чтобы заставить продавать свои более дорогие модели RAID/enterprise. [ необходима цитата ] Ричард Грегори, который написал оригинальный патч ERC для smartctl, сообщает, что Western Digital отказалась от поддержки ERC, выпустив новую модель без уведомления. [6]

В Windows программа HDAT2 доступна в дополнение к smartctl (которая является кроссплатформенной). [6]

стандарт SCSI

SBC-4 описывает поле RECOVERY TIME LIMIT на странице режима восстановления ошибок чтения-записи, используемое для определения того, как диск выполняет восстановление после ошибок. [10] Программа sdparm может изменить эту настройку с помощью --set=RTL. [11]

Поставщик коммунальных услуг

Вестерн Диджитал

Утилита WDTLER.EXE позволяет включать или отключать параметр TLER на жестких дисках Western Digital. Эта утилита написана для DOS . Утилита работает и вносит изменения во все совместимые жесткие диски Western Digital, подключенные к компьютеру. Изменения сохраняются после выключения и повторного включения питания. Western Digital упоминала этот инструмент в FAQ. [12]

Утилита поставляется с тремя пакетными файлами: TLERSCAN.BAT для получения текущего состояния настройки TLER на всех жестких дисках, TLER-ON.BAT для включения TLER и TLER-OFF.BAT для отключения TLER. Включенный TLER-ON.BAT установит время чтения и записи TLER на семь секунд. Можно использовать утилиту WDTLER.EXE напрямую с параметрами для пользовательского тайм-аута.-r# -w#

Western Digital утверждает, что использование утилиты WDTLER.EXE на новых дисках может повредить прошивку и сделать диск непригодным для использования. Утилита больше не доступна от Western Digital, и новые диски не смогут изменять настройки TLER. Диски RE подходят только для массивов RAID, а Caviar подходят только для использования не в RAID. Утилита по-прежнему работает для старых дисков [ which? ] .

Хитачи

В 2009 году служба поддержки клиентов Hitachi заявила, что существует Feature Tool для изменения ERC (называемый CCTL). [12]

Сигейт

Seagate предоставляет утилиту openSeaChest , позволяющую вам опрашивать и изменять множество настроек прошивки, включая TLER. Если вы не можете использовать для установки TLER, соответствующие команды командной строки — и .smartctl -l scterr,x,yopenSeaChest_Configure -d /dev/sg0 --sctReadTimeropenSeaChest_Configure -d /dev/sg0 --sctWriteTimer

Ссылки

  1. ^ "Руководство пользователя для 9650SE 9690SA из 9.5.2 Complete Codeset". lsi.com . Архивировано из оригинала 3 февраля 2012 г. Получено 10 июня 2015 г.
  2. ^ Доступно в утилите BIOS Raid Config Utility > Дополнительные свойства устройства
  3. ^ "linux/sd.h на главном сервере · torvalds/linux · GitHub". GitHub .
  4. ^ "Подсистема Linux SCSI: SCSI EH". kernel.org .
  5. ^ Набор команд ATA/ATAPI (ATA8-ACS)
  6. ^ abc Ричард Грегори. "Авторское описание оригинального патча для smartctl, который реализовал эту функцию". Архивировано из оригинала 2013-09-10 . Получено 2013-02-15 .
  7. ^ "#1427 (Добавить поддержку функций таймера восстановления после ошибок SCT, добавленных в ACS-4) – smartmontools". www.smartmontools.org .
  8. ^ "Re: md RAID с дисками SATA или SAS корпоративного класса". spinics.net .
  9. ^ «Часто задаваемые вопросы о Seagate: что такое управление восстановлением после ошибок?». seagate.com .
  10. ^ "INCITS 506-202x - Информационные технологии - SCSI Block Commands - 4 (SBC-4) черновик редакции 22". 15 сентября 2020 г. Получено 22 мая 2023 г.
  11. ^ sdparm(8)  –  Руководство программиста Linux – Администрирование и привилегированные команды
  12. ^ ab «Поток TLER/CCTL/ERC». [H]ard|Форум . 16 ноября 2010 г.

Внешние ссылки