Error:NFS啓動無法綁定IPV6地址報錯

             NFS服務啓動時無法綁定ipv6地址

    在測試NFS的時候,突然發生了從未有過的錯誤,故障信息如下,爲此特地描述一下排錯的過程,供同行參考:


info:
[root@node10 ~]# service nfs start
Starting NFS services:                                     [  OK  ]
Starting NFS quotas:                                       [  OK  ]
Starting NFS mountd: rpc.mountd: svc_tli_create: could not open connection for udp6
rpc.mountd: svc_tli_create: could not open connection for tcp6
rpc.mountd: svc_tli_create: could not open connection for udp6
rpc.mountd: svc_tli_create: could not open connection for tcp6
rpc.mountd: svc_tli_create: could not open connection for udp6
rpc.mountd: svc_tli_create: could not open connection for tcp6
                                                           [  OK  ]
Stopping RPC idmapd:                                       [  OK  ]
Starting RPC idmapd:                                       [  OK  ]
Starting NFS daemon: rpc.nfsd: unable to create inet6 TCP socket: errno 97 (Address family not supported by protocol) 
                                                       [  OK  ]
analysis:
    從上面的信息可以看出,nfs在啓動的時候報錯了。大致的意思是無法設置ipv6的套接字接口,其中這一句話很重要:
Address family not supported by protocol 。地址族不被nfs協議所支持。
    到這裏,就很奇怪了,nfs是支持ipv6協議的,而且系統就更不要說了,肯定支持ipv6協議。但是,在linux系統中一切功能都是模塊組合而成,只不過可以將模塊編譯進內核或者編譯成外掛式模塊動態加載。因此,想到這裏就提出一個問題,是不是ipv6的模塊沒有加載,接着就進行下面的檢查:

[root@node10 ~]# ifconfig eth0 | grep inet
          inet addr:172.16.1.20  Bcast:172.16.1.255  Mask:255.255.255.0
[root@node10 ~]#
    從上面的信息反饋可見,沒有出現inet6的地址信息,可以初步斷定ipv6的模塊並沒有編譯進內核,那就應該是動態加載,而此處沒有信息,那就說明可能沒有動態加載成功。


[root@node10 ~]# cd /proc/sys/
[root@node10 sys]# ls
abi  crypto  debug  dev  fs  kernel  net  sunrpc  vm
[root@node10 sys]# cd net
[root@node10 net]# ls
core  ipv4  netfilter  unix
[root@node10 net]#
    從上面的的信息可見,在/proc/sys/net/目錄中沒有出現ipv6的信息,再一次說明ipv6的模塊加載確實出現了問題,因爲如果成功加載,則在內核的信息中是可以看到有一個ipv6的目錄存在


[root@node10 net]# lsmod | grep ipv6
ipv6                  322541  0
    從上面的信息可見,ipv6模塊似乎在開機的時候默認是加載的,但是從前面的檢查可知並沒有生效,這是什麼原因呢? 緊接着進行下面的檢查:
[root@node10 net]#
[root@node10 net]# cd /etc/modprobe.d/
[root@node10 modprobe.d]# ls
anaconda.conf  blacklist.conf  dist-alsa.conf  dist.conf  dist-oss.conf  ipv6.conf  openfwwf.conf
[root@node10 modprobe.d]# cat ipv6.conf
# Anaconda disabling ipv6
options ipv6 disable=1
   從上面的ipv6.conf中的信息可見ipv6的功能被disable了,到此問題算是找到了。也就是說在啓動的時候雖然加載了ipv6的模塊,但是給的參數是disable=1,表示關閉ipv6的功能,所以導致了ipv6的功能並沒有生效。


問題找到後,就要進行處理了:
[root@node10 modprobe.d]#
[root@node10 modprobe.d]# sed -i 's/1/0/' ipv6.conf
[root@node10 modprobe.d]# cat ipv6.conf
# Anaconda disabling ipv6
options ipv6 disable=0
[root@node10 modprobe.d]#
[root@node10 modprobe.d]# lsmod | grep ipv6
ipv6                  322541  0
[root@node10 modprobe.d]# modprobe -r ipv6
[root@node10 modprobe.d]# lsmod | grep ipv6
[root@node10 modprobe.d]# modprobe ipv6
[root@node10 modprobe.d]# lsmod | grep ipv6
ipv6                  322541  134
[root@node10 modprobe.d]#
    從上面的步驟可知,將disable的改爲了0,表示啓用。然後卸載模塊重新加載一次(也可以重啓系統),加載成功後,再次驗證此前的判斷:


[root@node10 modprobe.d]# ifconfig eth0 | grep inet
          inet addr:172.16.1.20  Bcast:172.16.1.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fee9:3560/64 Scope:Link
[root@node10 modprobe.d]#
[root@node10 modprobe.d]# cd /proc/sys/net/
[root@node10 net]# ls
core  ipv4  ipv6  netfilter  unix
[root@node10 net]#
    從上面的信息可見,此前沒有出現的預判信息,這裏已經出現了,因此表示ipv6功能已經成功啓用。接下來再次重啓nfs服務:


[root@node10 net]# service nfs restart
Shutting down NFS daemon:                                  [  OK  ]
Shutting down NFS mountd:                                  [  OK  ]
Shutting down NFS quotas:                                  [  OK  ]
Starting NFS services:                                     [  OK  ]
Starting NFS quotas:                                       [  OK  ]
Starting NFS mountd:                                       [  OK  ]
Stopping RPC idmapd:                                       [  OK  ]
Starting RPC idmapd:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]
[root@node10 net]# 


   ok,到此,不再有nfs的報錯信息,問題解決。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章