AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 530908
Accepted
HTF
HTF
Asked: 2013-08-15 04:51:34 +0800 CST2013-08-15 04:51:34 +0800 CST 2013-08-15 04:51:34 +0800 CST

NFSv4 无法在不运行 rpcbind 的情况下为 nfsd 设置任何套接字

  • 772

根据Red Hat docs 'rpcbind' 不再需要:

因为协议支持已被纳入 v4 协议,所以 NFSv4 与 portmap、rpc.lockd 和 rpc.statd 守护进程没有交互。NFSv4 侦听众所周知的 TCP 端口 2049,这消除了端口映射交互的需要。挂载和锁定协议已合并到 V4 协议中,从而消除了与 rpc.lockd 和 rpc.statd 交互的需要。服务器上仍然需要 rpc.mountd 守护程序,但不涉及任何无线操作。

但是,当“rpcbind”服务未运行时,我无法启动 NFS 恶魔:

# 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
redhat
  • 3 3 个回答
  • 16266 Views

3 个回答

  • Voted
  1. Best Answer
    Piotr Jurkiewicz
    2014-10-27T12:42:27+08:002014-10-27T12:42:27+08:00

    这是 NFS 服务器内核模块中的一个错误。它于2013 年 12 月进行了修补。

    从内核 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

    因此,您的配置:

    MOUNTD_NFS_V2="no"
    MOUNTD_NFS_V3="no"
    RPCNFSDARGS="-N 2 -N 3"
    

    现在应该可以在没有rpcbind.

    当您仅使用 NFSv4 时,不需要这些服务:

    /etc/rc.d/init.d/nfslock
    /etc/rc.d/init.d/rpcgssd
    /etc/rc.d/init.d/rpcidmapd
    /etc/rc.d/init.d/rpcsvcgssd
    
    • 10
  2. pmhahn
    2020-01-25T05:12:34+08:002020-01-25T05:12:34+08:00

    RedHat 引用的文档是错误的,并由错误 521215 修复:rpc.mountd仍然必须用于设置NFSv4,但严格来说,此后不需要运行。

    • nfs:适用于所有 NFS 版本的服务器:v2、v3、v4、v4.1
    • rpcbind/ portmapper:服务器,仅适用于 NFS <= v3。但也适用于 NFS v4,因为 Linux 内核 NFS 服务器尝试注册自身,如果rpcbind未运行则无法启动。
    • rpc.mountd: Server,仅适用于 NFS <=3。但对于 NFS v4,Linux 内核也使用它来检查是否允许连接的客户端连接。
    • nfslock:服务器仅适用于 NFS <= v3
    • rpc.idmapd: NFS v4的可选服务器(和旧客户端)
    • rpc.quotad:使用磁盘配额的服务器
    • rpc.statd:服务器仅适用于 NFS <= v3

    使用 Kerberos ( sec=krb/ krb5i/ krb5p) 时,需要以下服务:

    • rpc.gssd:客户
    • rpc.svcgssd:服务器

    请注意,即使它们rpc.以自己的名字命名,它们也使用 Linux 内核内部机制rpc_pipef在 Linux 内核和用户空间助手之间进行通信;所以他们不需要rpcbindAKA 。portmapper

    • 0
  3. Kathirvel
    2017-08-15T06:15:19+08:002017-08-15T06:15:19+08:00

    检查 rpcbind 服务。如果它停止工作启动,然后尝试启动 nfs 服务。

    service rpcbind start
    service nfs start
    
    • -3

相关问题

  • 如何设置 Redhat 对 ActiveDirectory 的用户进行身份验证

  • 如何从 RHEL 5 迁移到 CentOS 5?

  • 我应该将 Rails 应用程序部署到哪个目录?

  • 如何移动 MySQL 的数据目录?

  • RHEL 5.3 上可用的 yum 存储库

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve