Главная Storages, Новое Silent Data Corruption — неотслеженное повреждение данных
  • Silent Data Corruption — неотслеженное повреждение данных

    DataCorruption Без технологии защиты, действующей “от двери и до двери”, повреждение данных может пройти незамеченным, и тогда процесс восстановления окажется длительным, трудным и дорогостоящим, если и вообще возможным. Без технологии проверки целостности данных на всем протяжении пути данных, такое необнаруженное повреждение может вести к неожиданным и трудноотлавливаемым проблемам.Недавняя статья в PC Magazine (опубликована 25 августа 2008 года) сообщает о произошедшем в реальной жизни инциденте:

    “Netflix заметил проблему повреждения базы данных в своей системе отгрузки товара. В течении дня мы начали замечать аналогичные проблемы в прочих базах нашей торговой системы, пока, наконец, вся система не встала.”

    Причина обнаружилась в сбойном аппаратном компоненте сети передачи данных, но проблема была не столько в нем, сколько в том, что этот компонент при этом не сообщал ни о каких ошибках в своей работе.

    Одно из мест, где повреждение данных может произойти, это процесс записи на диск. Есть два основных вида повреждений диска. Первый — так называемый “latent sector errors” или “неустойчивая ошибка чтения сектора”, который обычно является следствием физического сбоя диска. Примером может служить ошибка чтения, о которой сообщает дисковый массив.
    Такой вид ошибки обычно детектируется с помощью ECC или CRC в канале ввода-вывода, и чаще всего исправляется автоматически.

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

    Недавнее исследование*, проведенное в Университете Висконсина, Университете Торонто и компании NetApp было сосредоточено на “тихих ошибках” жестких дисков. Исследование проводилось в течении 41 месяца, и анализировались ошибки контрольных сумм 1,53 миллионов жестких дисков.

    При исследовании использовались данные блоков на уровне файловой системы, чтобы обнаружить ранее не обнаруживаемые ошибки контрольных сумм. В течении 41 месяца “тихие ошибки” были зарегистрированы на 0.86% из 358000 дисках SATA и 0.065% из 1.17 миллионов дисков Fibre Channel. Хотя эти величины и невысоки, но они представляют собой не обнаруживаемые, и полностью “тихие ошибки”, которые могут привести к потере или искажению данных, и, в результате, значительному простою.

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

    Еще в 2001 году Oracle выступил с инициативой HARD- Hardware Assisted Resilient Data — программой мер, обеспечивающих сквозной контроль целостности информации от диска до приложения.
    Постепенно к этой программе присоединяются новые участники, обеспечивающие соответствующий функционал в своих продуктах. С 2003 года существует стандарт (Protection Information) подготовленный группой ANSI T10, с 2007 года в рамках инициативы DII (Data Integrity Initiative) сотрудничают Oracle, Emulex, Seagate и LSI, организована координирующая группа SNIA Data Integrity Working Group. C 2008 соответсвующие средства и поддержка, по инициативе Oracle, внесены в ядро Linux, начиная от 2.6.27.

    Возможно интересующиеся темой уже знают, что в дисках NetApp используется специальный размер сектора — 520 байт, вместо стандартных 512. Именно эти 8 байт на сектор и используются для хранения дополнительной информации для защиты и обнаружения искажения информации на самом нижнем, ниже RAID уровне.

    Вот как определяет этот механизм группа ANSI T10:

    t10sect

    Protection Informаtion Standart (PI) это расширение спецификации SCSI Block Command, утвержденного техническим комитетом T10. Спецификация PI относится к коммуникации между контроллером SCSI и устройством хранения. Стандартным образом данные размещаются в 512-байтных блоках. Стандарт DIF определяет дополнительные 8 байт, увеличивающие сектор до 520 байт. Дополнительные байты используются для хранения тегов, которые используются для проверки содержимого 512 байт данных в секторе.

    FC HBA (как SCSI-контроллер в данном случае) генерирует соответствующие 8 байт служебных данных, которые записываются вместе с сектором. В дальнейшем это позволить иметь дополнительный “слой” защиты в случае ошибочного чтения или записи данных на самом “низком уровне”.

    В настоящий момент на сайте Oracle в списке поддержавших и проверенных тестами Oracle EMC (Symmetrix), NetApp (все модели), Hitachi Data Systems (USP), а также “братья” последней, такие как HP XP и Sun StorEdge 99xx, и малоизвестные у нас системы NEC и Fujitsu.

    Как видно из списка, среди модульных (не-”highend”) систем пока эта технология реализована (с 2004 года) только у NetApp, и у них единственных проходит полный набор тестов HARD, хотя я слышал, что EMC CLARiiON также использует “нестандартный” (на самом деле как раз стандартный, в соответствии с новым стандартом ANSI T10) размер сектора, с той же целью.
    Соответствующее ПО под названием SnapValidator обеспечивает работу контрольных алгоритмов Oracle внутри системы хранения, и гарантирует полную целостность данных Oracle “от двери до двери”, от блока данных в памяти сервера, до сектора данных на “блине” жесткого диска.

    SnapValidator на сайте NetApp

    * L. Bairavasundaram, G. Goodson, B. Schroeder, A. Arpaci-Dusseau, R. Arpaci-Dusseau, “An Analysis of Data Corruption in the Storage Stack “, FAST08

    Romx

    http://blog.aboutnetapp.ru/

    • Рубрика: Storages,Новое
    • Автор: Romx
    • Дата: Вторник 23 Июн 2009

Комментарии

  1. Хотелось бы поподробней услышать про DIF и что там пишет.

    А вообще как расшифровывается ?

  2. Tnx почитаем для развития

  3. а zfs это делает на уровень выше 🙂 (если я не ошибаюсь)

Опубликовать

Я не робот.