Согласно Red Hat документы 'rpcbind' больше не требуются:
Поскольку поддержка протокола включена в протокол v4, NFSv4 не взаимодействует с демонами portmap, rpc.lockd и rpc.statd. NFSv4 прослушивает известный TCP-порт 2049, что устраняет необходимость взаимодействия с портами. Протоколы монтирования и блокировки были включены в протокол V4, что устраняет необходимость взаимодействия с rpc.lockd и rpc.statd. Демон rpc.mountd все еще требуется на сервере, но не участвует в каких-либо проводных операциях.
однако я не могу запустить демон NFS, когда служба rpcbind не запущена:
# service nfs start
Starting NFS services: [ OK ]
Starting NFS quotas: Cannot register service: RPC: Unable to receive; errno = Connection refused
rpc.rquotad: unable to register (RQUOTAPROG, RQUOTAVERS, udp).
[FAILED]
Starting NFS mountd: [ OK ]
Starting NFS daemon: rpc.nfsd: writing fd to kernel failed: errno 111 (Connection refused)
rpc.nfsd: unable to set any sockets for nfsd
[FAILED]
Я отключил NFS v2 и v3:
# grep -v "^#" /etc/sysconfig/nfs
MOUNTD_NFS_V2="no"
MOUNTD_NFS_V3="no"
RPCNFSDARGS="-N 2 -N 3"
Не могли бы вы подтвердить, какие услуги требуются / необходимы на сервере и клиенте из перечисленных ниже (в основном я хотел бы отключить ненужные службы):
# rpm -ql nfs-utils | grep 'init.d'
/etc/rc.d/init.d/nfs
/etc/rc.d/init.d/nfslock
/etc/rc.d/init.d/rpcgssd
/etc/rc.d/init.d/rpcidmapd
/etc/rc.d/init.d/rpcsvcgssd
rpcbind
с v4-N 2 -N 3
кrpc.nfsd
в сценарии запуска и получить ту же ошибку «не удалось установить какие - либо разъемы для NFSd»Ответы:
Это была ошибка в модуле ядра сервера NFS. Это было исправлено в декабре 2013 года.
Начиная с ядра 3.14,
rpcbind
больше не требуется запускать NFS-сервер в ядре.(при условии, что сервер настроен на использование только NFSv4 и выше)
http://lxr.free-electrons.com/source/net/sunrpc/svc.c?v=3.14#L966
Вы можете найти больше информации об этом изменении в этой теме:
http://www.spinics.net/lists/linux-nfs/msg41053.html
Следовательно, ваша конфигурация:
теперь должен работать без
rpcbind
.Когда вы используете только NFSv4, ни одна из этих служб не требуется:
источник
rpc.idmapd
требуется только для NFSv4. GSS также требуется для безопасности Kerberos. Хотя оба являются необязательными.Приведенная в RedHat документация была неверной и исправлена ошибкой 521215 : она
rpc.mountd
все еще должна использоваться для настройки NFSv4, но, строго говоря, после этого запускать не обязательно.nfs
: Сервер для всех версий NFS: v2, v3, v4, v4.1rpcbind
/portmapper
: Сервер , строго только для NFS <= v3. Но также и для NFS v4, поскольку NFS-сервер ядра Linux пытается зарегистрироваться и не запускается, еслиrpcbind
не работает.rpc.mountd
: Сервер , строго только для NFS <= 3. Но также и для NFS v4, поскольку ядро Linux использует его для проверки, разрешено ли подключающемуся клиенту подключаться.nfslock
: Сервер только для NFS <= v3rpc.idmapd
: Необязательный сервер (и более старые клиенты ) для NFS v4rpc.quotad
: Сервер для использования дисковой квотыrpc.statd
: Сервер только для NFS <= v3При использовании Kerberos (
sec=krb
/krb5i
/krb5p
) требуются следующие сервисы:rpc.gssd
: Клиентrpc.svcgssd
: СерверОбратите внимание, что даже если они носят
rpc.
свое имя, они используют внутренний механизм ядра Linuxrpc_pipef
для связи между ядром Linux и помощником пространства пользователя; так чтоrpcbind
ака имportmapper
не нужен.источник
Проверьте сервис rpcbind. Если он перестал работать, запустите, а затем попробуйте запустить службу NFS.
источник