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. Он получает ту же ошибку, что и клиенты.

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

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


Мне пришло в голову, что ваша проблема может быть связана с правилами брандмауэра. Можете ли вы опубликовать вывод 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:~#

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


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 бросает вызов стандартам как таковым.
Аарон Мейсон
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.