Bagaimana cara menghindari pembekuan sshfs?

23

Jadi masalahnya adalah ini:

Saya telah menginstal sshfs di Ubuntu 12.04 dan saya mencoba untuk terhubung ke beberapa server jarak jauh. Jadi awalnya mount tampaknya berhasil. Terkadang Gnome bahkan mengambilnya dan menampilkan kotak "perangkat baru ditemukan" di bagian bawah layar. tetapi dari sini tidak banyak yang berhasil. Atau setidaknya tidak lagi. Beberapa kali pertama saya terhubung sepertinya berfungsi dengan baik, dan saya dapat mentransfer beberapa file, kemudian saya memutuskan hubungan menggunakan fusermount -u <folder>dan setelah menghubungkan kembali sedikit kemudian masalah dimulai. Sekarang setelah dieksekusi sshfs -o ServerAliveInterval=15 -o reconnect -C -o workaround=all -o idmap=user root@<host>:/ <folder>, ketika saya mengubah direktori menjadi mount-point, shell hanya membeku. Anehnya ls -al <folder>bekerja ketika daftar hanya root dari sistem remote, tetapi tidak lebih. Juga setiap file-explorer Saya sudah mencoba membeku seperti cd <folder>.

Bagi saya sepertinya ada semacam benang zombi atau sesuatu yang berkeliaran di sistem saya, karena fakta bahwa itu berhasil pertama kali, jadi saya telah mencoba me-reboot tetapi tidak berhasil.

sshfs -V memberikan ini:

SSHFS version 2.3
FUSE library version: 2.8.6
fusermount version: 2.8.6
using FUSE kernel interface version 7.12

Jadi ya, ada ide?

Andreas Hagen
sumber

Jawaban:

17

Jika Anda mulai sshfs dengan -o reconnect, membunuh itu tergantung proses SSH akan membuatnya terhubung kembali.

Pertama temukan SSH yang cocok, misalnya:

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

Anda dapat membedakannya dengan set opsi yang berbeda dan host yang Anda hubungkan dengan sshfs. Kemudian bunuh, SIGTERM biasa seharusnya cukup:

kill 9644

Ini akan membuat SSHFS memulai sesi SSH baru dan sistem file yang terpasang akan menjadi responsif lagi dan semua proses yang tergantung padanya akan berlanjut seolah-olah tidak ada yang terjadi.

Beli
sumber
FYI: Solusi ini terlihat sangat berguna untuk meningkatkan ketahanan koneksi sshf kami di tempat pertama: askubuntu.com/a/716618/327339 . Juga lihat # 11 di FAQ di sini: github.com/libfuse/sshfs/blob/master/FAQ
Gabriel Staples
1

Berapa lama Anda menunggu pembekuan untuk diselesaikan? Mungkin saja masalah transmisi antara Anda dan server yang dimaksud.

Saya menggunakan sshfs antara sistem saya dan seorang teman yang tinggal di boonies (istilah resmi!), Dia menggunakan nirkabel darat yang kadang-kadang drop out (kami pikir penerimanya melambai-lambaikan angin, kehilangan kunci sinyal).

Jika saya menunggu, akhirnya TIDAK akan melakukan sinkronisasi dan melakukan hal-hal, tetapi kadang-kadang hanya akan bertahan selama beberapa menit.

GrassHopper Kesabaran!

lornix
sumber
2
Saya telah mencoba menunggu sedikit, mungkin 10-20 menit, tetapi tidak berhasil. Mungkin hanya perlu beberapa jam? ^^,
Andreas Hagen
Orang akan berharap tidak !! Anda dapat mencoba masuk dengan sshfs -d' or sshfs -o LogLevel = Debug` (atau 'Debug2') untuk mengaktifkan mode verbose ... lihat apakah ada pencerahan yang dicetak.
lornix
0

Ini adalah posting lama dan saya tidak memberikan solusi terbaik untuk ini, tapi saya pikir saya mengalami masalah yang sama (di Ubuntu 14.04) dan dalam kasus saya malas meng-unmount dan remounting karya (walaupun agak menjengkelkan):

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

Saya menduga Anda hanya melihat hasil cache dengan ls -al <folder>.

Sheljohn
sumber