NFSv4 在挂载时挂起

NFSv4 在挂载时挂起

服务器重启后,NFS 挂载命令无限期地挂起在客户端上。

我正在运行这个命令:mount -t nfs -v 10.17.25.27:/DATA/projects/assets-db/log-apache test

我的 NFS 服务器是:10.17.25.27,客户端 IP 是10.17.25.152

我已经为 nfs 启用了 syslog 调试并且看到以下错误:

Aug 31 16:26:06 SEFRAPP05155 kernel: NFS call  setclientid_confirm auth=UNIX, (client ID 9ee5cc5a6d8c0000)
Aug 31 16:26:06 SEFRAPP05155 kernel: NFS reply setclientid_confirm: -10008
Aug 31 16:26:06 SEFRAPP05155 kernel: NFS call  setclientid auth=UNIX, 'Linux NFSv4.0 10.17.25.152/10.17.25.27 tcp'
Aug 31 16:26:06 SEFRAPP05155 kernel: NFS reply setclientid: 0
Aug 31 16:26:06 SEFRAPP05155 kernel: NFS call  setclientid_confirm auth=UNIX, (client ID 9ee5cc5a6e8c0000)
Aug 31 16:26:06 SEFRAPP05155 kernel: NFS reply setclientid_confirm: -10008
Aug 31 16:26:06 SEFRAPP05155 kernel: --> nfs_put_client({8})
Aug 31 16:26:06 SEFRAPP05155 kernel: NFS: <-- nfs40_walk_client_list status = -10008
Aug 31 16:26:06 SEFRAPP05155 kernel: --> nfs4_create_server()
Aug 31 16:26:06 SEFRAPP05155 kernel: --> nfs4_init_server()
Aug 31 16:26:06 SEFRAPP05155 kernel: --> nfs4_set_client()
Aug 31 16:26:06 SEFRAPP05155 kernel: --> nfs_get_client(10.17.25.27,v4)
Aug 31 16:26:06 SEFRAPP05155 kernel: <-- nfs_found_client found nfs_client ffff8801e93a0400 for 10.17.25.27
Aug 31 16:26:06 SEFRAPP05155 kernel: <-- nfs4_set_client() = 0 [new ffff8801e93a0400]
Aug 31 16:26:06 SEFRAPP05155 kernel: <-- nfs4_init_server() = 0
Aug 31 16:26:06 SEFRAPP05155 kernel: --> nfs4_get_rootfh()
...
Aug 31 16:26:08 SEFRAPP05155 kernel: NFS call  setclientid_confirm auth=UNIX, (client ID 9ee5cc5a6f8c0000)
Aug 31 16:26:08 SEFRAPP05155 kernel: NFS reply setclientid_confirm: -10008
Aug 31 16:26:08 SEFRAPP05155 kernel: NFS call  setclientid auth=UNIX, 'Linux NFSv4.0 10.17.25.152/10.17.25.27 tcp'
Aug 31 16:26:08 SEFRAPP05155 kernel: NFS reply setclientid: 0
Aug 31 16:26:08 SEFRAPP05155 kernel: NFS call  setclientid_confirm auth=UNIX, (client ID 9ee5cc5a708c0000)
Aug 31 16:26:08 SEFRAPP05155 kernel: NFS reply setclientid_confirm: -10008
Aug 31 16:26:08 SEFRAPP05155 kernel: --> nfs_put_client({9})
Aug 31 16:26:08 SEFRAPP05155 kernel: NFS: <-- nfs40_walk_client_list status = -10008
Aug 31 16:26:08 SEFRAPP05155 kernel: nfs4_get_rootfh: getroot error = 512
Aug 31 16:26:08 SEFRAPP05155 kernel: <-- nfs4_get_rootfh() = -512
Aug 31 16:26:08 SEFRAPP05155 kernel: --> nfs_free_server()
Aug 31 16:26:08 SEFRAPP05155 kernel: --> nfs_put_client({8})
Aug 31 16:26:08 SEFRAPP05155 kernel: <-- nfs_free_server()
Aug 31 16:26:08 SEFRAPP05155 kernel: <-- nfs4_create_server() = error -512
...
Aug 31 16:26:08 SEFRAPP05155 kernel: NFS call  setclientid_confirm auth=UNIX, (client ID 9ee5cc5a6f8c0000)
Aug 31 16:26:08 SEFRAPP05155 kernel: NFS reply setclientid_confirm: -10008
Aug 31 16:26:08 SEFRAPP05155 kernel: NFS call  setclientid auth=UNIX, 'Linux NFSv4.0 10.17.25.152/10.17.25.27 tcp'
Aug 31 16:26:08 SEFRAPP05155 kernel: NFS reply setclientid: 0
Aug 31 16:26:08 SEFRAPP05155 kernel: NFS call  setclientid_confirm auth=UNIX, (client ID 9ee5cc5a708c0000)
Aug 31 16:26:08 SEFRAPP05155 kernel: NFS reply setclientid_confirm: -10008
Aug 31 16:26:08 SEFRAPP05155 kernel: --> nfs_put_client({9})
Aug 31 16:26:08 SEFRAPP05155 kernel: NFS: <-- nfs40_walk_client_list status = -10008
Aug 31 16:26:08 SEFRAPP05155 kernel: nfs4_get_rootfh: getroot error = 512
Aug 31 16:26:08 SEFRAPP05155 kernel: <-- nfs4_get_rootfh() = -512
Aug 31 16:26:08 SEFRAPP05155 kernel: --> nfs_free_server()
Aug 31 16:26:08 SEFRAPP05155 kernel: --> nfs_put_client({8})
Aug 31 16:26:08 SEFRAPP05155 kernel: <-- nfs_free_server()
Aug 31 16:26:08 SEFRAPP05155 kernel: <-- nfs4_create_server() = error -512
Aug 31 16:26:09 SEFRAPP05155 kernel: NFS call  setclientid_confirm auth=UNIX, (client ID 9ee5cc5a708c0000)
Aug 31 16:26:09 SEFRAPP05155 kernel: NFS reply setclientid_confirm: -10008
Aug 31 16:26:09 SEFRAPP05155 kernel: NFS call  setclientid auth=UNIX, 'Linux NFSv4.0 10.17.25.152/10.17.25.27 tcp'
Aug 31 16:26:09 SEFRAPP05155 kernel: NFS reply setclientid: 0
Aug 31 16:26:09 SEFRAPP05155 kernel: NFS call  setclientid_confirm auth=UNIX, (client ID 9ee5cc5a718c0000)
Aug 31 16:26:09 SEFRAPP05155 kernel: NFS reply setclientid_confirm: -10008
Aug 31 16:26:09 SEFRAPP05155 kernel: --> nfs_put_client({8})
Aug 31 16:26:09 SEFRAPP05155 kernel: NFS: <-- nfs40_walk_client_list status = -10008

我看到这些类型的日志行重复出现。

当我rpcinfo -p 10.17.25.27在客户端上运行时,我看到:

   program vers proto   port  service
    100000    4   tcp    111  portmapper
    100000    3   tcp    111  portmapper
    100000    2   tcp    111  portmapper
    100000    4   udp    111  portmapper
    100000    3   udp    111  portmapper
    100000    2   udp    111  portmapper
    100024    1   udp    662  status
    100005    1   udp    892  mountd
    100024    1   tcp    662  status
    100005    1   tcp    892  mountd
    100005    2   udp    892  mountd
    100005    2   tcp    892  mountd
    100005    3   udp    892  mountd
    100005    3   tcp    892  mountd
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100227    3   tcp   2049  nfs_acl
    100003    3   udp   2049  nfs
    100003    4   udp   2049  nfs
    100227    3   udp   2049  nfs_acl
    100021    1   udp  32768  nlockmgr
    100021    3   udp  32768  nlockmgr
    100021    4   udp  32768  nlockmgr
    100021    1   tcp  32768  nlockmgr
    100021    3   tcp  32768  nlockmgr
    100021    4   tcp  32768  nlockmgr

请注意,使用 NFS 版本 3 进行挂载是可行的,但我需要版本 4 的功能,因此我无法降级到该协议的旧版本。

我使用CentOS 7.2内核3.10.0-514.26.2.el7.x86_64

答案1

我们没有发现为什么我们的 NFS 突然关闭,并且在重启后,客户端无法挂载任何导出的文件系统。我们尝试重启所有服务器,打开机器之间的所有端口,但都无济于事。

然而,我们将内核从版本升级3.10.0-514.26.2.el7.x86_643.10.0-862.11.6.el7.x86_64

相关内容