Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

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

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

RAID [ править ]

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

В средах Dell PowerEdge RAID функция «патрульное чтение» может выполнять очистку данных и профилактическое обслуживание . [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]

Файловые системы [ править ]

Btrfs [ править ]

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

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

ZFS [ править ]

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

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

Память [ править ]

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

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

FPGA [ править ]

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

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

См. Также [ править ]

  • Повреждение данных
  • Обнаружение и исправление ошибок
  • fsck - инструмент для проверки целостности файловой системы
  • CHKDSK - аналог fsck, используемый в операционных системах Windows.

Ссылки [ править ]

  1. ^ «Проверка целостности файловой системы ZFS» . Руководство администратора Oracle Solaris ZFS . Oracle . Проверено 25 ноября 2012 года .
  2. ^ Виджаян Прабхакаран (2006). "ЖЕЛЕЗНЫЕ ФАЙЛОВЫЕ СИСТЕМЫ" (PDF) . Доктор философии компьютерных наук . Университет Висконсин-Мэдисон . Проверено 9 июня 2012 года .
  3. ^ «Паритет потерян и паритет восстановлен» .
  4. ^ «Анализ повреждения данных в стеке хранения» (PDF) .
  5. ^ «Влияние повреждения диска на СУБД с открытым исходным кодом» (PDF) .
  6. ^ "Baarf.com" . Baarf.com . Проверено 4 ноября 2011 года .
  7. ^ Ulf Troppens, Вольфганг Мюллер-Friedt, Rainer Erkens, Rainer Wolafka, Nils Haustein. Объяснение сетей хранения данных: основы и применение Fibre Channel SAN, NAS, ISCSI, InfiniBand и FCoE. Джон Вили и сыновья, 2009. стр.39.
  8. ^ «О контроллерах PERC 6 и CERC 6i» . Архивировано из оригинала на 2013-05-29 . Проверено 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 . Выложите резюме .
  12. ^ "sys / dev / pci / arcmsr.c - Контроллер SATA / SAS RAID от Areca Technology Corporation" . Перекрестная ссылка BSD . NetBSD . Выложите резюме .
  13. ^ «Администрирование RAID» . kernel.org . Проверено 20 сентября 2013 .
  14. ^ «Программный RAID и LVM: очистка данных» . archlinux.org . Проверено 20 сентября 2013 .
  15. ^ "Документация ядра Linux: Documentation / md.txt" . kernel.org . Архивировано из оригинала на 2013-09-21 . Проверено 20 сентября 2013 .
  16. ^ "btrfs Wiki: Возможности" . Проект btrfs . Проверено 20 сентября 2013 .
  17. ^ Бирман, Маргарет; Гриммер, Ленц (август 2012 г.). «Как я использую расширенные возможности Btrfs» . Проверено 20 сентября 2013 .
  18. ^ Coekaerts, Wim (2011-09-28). "btrfs scrub - исправляйте повреждения с помощью зеркальных копий, пожалуйста!" . Проверено 20 сентября 2013 .
  19. ^ Бонвик, Джефф (2005-12-08). «Сквозная целостность данных ZFS» . Проверено 19 сентября 2013 .
  20. ^ "Журнал Xcell, выпуск 50" (PDF) . ПЛИС на Марсе . Xilinx. 2004. с. 9 . Проверено 16 октября 2013 .

Внешние ссылки [ править ]

  • Мягкие ошибки в электронной памяти