[Eisfair_dev] [e1] nfs4 mount failed

Thomas Quast eisfair at thquast.de
Mi Dez 10 12:55:00 CET 2014


Hallo Jürgen,

auch auf die Gefahr hin, das ich mich wiederhole, weil vielleicht
ungluecklich ausgedrueckt, komme ich nicht wirklich weiter.

Erstelle ich unter nfssserver entsprechende Freigaben, nach Studium
der Doku, Hilfetexte und andere Webseiten, so kann ich zwar Freigaben
am client via mount einbinden, aber trotzdem habe ich noch Probleme.

Aber eins nach dem anderen.

Erstelle ich die Freigaben und verlasse die config, so kann ich
die Freigabe mittels mount ansehen:

/tftpboot/node1 on /run/nfs4exports/boot/node1 type none (rw,bind)

Gehe ich abermals in die config (fuer eine Aenderung, eine Erweiterung,
oder was auch immer), verlasse diese wieder, so sehe ich via mount nun
folgendes:

/tftpboot/node1 on /run/nfs4exports/boot/node1 type none (rw,bind)
/tftpboot/node1 on /run/nfs4exports/boot/node1 type none (rw,bind)

Es reicht auch /etc/init.d/nfsserver restart und ich bekomme
einen weiteren Eintrag hinzu. :-(

Alle folgenden Schritte bei einem /etc/init.d/nfsserver stop sind
obsolet und funktionieren nicht.

Ein killproc -TERM ... oder gar killproc -KILL ... gehen ins leere
und greifen nicht, da die shares noch eingebunden sind. Warum?

In /etc/init.d/nfsserver wird in Zeile 398 definiert:

default_nfs4_exportpath=/var/run/nfs4exports

Ab Zeile 140 wird nun versucht

mount | grep " ${default_nfs4_exportpath}/" | sort -r | while read line
do
    # umount NFSv4 mount bind
    nfs4_share="ècho ${line} | cut -d' ' -f1`"

    if [ "${nfs4_share}" != "" ]
    then
        umount -v ${nfs4_share}
    fi
done

Das greift nicht, da die shares nicht unter /var/run/..., sondern
unter /run/... zu finden sind.

Aendert man Zeile 398 ab in

default_nfs4_exportpath=/run/nfs4exports

so funktioniert auch ein umount und das entladen.

Gruss,
Thomas



Mehr Informationen über die Mailingliste Eisfair_dev