Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Enjoy members-only rewards and discounts
  • Create and access a list of your products
  • Manage your Dell EMC sites, products, and product-level contacts using Company Administration.

Двойные ошибки и перфорации в массивах RAID

Summary: Массивы RAID не подвержены ошибкам данных. В этой статье приведены рекомендации по предотвращению и устранению этих проблем.

This article may have been automatically translated. If you have any feedback regarding its quality, please let us know using the form at the bottom of this page.

Article Content


Symptoms

В этой статье описаны ошибки данных, двойные ошибки и перфорации в массиве RAID. Кроме того, здесь приведены рекомендации по предотвращению или снижения рисков этих проблем, а также по устранению проблем после их возникновения.

Содержание:
  1. Ошибки данных и двойные ошибки
  2. Перфорации — что это такое и каковы их причины?
  3. Предотвращение проблем до их возникновения и устранение перфораций после того как они появились

     

Глава 1. Ошибки данных и двойные ошибки

В массивах RAID могут происходить ошибки данных.  Функции микропрограмм контроллера RAID и жестких дисков позволяют обнаруживать и исправлять множество типов ошибок данных, прежде чем данные будут записаны в массив/накопитель.  Использование устаревшей микропрограммы может привести к записи неверных данных на массив или накопитель, так как в нем отсутствуют функции обработки/исправления ошибок, доступные в последних версиях микропрограммы.


Ошибки данных также могут быть вызваны физическими неисправными блоками.  Например, это может происходить при контакте головки чтения/записи с вращающимся диском (при так называемом «разрушении головки»).  Блоки также могут со временем становиться дефектными, если в определенном месте диска ухудшаются магнитные свойства, позволяющие сохранять биты.  Дефектные блоки, появившиеся в связи с ухудшением состояния магнитного диска, нередко можно успешно считывать.  Такой дефектный блок может обнаруживаться только время от времени или с помощью расширенной диагностики накопителей.  


Дефектный блок, называемый дефектным логически адресуемым блоком (LBA), также может появиться вследствие логических ошибок данных.  Это происходит при неверной записи данных на накопитель, хотя по окончании операции записи сообщается, что она выполнена успешно.  Кроме того, возможно непреднамеренное изменение правильных данных, хранящихся на накопителе.  Примером может служить «инвертирование битов» (bit flip), которое происходит, когда головка чтения/записи проходит над записанными данными к соседнему месту и вызывает изменение данных, записанных в виде нулей и единиц, которые приобретают другое значение.  В таких условиях нарушается «целостность» (consistency) данных.  Значение данных в определенном блоке отличается от исходных данных и может не совпадать с контрольной суммой этих данных.  Физическая LBA исправна и может быть записана, но в настоящее время она содержит неверные данные и может интерпретироваться как неисправный блок.


Неисправные LBA обычно регистрируются как смысловой код 3/11/0. Смысловой ключ 3 указывает на ошибку носителя.  Дополнительный смысловой код и спецификатор 11/00 определяются, как невосстановимая ошибка чтения.  Попытки исправить этот блок не предпринимаются, и не устанавливается, стал ли этот блок дефектным в результате физического дефекта на магнитном диске, или ошибка данных произошла по другой причине.  Наличие смыслового кода 3/11/00 не означает, что физический накопитель неисправен или его необходимо заменить.


RAID-контроллеры оборудования Dell предоставляют такие функции, как Patrol Read и проверка согласованности, для исправления многих сценариев ошибок данных.  Функция патрульного чтения по умолчанию работает, как автоматизированная фоновая задача, которая проверяет все отдельные блоки на жестком диске, чтобы подтвердить, что данные считываются правильно.  Функция патрульного чтения предпринимает попытку исправить поврежденные блоки или переназначить блоки, которые невозможно исправить, как резервные.  Функция проверки целостности активируется вручную (а также может быть запланирована) и сравнивает все накопители в массиве друг с другом, чтобы подтвердить правильность совпадения и избыточности данных.  Например, в массиве RAID 5 будут сравниваться данные на трех накопителях, чтобы подтвердить правильность значений данных и битов четности.  При обнаружении одной ошибки будут использоваться остальные данные и/или биты четности для перезаписи и исправления неверного значения.  Аналогично в массиве RAID 1 данные на одном накопителе будут сравниваться с данными на другом, чтобы обеспечить правильное зеркалирование данных.


Любая ошибка в массиве RAID, если она не будет исправлена, может привести к более серьезным ошибкам, особенно при возникновении второй ошибки.  Одна или несколько одиночных ошибок не приведут к потере данных, пока массив остается в оптимальном состоянии.  Данных и резервирования достаточно для нормальной работы массива.


Из-за возможности контроллера исправлять ошибки во время нормальной работы не всегда легко определить наличие базовых проблем в данных.  Одна или несколько одиночных ошибок нечасто приводят к регистрации сообщений об ошибках или предупреждений в журнале контроллера, журналах оборудования или журналах событий операционной системы.  Поэтому в течение долгого времени может казаться, что массив работает нормально, несмотря на наличие ошибок согласованности и/или одиночных ошибок.



SLN111497_en_US__11
Рис. 1. Несколько одиночных сбоев в массиве RAID 5 — оптимальный массив


Как показано на рис. 1, в массиве имеется несколько ошибок.  Но в каждом страйпе имеется только одна ошибка, поэтому контроллер может получить доступ ко всем данным, благодаря избыточности RAID 5.  Если ошибка возникает в сегменте битов четности, все данные остаются незатронутыми, и ошибка не оказывает влияния на операции чтения.  Если ошибка возникает в сегменте данных, осуществляется XOR-сравнение фрагментов корректных данных и корректных битов четности, чтобы рассчитать сегмент данных, который отсутствует или неверный.  Поскольку в каждом страйпе имеется только одна ошибка, для доступа ко всем данным доступно достаточное резервирование.

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



SLN111497_en_US__22
Рис. 2. Двойная ошибка с неисправным накопителем (данные в страйпах 1 и 2 будут потеряны) — массив со сниженной производительностью    


Возможно возникновение двойной ошибки, когда массив находится в оптимальном состоянии.  Это произойдет при появлении идентичных дефектных LBA на нескольких жестких дисках.  Такие условия возникают чрезвычайно редко в связи с огромным количеством LBA на сегодняшних жестких дисках большой емкости.  Вряд ли одна и та же LBA будет «неисправна» на нескольких жестких дисках одновременно.

Выполнение регулярных операций проверки согласованности позволит исправить отдельные ошибки, будь то физический неисправный блок или логическая ошибка данных. Проверка целостности также снизит риск возникновения двойной ошибки в случае дополнительных ошибок.  Если в любом определенном страйпе не более одной ошибки, операция проверки целостности практически всегда устраняет эту ошибку.

В начало
 
 

Глава 2. Перфорации — что это такое и каковы их причины?


Перфорация (puncture) — это функция контроллеров Dell PERC, предназначенная для того, чтобы контроллер мог восстановить избыточность в массиве, несмотря на потерю данных, вызванную двойной ошибкой.  Другое название перфорации — «перестройка с ошибками» (rebuild with errors).  Когда контроллер RAID обнаружит двойную ошибку, он не может восстановить данные в затронутом страйпе из-за недостаточной избыточности, поэтому контроллер создает перфорацию в страйпе и разрешает продолжить перестройку.

 
  • Любое условие, в результате которого данные становятся недоступными в одном и том же страйпе на нескольких накопителях, является двойной ошибкой
  • Двойные ошибки приводят к потере всех данных в затронутом страйпе
  • Все перфорации являются двойными ошибками, но НЕ все двойные ошибки являются перфорациями


SLN111497_en_US__33
Рис. 3. Перфорированные страйпы (данные в страйпах 1 и 2 потеряны из-за двойной ошибки) — оптимальный массив


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



Перфорация может произойти в одной из двух следующих ситуаций:
 
  • двойная ошибка уже существует (данные уже потеряны);
    • ошибка данных, имеющаяся на онлайн-накопителе, переносится (копируется) на перестраиваемый накопитель;
 
  • двойной ошибки нет (данные будут потеряны, когда произойдет вторая ошибка).
    • Если в состоянии сниженной производительности на онлайн-диске появится дефектный блок, производится перфорация такого LBA.


Преимущество перфорации массива состоит в том, что система остается доступной в рабочем состоянии, и восстанавливается избыточность данных в массиве.  Данные в затронутом страйпе уже потеряны вне зависимости от того, производится перфорация или нет.  Основным недостатком метода LSI является то, что при наличии перфорации в массиве продолжают обнаруживаться неустранимые ошибки при каждом доступе к затронутым данным (при их наличии). 


Перфорация может произойти в трех местах.  Во-первых, перфорация может произойти в пустом пространстве, не содержащем данных.  Такой страйп станет недоступным, но, поскольку в этом месте нет данных, это не имеет существенных последствий.  Любые попытки ОС произвести запись в перфорированный страйп приведут к сбою, и данные будут записаны в другом месте. 


Во-вторых, перфорация может произойти в страйпе, который содержит данные, не являющиеся критически важными, например, файл README.TXT.  Если к затронутым данным не будет осуществляться доступ, во время обычных операций ввода-вывода не будет сообщений об ошибках.  При попытках резервного копирования файловой системы не удастся выполнить резервное копирование всех файлов, затронутых перфорацией.  При выполнении операций проверки согласованности или Patrol Read создается смысловой код:  3/11/00 для применимых LBA и/или страйпов.


В-третьих, в доступном пространстве данных может произойти перфорация.  В этом случае потеря данных может привести к различным ошибкам.  Это могут быть незначительные ошибки, которые не оказывают неблагоприятного воздействия на рабочую среду.  Ошибки также могут быть более серьезными — они могут препятствовать загрузке операционной системы или приводить к невозможности выполнения приложений.


 В конечном итоге массив, имеющий перфорацию, следует удалить и создать заново, чтобы устранить перфорацию.  Эта процедура приведет к стиранию всех данных. Затем потребуется воссоздать или восстановить эти данные из резервной копии после устранения перфорации.  Решение проблемы перфорации можно запланировать на время, которое будет более подходящим для бизнеса.


Если данные в перфорированном страйпе доступны, сообщения об ошибках будут по-прежнему появляться в затронутых badLBA без возможности их исправления. В конечном итоге (возможно, по прошествии нескольких минут, дней, недель, месяцев и т. д.) заполнится таблица управления дефектными блоками (BBM), в результате один или несколько накопителей будут отмечены, как прогнозируемо неисправные (predictive failure). Рассматривая пример на рис. 3, следует отметить, что, как правило, накопитель 0 будет отмечен, как как прогнозируемо неисправный, потому что на него переносятся ошибки, имеющиеся на накопителях 1 и 2. Накопитель 0 может работать в обычном режиме, а его замена приведет только к тому, что она будет также отмечена как прогнозируемый сбой.


Проверка согласованности, выполненная после перфорации, не устранит проблему.  Поэтому крайне важно выполнять проверку целостности на регулярной основе. Особенно важно проводить ее перед заменой накопителей, если это возможно. Для выполнения проверки согласованности массив должен находиться в оптимальном состоянии.


Массив RAID, содержащий одну ошибку данных в сочетании с дополнительным событием ошибки, например сбоем жесткого диска, приводит к перфорации, когда неисправный или сменный накопитель перестраивается в массив. Например, рассмотрим оптимальный массив RAID 5 с тремя элементами: накопитель 0, накопитель 1 и накопитель 2. При отказе и замене накопителя 0 (рис. 2) данные и биты четности, оставшиеся на накопителях 1 и 2, используются для восстановления отсутствующей информации на новом накопителе 0. Тем не менее, если имеется ошибка данных на накопителе 1, во время операции перестройки выясняется, что в страйпе недостаточно информации для восстановления отсутствующих данных. На накопителе 0 нет данных, на накопителе 1 дефектные данные, а на накопителе 2 корректные данные во время перестройки. В таком страйпе существует несколько ошибок. Накопитель 0 и накопитель 1 не содержат корректных данных, поэтому никакие данные в этом страйпе не могут быть восстановлены и будут потеряны.  В результате в ситуации, показанной на рис. 3, во время перестройки создаются перфорации (в страйпах 1 и 2). Ошибки переносятся на накопитель 0. 


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

Глава 3. Предотвращение проблем до их возникновения и устранение перфораций после того, как они появились


Нередко считают, что при эксплуатации «можно ничего не исправлять, пока не сломалось». Хотя во многих областях это правильно, но для наилучшей защиты и управления подсистемами хранения данных настоятельно рекомендуется выполнять плановое регулярное обслуживание. Упреждающее техническое обслуживание может исправить существующие ошибки и предотвратить возникновение ряда ошибок. Упреждающее техническое обслуживание не сможет предотвратить все ошибки, но может значительно смягчить самые серьезные ошибки. Для подсистем хранения данных и RAID это включает в себя следующие шаги:

 
  • обновление драйверов и микропрограмм на контроллерах, жестких дисков, объединительных платах и других устройствах;
  • выполнение плановых операций проверки целостности;
  • проверка журналов на наличие признаков проблем.

Это не обязательно должен быть подробный технический обзор, а может быть просто беглый просмотр журналов с целью выявления потенциальных проблем.
Обратитесь в службу технической поддержки Dell с любыми вопросами или проблемами.


Одно из наиболее важных действий — обеспечение актуальности микропрограммы. В микропрограммы заложены алгоритмы функционирования устройств. Они обеспечивают функциональные возможности и функции устройств, а также различные функции обработки и коррекции ошибок. Применение актуальных версий микропрограмм может обеспечить более высокую производительность и уменьшить количество ошибок. Новые функции и улучшения также могут быть добавлены посредством обновления микропрограммы.


Микропрограмма может находиться в нескольких местах. Контроллеры RAID, как и отдельные жесткие диски, установленные в системе или массиве, содержат микропрограммы. Распределительные платы и внешние шасси также содержат микропрограмму, которая может повлиять на работу накопителей и массивов, содержащихся в них.


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


Проверка согласованности позволяет проверить наличие неисправных блоков на накопителях, но, что более важно, она сравнит данные в массиве, чтобы убедиться в том, что все компоненты совпадают правильно. При обнаружении проблемы определяется, какими должны быть данные, и вносятся исправления с учетом проверки данных на других накопителях в массиве. Исправление ошибок данных, когда они относительно небольшие, — лучший способ снижения риска перфораций, которые происходят в результате существующих ошибок данных в сочетании со второй ошибкой или сбоем. Наличие двойных ошибок и перфораций может привести к потере производительности на время, необходимое для восстановления массивов и данных до работоспособного состояния, или даже полной потере всех данных.


При наличии двойной ошибки или перфорации часто происходит потеря данных. Если эти ошибки возникают в пустом пространстве или месте, где нет критически важных данных, они могут незначительно влиять на данные в рабочей среде. Однако наличие этих ошибок может означать, что могут возникнуть более серьезные проблемы. Ошибки оборудования и устаревшая микропрограмма могут потребовать немедленного вмешательства.


При наличии известной или предполагаемой двойной ошибки или перфорации выполните следующие действия, чтобы свести к минимуму риск возникновения более серьезных проблем:

 
  • выполните проверку целостности (массив должен быть оптимальным);
  • проверьте, нет ли проблем с оборудованием;
  • проверьте журнал контроллера;
  • выполните диагностику оборудования;
  • обратитесь в службу технической поддержки Dell при необходимости.

Если эти шаги выполнены, остаются дополнительные поводы для беспокойства. Со временем перфорации могут привести к переводу жестких дисков в состояние прогнозируемой неисправности. Будут появляться сообщения об ошибках данных, которые перенесены на накопитель, как об ошибках носителя на накопителе, несмотря на отсутствие проблем с оборудованием. При каждом обращении к LBA появляется сообщение об ошибке. После заполнения журнала ошибок накопитель будет сообщать о ней как о прогнозируемой ошибке.


О наличии перфорации LBA на накопителе может сообщаться много раз. В зависимости от количества перфораций, возможно, что несколько накопителей перейдут в состояние прогнозируемо неисправных. Замена предсказуемо неисправного накопителя может привести тому, что существующие перфорации будут перенесены на новый накопитель, и, в конечном итоге, новый накопитель также будет отмечен, как прогнозируемо неисправный. В этом случае единственным корректирующим действием является устранение состояния перфорации.


На рис. 3 видно, что перфорация возникла в страйпах 1 и 2. Замена жестких дисков не поможет решить эту проблему, потому что избыточность данных недостаточна для восстановления исходных данных. Все данные, содержащиеся в перфорированных страйпах, потеряны (если они не сохранены в предыдущей резервной копии). Следует помнить, что перфорация не может быть причиной потери данных — к потере данных приводит двойная ошибка. Перфорация служит средством для восстановления избыточности данных в массиве с двойной ошибкой.
 

 

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

 

 

Предупреждение. Выполнение следующих шагов приведет к потере всех данных в массиве. Обязательно подготовьтесь к восстановлению из резервной копии или другими средствами перед выполнением этих шагов. Будьте внимательны, чтобы выполнение этих шагов не повлияло на какие-либо другие массивы.
  1. Сбросьте сохраненный кэш (если он существует).
  2. Удалите внешние конфигурации (при их наличии)
  3. Удалите массив
  4. Переместите накопители по одному в другие слоты (применительно к рис. 1 переместите диск 0 в слот 1, диск 1 в слот 2 и диск 2 в слот 0)
  5. Создайте нужный массив
  6. Выполните полную инициализацию массива (а не быструю инициализацию)
  7. Выполните проверку целостности данных в массиве

Если проверка целостности будет выполнена без ошибок, можно считать, что массив работоспособен и перфорация устранена. Теперь данные можно восстановить в исправном массиве.


В более серьезных случаях проблема может быть не устранена, и ошибки могут сохраняться, несмотря на выполнение этих действий. Если после выполнения этих действий проблема не устранена, обратитесь в службу технической поддержки Dell за дополнительной помощью.


Может потребоваться более подробный анализ перфораций, чтобы определить, какие накопители являются общими. Например, в ситуации, показанной на рис. 3, в журнале контроллера будут сведения о перфорации между дисками 0 и 1 и перфорации между дисками 0 и 2. Диск 0 является общим диском. Выполните вышеуказанные шаги, сначала полностью удалив общие диски. Например, в ситуации, показанной на рис. 1, удалите диск 0, а затем выполните указанные шаги. Создайте массив, используя остальные диски (1 и 2). После завершения и проверки согласованности, определяющей, что массив исправен, повторно добавьте диск 0 и выполните все шаги для всех накопителей, или с помощью функций RLM (перенос с одного уровня RAID на другой) и/или OCE (оперативное расширение емкости) добавьте оставшиеся накопители в массив.


Все накопители, отмеченные как прогнозируемые сбои, необходимо удалить и не включать в процесс восстановления. Еще раз, рассматривая рис. 3 в качестве примера, если диск 0 прогнозируемо неисправный, удалите этот диск. Затем выполните вышеуказанные шаги. Поскольку осталось только 2 накопителя, созданный массив RAID будет массивом RAID 1, а не RAID 5. Получив новый диск для замены диска 0 (из-за прогнозируемой неисправности) выполните эти шаги еще раз, включив все 3 накопителя, или добавьте диск 0 в существующий массив с помощью RLM и измените массив с RAID 1 с двумя накопителями на RAID 5 с тремя накопителями.


Этот процесс может быть трудной задачей, особенно учитывая возможность потери данных. К этой ситуации подходит изречение: «Легче болезнь предупредить, чем потом ее лечить». Опыт показывает, что можно избежать почти всех двойных ошибок и перфораций, выполняя профилактическое техническое обслуживание аппаратных средств RAID и массивов.
 

 

Примечание. Эффективный мониторинг системы позволяет своевременно обнаруживать и исправлять проблемы, что также снижает риск появления более серьезных проблем.


 

Связанная статья
PERC — как исправить перфорацию в массиве RAID

 

В начало

 

Cause

-

Resolution

-

Article Properties


Affected Product

Servers

Last Published Date

25 Mar 2022

Version

6

Article Type

Solution