komisches NFS Problem

  • Hallo,


    ich hab ein komisches Problem mit NFS.
    Am Server:

    Code
    /srv/squeezebox      *(rw,fsid=0,sync,no_subtree_check,all_squash,anongid=109,anonuid=107)
    /srv/vdr      *(rw,fsid=0,sync,no_subtree_check,all_squash,anongid=109,anonuid=107)


    Am Client

    Code
    mount vdr:/srv/squeezebox/ /audio


    wenn ich jetzt aber ein ls /audio mache, bekomme ich ein Directory listing vom Server unter /srv/vdr statt /srv/squeezebox...


    Ist ne Weile her, dass ich NFS genutzt hab... Was mach ich falsch?


    Gruß,
    Hendrik

  • Hi,


    ich behaupte mal: Nix ;)
    Scheint ein Käfer im nfs oder kernel zu sein.


    Ich hatte das vor kurzem bei meinem Server nach einem dist-upgrade, ohne an der Konfiguration was geändert zu haben.
    Ich habe dann das entsprechende Verzeichnis lokal an einer anderen Stelle eingebunden, den neuen Pfad exportiert und seitdem ist Ruh im Karton :)


    Gruß Gero

    Ich bin verantwortlich für das, was ich schreibe, nicht für das, was Du verstehst!

  • Nicht schlagen wenn ich falsch liege :)
    Mach ma das grad ausm Kopp


    Sollte der Aufruf nicht

    Code
    mount vdr:/squeezebox/ /audio

    heissen

    Gruß Tom


    99% der ComputerFehler sitzen zwischen Tastatur und Rückenlehne :schiel

    Einmal editiert, zuletzt von tr500 ()

  • Ich nutze hier nfs4 und hab nachdem ct howto mir die freizugegebenden ordner unter /srv zu liegen
    /srv/bla
    /srv/blubb
    Mit /srv als root exportdir. worin die andern per

    Code
    mount -o bind /... /..

    eingehangen werden.


    Ich ging davon aus das es bei dir ähnlich ist.
    /etc/exports -> /srv/bla .....
    /etc/fstab -> mount <IP>:/bla


    so wärs dann bei nfs4 richtig, dann gäbs unter /srv/ auch keine möglichkeit 2 Dirs. mit dem gleichen Namen anzulegen.

    Gruß Tom


    99% der ComputerFehler sitzen zwischen Tastatur und Rückenlehne :schiel

  • Die Manpage exports(5) legt nahe die Option fsid nicht für verschiedene Shares auf den gleichen Wert zu setzen.


    Wenn man das nachträglich ändert sollte man sowohl die Clients als auch den Server (gleichzeitig) neu starten. Ich kann mir vorstellen das es sonst zu üblen Effekten kommt, weil sämtliche Komponenten cachen.


    cu, Stefan

  • Zitat

    Die Manpage exports(5) legt nahe die Option fsid nicht für verschiedene Shares auf den gleichen Wert zu setzen.


    Wenn man denn ne manpage findet, die den Wert überhaupt erwähnt, dann findet man z.B.

    Code
    Any 32 bit number can be used, but it must be unique amongst all the exported filesystems.

    Dem würde ich jetzt entnehmen, dass 2mal der gleiche Wert tabu ist.


    Unter debian kennt die manpage kein "fsid" - und ich habe es auch nirgends verwendet.
    Darüber hinaus verwende ich nfs Version 3 - und das schon seit vielen Jahren.
    Wenn also der Effekt "plötzlich" auftritt, dass ein Exportpunkt falsche Daten liefert - und dies sogar stabil über einen reboot von Client und Server, dann gehe ich davon aus, dass sich am Verhalten des Systems was geändert hat.


    Laut der Info, die unter debian verfügbar ist, bestand kein Bedarf, meine Konfiguration zu ändern, ...
    ... also gehe ich mal davon aus, dass der Fehler ausnahmsweise nicht vor der Tastatur sitzt :O


    Gruß Gero

    Ich bin verantwortlich für das, was ich schreibe, nicht für das, was Du verstehst!

  • Hallo Henfri,


    für mich sieht das aus, als ob Du eine recht wilde Mischung aus NFSv4-Freigabe und NFSv3-Mounts benutzt. Allerdings staune ich, dass das nicht nur zu wüsten Fehlermeldungen führt.


    Entwender solltest du Dich für NFSv3 entscheiden:

    Code
    freigeben in /etc/exports:
    /exports/scratch       192.168.2.0/25(async,no_root_squash,rw,nohide,insecure,no_subtree_check)
    
    
    mounten:
    mount server:/exports/scratch /mnt


    In diesem Fall findest Du unter /mnt des Clients den Inhalt von /exports/scratch des Servers.


    Oder aber Du arbeitst mit NFSv4, dann sieht die Sache so aus:

    Code
    freigeben in /etc/exports:
    /exports                *(async,rw,nohide,crossmnt,fsid=0,insecure,no_subtree_check,sec=krb5:krb5i)
    /exports/scratch        *(async,rw,nohide,insecure,no_subtree_check,no_root_squash,sec=krb5:krb5i)
    
    
    mounten:
    mount -t nfs4 server:/ /mnt


    In diesem Fall findest Du unter /mnt alle Freigaben des Servers, auf die Du Zugriff hast, der Inhalt von /exports/scratch findet sich unter /mnt/scratch.


    Wofür Du Dich am besten entscheidest hängt von vielen Dingen ab. Um schnell mal eben drei Filme freizugeben ist v3 sicher der schmerzärmere Weg. Im Fall von NFSv4 sind allerdings noch einige weitere Details zu beachten, die normalerweise locker eine 20seitige HowTo füllen. Diese gibts aber bereits wie Sand am Meer und Google kennt sie alle ...


    Grüße,
    Holger

    VDR 1-3: Zotac ZBox HD-ID42, yavdr-0.5
    VDR 4: AMD5900/Asus M3N-78, yavdr-0.5
    DVB-Empfang: Netceiver
    Storage: via NFS von separatem Fileserver

    [size=10]

    2 Mal editiert, zuletzt von hsteinhaus ()

  • Hallo,


    ich gebe zu, dass ich nur die vorhandene Zeile von yavdr kopiert und den Pfrad angepasst hab.


    Was ich an deinem Beispiel nicht verstehe:
    Womit schalte ich auf nfs4? Mit dem *?


    Gruß,
    Hendrik

  • Hallo,


    ich denke, der bedeutendste Unterschied zwischen nfs-V3 und nfs-V4 ist die Verwendung von kerberos.
    Wenn Dir also Sicherheit in Deinem Netz ein Anliegen ist, solltest Du einen Kerberos-Dienst aufsetzen.
    Nur das ist weder trivial noch mal eben so erledigt.
    Da solltest Du Dir viele Gedanken um Deinen Sicherheitsbedarf machen und die Art, wie Du was verwalten willst.


    Ich denke, mit ein Problem bei nfs ist, dass vor nicht allzulanger Zeit das Default-Protokol von v3 auf v4 geändert wurde.


    Wenn Du also auf dem Server Deine Verzeichnisse als v3 freigibst, erwartet der Rechner, der die Verzeichnisse einbinden will eine v4-Freigabe. Das bedeutet, wenn Du auf dem Client keine Vorkehrungen triffst, bekommst Du überhaupt keine Daten.


    Mit Vorkehrungen auf dem Client meine ich die Verwendung einer Option (entweder bei mount -o angeben oder in /etc/fstab im Optionen-Bereich), mit der das Protokoll festgelegt werden kann.


    Um z.B. eine Freigabe als v3 einzubinden, fügst Du als Option "vers=3" hinzu. Damit bestimmt dann der Client, dass er mit nfs3 kommunizieren will.


    Wie gesagt - bei mir läuft alles mit v3 und trotzdem hatte ich auch den Effekt, wie von Dir beschrieben. Ich konnte es für mich auf eine einfache Art beheben und habe mich deshalb nicht weiter damit beschäftigt.


    Gruß Gero

    Ich bin verantwortlich für das, was ich schreibe, nicht für das, was Du verstehst!

  • Hallo,


    was ich meinte war, wie ich entscheide, ob ich mit nfs3 oder nfs4 exportiere.
    Ein mount ... -o vers=3 hat bei mir jetzt keine Besserung gebracht.
    Ich sehe immernoch nur den Inhalt des ersten export.


    Gruß,
    Hendrik

  • Hallo,


    ja, so geht's natürlich.
    Dann hat man nur einen export. Das wäre ein Workaround. Danke dafür
    Aber es ist ja schon so gedacht, dass man mehrere exports an einem Server haben kann, oder?


    Gruß,
    Hendrik

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!