У меня есть несколько каталогов, смонтированных через sshfs . Иногда я получаю отключение от сервера (не настраивается мной). Я обычно монтирую каталоги вот так
sshfs user@server.example.com:/home/user /mnt/example
Когда сервер отключается, подсистема sshfs не размонтирует / освобождает каталог, а блокирует его недоступным. Крепление все еще видно при наборе mount
. Когда я печатаю
ls /mnt/example
процесс блокируется (также Ctrl+ cне помогает). Поэтому я делаю
sudo umount -l /mnt/example
# find pid of corresponding process:
ps aux | grep example.com
kill -9 <pid of locked sshfs process>
Есть ли лучший способ справиться с этим? Очевидно, что sshfs должен выполнить размонтирование и очистить ... В идеале он будет автоматически подключаться.
Ответы:
Вы можете запустить sshfs с параметром «восстановить соединение». Мы используем sshfs с PAM / automount для совместного использования файлов сервера для каждой рабочей станции в нашей сети. Мы используем -oconconnect в качестве параметра для sshfs, главным образом потому, что наши пользователи приостановили работу своих компьютеров, и при пробуждении sshfs не будет повторно подключаться (или отвечать, или что-то еще).
Например:
Просто обратите внимание, что если удаленный компьютер действительно не работает, sshfs может перестать отвечать на запросы в течение длительного времени.
источник
Это можно обойти, уменьшив время ожидания. Добавьте следующее к
$HOME/.ssh/config
или/etc/ssh/ssh_config
:Это приводит к задержке в 45 секунд.
источник
sshfs
не имеет дело со смертью основногоssh
процесса изящно.У меня есть сервер, который я использую для хранения, и из-за нехватки места, где я живу, я храню его в другом месте. Чтобы перенести файлы в мою сеть, я использую raspberry pi, который монтирует файлы с сервера с помощью sshfs.
Недавно мне пришлось перейти на raspbian jessie из-за сбоя питания и я понял, что sshfs стал серьезно нестабильным. Папки будут правильно смонтированы, но через некоторое время я не смогу к ним подключиться, и raspberry pi зависнет, если я захочу перечислить содержимое креплений.
То, что я попробовал, было:
но не игра в кости! Пока я не изменил файл fstab следующим образом:
И это работает! Нет больше отключений! Похоже, что sshfs по какой-то причине не читает конфигурационный файл ssh и сигналы поддержки активности никогда не отправлялись.
источник
Это звучит как работа для авторов. Он довольно искусен в работе с сетевыми монтировками различного типа (nfs, samba, sshfs, вы называете это) и замечает, когда эти вещи нужно перемонтировать. Он также может позаботиться о размонтировании их после периодов неиспользования и монтировании при запросе файловой системы.
источник
Если все еще есть люди, сталкивающиеся с этой проблемой, я все еще не мог бы решить это. Я нашел рабочий обходной путь.
Следующий скрипт Ruby сделал свое дело. Он создает папку под названием «keepalive» снова и снова. Просто продолжайте это до бесконечности.
Я не знаю, почему это работает. Но, похоже, это решает мою проблему: я неактивен на минуту и все зависает. Он просто пытается создать папку в точке монтирования, и это, кажется, не дает ей отключиться и как-то заморозить все.
источник
while true; do mkdir -p /x/y; sleep 2; done