Enthusiast
Enthusiast

VMkernel Uplink Loadbalancing for NFS

Jump to solution

Hello Everybody,

i'm currently planning a bigger installation with ethernet based NetApp NFS storage.

On the picture you can see my network design. What is the best way to configure the vmkernel ports to use both vmnics (8 and 10)?

Etherchannel / LACP between host and first switch "instance" is not possible because the switches do not support this (HP VirtualConnect).

My fear is that in my first planned configuration

VMkernel Portgroup -> VMkernel 1 (192.168.1.201) -> Uplink: vmnic8, vmnic10 (based on virtual port ID)

All NFS traffic will go through vmnic8, regardless how may NFS stores i use. Or will vmnic8 used for vmdk file 1, vmnic10 for vmdk file 2, vmnic8 for vmdk file 3 and so on?

How often is the NFS connection route calculated?

Will "Route based on physical NIC Load" work for me?

Thank you,

Marcel Mertens

0 Kudos
1 Solution

Accepted Solutions
Champion
Champion

Raducanu wrote:

Will "Route based on physical NIC Load" work for me?

No, this will not help here, it could be of use with virtual switches with lots of VM and that they could be re-arranged at some intervals if needed.

How often is the NFS connection route calculated?

It will be done only once, according to the internal IP routing table.

VMkernel Portgroup -> VMkernel 1 (192.168.1.201) -> Uplink: vmnic8, vmnic10 (based on virtual port ID)

All NFS traffic will go through vmnic8, regardless how may NFS stores i use. Or will vmnic8 used for vmdk file 1, vmnic10 for vmdk file 2, vmnic8 for vmdk file 3 and so on?

No, it will not use differnet vmnics for different vmdk files. The best way for you might be to create two NFS datastores and export them through two different IP addresses on different IP subnets. Then create two Vmkernel interfaces on the same vSwitch (with one vmk on each subnet), and connect them to the vmnics in an active/standby settings. This will make you use both vmnics at the same time and also provide fault tolerance.

My VMware blog: www.rickardnobel.se

View solution in original post

0 Kudos
6 Replies
Champion
Champion

Raducanu wrote:

Will "Route based on physical NIC Load" work for me?

No, this will not help here, it could be of use with virtual switches with lots of VM and that they could be re-arranged at some intervals if needed.

How often is the NFS connection route calculated?

It will be done only once, according to the internal IP routing table.

VMkernel Portgroup -> VMkernel 1 (192.168.1.201) -> Uplink: vmnic8, vmnic10 (based on virtual port ID)

All NFS traffic will go through vmnic8, regardless how may NFS stores i use. Or will vmnic8 used for vmdk file 1, vmnic10 for vmdk file 2, vmnic8 for vmdk file 3 and so on?

No, it will not use differnet vmnics for different vmdk files. The best way for you might be to create two NFS datastores and export them through two different IP addresses on different IP subnets. Then create two Vmkernel interfaces on the same vSwitch (with one vmk on each subnet), and connect them to the vmnics in an active/standby settings. This will make you use both vmnics at the same time and also provide fault tolerance.

My VMware blog: www.rickardnobel.se

View solution in original post

0 Kudos
Enthusiast
Enthusiast

OK, thank you. That's what i sadly expected.

I think the switch can handle this, so it is an active / standby configuration.

Not 100% perfect, but works for me.

0 Kudos
Champion
Champion

Raducanu wrote:

I think the switch can handle this, so it is an active / standby configuration.

Is it not possible to export several NFS mounts from different IP subnets? If so, you could have it in active/active.

My VMware blog: www.rickardnobel.se
0 Kudos
Enthusiast
Enthusiast

obviously not. the storage design is provided by netapp itself and we have to work with it.

NetApp says that we have to use Route based on ip hash or live with it..

0 Kudos
Champion
Champion

Raducanu wrote:

NetApp says that we have to use Route based on ip hash or live with it..

That is strange, since the IP Hash method is quite useless in situations with few IP addresses is involved, like ESXi host and NFS server. With just two different IP addresses presenting two NFS datastores you could go to active/active.

My VMware blog: www.rickardnobel.se
0 Kudos
Enthusiast
Enthusiast

I've got a similar situation here. Netapp docs receommend IP hash but for it to work you have to create an alias IP address in your VIF on the filer. You then need to manually connect your datastores across the 2 different IP's. So datastore A connected to the filer on 10.0.0.10, datastore B connected on 10.0.0.11 and so on...

When your the VMK connects to datastore A, the IP hash will look at the IP of the VMK, and the destination filer (10.0.0.10 in this case), you have 2 NIC's so will come out as either Nic 0 or NIC 1. Same calculation will be done for datastore B but with destination ip of 10.0.0.11, so should come out as NIC 1. Obviously there's no guarantee that the result of the IP hash will evenly spread the load across all available NIC's, so it's best to carefully select your source and destination IP's and the number of NIC's and run it through the formula.

I had thought about using dvSwitches and using the route based on NIC load but several sources stating that NFS won't work as expected with this policy.. Not sure why this would be though.

0 Kudos