Имеет ли смысл использовать noatime в современном Linux?

14

Начиная с версии 2.6.30 (выпущенной 5 лет назад), в Linux эта опция relatimeвключена по умолчанию. Это означает, что обновления времени доступа к файлам очень редки и разумны.

Но я все еще вижу рекомендации по использованию noatimeдля баз данных или дисков SSD. Есть ли причина менять конфигурацию по умолчанию и использовать ее? Имеет ли это какую-то ощутимую разницу по сравнению с relatime?

valodzka
источник

Ответы:

8

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

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

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

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

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

В конце дня noatimeне следует использовать без должного рассмотрения, и насколько это важно, можно определить только путем сравнительного анализа при определенной рабочей нагрузке.

Richm
источник
1
Как бы вы провели аудит использования файловой системы, чтобы убедиться, что приложения не зависят от времени?
Джонбойлс
1
Хороший вопрос и, к сожалению, нет простого ответа. Я бы скорее надеялся, что приложения, которые полагаются на atime, будут ссылаться на это в README, документах по установке или FAQ. Исторически одним из основных пользователей atime по отношению к mtime были почтовые агенты (MUA), основанные на файлах, для отслеживания того, что было и что не было прочитано с момента доставки. Мой подход часто состоял в том, чтобы просто отключить временную модификацию и следить за всем, что ломается. Исторически я оставлял / var с включенным релейным отслеживанием, но на более новых установках я обычно отключал его.
Ричм