8 votes

Comment réaliser plusieurs connexions NFS/TCP sur le même serveur ?

J'essaie de maximiser la bande passante NFS/TCP entre un client Linux et un seul serveur NFS sur un lien de 10Gbps. Bien que chaque montage NFS ait son propre périphérique (majeur/mineur), tout se résume à une seule connexion TCP, ce qui constitue un goulot d'étranglement.

En utilisant iperf et plusieurs connexions TCP, je peux atteindre ~8Gbps, mais NFS est bloqué sur un seul flux TCP et limité à ~2Gbps (pas encore de réglage tcp).

Sous Solaris, il y a le paramètre système rpcmod:clnt_max_conns qui permettent de définir le nombre de connexions TCP simultanées que le système peut utiliser avec un seul serveur NFS.

Existe-t-il un équivalent Linux ou un moyen de le faire ?

Comme solution de contournement, je sais que je pourrais définir plusieurs IP sur le serveur NFS, puis équilibrer la charge des points de montage sur ces IP, mais ce ne serait pas optimal.

3voto

kofemann Points 4088

À partir de noyau linux 5.3 une nouvelle option de montage "nconnect=X" est disponible, où X indique le nombre de connexions TCP au serveur à utiliser.

1voto

Xavier Nicollet Points 580

Vous pouvez revenir à UDP et utiliser des paquets jumbo (datagrammes de 4k par exemple). Le fait que l'ensemble du réseau prenne en charge les trames jumbo pourrait s'avérer très utile, afin d'éviter le réassemblage des paquets IP de part et d'autre.

0voto

Ruairí N. Points 635

Si vous utilisez NFS v4.1 ou une version supérieure, vous pouvez peut-être bénéficier de pNFS (parallel NFS). D'après les informations suivantes de Red Hat, il est disponible dans RHEL 6.4, mais je n'ai vu aucune mise à jour indiquant sa disponibilité dans d'autres distributions Linux.

https://www.redhat.com/about/news/press-archive/2013/2/red-hat-announces-general-availability-of-next-minor-release-of-red-hat-enterprise-linux-6

pNFS est défini dans la RFC5661 de 2010. Il peut être utile de vérifier si votre appareil de stockage prend pleinement en charge pNFS.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X