NFS-Locking mit Linux-Server und BSD-Client

soul_rebel

ist immer auf der flucht
Also, ich hab hier in der Uni ein kleines Netzwerk aus einem Debian-Server und vielen unterschiedlichen Linux-Clients.
das ganze läuft mit NFS und OpenLDAP.

Nachdem ich schon sehr lange versucht habe (erfolglos) FreeBSD als Client in dieses Netzwerk zu integrieren, habe ich mich jetzt an OpenBSD gesetzt.

Das Problem scheint aber dasselbe zu sein: Das BSD kommt nicht mit dem NFS-Locking klar und friert beim schreiben auf den NFS-Mount ein... (das FreeBSD komplett, das OpenBSD für einige Minuten).

Ich hab dazu auch schon was nachgelesen, angeblich liegt es an nicht-standard-nfs das von Linux implementiert wurde.

Aber so ganz kann ich mir das nicht vorstellen, es wird doch irgendwo Leute geben, die BSD-NFS-Clients an einem Linux-NFS-Server haben, oder?
 
Aber so ganz kann ich mir das nicht vorstellen, es wird doch irgendwo Leute geben, die BSD-NFS-Clients an einem Linux-NFS-Server haben, oder?

Hallo soul_rebel,
ich betreibe ebenfalls ein paar debian-server (sarge + etch) und mounte meinen beastie (FBSD 6.2p8) als NFS-Client. Allerdings betreibe ich auf den debian's kein OpenLDAP. Ich hatte bisher keine Probleme.

Hmm.. wenn du möchtest, kann ich ein paar Test's fahren. Sag' mir einfach, was ich genau testen soll.

HTH, greetz Mäsa
 
Hallo Soul_Rebel, ich hatte schon BSD-NFS Clients an einem Debian Server, dort lief alles stabil, ich erinnere mich gerade, dass zumindest nolock in der /etc/fstab stand, wenn du willst kann ich nachher mal schauen, was sonst noch gesetzt war.
 
Hi Soul Rebel.

Habe ein aehnliches Problem mit Sun Kisten und sehr viel frueher mal mit Free BSD gehabt (4.x)
auch in Verbindung mit Linux.

Versuche, falls moeglich den NFS Mount explizit mit proto=udp durchzufuehren.
Falls moeglich.
 
Hallo soul_rebel,
ich betreibe ebenfalls ein paar debian-server (sarge + etch) und mounte meinen beastie (FBSD 6.2p8) als NFS-Client. Allerdings betreibe ich auf den debian's kein OpenLDAP. Ich hatte bisher keine Probleme.
Hm, das hört sich gut an.

Verwendest du Serverseitiges NFS-locking, und ist NFS-locking bei FreeBSD aktiv? Was passiert wenn du von einem Linux-Client und einem FreeBSD-Client gleichzeitig auf den selben Daten einer NFS-Freigabe zugreifst?

Hallo Soul_Rebel, ich hatte schon BSD-NFS Clients an einem Debian Server, dort lief alles stabil, ich erinnere mich gerade, dass zumindest nolock in der /etc/fstab stand, wenn du willst kann ich nachher mal schauen, was sonst noch gesetzt war.
Hm, nolock, heißt ja dann dass kein locking verwendet wird. Die Nutzer des Netzes lassen aber exzessiv mutt laufen, was dann glaube ich zu echten Problemen führt :(

Hi Soul Rebel.

Habe ein aehnliches Problem mit Sun Kisten und sehr viel frueher mal mit Free BSD gehabt (4.x)
auch in Verbindung mit Linux.

Versuche, falls moeglich den NFS Mount explizit mit proto=udp durchzufuehren.
Falls moeglich.
Werde ich mit dem OpenBSD-Client versuchen, erinnere mich ähnliches mit dem FreeBSD aber schon ausprobiert zu haben.


Ps.: OpenLDAP hat im Moment noch garnichts mit dem Setup zu tun, auch wenn das dann nochmal frickelei wird, befürchte ich.
 
Hm, das hört sich gut an.

Verwendest du Serverseitiges NFS-locking, und ist NFS-locking bei FreeBSD aktiv? Was passiert wenn du von einem Linux-Client und einem FreeBSD-Client gleichzeitig auf den selben Daten einer NFS-Freigabe zugreifst?

Ja, ich verwende Serverseitiges NFS-locking. Dies ist ja auch per default mittels mount eingestellt. Zumindest laut manpages. Wie ich dies auf meinem FreeBSD als Client einstellen kann, weiss ich nicht. Die manpage gibt nichts dergleichen her.

Was passiert wenn du von einem Linux-Client und einem FreeBSD-Client gleichzeitig auf den selben Daten einer NFS-Freigabe zugreifst?

Habe ich gestern getestet. Alles bleibt stabil. Ich konnte zumindest keine Abstürze oder ein Einfrieren feststellen.
 
Ja, ich verwende Serverseitiges NFS-locking. Dies ist ja auch per default mittels mount eingestellt. Zumindest laut manpages. Wie ich dies auf meinem FreeBSD als Client einstellen kann, weiss ich nicht. Die manpage gibt nichts dergleichen her.

das steht im FreeBSD-Handbuch sehr schön beschrieben, wie man NFS als server und client einrichtet. da stehen dann auch ein paar punkte zum thema locking drin.
 
Ich hatte das gleiche Problem vor laengerer Zeit. Eine Loesung ist, nolock zu verwenden, wie es schon vorgeschlagen wurde. Als alternative Variante kann auch ein 2.4er Linux Kernel verwendet werden. Wird der ueberhaupt noch gepflegt?

Das Problem ist, das der Linux Kernel bei NFS Locking einen anderen Cookie erwartet als FreeBSD sendet. Unter Linux tauchen dann auch gewoehnlich Meldungen im Log auf, dass der gesendete Locking Cookie zu gross ist.
Anscheinend erlaubt der Standard einen entsprechend grossen Cookie, Linux kann ihn nur nicht verarbeiten.

Fuer die Linux 2.4er Kernel Serie ist ab 2.4.20 oder so ein Patch vorhanden, mit dem auch ein FreeBSD Client mit Locking mit einem Linux Server sprechen kann. Allerdings ist dieser Patch nicht in der 2.6er Serie vorhanden.

HTH
 
Ich nutze einen Ubuntu-NFS Server (6.06 mit Kernel 2.6.15) und einen OpenBSD-NFS-Client (4.3) und habe keine Probleme. Allerdings greifen auf den Server per NFS keine Linuxclients zu, die greifen aber auf die gleichen Ressourcen per sshfs zu. Bislang keine Probleme. Ich nutze UDP.

Gruß
Reks30
 
Das Problem ist, das der Linux Kernel bei NFS Locking einen anderen Cookie erwartet als FreeBSD sendet. Unter Linux tauchen dann auch gewoehnlich Meldungen im Log auf, dass der gesendete Locking Cookie zu gross ist.
Anscheinend erlaubt der Standard einen entsprechend grossen Cookie, Linux kann ihn nur nicht verarbeiten.
Ja genau das meinte ich. Voll ätzend, aber laut http://www.meinews.net/nfs-t188297.html? gibts jetzt kernelseitiges nfslocking... :confused: stimmt das? Hört sich komisch an, nfs ist doch immer im Kernel...
Wie auch immer es geht ja jetzt um einen OpenBSD-Client. Ich hab leider keine Ahnung wie man das locking clientseitig unter OpenBSD ausschalten kann. -o nolock gibts nur unter Linux und einen seperaten Daemon wie unter FreeBSD gibts auch nicht...

Ich nutze einen Ubuntu-NFS Server (6.06 mit Kernel 2.6.15) und einen OpenBSD-NFS-Client (4.3) und habe keine Probleme. Allerdings greifen auf den Server per NFS keine Linuxclients zu, die greifen aber auf die gleichen Ressourcen per sshfs zu. Bislang keine Probleme. Ich nutze UDP.
Und der Linux-Server hat NFS-locking aktiviert?
 
Fuer Linux gibt es auch eine NFS Server Implementation im Userspace.

Wie auch immer, bei FreeBSD kann man das Locking client-seitig simulieren lassen, indem man mit der Option -L mountet. Fuer OpenBSD scheint es das nicht zu geben. Zumindest hab ich nichts in der entsprechenden manpage gefunden.

Also entweder OpenBSD kann kein Locking oder man kann es nicht ausschalten. ;) Beides hilft Dir momentan nur nicht weiter. Notfalls koenntest Du noch Locking auf Serverseite deaktivieren, wobei ich nicht weiss, welche Auswirkungen das auf einige Programme hat.

Vielleicht kann ja auch einfach jemand den Patch aus dem 2.4er Linux Kernel im 2.6er Linux Kernel nachziehen. :rolleyes:

Sorry, ansonsten habe ich keine weitere Idee...
 
Fuer Linux gibt es auch eine NFS Server Implementation im Userspace.
Vielleicht kann ja auch einfach jemand den Patch aus dem 2.4er Linux Kernel im 2.6er Linux Kernel nachziehen. :rolleyes:

Notfalls koenntest Du noch Locking auf Serverseite deaktivieren, wobei ich nicht weiss, welche Auswirkungen das auf einige Programme hat.
an dem Server kann ich nicht rumfuschen da hängt mehr dran.
Also entweder OpenBSD kann kein Locking oder man kann es nicht ausschalten. ;)
letzteres scheint irgendwie der Fall zu sein. Denn ohne Locking müsste es ja auf jeden Fall gehen :grumble:
Wieso macht man sowas nur...
 
Zurück
Oben