7

(1) упоминается, что «В журнале файл сначала записывается в журнал, вставляется, а затем журнал записывает файл на диск, когда он готов. После успешной записи на диск он удаляется из журнала, удаляется и операция завершается ».

Итак, когда я создаю файл, он записывается в журнал и записывается на диск позже. Если я создаю файл размером 1 МБ, фактически на диск записывается 2 МБ данных, 1 МБ - в журнал, а другой - на диск позже. Это может фактически уменьшить срок службы диска. У меня вопрос, когда данные из журнала переносятся на диск? Если это не сделано немедленно, то последующее чтение данных на диске невозможно. Кроме того, завершена ли запись для пользователя, когда данные записываются в журнал или на диск?

Также есть упоминание о том, что из-за журналирования дефрагментация в некоторых файловых системах меньше. Как дефрагментация диска связана с журналом?

(1) http://www.howtogeek.com/howto/33552/htg-explains-which-linux-file-system-should-you-choose/

3 ответа3

3

Некоторые лучшие ссылки для информации о журналировании:

Журналируемая файловая система
Анатомия файловых систем журналирования Linux

Далее объясняются три стратегии ведения журнала: обратная запись, заказ и данные; где заказано обычно по умолчанию:

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

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

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

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

1

когда данные из журнала переносятся на диск?

Зависит от двух основных вещей: используемой файловой системы и физического устройства хранения. XFS использует барьеры записи. EXT3 использует барьеры записи, если они включены. EXT4 имеет барьеры по умолчанию. Традиционные жесткие диски используют кеши. Твердотельные накопители могут иметь или не иметь кеш. В конечном счете, это комбинация операционной системы, файловой системы и базовой аппаратной архитектуры и спецификаций, которые определяют, когда данные сохраняются на устройстве хранения.

завершена ли запись для пользователя, когда данные записываются в журнал или на диск?

Это также зависит от используемого приложения и вашей операционной системы. В Linux есть системный вызов fsync который приложения и файловые системы используют для сброса кэшированных данных на физические устройства. Не все приложения используют fsync для явной очистки кэшированных данных в хранилище. Вы всегда можете выполнить команду sync для ручной очистки буферов файловой системы.

Как дефрагментация диска связана с журналом?

Фрагментация диска влияет на производительность, особенно при работе с большими файлами, чьи блоки не являются смежными. Существуют разные методы смягчения фрагментации. Например, XFS и другие файловые системы используют технику allocate-on-flush для минимизации фрагментации.

0

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .