21

Is there any reason to have 2 NICs on a server BESIDES the following cases?

  1. You need to connect to 2 different physical networks
  2. Redudancy (1 NIC fails, so you use the other)

Are there any other reasons?

noctonura
  • 443
  • 1
  • 4
  • 10

10 Answers10

27

(2a). Load balancing.

(3). Separation of traffic (i.e. you could have a combo web/database server, same network, put all web traffic on one NIC, db traffic on the other, makes it easier to calculate loads for traffic types). This also makes it easier to split the two later on, nobody has to change connection strings.

SqlACID
  • 2,166
  • 18
  • 18
17
  1. A separate network for backups.

  2. A separate network for console access (these are typically now integrated on the system board for mainstream servers).

  3. Increased throughput (multiple GB networks) bonded together.

Greg Askew
  • 34,339
  • 3
  • 52
  • 81
6

There's only one other major reason that I can think of, which is similar to redundancy, and that's Trunking, so you could configure traffic to flow over 2x1Gbit ports, giving you 2Gbit of total throughput. Some refer to this as LaCP, linux knows this as mode=4 as described below.

Linux interface bonding modes give a few other options:

mode=0 (balance-rr) Round-robin policy

mode=1 (active-backup) Active-backup policy

mode=2 (balance-xor) XOR policy: Transmit based on [(source MAC address XOR'd with destination MAC address) modulo slave count].

mode=3 (broadcast) Broadcast policy: transmits everything on all slave interfaces. This mode provides fault tolerance.

mode=4 (802.3ad) IEEE 802.3ad Dynamic link aggregation. Creates aggregation groups that share the same speed and duplex settings.

mode=5 (balance-tlb) Adaptive transmit load balancing: channel bonding that does not require any special switch support.

mode=6 (balance-alb) Adaptive load balancing: includes balance-tlb plus receive load balancing (rlb) for IPV4 traffic, and does not require any special switch support.

Tom O'Connor
  • 27,440
  • 10
  • 72
  • 148
  • 2
    802.3ad == LACP == Mode 4, they are all the same terminology for the same thing. LACP being the most common term used (which is the control protocol specified in 802.3ad) – Zypher Apr 06 '10 at 23:32
  • I think I mentioned that somewhere in my answer.. – Tom O'Connor Apr 06 '10 at 23:38
  • 1
    Is the more common term for what you are describing "bonding"? I have not seen this called "Trunking". – iPaulo Apr 07 '10 at 00:00
  • @iPaulo, bonding and trunking are the same thing. People from different areas of the world call it different things, but the terms in this situation are interchangable – Mark Henderson Apr 07 '10 at 00:20
  • 1
    I've heard both Trunking and Bonding; with trunking being the more popular. The only problem with that, vLans have trunking as well, which can get confusing at times (it's bit me before). Different vendors have different names. – Chris S Apr 07 '10 at 01:51
  • 1
    @iPaulo: Windows drivers tend to call it 'teaming' , another word to add to the mix :-) – Kyle Brandt Apr 07 '10 at 12:02
4

Microsoft clusters require an additional NIC port for heartbeat purposes between nodes.

ITGuy24
  • 1,576
  • 1
  • 15
  • 29
  • Not only Microsoft clusters require this... lots of cluster setups require or at least recommend an additional NIC. – MikeyB Apr 09 '10 at 14:36
1

Similar to #2, multiple NICs is also a requisite for high avaliability. Multiple network interfaces (on the same network, but should really be seperate) will be used to monitor which servers are avaliable (a heartbeat). Also, in the case of VMWare, a 3rd NIC can be used for migrating the active state of a virtual machine without interferring with the amount of bandwidth avaliable to the public interface, or the heartbeat.

Mark Henderson
  • 68,316
  • 31
  • 175
  • 255
0

Probably 2 NICs is the minimum required for a server, like other said at least for HA. If you start including console, heartbeat, possibly iSCSI storage... you can easily hit half dozen NICs for a server.

Dan Andreatta
  • 5,384
  • 2
  • 23
  • 14
0

This might come under "# You need to connect to 2 different physical networks", but if the server was also a router, it would need two NICs.

Fahad Sadah
  • 1,496
  • 11
  • 21
0

I always use 2 NICs in a server for redundancy. More than once over the years I've unplugged the wrong cable (usually caused by rushing too much). It's really nice not to have the server disconnect as a result. I've also suffered failed NICs a couple of times.

As far as I'm concerned, if at all possible a server should have redundant everything. NICs are no exception. On the rare occasion I've also needed traffic isolation I add a second pair for that.

John Gardeniers
  • 27,262
  • 12
  • 53
  • 108
  • Add failing cables, connectors, and switches to the mix. In the area of virtual voice switching down time is not acceptible. Not during production, not during maintenance, not ever. Where we can live with a mail server or web server being down for a short time (seconds, minutes) this would kill the service on any voice carying device. – theking2 Sep 06 '21 at 18:31
0

I have never understood the NIC redundancy argument. Without moving parts they rarely fail ... you don't have 2 motherboards in one server, do you? Best be redundant on the whole server level.

However, I like the "human error" redundancy above when unplugging in error.

JamesR
  • 1,061
  • 5
  • 6
  • 2
    No moving parts? Cables are moving parts, especially when someone's working near them :). Joking aside, it can be a fairly complex path between a NIC and switch (cable -> port replicator -> horizontal cabling -> port replicator -> switch). Any one of those components just might be delicate and fail. Plus, while NIC ports themselves may rarely fail, switches will more often fail. You may need to upgrade the OS on a switch or reload it for some other reason - it's necessary to do so without taking an outage on a whole whack of servers. – MikeyB Apr 09 '10 at 14:39
0

Having one interface dedicated to running snort or some other honeypot or IDS, and the other in your internal network is another good reason to have 2 nic cards. Agreed on the load balancing and trunking ideas as well.

matt
  • 1,112
  • 1
  • 8
  • 18