Atime auf einem Dateisystem ausschalten

27

Ich richte ein mongoDB-Replikatset ein und eines der ersten Dinge, die ich tun soll, ist, das Dateisystem zu deaktivieren. Nachdem ich das ein bisschen recherchiert habe, bin ich nicht dagegen, aber ich muss fragen, was nutzt atime? Ich habe die Interwebs durchsucht und nur sehr wenig in der Art gefunden, dass "diese Anwendung oder dieser Prozess Zeit benötigt, und Sie wären dumm, wenn Sie diese Warnungen ausschalten", aber ich muss mich wundern, dass Sie von Natur aus eine paranoide Person sind.

Also, was nutzt atime und wenn ich es ausschalte, was könnte brechen?

QWade
quelle

Antworten:

25

mutt, ein E-Mail-Client, verwendet Dateizugriffszeiten, um zu überwachen, ob neue E-Mails in einem Postfach im mbox-Format eingehen. Anscheinend ist dieses Problem nicht schwerwiegend und kann leicht umgangen werden .

Davon abgesehen ist es schwierig, Beispiele für Dinge zu finden, die aufbrechen noatime. Ich betreibe eine Reihe von Linux-Servern mit noatimeallen Dateisystemen und kann mich nicht erinnern, jemals Probleme gesehen zu haben, die darauf zurückzuführen sind noatime.

Wenn Sie noatimegenerell Probleme mit der Verwendung haben , können Sie ein separates Dateisystem für Ihre MongoDB-Inhalte verwenden und nur dieses Dateisystem mit bereitstellen noatime.

BEARBEITEN

Ich habe auf kerneltrap.org einen interessanten Blog gefunden , der einige Diskussionen zwischen Linux-Entwicklern (Linus Torvalds, Ingo Molnar, Alan Cox und anderen) zum Thema zitiert atime. In Ingos zweiter E-Mail sagt er Folgendes:

... ich habe keine wirkliche Beschwerde über ext3 - mit der obligatorischen Qualifikation, dass "noatime, nodiratime" in / etc / fstab ein Muss ist. Dies beschleunigt die Dinge sehr deutlich - insbesondere, wenn auf viele Dateien zugegriffen wird. Es ist seltsam, dass jeder Linux-Desktop und -Server durch die ständigen Aktualisierungen der E / A-Leistung geschädigt wird, während es nur zwei echte Benutzer gibt: tmpwatch [das für die Verwendung von ctime konfiguriert werden kann, sodass es kein großes Problem ist] und einige Backup-Tools. (Ok, und auch per E-Mail benachrichtigen, denke ich.) Aus Zehntausenden von Bewerbungen. Daher bieten wir Windows für die meisten Datei-Workloads einen Leistungsvorteil von 20% bis 30%, und das für so gut wie nichts.

Steven Montag
quelle
10

Tools, die die Verwendung von Dateien abfragen, z. B. temporäre Dateibereinigungsprogramme, verwenden diese. Sie können dies auf einigen Dateisystemen und Betriebssystemen relatimeumgehen, indem Sie stattdessen verwenden, um den atime erst zu aktualisieren, nachdem eine bestimmte Zeitspanne seit der letzten Aktualisierung verstrichen ist.

Ignacio Vazquez-Abrams
quelle
8

Sie können auch einen separaten Mount-Punkt für Ihr MongoDB-Replikatsset erstellen. Sie können dann das noatime paramtere nur auf diesem Mountpoint einstellen, ohne andere Programme zu beeinflussen.

Francois Wolmarans
quelle
4

Als Folge wurde hier relatimeder Standard im Kernel in 2.6.30 festgelegt, der um den Zeitrahmen von März 2009 veröffentlicht wurde. Das bedeutet, dass die Gewinne, die Sie bei Noatime-Einstellungen sehen, bei jedem modernen Kernel geringer sind.

Es ist immer noch eine Empfehlung, da es für MongoDB immer noch einen Leistungsgewinn gibt, aber solange Sie auf einer einigermaßen aktuellen Kernel-Version sind, ist es nicht mehr so ​​wichtig, wie es einmal war.

Zusätzlich zu der hier erwähnten Software habe ich auch eine Zeit gesehen, die von Sicherungswerkzeugen verwendet wird.

Adam C
quelle
1

Ich möchte nur einen Punkt hervorheben @Steven Monday - Verwenden Sie ein separates Dateisystem.

Für eine Datenbank ist dies immer eine gute Option und bietet Ihnen viel mehr Flexibilität bei der Optimierung der Datenbankleistung, wenn Sie einen zusätzlichen Einhängepunkt für die Verwaltung benötigen. In der Regel erhalten Sie mehr Optionen zum Erstellen eines Snapshots der Datenbank für Sicherungen (noch praktischer in Fällen, in denen Sie anstelle des Masters einen Snapshot erstellen und ein Backup des Replikats erstellen können).

DisabledLeopard
quelle