it-swarm-id.com

Apa cara yang lebih baik untuk menangani pemutusan server sshfs mounts?

Saya memiliki beberapa direktori yang dipasang melalui sshfs. Saya kadang-kadang mendapatkan terputus dari server (tidak dapat dikonfigurasi oleh saya). Saya biasanya memasang direktori seperti ini

sshfs [email protected]:/home/user /mnt/example

Ketika server terputus, subsistem sshfs tidak mount/free direktori tetapi malah menguncinya tidak dapat diakses. Mount masih terlihat saat mengetik mount. Saat saya mengetik

ls /mnt/example

proses terkunci (juga Ctrl+c tidak membantu). Karena itu saya lakukan

Sudo umount -l /mnt/example
# find pid of corresponding process:
ps aux | grep example.com
kill -9 <pid of locked sshfs process>

Apakah ada cara yang lebih baik untuk menghadapinya? Jelas sshfs harus melakukan mount dan membersihkan ... Idealnya ia akan terhubung kembali secara otomatis.

60
Sebastian

Anda dapat menjalankan sshfs dengan opsi "sambung kembali". Kami menggunakan sshfs dengan PAM/automount untuk berbagi file server untuk setiap workstation di jaringan kami. Kami menggunakan -o menyambung kembali sebagai parameter untuk sshfs, sebagian besar karena pengguna kami menangguhkan komputer mereka dan saat bangun sshfs tidak akan menyambung kembali (atau merespons, atau apa pun).

Sebagai contoh:

sshfs [email protected]:/home/mvaldez/REMOTE /home/mvaldez/RemoteDocs -o reconnect,idmap=user,password_stdin,dev,suid

Sekadar catatan, jika komputer jarak jauh benar-benar mati, sshf mungkin menjadi tidak responsif untuk waktu yang lama.

45
MV.

Ini dapat diatasi dengan mengurangi batas waktu. Tambahkan yang berikut ke $HOME/.ssh/config atau /etc/ssh/ssh_config:

ServerAliveInterval 15
ServerAliveCountMax 3

Ini menghasilkan batas waktu 45 detik.

11
Thor

Saya memiliki server yang saya gunakan untuk penyimpanan dan untuk beberapa kekurangan tempat tinggal saya, saya menyimpannya di lokasi lain. Untuk membawa file ke jaringan saya, saya menggunakan Raspberry Pi yang me-mount file dari server menggunakan sshfs.

Baru-baru ini saya harus meningkatkan ke jessie raspbian karena kegagalan daya dan menyadari bahwa sshf menjadi sangat tidak stabil. Folder akan dipasang dengan benar, tetapi setelah beberapa waktu saya tidak akan dapat terhubung ke mereka dan Raspberry Pi akan membeku jika saya ingin membuat daftar isi dari mount.

Apa yang saya coba adalah:

  1. digunakan kembali di fstab
  2. menggunakan ServerAliveInterval dan ServerAliveCountMax dalam file .ssh/config tetapi tidak berhasil.
  3. solusi lain yang saya baca di sebagian besar forum.

tapi tidak ada dadu! Sampai saya memodifikasi file fstab sebagai berikut:

sshfs#[email protected]:/remote/folder /local/mount/dir Fuse IdentityFile=sshkeyfile,Port=XXX,uid=1000,gid=1000,allow_other,_netdev,ServerAliveInterval=45,ServerAliveCountMax=2,reconnect,noatime,auto 0 0

Dan itu berhasil! Tidak ada lagi terputus! Saya sepertinya sshfs tidak membaca file konfigurasi ssh untuk beberapa alasan dan sinyal tetap hidup tidak pernah dikirim.

6
lucian

Ini terdengar seperti pekerjaan untuk autofs. Ini agak mahir dalam menangani pemasangan jaringan dari berbagai jenis (nfs, samba, sshfs, sebut saja) dan memperhatikan kapan hal-hal itu perlu dipasang kembali. Itu juga dapat menangani unmount mereka setelah periode tidak digunakan dan pemasangan mereka ketika permintaan sistem file dibuat.

3
Caleb

Jika masih ada orang yang menghadapi masalah ini, saya masih tidak bisa memperbaikinya. Saya memang menemukan solusi yang berhasil.

Skrip Ruby berikut melakukan triknya. Itu membuat folder yang disebut "keepalive" berulang-ulang. Terus jalankan ini hingga tak terbatas.

$i =1 
$num =0
begin
    puts("Inside the loop i = #$i" )
    $i +=1
    puts 'creating obj'
    system 'mkdir  /{yourmountpoint}/keepalive'
    sleep 5
    puts 'we did it, it should be still alive'
end while $i > $num

Saya tidak tahu mengapa ini berhasil. Tapi sepertinya itu menyelesaikan masalah saya di mana saya tidak aktif selama satu menit dan semuanya membeku. Itu hanya mencoba untuk membuat folder pada titik pemasangan dan yang tampaknya membuatnya tidak memutuskan dan membekukan segalanya.

1
Vudew