GNU/Linux >> Znalost Linux >  >> Linux

Připojení SSHFS, které přežije odpojení

Řešení 1:

Použijte -o reconnect,ServerAliveInterval=15,ServerAliveCountMax=3

Kombinace ServerAliveInterval=15,ServerAliveCountMax=3 způsobí, že I/O chyby vyskočí po jedné minutě výpadku sítě. To je důležité, ale do značné míry nezdokumentované. Pokud ServerAliveInterval volba je ponechána ve výchozím nastavení (takže bez aktivní kontroly), procesy, u kterých dochází k zablokování I/O, se zdá, že spí na dobu neurčitou, i když sshfs dostane reconnect 'ed. Považuji to za zbytečné chování.

Jinými slovy, co se stane na -o reconnect bez přiřazení ServerAliveInterval spočívá v tom, že jakýkoli I/O bude buď úspěšný, nebo zavěsí aplikaci na dobu neurčitou, pokud se ssh znovu připojí. Typická aplikace se v důsledku toho zcela zastaví. Pokud chcete povolit I/O vrátit chybu a obnovit aplikaci, potřebujete ServerAliveInterval=1 nebo vyšší.

ServerAliveCountMax=3 je stejně výchozí, ale rád jej specifikuji kvůli čitelnosti.

Řešení 2:

Díky za tipy autossh a autofs.

Nicméně pro můj přímý účel jsem našel mnohem jednodušší řešení, které nebylo tak dobře zdokumentováno:

sshfs -o reconnect server:/path/to/mount

Řešení 3:

Autossh automaticky znovu připojí relace ssh, když zjistí, že ssh zemřelo nebo přestalo procházet provoz. Vzhledem k tomu, že se jedná pouze o automatizované ssh, bude fungovat z různých IP a z režimu spánku (i když se notebook probudí na jiné LAN).

Řešení 4:

Jedna věc, kterou můžete udělat, je připojit vaše souborové systémy přes autofs. Autofs je nástroj, který připojí souborový systém, když chcete použít něco v adresáři, ke kterému bude souborový systém připojen. Když detekuje aktivitu, souborový systém je připojen. Když se na souborovém systému nic neděje, je odpojen.

Zde je návod, který jsem našel na google, jak toho dosáhnout, a několik dalších.

Řešení 5:

Domnívám se, že ne, protože i když můžete nakonfigurovat svého klienta SSH tak, aby připojení nepřerušoval, server může být nakonfigurován tak, aby tak učinil po určité době nečinnosti, a nebudete to moci přepsat. I kdybyste mohli, pokud připojení nikdy neobnovíte, server by zůstal viset a časem by to mohlo vést ke značnému plýtvání serverovými prostředky.

Myslím, že lepší technikou je odpojit souborový systém před pozastavením počítače a znovu jej připojit, když se počítač znovu probudí. Mechanismus, jak to udělat, může záviset na tom, jak přesně pozastavíte svůj počítač – já používám jádro tuxonice a k tomu mám direktivu jako

Unmount /mnt/sshfs

v /etc/hibernate/common.conf .


Linux
  1. Ssh – Omezení uživatele Ssh/scp/sftp na adresář?

  2. Alternativa k příkazovému řádku SSH z Ubuntu

  3. Zabránit zápisu do nepřipojeného bodu připojení sshfs

  1. Připojte pomocí sshfs a oprávnění k zápisu do souboru

  2. SSH - Jak zahrnout příkaz -t do souboru ~/.ssh/config

  3. Jak zjistit, zda jsem přihlášen přes SSH?

  1. Připojte oddíl ext4 na Mac OS X

  2. Jak povolit barvu ve Vimu přes SSH?

  3. Předat SSH přes SSH tunel