Руководство по установке «барьер»:
барьер = 0 / барьер = 1
Это отключает / разрешает использование барьеров записи в jbd code.barrier = 0 отключает, барьер = 1 включает (по умолчанию). Это также требует стека ввода-вывода, который может поддерживать барьеры, и если jbd получит ошибку при записи барьера, он снова отключит барьеры с предупреждением. Барьеры записи обеспечивают правильное упорядочение записей в журнале на диске, делая безопасными использование кэшей записи на диск при некотором снижении производительности. Если ваши диски питаются от батареи тем или иным способом, отключение барьеров может безопасно повысить производительность.
Но я не знаю, что означает предложение « правильное упорядочение записей на диске ».
Допустим, нормальный порядок - журнал 1, данные 1; журнал 2, данные 2.
Какой из следующих результатов упорядочения произойдет, если я установлю barrier=0
?
- журнал 2, данные 2; журнал 1, данные 1;
- данные 1, журнал 1; данные 2, журнал 2.
barrier=1
, и он работает достаточно быстро для меня. Если вы не делаете действительно тяжелые вещи, я бы оставил это включенным. У вас есть оперативные буферы, поэтому все будет записано, когда это возможно, без замедления для приложений. И очень маленькая задержка записи на диск. Если вы хотите увидеть, насколько оперативные буферы ускоряют процесс, добавьте sync = 1 в ваш домашний каталог и попробуйте использовать вашу систему в течение дня или двух.Ответы:
Большинство современных файловых систем - это журнальные файловые системы, что означает, что они отслеживают изменения, которые еще не были записаны на диск, во внутренней структуре данных, называемой журналом. В случае сбоя этот журнал будет воспроизведен, чтобы убедиться, что все записи выполнены успешно, предотвращая повреждение файла.
При фактической записи данных на диск, кэш записи будет переупорядочивать записи, чтобы попытаться максимизировать пропускную способность, но он должен убедиться, что фактические данные файла записываются на диск до метаданных, чтобы убедиться, что в случае сбоя происходит метаданные не будут устаревшими с данными.
Проблема в том, что многие диски имеют свои собственные кеши, которые также могут переупорядочивать записи. Некоторые файловые системы предполагают, что это произойдет, и заставляют диск очищать кэш в определенных точках, чтобы предотвратить это, и вызывается,
write barriers
например, ext4 и Linux в целом.Для современных дисков потери производительности при этом незначительны, и вы не должны отключать барьеры записи, если это не является абсолютно необходимым.
источник
Из этой статьи LWN :
источник