SSHFS витончена деградація замість заморожування при втраті зв'язку. Це можливо?


10

Стороння програма запише файли у встановлений SSHFS dir. Якщо з'єднання з Інтернетом буде втрачено, стороння програма, швидше за все, вийде з ладу (погано), оскільки всі програми, які намагаються отримати доступ до такого режиму, встановленого SSHFS, в такому стані (коли немає підключення до Інтернету) ставляться до того, що деякі описують як "безперебійне" спати ». SSHFS має можливість автоматичного відновлення підключення, але це не допомагає, оскільки стороння програма все одно буде зависати (і припиниться), якщо з'єднання буде втрачено (навіть якщо відновлення відновлено, SSHFS повторно налаштує dir). Автофайли не допоможуть, в основному мова йде про поведінку SSHFS, коли зв’язок втрачено. Чому він не може вести себе як мережевий загальнодоступний каталог (Samba чи інші засоби) і просто повернути помилку швидше, ніж ... ніколи?

Чи є альтернативи SSHFS, якщо SSHFS не може працювати, як описано?

Інша інформація:

ОС: я використовую Ubuntu Linux (12,04 LTS)


Поясніть, будь ласка, що саме ви робите. Я думаю, ви монтуєте віддалену файлову систему за допомогою sshfs на локальній машині Linux, це так? Можливо, включити своє /etc/fstab? Ви спробували автофіксатори з цим softваріантом?
тердон

@terdon Стороння програма записуватиме файли у встановлений SSHFS dir. Якщо з'єднання з Інтернетом буде втрачено, стороння програма, швидше за все, вийде з ладу (погано). SSHFS має можливість автоматичного відновлення підключення, але це не допомагає, оскільки стороння програма все одно буде зависати (і припиниться), якщо з'єднання буде втрачено (навіть якщо відновлення відновлено, SSHFS повторно налаштує dir). Автофайли не допоможуть, в основному мова йде про поведінку SSHFS, коли зв’язок втрачено. Чому він не може вести себе як мережевий загальнодоступний каталог (Samba чи інші засоби) і просто повернути помилку швидше, ніж ... ніколи?
Андрій

Дякуємо за оновлення, але будь-ласка, включіть його у своє запитання, оскільки не всі читають коментарі. Також додайте конфігураційні файли, які ви використовуєте. Яке значення тайм-аута для ssh тощо? Я не кажу, що я знаю, як відповідь, це лише те, що чим більше інформації ви маєте у своєму запитанні, тим більше, що ви отримаєте хорошу відповідь. На даний момент важко зрозуміти, що саме стосується вашої установки.
тердон

@terdon Спасибі, я в основному зараз майже повністю замінив своє питання.
Андрій

Значно краще :). Будь ласка, додайте ОС, яку ви використовуєте. Це Linux, OSX, ще один Unix?
тердон

Відповіді:


0

Коротше кажучи: Ні - оскільки заморожування відбувається з програми, помилка sshfs є витонченою - вона скаже програмі почекати. - те, що програма не поважає цього, не є виною SSHFS.

Додаток зробив би точно так само, якби він отримував доступ до файлу на знімному сховищі, наприклад, USB-диску, і ви його видалили. Додаток повинен фіксувати та обробляти події очікування на введення-виведення, а не просто затримуватися в очікуванні відповіді.


0

Сумне питання. Я спробував sshfs кілька разів у минулому.

Як тільки з'єднання втрачається, програми, що отримують доступ до файлів у змонтованій папці, заморожуються та виходять з ладу. Навіть термінали. АЛЕ додатки навіть не знають, що вони чекають. Це щось на рівні ядра, яке не може обробити sshfs, кажучи їм чекати вічно ... навіть відключення не працює і навіть іноді зависає, оскільки змонтована папка якось заблокована на рівні файлової системи-ядра.

Чому цього не відбувається, коли я відключаю USB-накопичувач?

Ця проблема існує вже багато років ...

Автоматичне підключення не допомагає, якщо ви просто не зможете відновити з'єднання в будь-який час. (У моєму випадку у мене закінчуються керберові квитки).

Вибачте, але я маю зазначити: sshfs є непридатним!
(крім випадків, коли зв’язок ніколи не втрачається)

Я завжди натомість використовую scp замість цього. Сумне питання

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.