В моем сценарии у меня есть несколько уровней статуса:
- пульт доступен (пинг)
- удаленная служба NFS активна
- удаленная NFS экспортирует определенный каталог
- удаленный NFS монтируется (монтируется)
Для (2) и (3) я считаю, rcpinfo
что это лучшая ставка. Для (2), однако, я не могу понять, как сузить мой запрос к службе NFS, не запуская подоболочку (что неприемлемо для этого приложения). Для (3) я не уверен, что эта информация доступна даже удаленно (без учета ssh
, конечно).
Я работаю над RHEL 6 и не имею доступа к программам, которые не включены в стандартный дистрибутив.
showmount -r remote
скажет мне,remote
экспортирует ли что-нибудь , но есть ли способ определитьremote:/mnt/dir
, экспортируется ли он без запуска подоболочки (т.е. конвейера)?showmount -e remote
скажет вам, еслиremote
экспортировал что-нибудь.showmount -r
выдаст только сообщение об ошибке, так как эта опция не существует. Вы могли бы попытаться использовать совпадение подстроки оболочки в основном с grep для регулярного выражения в выводе showmount. Может быть, посмотрите на, например, stackoverflow.com/questions/12619720/…-r
опцией «против»-e
- вот что я имел в виду :) «Попытка подхода» была предложена ранее. Мне это не особо нравится, но это похоже на реальный вариант.Вы можете использовать
showmount -e <server>
для некоторых аспектов # 3. Когда экспорт прост, он, по крайней мере, предполагает, что каталог (или, возможно, родитель такого каталога) экспортируется.Для # 2, я не уверен, что вы ищете. Если вы используете NFSv3, вам понадобятся как минимум mountd и nfs (а в некоторых случаях может потребоваться подтверждение менеджеров блокировок). Вы можете проверить это явно с помощью rpcinfo, как вы говорите.
источник
showmount -r remote
скажет мне,remote
экспортирует ли что-нибудь , но есть ли способ определитьremote:/mnt/dir
, экспортируется ли он без запуска подоболочки (т.е. конвейера)?subprocess
модуль. Я могу настроить конвейер с ним, но я бы не стал сильно усложнять дизайн. Мне нужно избегать запуска подоболочки, чтобы можно было корректно уничтожить сценарий - если он будет уничтожен, будут уничтожены его дочерние процессы, но не дочерние процессы дочерних процессов. Таким образом, подоболочка будет уничтожена, но не процессы, которые порождает подоболочка. Я также отметилrpcinfo
, что возвращение может занять до трех минут, что является исходной основой для вещей без подзарядки. Однако уже слишком поздно что-либо менять.rpcinfo
он не реагирует ни на что, кроме SIGKILL (что является ошибкой - операционная система, очевидно, просто убивает процесс). В любом случае, это все равно запустит оболочкуrpcinfo
- основная проблема остается.Список всех каталогов псевдо-корня NFS-V4 экспорта
Проверьте мой ответ в другой теме
источник
/net
монтирование работало,/etc/auto.net
скрипт должен установить, что сервер имеет соответствующий экспорт. Это используетshowmount
команду. Если сервер имеет только NFSv4, он не будет работать (showmount дисплеевRPC: Program not registered
, и/net/server
будет только отчетFile not found
)