[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: fragen zu NFS session truning und pNFS



Hallo,

On Fri, Jan 12, 2018 at 11:24:54AM +0100, Stefan Krueger wrote:

> ich habe hier 2Server die via 2x10G (NIC-Bonding, bond_mode 2,
> bond-xmit_hash_policy layer3+4) an einem Switch angebunden sind.  ServerA
> gibt via exports ein paar Verzeichnisse via NFS frei. Wie kann Server B
> jetzt idealerweise die 2x10G voll ausnutzen?

So wie hier beschrieben, geht das aus zwei Gründen nicht:

Erstens bestimmt der Server das Interface für ausgehende Daten anhand der
Source- und Destination IP-Adresse und Portnummer. Die sind innerhalb einer
TCP-Verbindung aber immer gleich. Auch auf UDP umzustellen bringt nichts,
da NFS auch hier immer die gleichen Portnummern verwendet.

Und zweitens können die Server sowieso nur den Weg vom Server bis zum
Switch kontrollieren. Auf welchem Weg der Switch das Paket an den anderen
Server weiterleitet, hängt von dessen interner MAC/Port Zuordnung ab,
und die ist normalerweise über längere Zeit konstant.

> Kann ich die 2x10G voll ausnutzen, wenn ja wie?

Den einzigen praktikablen Weg, den ich sehe, ist eine Direktverbindung
zwischen den beiden Servern über zwei Netzwerkkabel. Damit lassen sich
mit dem Bonding Mode 5 (balance-tlb), zumindest bei synthetischer Last,
durchaus knapp 20 Gbit/s erreichen.

> Hat jmd von euch schon pNFS oder Session trunking genutzt und ist das in
> Debian Stretch verfügbar?

Ich habe damit keine praktische Erfahrung. Beides löst aber nur das erste
der o.g. Probleme. Um das zweite anzugehen, brauchst du einen aktiven
Switch, der LACP nach IEEE 802.3ad unterstützt und sich auf einen passenden
Hash-Algorithmus konfigurieren lässt.

Die Frage ist aber auch, ob das für ein Einsatz als Fileserver wirklich
etwas bringt. Eine aktuelle SSD schafft beim Lesen ca. 500 MB/s, d.h. um
20 Gbit/s annähernd zu saturieren, brauchst du ein RAID 0 über 4 SSDs.
Oder Daten, die bereits im Cache liegen.

Gruß, Harald


Reply to: