3

We have VMWare ESXi hosts administered in VMware vSphere. I've sent my network admins this artice, http://www.sqlservercentral.com/articles/Virtualization/125226/ and asked what they think. Currently our SQL Server VMs have one vmnic. They wonder why the article is suggesting 3 when according to them that's redundant. See their email that I've anonomized and shortened below.

"The author isolated SQL frontend traffic, availability traffic, and backup traffic. Since the vmnic does not have a hardware speed limit, multiple NICs will not increase, according to our VMWare expert, performance. What other reason would there be to separate out these VLANs? We currently have a flat network within the datacenter, so unicast traffic between these three VLANs would not be limited by default. Broadcast traffic would be confined to the VLAN."

I'm wondering if this is necessary and/or recommended, and if so why?

Thanks in advance,

3

The three NICs won't help with redundancy, because the VM layer should have already handled this configuration under the hood in the virtualization layer itself.

However, three NICs would allow for segregation of particular types of server traffic (backups, AG replication, etc.) away from the primary NIC, which allows you to monitor and profile the usage patterns of these NICs better.

1

They wonder why the article is suggesting 3 when according to them that's redundant.

Three may in fact be redundant, or it may not. It completely depends on how your host cluster is setup (physical interfaces and vSwitches) and how the physical network is setup (physical switches and networks).

If the host has a few physical interfaces that all go to the same vSwitch, etc., then you'll get isolation at the windows level (more RSS queues, etc.) which can help identify issues or allow for other QoS options but it won't magically give you more throughput.

This all assumes you'll be going outside of the same host for networking.

1

It will probably not be easy to create a test setup for this, and then measure and compare the "performance" to a setup that does not use VLANs on vSwitches. (Although I have an ESXi server for testing, I don't have spare SQL server VMs at hand). However, there are a few sources that can give us clues.

When looking at the diagram (in the article you are referring to), notice that there are 3 (virtual) vSwitches, connected to the VMs via red/yellow/blue arrows. Also notice that there are only BLUE arrows leading away from the PHYSICAL ports, leading to a physical switch (hardware).

Now - due to the facts that (as your network admins wrote in their email) "Broadcast traffic would be confined to the VLAN." and "the vmnic does not have a hardware speed limit" i.e. the performance in the "Availability" and "Backups" VLANs are is NOT determined/slowed down by the physical switch, and: Broadcast traffic from the other nodes on the LAN would not hit the "Availability" and "Backup" VLANs. Quote from https://communities.vmware.com/docs/DOC-25426 (emphasis mine)

VM1 and VM2 are connected to same vSwitch called "vSwitch1" ,same port group called Production and also same VLAN called VLAN 20 and also both are running in the same ESXi host called ESX1. Network traffic between these VM's (VM1 & VM2) does not go to physical NICs on the ESXi host and this frames also not forwarded to physical network like physical switch and router because VM's will communicate within the vSwitch and results in achieving the increased network speed and lesser network latency.

Is this really necessary? Some people will tell you that it isn't (because the network is fast enough as it is yada yada). Other voices, however, recommend the "VLAN approach". Why? e.g.

... the availability group messaging throughput requirements can be non-trivial and can have an impact on the heartbeat and intra-cluster communication. As a reminder, heartbeat communication is generally sensitive to latency and if they are delayed by a statured NIC, it could cause the cluster node to be removed from the cluster membership ...

link (the word "statured" should probably be "saturated")

or (not directly related to SQL server)

" To provide the most consistent performance and functionality, and to improve network security, we recommend that you isolate the different types of network traffic. "

https://technet.microsoft.com/en-us/library/dn550728(v=ws.11).aspx

1

Also using three VLANs to manage your packet routing is a cheat, as it just moves the problem from the Windows Admin to the Network Admin. And it's like asking the city to build three separate roads to your house, just because you have multiple driveways.

You can achieve traffic isolation with 3 IPs on the same VLAN if you configure the routing table appropriately. Inbound packets always arrive at the NIC hosting the destination IP, but outbound packets to the local VLAN will all go out over the NIC hosting the interface (IP Address) listed first in the routing table.

See https://blogs.technet.microsoft.com/networking/2009/04/24/source-ip-address-selection-on-a-multi-homed-windows-computer/ for details.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.