Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

NFS Umount erzwingen

Alles rund um die Server (Web-, Mail-, Datenbank-, Datenaustausch-, etc.) die man unter Linux betreiben kann

Moderator: Moderatoren

Antworten
Benutzeravatar
OsunSeyi
Hacker
Hacker
Beiträge: 342
Registriert: 27. Mai 2006, 01:28

NFS Umount erzwingen

Beitrag von OsunSeyi » 1. Apr 2018, 11:25

Hi,

Vorweg: ich bin mit SALIX unterwegs, bin aber seit langem Fan von diesem Forum 8)
Und ja, es ist ein Doppelpost, siehe hier, habe dort aber keine Antwort bisher. Ausserdem ist es glaube ich durchaus ein aktuelles und blödes Problem.

Mein System hängt sich auf, wenn der Remote-Sever aus Versehen vor meinem Klienten hier heruntergefahren wird. Erstens hängt sich der ROX-Filer auf, beim Herunterfahren dann irgendwann bei der Meldung "Unmount remote filesystems". Weiter geht's dann nur mit dem Hauptschalter..

Das Problem ist nicht neu, es gibt dazu einiges im Netz:

stackoverflow:force-unmount-of-nfs-mounted-directory
github:force umount NFS
opensuse:Force nfs umount (hard, no intr)

Doch zunächst dazu, daß sich ROX aufhängt:
Ein via NFS eingehängtes Dateisystem sollte mit den Optionen "intr" und "soft" eingehängt werden, siehe /etc/fstab:

Code: Alles auswählen

TOURNEE:/mnt/hd/sda4/DAT   /mnt/hd/nfs/DAT   nfs         user,noauto,rw,intr,soft   0   0

# "INTR"
#
# Um zu vermeiden, dass I/O Operationen bei der Nichtverfügbarkeit des NFS Servers
# hängen bleiben.
#
# "SOFT"
#
# Zusätzlich kann auch die Option "soft" beim mount angegeben werden, damit bei
# Nichtverfügbarkeit Filesystemoperationen automatisch abgebrochen werden.
#
# Normalerweise ist es nicht möglich, über NFS gemountete Freigaben zu unmounten,
# wenn der NFS Server nicht mehr verfügbar ist.
#
# https://wiki.ubuntuusers.de/NFS/

"etc/mtab" zeigt, daß dies auch geschieht:
TOURNEE:/mnt/hd/sda4/DAT /mnt/hd/nfs/DAT nfs rw,user=root,noexec,nosuid,nodev,intr,soft,addr=192.168.2.2 0 0
ROX hängt sich aber trotzdem auf, aber wohl nur, wenn ich auf die NFS-Verzeichnisse zugreifen will. Auch beispielsweise 'ls' hängt.

Doch nun zum Unmounten:

Code: Alles auswählen

man umount:
-f     Force  unmount  (in  case  of  an unreachable NFS system). (Requires kernel 2.1.116 or later.)

uname -r:
3.10.17-smp

umount -f  TOURNEE:/mnt/hd/sda4/DAT
(hängt, kann'ste also vergessen..)
Nun gibt es u.A. diese Empfehlungen im Netz:
opensuse:Force nfs umount (hard, no intr)

"I already tried to setup a fake interface with the original ip and also setup a nfs server at the original ip with the same share. Both attempts did not help.
...
Setting up a nfsserver with same ip, hostname and shared directory restored the connection so I was able to umount."


Genau so ergeht es mir hier auch:

Code: Alles auswählen

ifconfig eth0:fakenfs 192.168.2.2 netmask 255.255.255.255
ping 192.168.2.2
... (klappt)

umount -f -l TOURNEE:/mnt/hd/sda4/DAT
umount -fr TOURNEE:/mnt/hd/sda4/DAT
umount -f  192.168.2.2:/mnt/hd/sda4/DAT
(div Empfehlungen im Netz, klappt alles nicht)

ifconfig eth0:fakenfs down
Auch den NFS-Dienst neu zu starten, hat hier keinen Effekt. In jedem Fall lässt sich das eingehängte NFS-Filsystem nicht unmounten und das System lässt sich nur mit dem Hauptschalter herunterfahren.

Der obige Schreiber empfielt: Setting up a nfsserver with same ip, hostname and shared directory

Hab das hier noch nicht probiert, müsste ich nur einen Eintrag in etc/exports machen und NFS neu starten?
Kann überhaupt der Client-Rechner und der Server-Rechner derselbe sein?

Es sollte schon darauf hinauslaufen, daß zuletzt ein Script das "auf die Schnelle" erledigen kann.
Also die nötige Einträge erstellen, 'umount -f' ausführen, alles wieder entfernen.

Oder kennt jemand eine bessere Lösung?
tom

Werbung:
spoensche
Moderator
Moderator
Beiträge: 7324
Registriert: 30. Okt 2004, 23:53
Wohnort: Siegen

Re: NFS Umount erzwingen

Beitrag von spoensche » 2. Apr 2018, 19:57

AutoFS ist dafür geschaffen. Es mountet die Freigabe erst, wenn darauf zugegriffen wird, unmountet sie autom. wenn über einen Zeitraum X kein Zugriff auf die Freigabe erfolgt ist usw.

Benutzeravatar
OsunSeyi
Hacker
Hacker
Beiträge: 342
Registriert: 27. Mai 2006, 01:28

Re: NFS Umount erzwingen

Beitrag von OsunSeyi » 4. Apr 2018, 10:29

Ok, werd's probieren!
Wenn es das Problem löst, kommt das in den Titel.

Danke für den Tip!

Trotzdem bleibt für mich die Frage, was hier gemeint ist:
opensuse:Force nfs umount (hard, no intr)

"I already tried to setup a fake interface with the original ip and also setup a nfs server at the original ip with the same share. Both attempts did not help.
...
Setting up a nfsserver with same ip, hostname and shared directory restored the connection so I was able to umount."
Wie kann ich einen Nfs-Server mit einer spezifischen Ip aufsetzen?
Ich dachte bisher, der Server ist mit der Ip "behaftet", die der Rechner hat, auf dem er läuft.

Wie kann ich dann auf dem Klient-Rechner einen "nfsserver with same ip, hostname and shared directory" aufsetzen?

Abgesehen davon will mir nicht einleuchten, wie autofs etwas bewerkstelligen kann, was anscheinend mit ureigensten Unix-Werkzeugen schon nicht geht. Wenn autofs nicht aushängt, weil irgendwo eine Konsole in einem NFS-Verzeichnis offen ist (oder ein Filemanager oder Editor), und dann trotzdem nur der Hauptschalter hilft, ist das nicht des pudels Kern. Des Pudels Kern wäre, ein nicht mehr erreichbares Netzwerkverzeichnis aushängen zu können ohne das ganze System zu kompromittieren. Dafür wurde 'umount -f' ja offensichtlich geschaffen. Warum funktioniert es dann nicht?

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste