Montaż CIFS zawiesza się podczas odczytu

13

Mam problem z kilkoma mocowaniami CIFS, które wyglądają tak:

//192.168.10.2/remote-share /home/windows-shared/remote-share cifs defaults,user=xxx,password=xxx,uid=603,gid=603       0 0

Ten problem występuje po pewnym czasie, zwykle po dniu, w którym użytkownicy rano uruchamiają komputery, a ich udziały nie działają już zdalnie.

Więc kiedy próbuję to zrobić ls, dostaję to:

ls: cannot access /home/windows-shared/remote-share: Host is down

Nie mam z tym nic wspólnego dmesg. Problem polega na tym, że teraz każde wywołanie odczytu do tej części systemu po prostu się zawiesza, więc jako rozwiązanie wolę mieć szybszy błąd niż zawieszanie się na czas nieokreślony.

Po lekkim przeczytaniu strona podręcznika man mount.cifswydaje się, że domyślnie każde montowanie softoznacza, że ​​w końcu upłynie limit czasu. Problem polega na tym, że przekroczenie limitu czasu zajmuje dużo czasu.

Aktualizacja:

Dodanie tych parametrów do polecenia mount nie pomogło:

soft,timeo=300,retrans=3
Alexandru Plugaru
źródło
Czy próbowałeś użyć timeo=ni retrans=mskrócić limit czasu?
MadHatter
@MadHatter Próbuję teraz. Zobaczę, czy to zadziała. Dzięki.
Alexandru Plugaru,
@MadHatter dodanie tych parametrów tak naprawdę nic nie zmienia
Alexandru Plugaru
Co rozumiesz przez „ nic nie zmienia ”; czy możesz być bardziej ilościowy, a może także opisowy?
MadHatter
@MadHatter przez nic nie zmienia Mam na myśli, że zaproponowane zmiany nie poprawiły sytuacji. Podaję, że dodanie tych parametrów nie poprawiło ani nie pogorszyło problemu. Każde wywołanie pliku nadal zawiesza proces.
Alexandru Plugaru,

Odpowiedzi:

1

Gorąco polecam AutoFS.

Spowoduje to dynamiczne montowanie i odmontowywanie twoich udziałów sieciowych w tle, wszystkie przezroczyste dla użytkownika. Miałem problemy z odmontowaniem i ponownym zamontowaniem urządzeń mobilnych, dopóki nie dokonałem zmiany.

Niestety istnieje zbyt wiele przewodników, które nadmiernie komplikują konfigurację autofs. Zakładając, że korzystasz z systemu Ubuntu, oto proste instrukcje jego konfiguracji.

Oto kilka bardzo prostych instrukcji:

  • Zainstaluj z apt-get: sudo apt-get install autofs -y
  • Usuń wszystko /etc/auto.masteri zamień na:/- /etc/auto.cifs --timeout=20 --ghost
  • Dodaj jedną taką linię do auto.cifs dla każdego montażu:/mnt/LOCAL/MOUNT/PATH -fstype=cifs,rw,noperm,credentials=/etc/auto.credentials ://SERVER/MOUNT
  • W /etc/auto.credentialsdodaj następującą treść: username=USERNAME password=PASSWORD
  • Wreszcie sudo service autofs restart.

Otóż ​​to.

Ben Yanke
źródło
1
Jak to ma naprawić zawieszone bieżące połączenie?
Sven
Tak nie jest. Raz dostosowujesz ustawienia montowania, aby korzystać z autofs, i w większości przypadków przestajesz zawieszać połączenia. Powinno to naprawić problem, a nie objaw.
Ben Yanke,
0

W większości przypadków, można przynajmniej usunąć punkt montowania wisi robi leniwy odinstalowania: umount -l //server/share. Może uda ci się to zawiesić (jak rozumiem, twoje maszyny są zawieszone w nocy i działają przez wiele dni?)

azrdev
źródło