web-dev-qa-db-fra.com

XFS est-il toujours le meilleur choix pour mongodb?

Il y a ce guide pour les serveurs de production:

https://docs.mongodb.com/manual/administration/production-notes/#kernel-and-file-systems

Il indique que pour le moteur de stockage WiredTiger, XFS est fortement recommandé contre ext3 ou ext4. Mais cet article doit être très ancien. Aujourd'hui, nous utilisons le noyau Linux 4. La série 2.6 de noyaux remonte à 2003. C'est incroyablement vieux.

Voici donc la question: quelque chose a-t-il changé au cours des 14 dernières années? (Cela semble une question stupide dans le domaine informatique, et il semble ridicule de l'écrire.) XFS est-il toujours préféré pour un cluster de production MongoDb? Ou devrions-nous utiliser ext4 à la place, ou autre chose?

9
nagylzs

La provenance des informations sur les notes de production de MongoDB n'est pas évidente pour le moment, mais WiredTiger et la recommandation d'utiliser XFS ont définitivement été ajoutés bien plus tard que les détails du noyau Linux. Les notes de production partagent l'expérience collective des problèmes connus, mais sont généralement des recommandations plutôt que des directives strictes. La plupart des notes sont ajoutées au moment où un problème répandu est observé, mais les circonstances pourraient certainement changer.

Il indique que pour le moteur de stockage WiredTiger, XFS est fortement recommandé contre ext3 ou ext4.

La recommandation spécifique contre ext4 est basée sur les décrochages observés lors des points de contrôle de WiredTiger tels que rapportés par un certain nombre d'utilisateurs de la production. Par SERVER-18314 (mai 2015), il y a une probabilité de blocage lorsque la journalisation ext4 coïncide avec les points de contrôle WiredTiger. Ce n'est peut-être pas un problème pour toutes les charges de travail, mais c'est une mise en garde suffisamment importante pour qu'un avertissement de démarrage ait été ajouté dans MongoDB 3.4 (publié en novembre 2016) pour les déploiements utilisant ext4 avec WiredTiger. Il n'y a eu aucun rapport similaire avec XFS, et il a été observé qu'il fonctionnait généralement mieux avec MongoDB.

Il existe d'autres systèmes de fichiers disponibles sur Linux (ZFS, btrfs, ...) mais ceux-ci ne sont actuellement pas largement utilisés en production (par rapport à ext4 et XFS), donc XFS est le système de fichiers recommandé basé sur les tests et l'expérience.

De nos jours, nous utilisons le noyau Linux 4. La série 2.6 de noyaux remonte à 2003. C'est incroyablement vieux.

Bien que la plupart des distributions soient passées du noyau 2.6, il existe des piliers d'entreprise comme RHEL6 qui ne mettront pas à niveau le noyau par défaut pendant leur cycle de vie de prise en charge. Redhat fait des corrections de cerise et de backport avec leur propre Subversion du noyau, mais restera sur la base du noyau d'origine à partir du moment de la sortie. RHEL a une politique de support de 10 ans suivie d'un support de cycle de vie étendu de 4 ans, donc les anciennes versions ont tendance à rester sur le terrain beaucoup plus longtemps que vous ne le pensez. RHEL6 passe au support étendu en 2020, il y a donc encore de nouveaux déploiements utilisant le noyau 2.6 en 2017. RHEL7 utilise le noyau Linux 3.10 et n'atteindra le support étendu qu'en 2024.

9
Stennie