Narazil jsem na problém, kdy dva ESXi hosti používající dva různé vmk adaptéry (jeden pro Management a druhý pro vMotion) v různých IP sítích přestaly „vidět“ NFS sdílené složky v IP síti, kam „míří“ vmk adaptér s funkcí Management.
Pokud se pokusíte připojit NFS sdílenou složku pomocí příkazu ESXi shellu, dostanete podobný výstup:
esxcli storage nfs add -H 192.168.156.xx -s /volume1/vmware -v NASnfsshare Mount failed: Unable to complete Sysinfo operation. Please see the VMkernel log file for more details.: Unable to connect to NFS server
V logu /var/log/vmkernel.log objevíte další hlášky ohledně nemožnosti připojit NFS svazek.
2022-01-31T19:45:10.194Z cpu10:2101233 opID=cf4c19ed)NFS: 161: Command: (mount) Server: (192.168.156.xx) IP: (192.168.156.xx) Path: (/volume1/vmware) Label: ( NASnfsshare) Options: (None) 2022-01-31T19:45:10.194Z cpu10:2101233 opID=cf4c19ed)StorageApdHandler: 966: APD Handle 562ff53c-847ecadd Created with lock[StorageApd-0x43165bc02b50] 2022-01-31T19:45:20.230Z cpu10:2101233 opID=cf4c19ed)SunRPC: 3291: Synchronous RPC cancel for client 0x430dd8c013b0 IP 192.168.156.xx.0.111 proc 3 xid 0x6eed1672 attempt 1 of 3 2022-01-31T19:45:30.232Z cpu12:2101233 opID=cf4c19ed)SunRPC: 3291: Synchronous RPC cancel for client 0x430dd8c013b0 IP 192.168.156.xx.0.111 proc 3 xid 0x6eed1672 attempt 2 of 3 2022-01-31T19:45:41.230Z cpu12:2101233 opID=cf4c19ed)SunRPC: 3291: Synchronous RPC cancel for client 0x430dd8c013b0 IP 192.168.156.xx.0.111 proc 3 xid 0x6eed1672 attempt 3 of 3 2022-01-31T19:45:41.230Z cpu12:2101233 opID=cf4c19ed)SunRPC: 1092: Destroying world 0x20e9eb 2022-01-31T19:45:41.231Z cpu12:2101233 opID=cf4c19ed)StorageApdHandler: 1051: Freeing APD handle 0x43165bc02b50 [562ff53c-847ecadd] 2022-01-31T19:45:41.231Z cpu12:2101233 opID=cf4c19ed)StorageApdHandler: 1135: APD Handle freed! 2022-01-31T19:45:41.231Z cpu12:2101233 opID=cf4c19ed)NFS: 172: NFS mount 192.168.156.xx:/volume1/vmware failed: Unable to connect to NFS server.
Řešením je vytvořit „Custom Netstack“ právě pro potřeby NFS protokolu příkazem:
localcli network ip netstack add --netstack=nfs
Ověřte, že se operace zdařila příkazem:
esxcli network ip netstack get --netstack=nfs nfs Key: nfs Name: nfs Enabled: true Max Connections: 11000 Current Max Connections: 11000 Congestion Control Algorithm: newreno IPv6 Enabled: true Current IPv6 Enabled: false ECN Status: enabled State: 4660
Po restartu ESXi hosta najdete nový TCP/IP stack.
Nyní je třeba v ESXi shellu provést následující příkazy (podle článku https://kb.vmware.com/s/article/50112854):
/etc/init.d/nfsgssd stop nfsgssd stopped vmkload_mod -u nfs41client Module nfs41client successfully unloaded vmkload_mod -u nfsclient Module nfsclient successfully unloaded vmkload_mod -u sunrpc Module sunrpc successfully unloaded localcli system module parameters set -m sunrpc -p netstackName=nfs localcli system module load -m sunrpc localcli system module load -m nfsclient localcli system module load -m nfs41client /etc/init.d/nfsgssd start nfsgssd started
Pokud vše zafungovalo, bude možno namapovat NFS datastore.
esxcli storage nfs add -H 192.168.156.xx -s /volume1/vmware -v NASnfsshare