stringtranslate.com

Повреждение данных

Повреждение данных фотографии; в данном случае это результат неудачного восстановления данных с жесткого диска.

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

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

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

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

Обзор

Фотография Atari 2600 с поврежденной оперативной памятью.
Видео, которое было повреждено. Предупреждение об эпилепсии: это видео содержит яркие, мигающие изображения.

Существует два типа повреждения данных, связанных с компьютерными системами: необнаруженное и обнаруженное. Необнаруженное повреждение данных, также известное как скрытое повреждение данных , приводит к самым опасным ошибкам, поскольку нет никаких признаков того, что данные неверны. Обнаруженное повреждение данных может быть постоянным с потерей данных или может быть временным, когда какая-то часть системы способна обнаружить и исправить ошибку; в последнем случае повреждение данных отсутствует.

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

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

Аппаратные и программные сбои являются двумя основными причинами потери данных . Фоновое излучение , сбои головок и старение или износ устройства хранения данных попадают в первую категорию, в то время как программные сбои обычно происходят из-за ошибок в коде. Космические лучи вызывают большинство мягких ошибок в DRAM. [1]

Тихий

Некоторые ошибки остаются незамеченными, не обнаруживаясь прошивкой диска или операционной системой хоста; такие ошибки известны как скрытое повреждение данных . [2]

Существует множество источников ошибок за пределами самой подсистемы хранения на диске. Например, кабели могут быть слегка ослаблены, блок питания может быть ненадежным, [3] внешние вибрации, такие как громкий звук, [4] сеть может вносить необнаруженные повреждения, [5] космическое излучение и многие другие причины ошибок мягкой памяти и т. д. В 39 000 проанализированных систем хранения ошибки прошивки составляли 5–10% сбоев хранения. [6] В целом, частота ошибок, наблюдаемых в исследовании ЦЕРН по скрытому повреждению, намного выше, чем один на каждые 10 16 бит. [7] Интернет-магазин Amazon.com признал аналогичные высокие показатели повреждения данных в своих системах. [8] В 2021 году неисправные ядра процессора были определены как дополнительная причина в публикациях Google и Facebook; было обнаружено, что ядра были неисправны с частотой несколько на тысячи ядер. [9] [10]

Одна из проблем заключается в том, что емкость жестких дисков существенно увеличилась, но частота ошибок осталась неизменной. Частота повреждения данных всегда была примерно постоянной во времени, что означает, что современные диски не намного безопаснее старых. На старых дисках вероятность повреждения данных была очень мала, поскольку они хранили крошечные объемы данных. На современных дисках вероятность намного больше, поскольку они хранят гораздо больше данных, не будучи при этом более безопасными. Таким образом, тихое повреждение данных не было серьезной проблемой, пока устройства хранения оставались относительно небольшими и медленными. В наше время и с появлением более крупных дисков и очень быстрых установок RAID пользователи способны передавать 10 16 бит за достаточно короткое время, таким образом, легко достигая порогов повреждения данных. [11]

В качестве примера создатель ZFS Джефф Бонвик заявил, что быстрая база данных в Greenplum , компании-разработчике программного обеспечения для баз данных, специализирующейся на крупномасштабном хранении и аналитике данных, сталкивается с скрытым повреждением каждые 15 минут. [12] В качестве другого примера, реальное исследование, проведенное NetApp на более чем 1,5 миллионах жестких дисков в течение 41 месяца, обнаружило более 400 000 скрытых повреждений данных, из которых более 30 000 не были обнаружены аппаратным RAID-контроллером (обнаружены только во время очистки ). [13] Другое исследование, проведенное CERN в течение шести месяцев и включавшее около 97  петабайт данных, показало, что около 128  мегабайт данных были навсегда скрытно повреждены где-то на пути от сети к диску. [14]

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

Контрмеры

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

Если обнаружено неисправимое повреждение данных, могут быть применены такие процедуры, как автоматическая повторная передача или восстановление из резервных копий . Определенные уровни дисковых массивов RAID имеют возможность хранить и оценивать биты четности для данных на наборе жестких дисков и могут восстанавливать поврежденные данные при отказе одного или нескольких дисков, в зависимости от уровня реализованного RAID. Некоторые архитектуры ЦП используют различные прозрачные проверки для обнаружения и смягчения повреждения данных в кэшах ЦП , буферах ЦП и конвейерах инструкций ; примером является технология Intel Instruction Replay , которая доступна на процессорах Intel Itanium . [16]

Многие ошибки обнаруживаются и исправляются жесткими дисками с помощью кодов ECC [17] , которые хранятся на диске для каждого сектора. Если дисковод обнаруживает несколько ошибок чтения в секторе, он может сделать копию неисправного сектора в другой части диска, переназначив неисправный сектор диска на запасной сектор без участия операционной системы (хотя это может быть отложено до следующей записи в сектор). Это «тихое исправление» можно отслеживать с помощью SMART и инструментов, доступных для большинства операционных систем, для автоматической проверки диска на предмет надвигающихся сбоев путем отслеживания ухудшения параметров SMART.

Некоторые файловые системы , такие как Btrfs , HAMMER , ReFS и ZFS , используют внутренние контрольные суммы данных и метаданных для обнаружения скрытого повреждения данных. Кроме того, если обнаружено повреждение и файловая система использует интегрированные механизмы RAID, которые обеспечивают избыточность данных , такие файловые системы также могут прозрачным образом реконструировать поврежденные данные. [18] Такой подход позволяет улучшить защиту целостности данных, охватывающую все пути данных, что обычно известно как сквозная защита данных , по сравнению с другими подходами к целостности данных, которые не охватывают различные слои в стеке хранения и допускают повреждение данных, пока данные проходят границы между различными слоями. [19]

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

Если для обнаружения и устранения повреждения данных используются соответствующие механизмы, целостность данных может быть сохранена. Это особенно важно в коммерческих приложениях (например, банковских ), где необнаруженная ошибка может либо повредить индекс базы данных, либо изменить данные, что радикально повлияет на баланс счета, а также при использовании зашифрованных или сжатых данных, где небольшая ошибка может сделать обширный набор данных непригодным для использования. [7]

Смотрите также

Ссылки

  1. ^ Scientific American (2008-07-21). "Солнечные бури: краткие факты". Nature Publishing Group . Архивировано из оригинала 2010-12-26 . Получено 2009-12-08 .
  2. ^ "Тихое повреждение данных". Google Inc. 2023. Получено 30 января 2023 г. Тихое повреждение данных (SDC), иногда называемое тихой ошибкой данных (SDE), является общеотраслевой проблемой, затрагивающей не только долго защищенную память, хранилище и сеть, но и процессоры компьютеров.
  3. ^ Эрик Лоу (16 ноября 2005 г.). «ZFS спасает день(-та)!». Oracle – Core Dumps of a Kernel Hacker's Brain – Eric Lowe's Blog . Oracle. Архивировано из оригинала (Блог) 5 февраля 2012 г. Получено 9 июня 2012 г.
  4. ^ bcantrill (31 декабря 2008 г.). «Shouting in the Datacenter» (видеофайл) . YouTube . Архивировано из оригинала 3 июля 2012 г. Получено 9 июня 2012 г.
  5. ^ jforonda (31 января 2007 г.). "Faulty FC port meets ZFS" (Блог) . Blogger – Outside the Box . Архивировано из оригинала 26 апреля 2012 г. Получено 9 июня 2012 г.
  6. ^ «Являются ли диски основным фактором сбоев в системах хранения данных? Комплексное исследование характеристик сбоев подсистем хранения данных» (PDF) . USENIX. Архивировано (PDF) из оригинала 2022-01-25 . Получено 2014-01-18 .
  7. ^ ab Bernd Panzer-Steindel (8 апреля 2007 г.). "Draft 1.3". Целостность данных . CERN. Архивировано из оригинала 27 октября 2012 г. Получено 9 июня 2012 г.
  8. ^ "Наблюдения за ошибками, исправлениями и доверием зависимых систем". Архивировано из оригинала 29.10.2013.
  9. ^ Хохшильд, Питер Х.; Тернер, Пол Джек; Могул, Джеффри К.; Говиндараджу, Рама Кришна; Ранганатхан, Партхасаратхи; Каллер, Дэвид Э.; Вахдат, Амин (2021). «Ядра, которые не учитываются» (PDF) . Труды семинара по горячим темам в операционных системах . стр. 9–16. doi :10.1145/3458336.3465297. ISBN 9781450384384. S2CID  235311320. Архивировано (PDF) из оригинала 2021-06-03 . Получено 2021-06-02 .
  10. ^ HotOS 2021: Cores That Don't Count (Веселое оборудование), заархивировано из оригинала 2021-12-22 , извлечено 2021-06-02
  11. ^ "Тихое повреждение данных в дисковых массивах: решение". NEC. 2009. Архивировано из оригинала (PDF) 29 октября 2013 г. Получено 14 декабря 2020 г.
  12. ^ «Беседа с Джеффом Бонвиком и Биллом Муром». Ассоциация вычислительной техники. 15 ноября 2007 г. Архивировано из оригинала 16 июля 2011 г. Получено 14 декабря 2020 г.
  13. ^ Дэвид С. Х. Розенталь (1 октября 2010 г.). «Сохранение битов: насколько сложно это может быть?». ACM Queue . Архивировано из оригинала 17 декабря 2013 г. Получено 2014-01-02 .; Байравасундарам, Л., Гудсон, Г., Шредер, Б., Арпачи-Дюссо, А.С., Арпачи-Дюссо, Р.Х. 2008. Анализ повреждения данных в стеке хранилища. В трудах 6-й конференции Usenix по технологиям хранения и файлов.
  14. ^ Келемен, П. Молчаливые искажения (PDF) . 8-й ежегодный семинар по Linux-кластерам для суперкомпьютеров.
  15. ^ Дэвид Фиала; Фрэнк Мюллер; Кристиан Энгельманн; Рольф Ризен; Курт Феррейра; Рон Брайтвелл (ноябрь 2012 г.). "Обнаружение и исправление скрытого повреждения данных для крупномасштабных высокопроизводительных вычислений" (PDF) . fiala.me . IEEE . Архивировано (PDF) из оригинала 2014-11-07 . Получено 2015-01-26 .
  16. ^ Стив Бостиан (2012). «Повышение надежности критически важных приложений: технология повторного воспроизведения инструкций Intel» (PDF) . Intel . Архивировано (PDF) из оригинала 2016-02-02 . Получено 2016-01-27 .
  17. ^ "Read Error Severities and Error Management Logic". Архивировано из оригинала 7 апреля 2012 г. Получено 4 апреля 2012 г.
  18. ^ Маргарет Бирман; Ленц Гриммер (август 2012 г.). «Как я использую расширенные возможности Btrfs». Oracle Corporation . Архивировано из оригинала 2014-01-02 . Получено 2014-01-02 .
  19. ^ Юпу Чжан; Абишек Раджимвале; Андреа Арпачи-Дюссо ; Ремзи Х. Арпачи-Дюссо (2010). "Сквозная целостность данных для файловых систем: исследование случая ZFS" (PDF) . Конференция USENIX по технологиям хранения файлов . CiteSeerX 10.1.1.154.3979 . S2CID  5722163. Wikidata  Q111972797 . Получено 12 августа 2014 г. 

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