当另一个挂载先发生时,nfs 挂载在错误的子网上

当另一个挂载先发生时,nfs 挂载在错误的子网上

我遇到了一个奇怪的问题,即 NFS 服务器和客户端通过两个独立的私有子网进行连接。

私有子网为 10.1.0.0/255.255.0.0 和 10.2.0.0/255.255.0.0,分别寻址为 .local 和 .qlogic(DNS 由 10.1.1.1 提供服务,所有名称均按预期解析)

机器地址的最后一对数字相同,因此 10.1.1.1 也是 10.2.1.1,依此类推。

造成这种情况的原因是一个有点异构的环境(并非所有客户端都在 10.2 子网上,所有客户端都在 10.1 上,但 10.2 比 10.1 快得多 - 这也是为什么一个挂载被导出两次,包括一个“慢速”版本)

服务器上的 exportfs 返回相关行

/export/apps 10.1.0.0/255.255.0.0
/export/data    10.2.0.0/255.255.0.0
/export/data    10.1.0.0/255.255.0.0

客户端上的 auto.share 包括

apps server.local:/export/&
data server.qlogic:/export/&
data_slow server.local:/export/data

如果我挂载 /share/apps 然后挂载 /share/data,我会从“mount”获得以下输出:

server.local:/export/apps on /share/apps type nfs4 (rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=10.1.255.240,local_lock=none,addr=10.1.1.1)
server.qlogic:/export/data on /share/data type nfs4 (rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=10.1.255.240,local_lock=none,addr=10.1.1.1)

请注意,/share/data 被错误地放在了 10.1.0.0 网络上。

如果我卸载它们并按照 /share/data 然后 /share/apps 的顺序安装它们,我会得到以下结果:

server.qlogic:/export/data on /share/data type nfs4 (rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=10.2.255.240,local_lock=none,addr=10.2.1.1)
server.local:/export/apps on /share/apps type nfs (rw,relatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=10.1.1.1,mountvers=3,mountport=20048,mountproto=udp,local_lock=none,addr=10.1.1.1)

现在 /share/data 正确地超过了 10.2.0.0,但奇怪的是 /share/apps 现在使用的是 NFS 版本 3。

我真正关心的只是 /share/data 总是超过 10.2,而不太关心 NFS 版本,但这让我很困惑。

其他有用信息 - 非 NFS 流量似乎表现得完全符合预期。

相关内容