Jak sprawdzić, czy dany punkt montowania jest poprawnie zamontowany?

2

Korzystanie z dowolnego /etc/mtab, /proc/mounts, mount, lub mountpointmoże dać błędne informacje, jeśli którykolwiek z następujących zdarzeń:

  • Pilot jest w trybie offline ( grepniepowodzenia rozwiązań opartych na plikach)
  • W przypadku podłączeń NFS pilot przestał eksportować lub usługa NFS została zatrzymana ( mountpointkończy się niepowodzeniem)
  • Pilot zmienił adresy IP (wszystkie rozwiązania zawodzą)

Jak mogę uzyskać prostą odpowiedź tak / nie, czy mocowanie nadaje się do użycia zgodnie z przeznaczeniem? O ile rozumiem, wszystkie informacje o montażu są przechowywane zarówno w, jak /etc/mtabi wewnątrz /proc/mounts. Bez powodowania zawieszenia (jak to statma miejsce), czy istnieje sposób na sprawdzenie, czy rzeczywisty stan sieci jest taki, jak sugerują informacje lokalne?

To musi być bardzo ogólne narzędzie, zdolne do obsługi CIFS i NFS (i najprawdopodobniej innych).

Przymus

Mogę używać tylko tego, co jest dostarczane ze standardową dystrybucją na RHEL 6. Zwykle wszystko /bin:/sbin:/usr/bin:/usr/sbinjest uczciwe. Nie jest to z wyboru i nie jest punktem ruchomym, więc nie mogę zaakceptować odpowiedzi, która korzysta z zewnętrznych narzędzi. Jednak ze względu na przyszłych czytelników witam ich jako komentarze:)

Bibliografia

Sean Allred
źródło
Czy zwykły nie mountpokazuje adresu IP / nazwy hosta zdalnego systemu dla montowań NFS? (Wiem, że działa w przypadku CIFS) grep, a następnie coś w rodzaju pinghosta, który powinien zawieść szybciej niż próba dostępu do zdalnego montażu.
LawrenceC
@ultrasawblade Myślę, że w przypadku montowań NFS. Ale może to nie dotyczyć na przykład montowań CIFS. Nie jestem pewny.
Sean Allred

Odpowiedzi:

3

Obawiam się, że to niemożliwe.

Jedynym sposobem, aby dowiedzieć się, czy urządzenie NFS (lub, bardziej ogólnie, dowolna sieć) jest użyteczne, jest próba użycia go, które może zablokować (i zająć sporo czasu).

Co więcej, „nieużyteczność” nie jest czymś trwałym. Jeśli pilot powróci do trybu online, mocowanie staje się ponownie użyteczne.

sds
źródło
Obawiam się, że tak może być, ale poczekam na więcej informacji, zanim uznam sprawę za zamkniętą - jestem ciekawy, czy inni nie wymyślili różnych hacków wokół tego problemu. Widzę logikę w twoim punkcie, ale istnieją sposoby (np. Dla NFS rpcinfoi showmount) na bardzo dobre domysły.
Sean Allred
0

Na Ubuntu stworzyłem punkty montowania root, ale są one montowane dla innego użytkownika, więc sprawdzenie własności daje mi wskazanie, czy zostały zamontowane, czy nie.

Wszystkie moje wierzchowce są /mediazainstalowane, więc następujący skrypt pokazuje, które zostały zamontowane:

ls -ld /media/* |                      \
  while read x x usr grp x x x x name; \
  do if [ $usr == root ];              \
     then echo $name not mounted;      \
     else echo $name mounted;          \
     fi;                               \
  done

Jeśli potrzebujesz zamontować jako root, być może możesz użyć innej grupy i sprawdź to.

Zauważ, że sprawdza to, czy poprzednie podłączenie zakończyło się pomyślnie. Jeśli zamontowane urządzenie lub udział sieciowy następnie ulegnie awarii bez demontażu, dostęp do niego nadal się zawiesi.

AFH
źródło