Exadata无法挂载AIX上的NFS目录

作者简介:石云华,现就职于北京海天起点,oracle技术二线专家成员,Exadata部门负责人。拥有十余年电信、保险、税务行业核心系统ORACLE数据库运维经验,持有11gOCM、Exadata、Goldengate等证书。擅长于oracle/goldengate/exadata方面的故障诊断及疑难问题处理。

一客户需要在Exadata的计算节点挂载一个NFS文件系统来进行数据备份,当客户在一台AIX主机上配置好NFS Server后,在Exadata计算节点挂载目录时报错,具体报错信息如下:

从这个错误信息可以看出,Exadata计算节点(NFS的客户端)无法获取NFS服务器端的NFS状态。

根据错误信息,在网络上可以找到相同的案例,给出的解决方案是在NFS Server端的/etc/hosts文件中添加到NFS Client端的解析。具体如下:

AIX是NFS的服务端,另外一台是linux,想挂载AIX上的NFS服务,但提示标题所示的错误,查了下资料,原来需要在AIX机子上修改 /etc/hosts文件,增加linux那台机子的ip和hostname,至于hostname的话可以在linux上直接敲hostname就可以看到,保存hosts文件后可以马上生效。

客户按照这个方法在NFS Server端的/etc/hosts文件中添加了到NFS Client端的解析之后,再次挂载NFS时,仍然报相同的错误。

(1)、于是VPN连接到客户环境,检查Server端和Client端的hosts解析:

Client端:

Server端:

从Server端和Client端的/etc/hosts文件可以看出,已经添加了各自IP和主机名解析。但似乎网络上的解决方案不起作用。

(2)、既然如此,那只能进行一一排查了,首先检查NFS Server配置是否正确:

可见,NFS Server的配置没有任何问题。

(3)、既然NFS Server配置正常,那怀疑是不是Server端和Client端开启了防火墙?

Client端检查可知,未开启防火墙,Server端同样也未开启。

(4)、此时,客户反馈,他们用其他的AIX主机或Linux主机当作NFS Client端,都可以成功挂载NFS Server的目录,唯独这台Exadata的计算节点无法挂载。唯一的区别是Exadata与NFS Server端主机不属于同一个网段,而测试的另外两台NFS Client端主机(AIX和Linux)与NFS Server端主机属于同一个网段。

(5)、继续搜索MOS,找到了篇类似的文章,Solaris mount attempt from AIX NFS server fails, with mount crashing and dumping core (文档 ID 1009292.1),这篇文章中对unknown nfs status return value: -1的错误原因进行了解释。具体如下:

The NFS client in has received a status code of -1 from AIX; it cannot deal with the status code correctly.

To avoid the AIX server sending this -1, ensure the AIX server can resolve the IP address of the client into a hostname.  For example, insert the IP address and hostname into the /etc/hosts file on the AIX NFS server.

IBM AIX has been known to set -1 MOUNT reply status (which is not included in the MOUNT protocol possible responses) if it cannot resolve the client’s hostname from the IP address within the client’s request.

从文档 ID 1009292.1对unknown nfs status return value: -1错误原因的解释可以看出,问题还是在于IP地址和Client端的hostname解析上。但从排查过程中可以看出,NFS Server端的/etc/hosts中已经添加了Client端主机名和IP地址的解析。

(6)、问题看似无解,下面只能进行尝试了。为什么其他的NFS Client端主机(AIX和Linux)都可以成功挂载,而Exadata上的计算节点却不行?此时我仍怀疑是否Exadata端与NFS Server端的网络层面有什么问题。于是查看Exadata计算节点到NFS Server端的路由情况:

从路由表情况可以看出,Exadata的计算节点经过了***.***.12.251,然后到了NFS Server端主机P650 (***.***.10.136)。

Exadata计算节点的路由配置如下:

可以看出Exadata计算节点的默认网关接口为bondeth0网卡,而不是eth0网卡。而对于Exadata而言,eth0网卡上的IP地址对应的解析名为主机名(hostname),而从traceroute命令的输出可以看出,Exadata计算节点到NFS Server端主机是经过bondeth0网卡路由出去的。

此刻,我有了一种设想,那就是Solaris mount attempt from AIX NFS server fails, with mount crashing and dumping core (文档 ID 1009292.1)文章中提及的,”将ip地址和hostname写入AIX NFS server主机的/etc/hosts中”的hostname并不一定指的是主机的主机名。

于是,在AIX NFS server主机做了如下尝试:

将Exadata计算节点的eth0网卡对应的IP和解析名这个条目注释掉,重新添加bondeth0网卡对应的IP和解析名这个条目。

再次进行挂载测试:

可见,此时已经挂载成功。

未经允许不得转载:Oracle一体机用户组 » Exadata无法挂载AIX上的NFS目录

相关推荐