Отключение времени на файловой системе

27

Я настраиваю набор реплик mongoDB, и одно из первых действий, которое я должен сделать, - отключить время в файловой системе. После небольшого исследования я не возражаю против этого, но я должен спросить, что использует atime? Я искал в Интернете и нашел очень мало способов «это приложение или этот процесс использует atime, и вы будете глупы, если выключите его», но я, должно быть, удивляюсь, что я параноик по своей природе.

Итак, что использует atime, и если я выключу его, что может сломаться?

QWade
источник

Ответы:

25

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

Кроме этого, трудно найти примеры вещей, которые ломаются noatime. Я использую несколько серверов Linux noatimeна всех файловых системах, и я не могу вспомнить, чтобы когда-либо видел какие-либо проблемы, связанные с noatime.

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

РЕДАКТИРОВАТЬ

Я нашел интересный блог на kerneltrap.org, который цитирует некоторые дискуссии между разработчиками Linux (Линус Торвальдс, Инго Молнар, Алан Кокс и другие) на тему atime. Во втором письме Инго он говорит так:

... у меня нет особых претензий к ext3 - с обязательной оговоркой, что "noatime, nodiratime" в / etc / fstab является обязательным. Это очень заметно ускоряет процесс, особенно когда к файлам обращаются. Довольно странно, что каждый рабочий стол и сервер Linux страдают от заметного снижения производительности ввода-вывода из-за постоянных обновлений atime, хотя реальных пользователей всего два: tmpwatch [который можно настроить на использование ctime, так что это не является большой проблемой] и некоторые инструменты резервного копирования. (Ладно, я тоже думаю об уведомлении по почте.) Из десятков тысяч приложений. Таким образом, для большинства файловых рабочих нагрузок мы даем Windows 20-30% производительности, практически ничего.

Стивен Понедельник
источник
10

Инструменты, которые опрашивают использование файлов, такие как временные очистители файлов, используют его. relatimeВместо этого вы можете обойти это в некоторых файловых системах и ОС, используя вместо этого обновление, которое обновляет atime только после того, как пройдет определенное время с момента его последнего обновления.

Игнасио Васкес-Абрамс
источник
8

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

Франсуа Вольмаранс
источник
4

В качестве продолжения здесь relatimeбыло сделано значение по умолчанию в ядре в 2.6.30, которое было выпущено примерно в марте 2009 года. Это означает, что выигрыш от настроек noatime будет меньше на любом современном ядре.

Это по-прежнему рекомендация, поскольку для MongoDB все еще необходимо повысить производительность, но пока вы используете достаточно свежую версию ядра, это не так важно, как это было раньше.

Кроме того, в дополнение к программному обеспечению, упомянутому здесь, я также видел время, используемое инструментами резервного копирования.

Адам С
источник
1

Я просто хотел бы подчеркнуть момент @Steven Monday - использовать отдельную файловую систему.

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

DisabledLeopard
источник