stringtranslate.com

Очистка данных

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

Целостность данных является первоочередной задачей при записи, чтении, хранении, передаче или обработке компьютерных данных в компьютерных операционных системах , а также в компьютерных системах хранения и передачи данных . Однако лишь немногие из существующих и используемых в настоящее время файловых систем обеспечивают достаточную защиту от повреждения данных . [1] [2] [3]

Чтобы решить эту проблему, очистка данных обеспечивает регулярную проверку всех несоответствий в данных и, в целом, предотвращение сбоев оборудования или программного обеспечения. Эта функция «очистки» обычно встречается в памяти, дисковых массивах, файловых системах или FPGA как механизм обнаружения и исправления ошибок. [4] [5] [6]

Рейд

Благодаря очистке данных контроллер RAID может периодически считывать все жесткие диски в массиве RAID и проверять наличие дефектных блоков, прежде чем приложения смогут получить к ним фактический доступ. Это снижает вероятность скрытого повреждения данных и потери данных из-за ошибок на уровне битов. [7]

В RAID-средах Dell PowerEdge функция, называемая «патрульное чтение», позволяет выполнять очистку данных и профилактическое обслуживание . [8]

В OpenBSD утилита bioctl(8)позволяет системному администратору контролировать эти патрульные чтения через BIOCPATROL ioctl на /dev/bio псевдоустройстве ; по состоянию на 2019 год эта функция поддерживается в некоторых драйверах устройств для контроллеров LSI Logic и Dell — начиная mfi(4)с OpenBSD 5.8 (2015 г.) и mfii(4)начиная с OpenBSD 6.4 (2018 г.). [9] [10]

Во FreeBSD и DragonFly BSD патрулированием можно управлять с помощью специальной утилиты RAID-контроллераmfiutil(8) , начиная с FreeBSD 8.0 (2009 г.) и 7.3 (2010 г.). [11] Реализация из FreeBSD использовалась разработчиками OpenBSD для добавления поддержки патрулирования в их общую структуру bio(4) и утилиту bioctl без необходимости использования отдельной утилиты для конкретного контроллера.

В NetBSD в 2008 году структура bio(4) из OpenBSD была расширена за счет поддержки проверок согласованности, которая была реализована для /dev/bio псевдо-устройства по команде BIOCSETSTATE ioctl , с опциями start и stop ( BIOC_SSCHECKSTART_VOLи BIOC_SSCHECKSTOP_VOLсоответственно); по состоянию на 2019 год это поддерживается только одним драйвером — arcmsr(4). [12]

Linux MD RAID , как программная реализация RAID , делает доступной проверку согласованности данных и обеспечивает автоматическое исправление обнаруженных несоответствий данных. Такие процедуры обычно выполняются путем настройки еженедельного задания cron . Техническое обслуживание осуществляется путем выдачи операций проверки , ремонта или простоя каждому из проверяемых устройств MD. Статусы всех выполненных операций, а также общие статусы RAID всегда доступны. [13] [14] [15]

Файловые системы

Бтрфс

Будучи файловой системой копирования при записи (CoW) для Linux , Btrfs обеспечивает изоляцию ошибок, обнаружение и исправление повреждений, а также очистку файловой системы. Если файловая система обнаруживает несоответствие контрольной суммы при чтении блока, она сначала пытается получить (или создать) хорошую копию этого блока с другого устройства – если используются его методы внутреннего зеркалирования или RAID. [16]

Btrfs может инициировать онлайн-проверку всей файловой системы, запуская задание очистки файловой системы, которое выполняется в фоновом режиме. Задание очистки сканирует всю файловую систему на целостность и автоматически пытается сообщить и исправить любые поврежденные блоки, обнаруженные на этом пути. [17] [18]

ZFS

Возможности ZFS, комбинированной файловой системы и диспетчера логических томов , включают проверку на предмет повреждения данных , непрерывную проверку целостности и автоматическое восстановление. Компания Sun Microsystems разработала ZFS с нуля, уделив особое внимание целостности данных и защите данных на дисках от таких проблем, как ошибки встроенного ПО диска и призрачная запись. [ не удалось пройти проверку ] [19]

ZFS предоставляет утилиту восстановления scrub, которая исследует и устраняет скрытое повреждение данных , вызванное порчей данных и другими проблемами.

Память

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

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

ПЛИС

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

Для очистки можно использовать множество подходов: от простого перепрограммирования FPGA до частичной реконфигурации. Самый простой метод очистки — полностью перепрограммировать FPGA с некоторой периодичностью (обычно 1/10 от расчетной частоты сбоев). Однако FPGA не работает в течение этого времени перепрограммирования, порядка микросекунд или миллисекунд. В ситуациях, когда прерывание такого типа недопустимо, возможна частичная реконфигурация. Этот метод позволяет перепрограммировать FPGA, пока он еще работает. [20]

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

Рекомендации

  1. ^ «Проверка целостности файловой системы ZFS» . Руководство по администрированию файловой системы Oracle Solaris ZFS . Оракул. Архивировано из оригинала 31 января 2013 года . Проверено 25 ноября 2012 г.
  2. ^ Виджаян Прабхакаран (2006). «ЖЕЛЕЗНЫЕ ФАЙЛОВЫЕ СИСТЕМЫ» (PDF) . Доктор философии в области компьютерных наук . Университет Висконсин-Мэдисон. Архивировано (PDF) из оригинала 29 апреля 2011 года . Проверено 9 июня 2012 года .
  3. ^ Андрей Крюков; Лакшми Н. Байравасундарам; Гарт Р. Гудсон; Киран Шринивасан; Рэнди Телен; Андреа К. Арпачи-Дюссо; Ремзи Х. Арпачи-Дюссо (2008). «Паритет потерян и паритет восстановлен». В Мэри Бейкер; Эрик Ридель (ред.). FAST'08: Материалы 6-й конференции USENIX по файловым технологиям и технологиям хранения данных . Архивировано из оригинала 26 августа 2020 г. Проверено 28 мая 2021 г.
  4. ^ «Анализ повреждения данных в стеке хранилища» (PDF) . Архивировано (PDF) из оригинала 15 июня 2010 г. Проверено 26 ноября 2012 г.
  5. ^ «Влияние повреждения диска на СУБД с открытым исходным кодом» (PDF) . Архивировано (PDF) из оригинала 15 июня 2010 г. Проверено 26 ноября 2012 г.
  6. ^ "Baarf.com". Baarf.com. Архивировано из оригинала 5 ноября 2011 года . Проверено 4 ноября 2011 г.
  7. ^ Ульф Троппенс, Вольфганг Мюллер-Фридт, Райнер Эркенс, Райнер Волафка, Нильс Хауштайн. Объяснение сетей хранения: основы и применение Fibre Channel SAN, NAS, ISCSI, InfiniBand и FCoE. Джон Уайли и сыновья, 2009. стр.39.
  8. ^ «О контроллерах PERC 6 и CERC 6i» . Архивировано из оригинала 29 мая 2013 г. Проверено 20 июня 2013 г. Функция Patrol Read создана в качестве превентивной меры для обеспечения работоспособности физического диска и целостности данных. Patrol Read сканирует и устраняет потенциальные проблемы на настроенных физических дисках.
  9. ^ "/sys/dev/ic/mfi.c — LSI Logic и RAID-контроллер Dell MegaRAID SAS" . Перекрестная ссылка BSD . OpenBSD .
  10. ^ "/sys/dev/pci/mfii.c — RAID-контроллер LSI Logic MegaRAID SAS Fusion" . Перекрестная ссылка BSD . OpenBSD .
  11. ^ «mfiutil — Утилита для управления контроллерами LSI MegaRAID SAS» . Перекрестная ссылка BSD . FreeBSD .
    • «mfiutil — Утилита для управления контроллерами LSI MegaRAID SAS». Страницы руководства FreeBSD.
  12. ^ "sys/dev/pci/arcmsr.c — RAID-контроллер SATA/SAS Areca Technology Corporation" . Перекрестная ссылка BSD . НетБСД .
  13. ^ «Администрирование РЕЙДА». ядро.орг . Архивировано из оригинала 21 сентября 2013 г. Проверено 20 сентября 2013 г.
  14. ^ «Программный RAID и LVM: очистка данных» . Archlinux.org . Архивировано из оригинала 21 сентября 2013 г. Проверено 20 сентября 2013 г.
  15. ^ «Документация по ядру Linux: Documentation/md.txt» . ядро.орг . Архивировано из оригинала 21 сентября 2013 г. Проверено 20 сентября 2013 г.
  16. ^ "Btrfs Wiki: Возможности" . Проект btrfs. Архивировано из оригинала 25 апреля 2012 г. Проверено 20 сентября 2013 г.
  17. ^ Бирман, Маргарет; Гриммер, Ленц (август 2012 г.). «Как я использую расширенные возможности Btrfs». Архивировано из оригинала 2 января 2014 г. Проверено 20 сентября 2013 г.
  18. ^ Кукартс, Вим (28 сентября 2011 г.). «Почистите btrfs – исправьте повреждения с помощью зеркальных копий, пожалуйста!». Архивировано из оригинала 21 сентября 2013 г. Проверено 20 сентября 2013 г.
  19. ^ Бонвик, Джефф (8 декабря 2005 г.). «Сквозная целостность данных ZFS». Архивировано из оригинала 6 мая 2017 г. Проверено 19 сентября 2013 г.
  20. ^ «Журнал Xcell, выпуск 50» (PDF) . FPGA на Марсе . Ксилинкс. 2004. с. 9. Архивировано (PDF) из оригинала 30 августа 2019 г. Проверено 16 октября 2013 г.

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