Мягкие обновления

редактировать

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

Содержание

  • 1 Метод работы
  • 2 Реализации
  • 3 Сравнение с журналируемыми файловыми системами
  • 4 Примечания
  • 5 Внешние ссылки
  • 6 Ссылки

Метод работы

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

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

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

Мягкие обновления требуют периодической очистки метаданных в энергонезависимой памяти.

Реализации

FreeBSD поддерживают мягкие обновления для файловой системы UFS, и они были включены по умолчанию во время установки в течение многих лет. Программные обновления включаются или отключаются вручную во время создания файловой системы с помощью параметра для команды newfs. Их можно отключить или включить в любое время после этого с помощью опции для команды tunefs. FreeBSD 9.0 представила дополнение к журналированию мягких обновлений с целью устранения фоновой fsck для сборки мусора после сбоя. Однако включение ведения журнала в файловой системе с мягкими обновлениями отключает возможность создания моментальных снимков файловой системы. Это может вызвать проблемы, когда файловые системы выгружаются с параметром -L, так как моментальные снимки используются для обеспечения согласованности файловой системы во время дампа.

OpenBSD поддерживает мягкие обновления файловой системы FFS. Мягкие обновления включаются, когда файловая система монтируется с помощью опции команды mount.

NetBSD поддерживал мягкие обновления до выпуска 6.0 (2012 г.), когда он был объявлен устаревшим в пользу WAPBL журналирование.

Сравнение с журналируемыми файловыми системами

Ни ведение журнала, ни программные обновления не гарантируют, что данные не будут потеряны, но они гарантируют, что файловая система остается согласованной.

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

Примечания

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

Ссылки

Последняя правка сделана 2021-06-08 08:24:32
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте