Es gibt dieses Handbuch für Produktionsserver:
https://docs.mongodb.com/manual/administration/production-notes/#kernel-and-file-systems
Es wird angegeben, dass für die WiredTiger-Speicher-Engine XFS dringend gegen ext3 oder ext4 empfohlen wird. Aber dieser Artikel muss sehr alt sein. Heutzutage verwenden wir den Linux-Kernel 4. Die Kernel der 2.6-Serie stammen aus dem Jahr 2003. Das ist unglaublich alt.
Hier kommt also die Frage: Hat sich in den letzten 14 Jahren etwas geändert? (Dies klingt im IT-Bereich nach einer dummen Frage, und es ist lächerlich, sie aufzuschreiben.) Wird XFS immer noch für einen Produktions-MongoDb-Cluster bevorzugt? Oder sollten wir stattdessen ext4 oder etwas anderes verwenden?
Antworten:
Die Herkunft der Informationen in den MongoDB-Produktionsnotizen ist derzeit nicht ersichtlich, aber WiredTiger und die Empfehlung zur Verwendung von XFS wurden definitiv viel später als die Details des Linux-Kernels hinzugefügt. Die Produktionsnotizen teilen kollektive Erfahrungen mit bekannten Problemen, sind jedoch in der Regel eher Empfehlungen als strenge Richtlinien. Die meisten Notizen werden zu dem Zeitpunkt hinzugefügt, an dem ein weit verbreitetes Problem festgestellt wird, aber die Umstände könnten sich sicherlich ändern.
Die spezifische Empfehlung gegen ext4 basiert auf beobachteten Verzögerungen während der WiredTiger-Checkpoints, die von einer Reihe von Produktionsbenutzern gemeldet wurden. Gemäß SERVER-18314 (Mai 2015) besteht die Wahrscheinlichkeit eines Stillstands, wenn das ext4-Journaling mit den WiredTiger-Prüfpunkten zusammenfällt. Dies ist möglicherweise nicht für alle Workloads ein Problem, stellt jedoch eine ausreichend wichtige Einschränkung dar, dass in MongoDB 3.4 (veröffentlicht im November 2016) eine Startwarnung für Bereitstellungen mit ext4 mit WiredTiger hinzugefügt wurde. Es gab keine ähnlichen Berichte mit XFS, und es wurde beobachtet, dass es mit MongoDB im Allgemeinen besser abschneidet.
Es gibt andere verfügbare Dateisysteme unter Linux (ZFS, btrfs, ...), aber diese werden derzeit in der Produktion nicht häufig verwendet (im Vergleich zu ext4 und XFS), sodass XFS aufgrund von Tests und Erfahrungen das empfohlene Dateisystem ist.
Während die meisten Distributionen vom 2.6-Kernel übernommen wurden, gibt es einige Enterprise-Stalwarts wie RHEL6 , die den Standardkernel während ihres Lebenszyklus der Release-Unterstützung nicht aktualisieren. Redhat führt Cherrypick- und Backport-Korrekturen mit ihrer eigenen Kernel-Subversion durch, bleibt jedoch ab dem Zeitpunkt der Veröffentlichung auf der ursprünglichen Kernel-Basis. RHEL hat eine 10-Jahres-Supportrichtlinie, gefolgt von einem 4-Jahres-Support für verlängerte Lebenszyklen. Daher bleiben alte Versionen in der Regel viel länger im Feld, als Sie vielleicht erwarten. RHEL6 wird 2020 auf erweiterten Support umgestellt, sodass es 2017 immer noch neue Bereitstellungen mit dem 2.6-Kernel gibt. RHEL7 verwendet den 3.10-Linux-Kernel und wird den erweiterten Support erst 2024 erreichen.
quelle