vSphere ESX 5.5 主机无法连接到 NFS 服务器

vSphere ESX 5.5 主机无法连接到 NFS 服务器

概括: 我的问题是,尽管主机能够 ping 通 QNAP NFS 服务器,但我无法将其用作 ESX 主机上的 NFS 数据存储。我使用带有 LACP 上行链路的 vDS 来处理所有网络流量(包括 NFS),并为每个 vmkernel 适配器使用一个子网。

设置: 我正在评估 vSphere,我有两个 vSphere ESX 5.5 主机(节点 1 和节点 2),每个主机都有 4 个 NIC。我使用 LACP/802.3ad 将它们与我的交换机组合在一起,然后在两个主机之间创建一个分布式交换机,每个主机的 LAG 作为上行链路。我的所有网络都通过分布式交换机,理想情况下,我想利用 DRS 和冗余。我在节点 1 上运行一个域控制器虚拟机(“中央”)和 vCenter 虚拟机(“vCenter”)(使用节点 1 的本地数据存储),两个主机都连接到 vCenter 实例。两个主机都在 vCenter 数据中心和集群中,目前已禁用 HA 和 DRS。我有一个

QNAP TS-669 Pro(版本 4.0.3)(TS-x69 系列在 VMware Storage HCL 上)我想用作我的 NFS 数据存储的 NFS 服务器,它有 2 个 NIC,使用 802.3ad 与我的交换机组合在一起。

vmkernel.log: 主机的 vmkernel.log 中的错误不是很有用:

NFS: 157: Command: (mount) Server: (10.1.2.100) IP: (10.1.2.100) Path: (/VM) Label (datastoreNAS) Options: (None) cpu9:67402)StorageApdHandler: 698: APD Handle 509bc29f-13556457 Created with lock[StorageApd0x411121]
cpu10:67402)StorageApdHandler: 745: Freeing APD Handle [509bc29f-13556457]
cpu10:67402)StorageApdHandler: 808: APD Handle freed!
cpu10:67402)NFS: 168: NFS mount 10.1.2.100:/VM failed: Unable to connect to NFS server.

网络设置: 这是我的分布式交换机设置(JPG)。 这是我的网络。

  • 10.1.1.0/24 虚拟机管理(VLAN 11)
  • 10.1.2.0/24 存储网络(NFS,VLAN 12)
  • 10.1.3.0/24 虚拟机 vMotion(VLAN 13)
  • 10.1.4.0/24 VM 容错(VLAN 14)
  • 10.2.0.0/24 VM 的网络(VLAN 20)

vSphere 地址

  • 10.1.1.1 node1管理
  • 10.1.1.2 node2管理
  • 10.1.2.1 node1 vmkernel(对于 NFS)
  • 10.1.2.2 node2 vmkernel(对于 NFS)
  • ETC。

其他地址

  • 10.1.2.100 QNAP TS-669(NFS 服务器)
  • 10.2.0.1 域控制器(节点 1 上的虚拟机)
  • 10.2.0.2 vCenter(节点 1 上的虚拟机)

我正在使用 Cisco SRW2024P 第 2 层交换机(启用巨型帧),其设置如下:

  • 节点 1 的 LACP LAG1(端口 1 至 4)设置为 VLAN 11-14、20 的 VLAN 中继
  • 我的路由器的 LACP LAG2(端口 5 至 8)设置为 VLAN 11-14、20 的 VLAN 中继
  • 节点 2 的 LACP LAG3(端口 9 至 12)设置为 VLAN 11-14、20 的 VLAN 中继
  • QNAP 的 LACP LAG4(端口 23 和 24)设置为接受未标记的流量进入 VLAN 12

每个子网都可以路由到另一个子网,但是从 vmk1 到 NFS 服务器的连接不需要路由。所有其他流量(vSphere Web Client、RDP 等)都可以通过此设置。我事先使用 ESX 主机虚拟机(位于具有专用物理网卡的 VMware Workstation 设置之上)测试了 QNAP NFS 服务器,没有出现任何问题。

NFS 服务器共享上的 ACL 是宽松的,允许所有子网范围完全访问共享。

我可以 ping 通 QNAP从 node1 vmk1,应该用于 NFS 的适配器:

~ # vmkping -I vmk1 10.1.2.100
PING 10.1.2.100 (10.1.2.100): 56 data bytes
64 bytes from 10.1.2.100: icmp_seq=0 ttl=64 time=0.371 ms
64 bytes from 10.1.2.100: icmp_seq=1 ttl=64 time=0.161 ms
64 bytes from 10.1.2.100: icmp_seq=2 ttl=64 time=0.241 ms

网猫不会引发错误:

~ # nc -z 10.1.2.100 2049
Connection to 10.1.2.100 2049 port [tcp/nfs] succeeded!

路由表节点1的:

~ # esxcfg-route -l
VMkernel Routes:
Network          Netmask          Gateway          Interface
10.1.1.0         255.255.255.0    Local Subnet     vmk0
10.1.2.0         255.255.255.0    Local Subnet     vmk1
10.1.3.0         255.255.255.0    Local Subnet     vmk2
10.1.4.0         255.255.255.0    Local Subnet     vmk3
default          0.0.0.0          10.1.1.254       vmk0

VM 内核 NIC 信息

~ # esxcfg-vmknic -l
Interface  Port Group/DVPort   IP Family IP Address                              Netmask         Broadcast       MAC Address       MTU     TSO MSS   Enabled Type       
vmk0       133                 IPv4      10.1.1.1                                255.255.255.0   10.1.1.255      00:50:56:66:8e:5f 1500    65535     true    STATIC     
vmk0       133                 IPv6      fe80::250:56ff:fe66:8e5f                64                              00:50:56:66:8e:5f 1500    65535     true    STATIC, PREFERRED
vmk1       164                 IPv4      10.1.2.1                                255.255.255.0   10.1.2.255      00:50:56:68:f5:1f 1500    65535     true    STATIC     
vmk1       164                 IPv6      fe80::250:56ff:fe68:f51f                64                              00:50:56:68:f5:1f 1500    65535     true    STATIC, PREFERRED
vmk2       196                 IPv4      10.1.3.1                                255.255.255.0   10.1.3.255      00:50:56:66:18:95 1500    65535     true    STATIC     
vmk2       196                 IPv6      fe80::250:56ff:fe66:1895                64                              00:50:56:66:18:95 1500    65535     true    STATIC, PREFERRED
vmk3       228                 IPv4      10.1.4.1                                255.255.255.0   10.1.4.255      00:50:56:72:e6:ca 1500    65535     true    STATIC     
vmk3       228                 IPv6      fe80::250:56ff:fe72:e6ca                64                              00:50:56:72:e6:ca 1500    65535     true    STATIC, PREFERRED

我已尝试/检查过的事情:

  • 我没有使用 DNS 名称来连接到 NFS 服务器。
  • 已检查 MTU。将 vmk1、dvSwitch、Cisco 交换机和 QNAP 设置为 9000。
  • 将 QNAP 移至 VLAN 11(VM 管理,vmk0)并为其指定了适当的地址,但问题仍然存在。当然,之后又改回来了。
  • 尝试从 vSphere Client(连接到 vCenter 或直接连接到主机)、vSphere Web Client 和主机的 ESX Shell 启动 NAS 数据存储的连接。但都导致同样的问题。
  • 尽管没有连接到服务器,但仍尝试了路径名“VM”、“/VM”和“/share/VM”。
  • 我将 Linux 系统 (10.1.2.123) 插入为 VLAN 12 配置的交换机端口,并尝试安装 NFS 共享 10.1.2.100:/VM,它成功运行,并且我对它具有读写访问权限
  • 我尝试禁用 ESX 主机上的防火墙esxcli network firewall set --enabled false

我不知道下一步该怎么做。我所做的与 VMware Workstation 设置不同的事情是使用 LACP 和物理交换机以及两台主机之间的虚拟分布式交换机。我猜 vDS 可能是我遇到问题的根源,但我不知道如何在不消除它的情况下解决这个问题。

答案1

嗯... vDS、NFS 和 LACP 对我来说效果很好。但是,似乎你对一组高端 vSphere 功能了解得非常深入。大多数安装实际上并不需要 LACP,但我可以理解尝试使用它的吸引力...

如果 QNAP 不允许安装,那么 vDS 和其他功能都无关紧要...

  • 您已验证了与 的连接vmkping,但可能应该尝试使用巨型 MTU:(vmkping -s 9000 10.1.2.100无需指定接口)。确保 可以正常工作。
  • 我现在将完全禁用 QNAP ACL。
  • 您的安装路径名应该是ip.address:/share/VM/
  • 尝试再次挂载,但要注意/var/log/vobd.logESXi 主机上的消息。如果它显示类似“NFS 服务器拒绝了挂载请求。“,问题在于 QNAP。
  • 很抱歉,但我们缺少您的物理交换机类型/型号和配置......你能描述一下吗?你应该在相关端口上配置中继 VLAN+LACP 配置。

您的 vDS 配置屏幕截图看起来就像是一个主机的信息。验证您的配置是否设置了 LACP 和正确的负载平衡模式。它应该如下所示:

在此处输入图片描述

在此处输入图片描述

答案2

昨天 TS-420U 和 ESXi 5.5 U1 也遇到了同样的问题。 我的设置: - 两个带有 vCenter 服务器的 ESXi 5.5 - 直接连接存储 - QNAP TS-420U NAS 与 ESXi 主机位于同一子网中(因此不存在路由问题) - 所有主机均位于子网 10.207.253.128/26 中

配置 NAS 后,我将 ACL 设置为适当的子网 (10.207.253.*),连接无问题。但重新启动 ESXi 主机后,不再有连接,错误与您的相同。NAS 重新启动和关闭/打开 NFS 服务没有帮助。我尝试的最后一件事是将 NAS 服务器上的 ACL 设置为 * -> 砰,它又起作用了。两个 ESXi 主机都可以毫无问题地连接到 NFS 共享。

现在我只需要找出为什么 ESXi 主机无法连接设置为子网的 ACL...

答案3

不幸的是,ESXi 不包含诊断命令rpcinfoshowmount。NFS 默认使用 UDP。为了执行挂载,系统必须能够与 NFS 服务器上的 rpc 端口映射器通信(tcp/udp 端口​​ 111)。该端口映射器为和服务提供端口mountdnfs在任何其他系统上,我都会使用它rpcinfo -p <ip>来确保端口映射正常工作,并showmount -e <ip>查看正在导出的内容。

此外,与 vMotion、FT 日志记录和 iSCSI 不同,NFS 不会锁定到特定的 vmk。它将使用任何可用的接口。由于您有一个与 NFS 服务器位于同一子网中的接口,因此应该用那个。

如果 NAS 上有日志,请检查那里是否有任何线索。否则,回到单个链接并监控流量可能是你唯一的办法。(该交换机是否进行端口镜像?)

答案4

我遇到了类似的问题,无法从 ESX SSH shell 进行 ping 操作。

解决方案:

-> esxcli 网络防火墙规则集列表并检查 NFS 服务器 IP 地址是否列在那里。

(或者从主机 -> 配置 -> 安全策略 -> 防火墙 -> NFS 客户端执行)

  • 设置并重置 MTU:vCenter -> 主机 -> 配置 -> 网络 -> 分布式交换机 -> 管理虚拟适配器 -> 选择设置了正确 IP 地址的 vmk -> 将 MTU 从 9000 设置为 1500。按 OK。它应该重新配置。将 MTU 重新设置为 9000。现在 ESX 和 NAS 之间的 ping 操作都可以进行,NFS 挂载也可以进行。

相关内容