I am attempting to run a line directly from an ESXi host to the iSCSI datastore ----meaning no switches, routers, etc. Imagine as if I have two different networks running side by side and I want to connect the esxi host to the iscsi target on the other subnet. Instead of routing it, I am attempting to directly connect the esxi host to the iscsi target with manual routes set in the esxcfg-route.
ESXi Host:
NIC0
192.168.25.100/24
vmkernel gateway: 192.168.25.1
NIC1
172.16.50.10
255.255.255.0
(forced to use 192.168.25.1)
iSCSI target:
port 5
172.16.50.11/24
no gateway (because I shouldn't need one)
Session set to allow all IPs
OK so this is all connected and I can bind iSCSI to the NIC as compliant,etc.
I can ping, from the cmd line on esxi host, to the iscsi target.
I can ping, from the iscsi target interface, to the ESXi host
Yet upon scanning the hosts vmhba, nothing appears. Any ideas? Logs to go through?
How are your vSwitches configured on the ESXi host?
VSwitch0 is vmkernel for management and vmkernel for vm traffic. NIC0 is connected to switch and handles all regular vm requests
vswitch1 is vmkernel for iscsi. NIC 1 is set to port binding and is connected directly to the hosts target port.
You may need to add a static route for the iSCSI network, similar to
esxxcli network ip route ipv4 add --gateway 172.16.50.1 --network 172.16.50.0/24
See here VMware KB: Configuring static routes for vmkernel ports on an ESXi host
Also have you checked MTU size between vmkernel port and iSCSI target. Is your iSCSI network using jumbo frames?