[Eisfair_dev] nfsserver v1.4.1 stable für eisfair-1

Stefan Welte post at stefan-welte.de
Di Mär 10 23:02:48 CET 2015


Hallo Jürgen,
erstmal danke für die ausführliche Rückmeldung.

Am 10.03.2015 um 14:56 schrieb Juergen Edner:
>> Falls ja: wieso werden diese Parameter nicht an die Variable "NFSSERVER_SUPPORT_NFS4" gekoppelt?
> 
> es war auch für mich ein Lernprozess wie NFSv4 funktioniert. Da ich
> anfangs nicht wusste, ob mehrere Stammfreigaben möglich sind und ich
> weiterhin nach einem Weg suchte möglichst wenige neue Parameter
> einzuführen und vorhandenen Parameter weiter zu nutzen, hat sich dies
> so ergeben.
ok, bei meinen Tests habe ich gemerkt, wie komplex die Konstellationen sein können. Respekt für das
Implementieren beider nfs-Versionen.
Ich hatte das nfsserver-Paket bereits Jahre genutzt vor deiner nfs4 Einführung. Als der eine läppische,
zusätzliche Parameter nfs4 dazu kam, dachte ich mir nicht, daß die Konfiguration speziell stattfindet und
einen Blick in die Doku habe ich wohl nicht oder nicht zur richtigen Zeit gemacht. Die Freigaben verhielten
sich aber auch schon ganz früher etwas suspekt und ich hatte nicht die Zeit, weiter nach der Ursache zu
suchen, denn wenn ich testete, hatte ich das Gefühl, daß manches nicht reproduzierbar ist und ich habe nach
den vergeblichen Versuchen einfach nfs4 ausgemacht und nfs3 weiter benutzt.

>> Falls nein, wird mir nicht klar, welche Verzeichnisfreigaben welchen
>> Stammfreigaben zugeordnet sind!? Sollte diese Stammfreigabe(n) immer
>> an erster Stelle "NFSSERVER_SHARE_1_X" stehen oder in der Mitte oder
>> am Ende oder egal wo?
> 
> Aus der Dokumentation:
>   Im ersten Schritt definiert man dazu die NFSv4-Stammfreigabe indem
>   man .._PATH='nfs4' und z.B. .._NAME='SHARE-NAME' setzt. Der definierte
>   Name 'SHARE-NAME' dient dabei einzig dem Anlegen der Verzeichnis-
>   struktur und wird spaeter nicht fuer den NFS-Zugriff verwendet.
da ich schon einige Freigaben drin stehen hatte aus der nfs3-Zeit, ist "erster Schritt" etwas unklar.
Vor allem, wenn man Mischbetrieb nfs3/4 fahren will/muss. Besser fände ich "Oberhalb aller
nfs4-Verzeichnisfreigaben definiert man die Stammfreigabe, indem ... (alle/die nfs3-Verzeichnisfreigaben
stehen oberhalb ... so ähnlich z.B., aber ggf. ist das hinfällig, falls man das Stammverzeichnis an den
NFS4-Parameter koppelt bzw. falls es einen Fehler in der /etc/exports-Erstellung gibt (siehe unterhalb),
dann ist es (vermutlich) egal, wo die Stammfreigabe steht.

>> Falls dem so ist und dies gewollt, gibt es eine Regel, wie die
>> Anordnung (nfs3/nfs4-Freigaben) sein darf und ist dies dokumentiert?
> 
> Daran kann ich mich nicht mehr erinnern. Was ich seinerzeit wusste
> habe ich nach bestem Wissen dokumentiert. Am besten ist es sich
> für eine Art der Freigabe zu entscheiden, entweder NFSv3 oder NFSv4.
> Beide Protokolle zusammen zu nutzen ist höchsten übergangsweise zu
> empfehlen.
eigentlich würde ich komplett nfs4 nutzen, aber wie das Schicksal will, habe ich vorgestern einen Raspberry
Pi mit Openelec/Kodi in Betrieb genommen, dessen systemd-Fehlermeldung bei nfs4-mount-Versuch in die
Richtung deutete, daß OpenELEC derzeit nur nfs3 kann/will. Daher brauche ich zumindest für /public nfs3 (und
falls möglich gleichzeitig nfs4). Ich werde die Konstellation/Reihenfolge bzgl. /public bei
Gelegenheit/Freizeit untersuchen, denn ggf. muss ich dazu noch die /etc/exports usw. ankucken, um den
Unterschied festzustellen.
...
OK, neue Erkenntnisse von soeben in /etc/exports:
nfs3-Verzeichnisfreigabe direkt unter Stammfreigabe:
> /data/ordner1 192.168.6.0/255.255.255.0(sync,rw,subtree_check,all_squash,fsid=0)
> /run/nfs4exports/abcdef 192.168.6.0/255.255.255.0(sync,ro,subtree_check,no_root_squash,fsid=0)
> /run/nfs4exports/abcdef/ordner1       192.168.6.0/255.255.255.0(sync,rw,subtree_check,all_squash)
nfs4-Verzeichnisfreigabe direkt unter Stammfreigabe:
> /data/ordner1 192.168.6.0/255.255.255.0(sync,rw,subtree_check,all_squash)
> /run/nfs4exports/abcdef 192.168.6.0/255.255.255.0(sync,ro,subtree_check,no_root_squash,fsid=0)
> /run/nfs4exports/abcdef/ordner1       192.168.6.0/255.255.255.0(sync,rw,subtree_check,all_squash)

Wenn der nfs3-Export /data/ordner1 mit fsid=0 optioniert ist, klappt der nfs4-Export desselbigen
Verzeichnisses nicht. Evtl. ist das der Grund, aber vielleicht täuscht mich wiedermal etwas in der komplexen
nfs-Welt. :)


> Ändere doch einmal '-f1' in '-f3' und schaue
> ob dann alles bei Dir wie gewünscht funktioniert:
> 
>   # /tmp/path/to/share-1 on /var/run/nfsexports/SHARE-NAME/share-1
>   # type none (rw,bind)
>   mount | grep " ${default_nfs4_exportpath}/" | sort -r |
>   while read line
>   do
>       # umount NFSv4 mount bind
>       nfs4_share="`echo ${line} | cut -d' ' -f1`"    # <<<<
> 
>       if [ "${nfs4_share}" != "" ]
>       then
>           umount ${nfs4_share}
>       fi
>   done

das wars, so klappts.


Danke und gute Nacht,
Stefan



Mehr Informationen über die Mailingliste Eisfair_dev