วิธีการหลีกเลี่ยงการแช่แข็ง sshfs?


23

ดังนั้นปัญหาคือ:

ฉันได้ติดตั้ง sshfs บน Ubuntu 12.04 และฉันพยายามเชื่อมต่อกับเซิร์ฟเวอร์ระยะไกลสองแห่ง ดังนั้นในตอนแรกดูเหมือนว่าเขาจะประสบความสำเร็จ บางครั้ง Gnome ก็หยิบมันขึ้นมาและแสดงกล่อง "พบอุปกรณ์ใหม่" ที่ด้านล่างของหน้าจอ แต่จากที่นี่ไปมีไม่มากที่ทำงาน หรืออย่างน้อยก็ไม่มีอีกแล้ว สองสามครั้งแรกที่ฉันเชื่อมต่อดูเหมือนว่าจะทำงานได้ดีและฉันก็สามารถถ่ายโอนไฟล์บางไฟล์ได้จากนั้นฉันก็ตัดการเชื่อมต่อโดยใช้fusermount -u <folder>และหลังจากเชื่อมต่ออีกเล็กน้อยในภายหลังปัญหาก็เริ่มขึ้น ตอนนี้หลังจากดำเนินการsshfs -o ServerAliveInterval=15 -o reconnect -C -o workaround=all -o idmap=user root@<host>:/ <folder>เมื่อฉันเปลี่ยนไดเรกทอรีเป็นจุดเมานต์เชลล์ก็หยุดทำงาน ใช้ls -al <folder>งานได้อย่างแปลกประหลาดเมื่อแสดงเพียงแค่รูทของระบบรีโมต แต่ไม่มีอะไรเพิ่มเติม นอกจากนี้ทุก ๆ explorer ไฟล์ที่ฉันได้ลองค้างเหมือนcd <folder>กัน

สำหรับฉันดูเหมือนว่าจะมีเธรดซอมบี้บางอย่างหรือสิ่งที่แขวนอยู่รอบ ๆ ระบบของฉันเนื่องจากความจริงที่ว่ามันทำงานได้เป็นครั้งแรกดังนั้นฉันจึงลองรีบูตเครื่อง แต่ไม่มีโชค

sshfs -V ให้สิ่งนี้:

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

ใช่แล้วความคิดใด ๆ

คำตอบ:


17

หากคุณเริ่มต้น sshfs ด้วยการ-o reconnectฆ่ากระบวนการแฮงค์SSH จะทำให้การเชื่อมต่ออีกครั้ง

ขั้นแรกให้ค้นหา SSH ที่ตรงกันตัวอย่างเช่น:

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

คุณสามารถแยกแยะได้ด้วยชุดตัวเลือกที่แตกต่างและโฮสต์ที่คุณกำลังเชื่อมต่อกับ sshfs จากนั้นฆ่ามัน SIGTERM ปกติควรจะเพียงพอ:

kill 9644

สิ่งนี้จะทำให้ SSHFS เริ่มต้นเซสชัน SSH ใหม่และระบบไฟล์ที่เมาท์จะตอบสนองอีกครั้งและกระบวนการทั้งหมดที่ดำเนินการอยู่จะดำเนินต่อไปราวกับว่าไม่มีอะไรเกิดขึ้น


FYI: วิธีการแก้ปัญหานี้มีลักษณะที่มีประโยชน์มากสำหรับการปรับปรุงความแข็งแรงของการเชื่อมต่อ sshfs เราในสถานที่แรก: askubuntu.com/a/716618/327339 ดู # 11 ในคำถามที่พบบ่อยที่นี่: github.com/libfuse/sshfs/blob/master/FAQ
Gabriel Staples

1

คุณรอนานแค่ไหนที่การตรึงจะหายไป? อาจเป็นปัญหาการส่งข้อมูลระหว่างคุณกับเซิร์ฟเวอร์

ฉันใช้ sshfs ระหว่างระบบของฉันและของเพื่อนที่อาศัยอยู่ใน boonies (คำทางการ!) เขาอยู่ในไร้สาย overland ซึ่งบางครั้งก็หล่นออกมา (เราคิดว่าผู้รับของเขากำลังโบกอยู่ในสายลม

ถ้าฉันรอมันจะซิงค์และทำสิ่งต่าง ๆ ในที่สุด แต่บางครั้งมันก็จะหยุดสักครู่

อดทนตั๊กแตน!


2
ฉันพยายามรอสักครู่อาจจะ 10-20 นาที แต่ก็ไม่มีโชค บางทีมันอาจต้องใช้เวลาสองสามชั่วโมง? ^^,
Andreas Hagen

ใครจะหวังไม่ได้ !! คุณอาจลองเข้าสู่ระบบด้วยsshfs -d' or sshfs -o LogLevel = Debug` (หรือ 'Debug2') เพื่อเปิดโหมด verbose ... ดูว่ามีการพิมพ์แสงอะไรหรือไม่
lornix

0

นี่คือโพสต์เก่าและฉันไม่ได้ให้ทางออกที่ดีที่สุดสำหรับเรื่องนี้ แต่ฉันคิดว่าฉันมีปัญหาเดียวกัน (บน Ubuntu 14.04) และในกรณีของฉันขี้เกียจ unmounting และ remounting งาน (แม้ว่ามันจะน่ารำคาญเล็กน้อย):

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

ls -al <folder>ฉันสงสัยว่าคุณเป็นเพียงแค่การมองที่ผลที่เก็บไว้ชั่วคราวด้วย

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.