Wie kann ich autofs ein NFS-Volume bereitstellen, das von localhost bereitgestellt wird?

2324
Synchro

Ich habe ein Paar Webserver, auf denen GlusterFS 3.3.0 ausgeführt wird und ein einzelnes repliziertes Volume bereitstellt. Clients verbinden sich über NFS, und die Webserver sind auch Clients. Gluster wird sehr unglücklich, wenn die Dateien, die er bedient, über die Hintertür (dh lokaler Dateizugriff) geschrieben werden. Ich muss also den NFS-Stapel durchgehen, um durch die Haustür zu gelangen. Jeder Server verfügt über eine autofs-Konfiguration, die das Volume von localhost bereitstellt. Dies sind meine Konfigurationsdateien:

/etc/auto.master:

#+auto.master /- /etc/auto.nfs 

/etc/auto.nfs:

/var/lib/sitedata -fstype=nfs,vers=3,hard,noexec,nosuid,nodev,rsize=32768,wsize=32768,intr,noatime,mountproto=tcp 127.0.0.1:/shared 

(Diese Mount-Werte sind das, was für glanzvolle NFS-Clients vorgeschlagen wird, insbesondere das Erzwingen von TCP; eine minimalere Konfiguration funktioniert ebenfalls nicht.)

Das Problem, auf das ich stoße, ist, dass autofs (oder NFS) zu sagen scheint "Hey, das zeigt auf localhost, also kann ich es abkürzen, indem ich stattdessen ein lokales Bind-Remount durchführe!", Als ob ich gesagt hätte mount --bind /shared /var/lib/sitedata. Das scheitert leider völlig, da es überhaupt nicht das Gleiche ist.

Dies scheint für localhost spezifisch zu sein, da ein Remote-Server, der eine Verbindung zu einem dieser Hosts herstellt, kein Problem mit der gleichen autofs-Konfiguration hat. Ich möchte nicht, dass jeder Webserver den anderen einbindet - die Leistung ist bereits schlecht genug, ohne neue Fehlermodi einzuführen!

Wie kann ich das NFS-Mount von autofs über TCP erzwingen?

1

1 Antwort auf die Frage

2
Marco

Siehe Handbuch des auto.master.

Unter "Optionen" finden Sie "Nobind", der den Trick macht.

Das wäre perfekt, wenn es in meiner autofs-Version wäre! Es wurde [eingeführt in Version 5.0.6] (https://bugzilla.redhat.com/show_bug.cgi?id=698456) und ich bin auf 5.0.4. Danke für den Tipp, ich denke ich muss nach einem Backport suchen ... Synchro vor 10 Jahren 0