Korzystanie z dowolnego /etc/mtab
, /proc/mounts
, mount
, lub mountpoint
może dać błędne informacje, jeśli którykolwiek z następujących zdarzeń:
- Pilot jest w trybie offline (
grep
niepowodzenia rozwiązań opartych na plikach) - W przypadku podłączeń NFS pilot przestał eksportować lub usługa NFS została zatrzymana (
mountpoint
koń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/mtab
i wewnątrz /proc/mounts
. Bez powodowania zawieszenia (jak to stat
ma 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/sbin
jest 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:)
mount
pokazuje adresu IP / nazwy hosta zdalnego systemu dla montowań NFS? (Wiem, że działa w przypadku CIFS)grep
, a następnie coś w rodzajuping
hosta, który powinien zawieść szybciej niż próba dostępu do zdalnego montażu.Odpowiedzi:
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.
źródło
rpcinfo
ishowmount
) na bardzo dobre domysły.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ą
/media
zainstalowane, więc następujący skrypt pokazuje, które zostały zamontowane: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.
źródło