How to avoid sshfs freezing?

35,562

Solution 1

If you started sshfs with -o reconnect, killing it's hanging SSH process will make it reconnect.

First find the matching SSH, for example:

ps -ef
...
user 9644 1 0 11:15 ? 00:00:00 ssh -x -a -oClearAllForwardings=yes -2 <host> -s sftp
...

The you can tell it apart by the distinctive set of options and the host you were connecting sshfs to. Then kill it, regular SIGTERM should be enough:

kill 9644

This should make SSHFS start a new SSH session and the mounted filesystem will become responsive again and all processes hanging on it will continue as if nothing happened.

Solution 2

This is an old post and I'm not giving an ultimate solution to this, but I think I was having the same issue (on Ubuntu 14.04) and in my case lazy unmounting and remounting works (although it's a bit annoying):

fusermount -u -z /local/folder
sshfs -C user@server:/remote/folder /local/folder

I suspect you were just looking at cached results with ls -al <folder>.

Solution 3

How long have you waited for the freeze to resolve? It might just been transmission issues between you and the server in question.

I use sshfs between my system and a friend's who lives in the boonies (offical term!), he's on a overland wireless which occasionally drops out (we think his receiver is waving in the wind, losing signal lock).

If I wait, it DOES eventually sync up and do things, but occasionally it'll just hang for a few minutes.

Patience GrassHopper!

Solution 4

Use sshfs -o reconnect,ServerAliveInterval=1 your-remote-ssh: your-local-folder to make ssh send message to server every second. This will enable sshfs to detect disconnection quickly and automatically reconnect to avoid possible hangs&freezing.

Share:
35,562

Related videos on Youtube

Andreas Hagen
Author by

Andreas Hagen

Updated on September 18, 2022

Comments

  • Andreas Hagen
    Andreas Hagen over 1 year

    I've installed sshfs on Ubuntu 12.04 and I'm trying to connect to a couple of remote servers.

    Initially the mount seems successful. Sometimes, Gnome even picks it up and displays the "new device found" box at the bottom of the screen. But from here on there is not much that works. Or at least not any more. The first couple of times I connected it seemed to work fine, and I was able to transfer some files. Then I disconnected using fusermount -u <folder> and after reconnecting a little later the trouble started.

    Now after executing sshfs -o ServerAliveInterval=15 -o reconnect -C -o workaround=all -o idmap=user root@<host>:/ <folder>, when I change directory into the mount point, the shell just freezes. Strangely, ls -al <folder> works when listing just the root of the remote system, but nothing more. Also every file explorer I've tried freezes just like cd <folder>.

    To me, it seemed like there was some kind of zombie thread or something hanging around my system, due to the fact that it did work the first time, so I have tried rebooting but no luck.

    sshfs -V gives this:

    SSHFS version 2.3
    FUSE library version: 2.8.6
    fusermount version: 2.8.6
    using FUSE kernel interface version 7.12
    
  • Andreas Hagen
    Andreas Hagen almost 12 years
    I have tried waiting for some bit, maybe 10-20 minutes, but no luck. Maybe it just needs a couple of hours? ^^,
  • alpha
    alpha almost 12 years
    One would hope not!! You might try logging in with sshfs -d' or sshfs -o LogLevel=Debug` (or 'Debug2') to turn on verbose mode... see if anything enlightening is printed.
  • Gabriel Staples
    Gabriel Staples almost 7 years
    FYI: This solution looks very useful for improving the robustness of our sshfs connections in the first place: askubuntu.com/a/716618/327339. Also see #11 in the FAQ here: github.com/libfuse/sshfs/blob/master/FAQ
  • Michael
    Michael about 4 years
    is there some way to ensure that this doesn't affect the reliability of the FS? I encountered a case where the application reported an input/output error during the reconnect process and basically left the file it was working on in an unusable state.
  • user202729
    user202729 over 2 years
  • Admin
    Admin about 2 years
    (one particular point is that it keeps pinging the server and if you set it too short it will consume some network data)