以下面的配置为例:
通过检查 vmkernel 端口配置,我们可以看到 10.1.1.0 网络上有两个 vmkernel 端口:
# esxcfg-vmknic -l
Interface Port Group/DVPort IP Family IP Address Netmask Broadcast MAC Address MTU TSO MSS Enabled Type
vmk2 Backup IPv4 10.1.1.23 255.255.255.0 10.1.1.255 xx:xx:xx:xx:xx:xx 1500 65535 true STATIC
vmk0 0 IPv4 10.1.1.33 255.255.255.0 10.1.1.255 xx:xx:xx:xx:xx:xy 9000 65535
在上例中,我们希望将 vmk0 用于 NFS 连接(已为此通信启用巨型帧或 MTU 9000)。
检查当前的路由表以查看哪个 vmkernel 端口是 10.1.1.0 网络的默认端口。
# esxcfg-route -l
VMkernel Routes:
Network Netmask Gateway Interface
10.1.1.0 255.255.255.0 Local Subnet vmk2
192.168.55.0 255.255.255.0 Local Subnet vmk3
default 0.0.0.0 10.1.1.1 vmk2
从上述路由表中,我们可以看到 vmk2 是 10.1.1.0 网络的默认 vmkernel 接口,而且它目前用于 NFS 通信;这种配置不甚理想,原因如下:
- 无法预测将使用哪一 vmkernel 端口。
- 在本例中,使用的是非巨型帧 vmkernel 端口,这样将导致性能降低。
- NFS 服务器上的访问控制列表 (ACL) 可能不包含 ACL 中 vmk2 的 IP 地址,因此它将拒绝连接到此主机的 NFS 导出。
如果主机在同一网络上没有两个或两个以上的 vmkernel 端口,请按照以下故障排除步骤操作:
- 确保 NFS 服务器支持基于 TCP 的 NFSv3。ESX/ESXi 不对 NFS 使用 UDP。
- 所有 ESX/ESXi 主机必须都可通过读写模式访问 NFS 服务器。
- NFS 服务器必须允许 root 系统帐户 (rw) 进行读写访问。
- 必须为 no_root_squash 或 chmod 1777 设置 NFS 导出。
- 通过检查导出列表确保允许 ESX/ESXi VMkernel IP 挂载 NFS 共享。
- 通过运行 exportfs -a 重新导出所有 NFS 共享,确保将挂载导出。
- 通过以下检查确保 ESX/ESXi 主机已正确配置为使用 NFS 共享:
- 确保存在一个 vmkernel 端口组。
- 检查 VMKernel IP 地址:
- 使用 VI/vSphere Client 连接到 Virtual Center/vCenter Server。
- 选择 ESX/ESXi 主机。
- 单击配置选项卡。
- 单击网络。
- 查看 VMKernel 的网络图,或单击属性 > 端口 > VMKernel。如果 VMKernel 未列出,必须添加它。
- 检查 NFS 服务器是否可以使用 vmkping 访问。
- 您可以尝试从 NFS 存储对 ESX/ESXi VMkernel IP 执行 ping 命令。
仅限 ESX
- 通过以下检查确保 NFS 服务可以接受来自 ESX 主机的 NFS 连接。
- 确保服务器上正在运行 NFS 守护进程,为此,请使用命令 rpcinfo -p localhost 或 service nfs status:
# rpcinfo -p localhost
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100011 1 udp 925 rquotad
100011 2 udp 925 rquotad
100011 1 tcp 928 rquotad
100011 2 tcp 928 rquotad
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100021 1 udp 60528 nlockmgr
100021 3 udp 60528 nlockmgr
100021 4 udp 60528 nlockmgr
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100021 1 tcp 50217 nlockmgr
100021 3 tcp 50217 nlockmgr
100021 4 tcp 50217 nlockmgr
100005 1 udp 949 mountd
100005 1 tcp 952 mountd
100005 2 udp 949 mountd
100005 2 tcp 952 mountd
100005 3 udp 949 mountd
100005 3 tcp 952 mountd
# service nfs status
rpc.mountd (pid 2469) is running...
nfsd (pid 2466 2465 2464 2463 2462 2461 2460 2459) is running...