Jump to content

Программные обновления

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

Метод работы

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

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

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

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

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

Реализации

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

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

OpenBSD поддерживала программные обновления файловой системы FFS до выпуска 7.4 (2023 г.), после чего оно было отключено. [7]

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


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

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

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

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

Примечания

[ редактировать ]
  • Гангер, Грегори Р.; Патт, Йель Н. (ноябрь 1994 г.). «Производительность обновления метаданных в файловых системах» (PDF) . Материалы симпозиума USENIX по проектированию и внедрению операционных систем (OSDI) : 49–60.
[ редактировать ]
  1. ^ МакКьюсик, Маршалл Кирк; Невилл-Нил, Джордж В. (2005). «8,6». Проектирование и реализация операционной системы FreeBSD . Аддисон-Уэсли . ISBN  978-0321968975 .
  2. ^ "newfs(8)" . FreeBSD . 07.07.2017 . Проверено 2 февраля 2019 г.
  3. ^ "тюнефы(8)" . FreeBSD. 19 апреля 2016 г. Проверено 2 февраля 2019 г.
  4. ^ «Примечания к выпуску FreeBSD 9.0-RELEASE» . FreeBSD. 12 января 2012 г. Проверено 2 февраля 2019 г.
  5. ^ МакКьюсик, Маршалл Кирк; Роберсон, Джефф (23 января 2010 г.). «Журналируемые программные обновления» (PDF) . Проверено 2 февраля 2019 г.
  6. ^ «Ошибка 195485 — [ufs] mksnap_ffs(8) не может создать снимок с включенными программными обновлениями с журналированием» . FreeBSD. 28 ноября 2014 г. Проверено 2 февраля 2019 г.
  7. ^ «Программные обновления отключены для будущей работы VFS» . OpenBSD_Журнал . 05.07.2023 . Проверено 9 марта 2024 г.
  8. ^ «Анонс NetBSD 6.0» . НетБСД . 17 октября 2012 г. Проверено 2 февраля 2019 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 58f46434584324f3acdeb93013cb54c9__1710220920
URL1:https://arc.ask3.ru/arc/aa/58/c9/58f46434584324f3acdeb93013cb54c9.html
Заголовок, (Title) документа по адресу, URL1:
Soft updates - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)