Как проверить, что данная точка монтирования установлена ​​правильно?

2

Использование любого из /etc/mtab, /proc/mounts, mountили mountpointможет дать вам неверную информацию , если любой из следующих имели место:

  • Пульт находится в автономном режиме ( grepрешения на основе файлов не работают)
  • Для монтирования NFS удаленный модуль прекратил экспорт или служба NFS была остановлена ​​(происходит mountpointсбой)
  • Удаленный изменил IP-адреса (все решения терпят неудачу)

Как я могу получить простой ответ «да / нет» относительно того, можно ли использовать монтирование по назначению? Насколько я понимаю, вся информация о монтировании хранится как в, так /etc/mtabи в /proc/mounts. Не вызывая зависания (как это statпроисходит), есть ли способ проверить, что фактическое состояние сети соответствует местной информации, которая заставила бы меня поверить?

Это должен быть очень общий инструмент, способный обрабатывать монтирования CIFS и NFS (и, скорее всего, других).

скованность

Я могу использовать только то, что поставляется со стандартным дистрибутивом на RHEL 6. Обычно все в /bin:/sbin:/usr/bin:/usr/sbinчестной игре. Это не по выбору и не подвижная точка, поэтому я не могу принять ответ, который использует внешние инструменты. Ради будущих читателей, тем не менее, я приветствую их как комментарии:)

Рекомендации

Шон Оллред
источник
Разве обычный не mountпоказывает IP-адрес / имя хоста удаленной системы для монтирования NFS? (Я знаю, что это делает для CIFS), grepа затем что-то вроде pingхоста, который должен потерпеть неудачу быстрее, чем пытаться получить доступ к удаленному монтированию.
LawrenceC
@ultrasawblade Для монтирования NFS, я так думаю. Но это может не относиться к монтированию CIFS, например. Я не уверен.
Шон Оллред
Связанный: chat.stackexchange.com/transcript/message/19535018#19535018
Шон Оллред

Ответы:

3

Боюсь, это невозможно.

Единственный способ узнать, если NFS (или, в более общем случае , любая сеть) устройство использовать , чтобы попытаться использовать его , и что может блокировать (и занять некоторое время).

Более того, «непригодность к использованию» не является чем-то постоянным. Если пульт дистанционного управления снова включается, подключение снова становится пригодным для использования.

ДСН
источник
Я боюсь, что это действительно так, но я подожду большей информации, прежде чем посчитать дело закрытым - мне любопытно посмотреть, не придумали ли другие другие способы решения этой проблемы. Я вижу логику в вашей точке зрения, но есть способы (например, для NFS rpcinfoи showmount) сделать очень хорошие догадки.
Шон Оллред
0

В Ubuntu я создал точки монтирования root, но они монтируются для другого пользователя, поэтому проверка владельца дает мне представление о том, были ли они смонтированы или нет.

Все мои крепления находятся в /mediaследующем скрипте, который показывает, какие были смонтированы:

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

Если вам нужно смонтировать как root, возможно, вы могли бы использовать другую группу и проверить это вместо этого.

Обратите внимание, что это проверяет, что предыдущее монтирование было успешным. Если подключенное устройство или общая сетевая папка впоследствии отключаются без размонтирования, доступ к нему будет зависать.

AFH
источник