[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: NFS Verbindung noch aktiv?



Am Dienstag, 23. Dezember 2003 16:28 schrieb Jörg Arlandt:
> Hallo
>
> ich habe zwei Rechner (als Beispiel). Ein Rechner (A) hat als Server
> ein Verzeichnis via NFS für den anderen Rechner (B) freigegeben.
>
> Wie kann ich nun vom Server aus (also von B) feststellen, ob Rechner
> B das Verzeichnis aktuell auch gemountet hat?

sollte bestimmt "(also von A) feststellen" heißen?
>
> 'showmount -e' zeigt das hier unabhängig ob es gemountet ist (oder
> nicht) an.
>
> Server: woody mit nfs-kernel-server
>
> (Hintergrund: ich möchte vor dem Runterfahren überprüfen, ob ein
> Rechner noch via nfs auf diesen Rechner zugreift)

Ich habe auch nochmal nachgeschaut und erstaunt festgestellt, daß dazu 
die Möglichkeiten in der Tat gering sind, dieses festzustellen.

showmount zeigt auch nicht mehr gültige mounts an (übrigens ohne Option, 
Parameter -e zeigt dir immer nur exports-Liste an)

Da nfs ja über udp, also verbindungslos, tranportiert wird gibt es 
leider keine Möglichkeit eine aktive Verbindung über einen 
verbindlichen Socket-Status festzustellen.

Über /var/lib/nfs/rmtab läßt sich die gewünschte Information leider auch 
nicht gewinnen (siehe man rpc.mountd - The rmtab File)

Eine Möglichkeit habe ich zumindest bei mir ausmachen können, vielleicht 
hilft sie dir ja auch.
Voraussetzung ist allerdings, daß auf den Clients der portmap mit dem 
rpc.lockd läuft (ist i.d.R. der Fall) *und* das es nur einen NFS-Server 
gibt *und* das die Clients sich nur von diesem Server die shares 
mounten. Viele und's ...

So:
Wenn ein Client einen nfs-share mountet wird über den portmap/rpc ein 
rpc-dienst nlockmgr gestartet, beim umounten wieder gelöscht. 
Mitverfolgen kannst du das am Server mit:
rpcinfo -p hostnamevomclient

Diesen Status kannst du jetzt am Server abfragen mit:
rpcinfo -b nlockmgr 1 | sort | uniq

rpcinfo -b sendet einen Broadcast an alle Rechner und prüft wo der 
nlockmgr läuft, sort sortiert und uniq gibt jeweils alle Fundstellen 
nur einmal aus. Diese Abfrage kann einige Sekunden dauern.
Siehe auch man rpcinfo.

Dieses Vorgehen hat den Hauch von quick'n dirty, ich weiß...
Der Server kommt in dieser Liste auch vor, also ggf. ausfiltern.

Ansonsten ist mir leider auch keine andere Möglichkeit oder Tool 
bekannt. Ist schon ein echtes Manko :-(
Vielleicht kann jemand anderes noch was vorschlagen.

Hoffe zumindest etwas geholfen zu haben
Gruß
	Gerhard



Reply to: