So stellen Sie NFS-Freigaben unter OS X automatisch bereit

14

Ich habe einen NFS-Server in meinem lokalen LAN eingerichtet, der unter Arch Linux ausgeführt wird und mit dem ich mithilfe von OS X Mavericks eine Verbindung herstellen kann, indem ich den folgenden Befehl im Terminal ausführe:

mount -t nfs -o resvport host:/srv/nfs4/users /mnt/host

Da der NFS-Client ein MacBook Pro ist, möchte ich, dass es sich automatisch mit dem NFS-Server verbindet, wenn ich zu Hause bin (und nichts anderes mache). Das Hinzufügen der folgenden Zeile /etc/auto_masterfunktionierte nicht:

/mnt/host -fstype=nfs4,resvport host:/srv/nfs4/users

Insbesondere automount -vcergibt das Ausführen Folgendes:

automount: /net updated
automount: /home updated
automount: /mnt/host nmounted
automount: no unmounts

... ist aber /mnt/hostein leeres verzeichnis auch wenn ich cdhinein will.

Kann mir jemand helfen? Vielen Dank im Voraus und lassen Sie es mich wissen, wenn ich wichtige Details ausgelassen habe.

Nicolas De Jay
quelle
1
Dieser Ansatz kann hilfreich sein: smekkley.wordpress.com/2014/01/18/… - er schlägt vor, NFSv4 unter OS X 10.9 zu vermeiden, und stellt bestimmte Flags bereit, um eine stabile automatische NFS-Bereitstellung sicherzustellen.
Graham Miln

Antworten:

4

Wenn Sie Standarddatei versuchen /etc/auto_master, können Sie Linie sehen

/net            -hosts      -nobrowse,hidefromfinder,nosuid

Dann können Sie feststellen cd /net/host/exported/path, dass der Mac versucht, diesen exportierten Pfad bereitzustellen.

Eir Nym
quelle
Vielen Dank für den Vorschlag, aber es funktioniert nicht für mich.
Nicolas De Jay
@ndejay Versuch cd /net/host/srv/nfs4/users. Ihre Arch Linux-Box muss den Pfad mit der insecureOption exportieren. Weitere Informationen finden Sie unter forums.macrumors.com/showthread.php?t=317044 .
Jaume
4

Ich habe das gleiche Problem wie @ndejay, aber die Ursache kann sich leicht unterscheiden.

Ich verwende NFSv3 und meine Autofs-Karten funktionieren unter OS X 10.5 bis 10.8:

/mnt -fstype=nfs,nfsvers=3,proto=tcp,resvport myserver:/share

Auf Mavericks funktioniert es nur über die Befehlszeile:

mount -t nfs -o nfsvers=3,proto=tcp,resvport myserver:/share /mnt

Mit ein wenig Debugging und Sniffing habe ich herausgefunden, dass Mavericks 'Autofs nur dann versucht, die NFSv3-Freigabe zu mounten, wenn ihre "pingnfs" -Prüfung (mit UDP-Paketen an Port 111) erfolgreich ist.

Dieses zu einer Unternehmensfirewall hinzugefügte Verhalten, das UDP-Datenverkehr auf Port 111 nicht zulässt, macht Mavericks für uns nicht verwendbar.

Fravadona
quelle
3

Ich habe festgestellt, dass der automountd-Dienst nicht auf meinem Computer geladen ist (unter 10.10 Yosemite).

$ sudo launchctl list | grep -i auto
84878   0   com.apple.autofsd
-   0   com.apple.preferences.timezone.auto
-   0   com.apple.automountd

Das Neustarten von autofsd und automountd und das anschließende erneute Ausführen automount -vchat funktioniert.

sudo launchctl unload /System/Library/LaunchDaemons/com.apple.automountd.plist
sudo launchctl unload /System/Library/LaunchDaemons/com.apple.autofsd.plist
sudo launchctl load /System/Library/LaunchDaemons/com.apple.autofsd.plist
sudo launchctl load /System/Library/LaunchDaemons/com.apple.automountd.plist
David Resnick
quelle
2

Ich habe ein kommerzielles Produkt namens NFS Manager verwendet , um meine Automounts zu verwalten, und es hat hervorragend funktioniert. Es hat einen Testmodus, so dass Sie sehen können, ob es für Sie funktioniert und das Geld wert ist.

Ich bin nicht mit dem Produkt verbunden.

Joe Casadonte
quelle