Повреждение данных
Повреждение данных — это ошибки в компьютерных данных , возникающие во время записи, чтения, хранения, передачи или обработки, которые вносят непреднамеренные изменения в исходные данные. Компьютерные системы, системы передачи и хранения используют ряд мер для обеспечения сквозной целостности данных или отсутствия ошибок.
Как правило, при повреждении данных файл, содержащий эти данные, приводит к неожиданным результатам при доступе к нему со стороны системы или связанного приложения. Результаты могут варьироваться от незначительной потери данных до сбоя системы. Например, если файл документа поврежден, когда человек пытается открыть этот файл с помощью редактора документов, он может получить сообщение об ошибке , поэтому файл может не открыться или открыться с поврежденными некоторыми данными (или, в некоторых случаях, с поврежденными данными). , полностью испорчен, в результате чего документ становится непонятным). Соседнее изображение представляет собой поврежденный файл изображения, в котором потеряна большая часть информации.
Некоторые типы вредоносных программ могут намеренно повреждать файлы как часть своих полезных данных , обычно перезаписывая их неработоспособным или мусорным кодом, в то время как невредоносный вирус может также непреднамеренно повреждать файлы при доступе к ним. Если вирусу или трояну с этим методом полезной нагрузки удастся изменить файлы, критически важные для работы программного обеспечения операционной системы компьютера или физического оборудования, вся система может стать непригодной для использования.
Некоторые программы могут предложить восстановить файл автоматически (после возникновения ошибки), а некоторые не могут его восстановить. Это зависит от уровня повреждения и встроенных возможностей приложения по обработке ошибки. Причины коррупции разные.
Обзор
[ редактировать ]Существует два типа повреждения данных, связанных с компьютерными системами: необнаруженное и обнаруженное. Необнаруженное повреждение данных, также известное как скрытое повреждение данных , приводит к наиболее опасным ошибкам, поскольку нет никаких признаков того, что данные неверны. Обнаружено повреждение данных может быть постоянным при потере данных или может быть временным, когда какая-то часть системы способна обнаружить и исправить ошибку; в последнем случае повреждение данных отсутствует.
Повреждение данных может произойти на любом уровне системы, от хоста до носителя информации. Современные системы пытаются обнаружить повреждение на многих уровнях, а затем восстановить или исправить повреждение; это почти всегда успешно, но очень редко информация, поступающая в память системы, повреждена и может привести к непредсказуемым результатам.
Повреждение данных во время передачи имеет множество причин. Прерывание передачи данных приводит к потере информации . Условия окружающей среды могут мешать передаче данных, особенно при использовании методов беспроводной передачи. Тяжелые облака могут блокировать спутниковую передачу. Беспроводные сети чувствительны к помехам от таких устройств, как микроволновые печи.
Сбои аппаратного и программного обеспечения являются двумя основными причинами потери данных . Фоновое излучение , поломка головки , старение или износ устройства хранения данных относятся к первой категории, тогда как сбой программного обеспечения обычно происходит из-за ошибок в коде. Космические лучи вызывают большинство мягких ошибок в 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 ] Другое исследование, проведенное ЦЕРН в течение шести месяцев и охватывающее около 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 ]
См. также
[ редактировать ]- Различные ресурсы:
- Деградация данных , также называемая гниением данных
- Информатика
- Целостность данных
- Целостность базы данных
- Радиационная закалка
- Программное гниение
- Контрмеры:
Ссылки
[ редактировать ]- ^ Научный американец (21 июля 2008 г.). «Солнечные бури: краткие факты» . Издательская группа «Природа» . Архивировано из оригинала 26 декабря 2010 г. Проверено 8 декабря 2009 г.
- ^ «Тихое повреждение данных» . Google Inc., 2023 год . Проверено 30 января 2023 г.
«Тихое повреждение данных» (SDC), иногда называемое «тихая ошибка данных» (SDE), представляет собой общеотраслевую проблему, затрагивающую не только давно защищенную память, хранилище и сеть, но и компьютерные процессоры.
- ^ Эрик Лоу (16 ноября 2005 г.). «ZFS спасает положение (-та)!» . Oracle – дампы ядра мозга хакера ядра – блог Эрика Лоу . Оракул. Архивировано из оригинала (Блог) 5 февраля 2012 года . Проверено 9 июня 2012 года .
- ^ bcantrill (31 декабря 2008 г.). «Крик в датацентре» (Видеофайл) . Ютуб . Архивировано из оригинала 3 июля 2012 года . Проверено 9 июня 2012 года .
- ^ jforonda (31 января 2007 г.). «Неисправный порт FC соответствует ZFS» (Блог) . Блогер – нестандартный . Архивировано из оригинала 26 апреля 2012 года . Проверено 9 июня 2012 года .
- ^ «Являются ли диски основной причиной сбоев систем хранения данных? Комплексное исследование характеристик сбоев подсистемы хранения данных» (PDF) . УСЕНИКС. Архивировано (PDF) из оригинала 25 января 2022 г. Проверено 18 января 2014 г.
- ^ Jump up to: а б Бернд Панцер-Штайндель (8 апреля 2007 г.). «Проект 1.3» . Целостность данных . ЦЕРН. Архивировано из оригинала 27 октября 2012 года . Проверено 9 июня 2012 года .
- ^ «Наблюдения за ошибками, исправлениями и доверием зависимых систем» . Архивировано из оригинала 29 октября 2013 г.
- ^ Хохшильд, Питер Х.; Тернер, Пол Джек; Могул, Джеффри С.; Говиндараджу, Рама Кришна; Ранганатан, Партасарати; Каллер, Дэвид Э.; Вахдат, Амин (2021). «Ядра, которые не в счет» (PDF) . Материалы семинара по актуальным темам операционных систем . стр. 9–16. дои : 10.1145/3458336.3465297 . ISBN 9781450384384 . S2CID 235311320 . Архивировано (PDF) из оригинала 3 июня 2021 г. Проверено 2 июня 2021 г.
- ^ HotOS 2021: Cores That Don’t Count (Fun Hardware) , заархивировано из оригинала 22 декабря 2021 г. , получено 2 июня 2021 г.
- ^ «Тихое повреждение данных в дисковых массивах: решение» . НЭК. 2009. Архивировано из оригинала (PDF) 29 октября 2013 года . Проверено 14 декабря 2020 г.
- ^ «Разговор с Джеффом Бонвиком и Биллом Муром» . Ассоциация вычислительной техники. 15 ноября 2007 года. Архивировано из оригинала 16 июля 2011 года . Проверено 14 декабря 2020 г.
- ^ Дэвид С.Х. Розенталь (1 октября 2010 г.). «Сохранить биты в безопасности: насколько это может быть сложно?» . Очередь АКМ . Архивировано из оригинала 17 декабря 2013 года . Проверено 2 января 2014 г. ; Байравасундарам Л., Гудсон Г., Шредер Б., Арпачи-Дюссо А.С., Арпачи-Дюссо Р.Х. 2008. Анализ повреждения данных в стеке хранилища. В материалах 6-й конференции Usenix по файловым технологиям и технологиям хранения.
- ^ Келемен, П. Тихая коррупция (PDF) . 8-й ежегодный семинар по кластерам Linux для супервычислений.
- ^ Дэвид Фиала; Фрэнк Мюллер; Кристиан Энгельманн; Рольф Ризен; Курт Феррейра; Рон Брайтвелл (ноябрь 2012 г.). «Обнаружение и исправление скрытого повреждения данных для крупномасштабных высокопроизводительных вычислений» (PDF) . fiala.me . ИИЭЭ . Архивировано (PDF) из оригинала 7 ноября 2014 г. Проверено 26 января 2015 г.
- ^ Стив Бостиан (2012). «Повышение надежности критически важных приложений: технология воспроизведения инструкций Intel» (PDF) . Интел . Архивировано (PDF) из оригинала 2 февраля 2016 г. Проверено 27 января 2016 г.
- ^ «Чтение серьезности ошибок и логики управления ошибками» . Архивировано из оригинала 7 апреля 2012 года . Проверено 4 апреля 2012 г.
- ^ Маргарет Бирман; Ленц Гриммер (август 2012 г.). «Как я использую расширенные возможности Btrfs» . Корпорация Оракл . Архивировано из оригинала 2 января 2014 г. Проверено 2 января 2014 г.
- ^ Юпу Чжан; Абхишек Раджимвале; Андреа Арпачи-Дюссо ; Ремзи Х. Арпачи-Дюссо (2010). «Сквозная целостность данных для файловых систем: пример ZFS» (PDF) . Конференция USENIX по файловым технологиям и технологиям хранения данных . CiteSeerX 10.1.1.154.3979 . S2CID 5722163 . Викиданные Q111972797 . Проверено 12 августа 2014 г.
Внешние ссылки
[ редактировать ]- SoftECC: система проверки целостности памяти программного обеспечения
- Настраиваемая программная библиотека обнаружения и исправления ошибок DRAM для HPC
- Обнаружение и исправление скрытого повреждения данных для крупномасштабных высокопроизводительных вычислений
- Сквозная целостность данных для файловых систем: пример ZFS
- Ошибки DRAM в природе: крупномасштабное полевое исследование
- Исследование скрытой коррупции и связанный с ним документ о целостности данных (CERN, 2007).
- Комплексная защита данных на жестких дисках SAS и Fibre Channel (HGST)