zoukankan      html  css  js  c++  java
  • rpcbind服务没法开启问题

    昨天下午有部分生产机器无法启动nfs服务;报错很是奇怪。于是一路顺藤摸瓜发现是rpcbind没能正常启动导致的nfs没能起来。

    后来总结了两种办法:主要是ipv6的问题所导致的。

    措施一:

    报错内容

    [root@BZ ~]# systemctl start rpcbind 
        A dependency job for rpcbind.service failed. See 'journalctl -xe' for details.

    查看错误
    [root@BZ ~]# journalctl -xe
    -- Defined-By: systemd
    -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
    -- 
    -- Unit session-3.scope has begun starting up.
    Dec 26 21:34:26 BZ chronyd[490]: System clock wrong by -1.090838 seconds, adjustment started
    Dec 26 21:35:31 BZ chronyd[490]: Selected source 61.216.153.107
    Dec 26 21:35:31 BZ chronyd[490]: System clock wrong by 0.646329 seconds, adjustment started
    Dec 26 21:36:24 BZ polkitd[484]: Registered Authentication Agent for unix-process:2701:32282 (system bus name :1.29 [/usr/bin/pkttyagent --notify-fd 5 --fallback], object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8)
    Dec 26 21:36:24 BZ systemd[1]: rpcbind.socket failed to listen on sockets: Address family not supported by protocol                                        #报错显示ip地址协议不支持
    Dec 26 21:36:24 BZ systemd[1]: Failed to listen on RPCbind Server Activation Socket.         #端口监听失败
    -- Subject: Unit rpcbind.socket has failed
    -- Defined-By: systemd
    -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
    -- 
    -- Unit rpcbind.socket has failed.
    -- 
    -- The result is failed
    Dec 26 21:36:24 BZ systemd[1]: Dependency failed for RPC bind service.
    于是谷歌看了一下;发现是ipv6没开启导致的;修改/etc/sysctl.d/sysctl.conf
    [root@BZ ~]# less /etc/sysctl.conf | grep 'net.ipv6'
    net.ipv6.conf.all.disable_ipv6 = 1
    net.ipv6.conf.default.disable_ipv6 = 1
    net.ipv6.conf.lo.disable_ipv6 = 1
    [root@BZ ~]# sysctl -p          #重新加载一下配置;临时生效
    [root@BZ ~]# systemctl start rpcbind    #重启rpcbind服务
    [root@BZ ~]# systemctl start nfs      #重启nfs服务
    再挂载nfs文件就ok了。

    措施二:
        [root@BZ ~]# find /etc/ -name '*rpcbind.socket*'


    找到这个socket文件,并用vim编译器编辑它。
    [Unit]
    Description=RPCbind Server Activation Socket
    
    [Socket]
    ListenStream=/var/run/rpcbind.sock
    ListenStream=[::]:111                                #果然监听了ipv6地址,将这一行注释即可
    ListenStream=0.0.0.0:111
    BindIPv6Only=ipv6-only
    
    [Install]
    WantedBy=sockets.target
    重载一下再启动
    [root@BZ ~]# systemctl daemon-reload
    [root@BZ ~]# systemctl restart rpcbind.socket
    [root@BZ ~]# systemctl start nfs
    再挂载远程nfs即可。


    一步到位脚本
    a=`find /etc/ -name '*rpcbind.socket*'`
    sed -i 's/ListenStream=[::]:111/#ListenStream=[::]:111/g' $a
    systemctl daemon-reload
    systemctl restart rpcbind.socket
    systemctl start nfs
     


     
     
  • 相关阅读:
    关于ORALE将多行数据合并成为一行 报错未找到where关键字
    Input限制输入数字
    Dev Gridcontrol每行添加序号或者文本。
    Android studio SDK配置
    介数中心性快速计算
    Buuoj 被嗅探的流量
    Docker安装(win10)
    filter CTF
    MySQLdb._exceptions.OperationalError: (2026, 'SSL connection error: unknown error number')
    DNS解析原理(www.baidu.com)
  • 原文地址:https://www.cnblogs.com/xingyunfashi/p/10817844.html
Copyright © 2011-2022 走看看