mount.nfs: указан неверный параметр монтирования

12

Я пытаюсь смонтировать том NFS на сервере Centos 7.2:

Когда я пытаюсь смонтировать точку доступа NFS, я получаю ответ:

[root@web1:~] #mount -t nfs nfs1.example.com:/var/nfs/home /home
mount.nfs: an incorrect mount option was specified

Я проверил, и я nfs-utils-1.3.0-0.21.el7.x86_64установил на обеих машинах. Операционная система клиента nfs и сервера nfs - это Centos 7.2

Чтобы устранить эту проблему, я сократил листинги в файле / etc / exports на сервере NFS до следующего:

/var/nfs/home web1.example.com(rw,sync,no_root_squash,no_all_squash)

Если я делаю showmountс сервера, на котором пытаюсь смонтировать общий ресурс nfs, вот что я вижу:

[root@web1:~] #showmount -e nfs1.example.com
Export list for nfs1.example.com:
/var/nfs/home web1.example.com

Если я сделаю mount -vэто то, что я получу:

[root@web1:~] #mount -v -t nfs nfs1.example.com:/var/nfs/home /home
mount.nfs: timeout set for Fri Jan 13 11:04:19 2017 mount.nfs: trying text-based options 'vers=4,addr=162.xxx.xxx..94,clientaddr=162.xxx.xxx.6'
mount.nfs: mount(2): Invalid argument mount.nfs: an incorrect mount option was specified

В dmesg я нахожу:

[44428.405419] nfsd: last server has exited, flushing export cache

И я вижу это в dmesg:

[ 7.373186] FS-Cache: Netfs 'nfs' registered for caching
[ 7.422181] Key type dns_resolver registered
[ 7.456581] NFS: Registering the id_resolver key type
[ 7.462309] Key type id_resolver registered
[ 7.462386] Key type id_legacy registered
[ 7.514441] SELinux: initialized (dev 0:40, type nfs4), uses genfs_contexts
[ 8.474503] NFSD: starting 90-second grace period (net ffffffff819a29c0) –
[ 16.952180] perf samples too long (2623 > 2500), lowering kernel.perf_event_max_sample_rate to 50000
[ 24.429251] SELinux: initialized (dev tmpfs, type tmpfs), uses transition SIDs
[ 38.368207] perf samples too long (5162 > 5000), lowering kernel.perf_event_max_sample_rate to 25000
[ 38.427323]

Не указание -t nfsв команде дает тот же результат:

[root@nfs1:~] #mount nfs1.example.com:/var/nfs/home /home
mount.nfs: an incorrect mount option was specified

Это файловые системы NFS, которые у меня есть:

[root@nfs1:~] #grep nfs /proc/filesystems
nodev   nfsd
nodev   nfs
nodev   nfs4

Вот модули, загруженные для NFS:

[root@nfs1:~] #lsmod | grep ^nfs
nfsv4                 474203  0
nfs                   241266  1 nfsv4
nfsd                  284378  13
nfs_acl                12837  1 nfsd

Это не проблема брандмауэра, потому что я получаю точно такую ​​же ошибку, когда запускаю команду монтирования с самого сервера NFS. Он получает ту же ошибку, что и клиенты.

Я должен подчеркнуть, что в свое время это работало нормально. Но теперь он сломан до такой степени, что его нельзя использовать.

Может кто-нибудь, пожалуйста, помогите мне решить эту проблему? Я действительно застрял в этой точке.

user99201
источник
Мне пришло в голову, что ваша проблема может быть связана с правилами брандмауэра. Можете ли вы опубликовать вывод firewall-cmd --query-service=nfs --query-service=mountd --query-service=rpc-bindс сервера NFS?
virtex
1
Строго говоря, «Permissive» не отключен и будет генерировать сообщения SELinux, но SELinux не будет ничего отрицать в Permissive. В этом режиме вы можете игнорировать любые отказано в журналах.
Джейсон Мартин
Джейсон Мартин понял! Спасибо за подсказку о SELinux.
user99201
3
Пожалуйста, запустите rpcdebug -m nfs -s mountremount снова, затем напечатайте все, что выходит из dmesg. Тогда беги rpcdebug -m nfs -c mount. Это звучит как ошибка синтаксического анализа, возможно, из-за неправильных переопределений в nfsmount.conf - она ​​должна появиться, если вы сделаете это в ядре dmesg.
Мэтью Ифе
Вы rpcbindустановили на машину, которая обеспечивает общий доступ?
13dimitar

Ответы:

5

Хит тот же вопрос сегодня. Я наткнулся на вариант nfsversпри поиске объяснения. Монтаж работал с nfsvers=3а nfsvers=4. Я был бы рад более подробному объяснению.

root@localhost:~# uname -rm
4.1.15 armv7l
root@localhost:~# mount -t nfs 10.0.0.5:/srv/nfs tmp
mount.nfs: an incorrect mount option was specified
root@localhost:~# mount -t nfs -o nfsvers=1 10.0.0.5:/srv/nfs tmp
mount.nfs: mount system call failed
root@localhost:~# mount -t nfs -o nfsvers=2 10.0.0.5:/srv/nfs tmp
mount.nfs: requested NFS version or transport protocol is not supported
root@localhost:~# mount -t nfs -o nfsvers=3 10.0.0.5:/srv/nfs tmp
root@localhost:~# mount -t nfs -o nfsvers=4 10.0.0.5:/srv/nfs tmp
root@localhost:~#

Последние две команды выполнены успешно.

woky
источник
1

Сегодня я обнаружил эту проблему в Tiny Core Linux, которая, как оказалось, заключалась в том, что служба клиента nfs не была запущена. Как только я запустил эту службу ( /usr/local/etc/init.d/nfs-client start), экспорт NFS был смонтирован без проблем.

Аарон Мейсон
источник
1
/usr/local/etcвыглядит как неправильная установка nfs-клиента, так как файл должен быть в /etc/init.dи связан с соответствующим /etc/rc? .dначать автоматически.
Ян Худек
@JanHudec да, в обычном дистрибутиве, но архитектура Tiny Core этого не позволяет. Мы могли бы утверждать стандарты, пока коровы не вернутся домой, но JeOS бросает вызов стандартам как таковым.
Аарон Мейсон