Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I am looking at purchasing a new server to host 3 virtual machines for a client. I have read that the virtual machine should be given its own network card. In this case, is it best practices to have 4 network cards, one for the hyper-v server and 3 for the virtual machines.

share|improve this question
2  
Depends on what your virtual machines' needs are, but not necessarily, no. For that matter, things are even going the other way now, with technologies that allow you to split up a single 10 GB physical NIC into multiple virtual ones. Whether that's a good idea, or you want a separate physical NIC per VM, though, is all down to the details, which you haven't provided nearly enough of to give a decent answer. –  HopelessN00b Mar 25 '13 at 15:11
    
Thanks for the great answers. –  Blackjack00 Mar 29 '13 at 16:44

4 Answers 4

up vote 4 down vote accepted

Short answer: no, also because typically you can run dozens of VMs on a single physical server and you just can't stick enough network ports in it.

Longer answer: no, you usually do something in software (like network bridging, NATting, software-defined network gear, vSwitch, Vyatta, stuff like that), and if you really need "something like a real ethernet port" you are going to look at I/O-virtualization technologies (that means compliant motherboard, firmware, ethernet card).

share|improve this answer
    
I'd go so far as saying that if you need the full I/O for networking, then you probably also need dedicated resources in other areas, so why use a VM for this? Virtualisation isn't going to be the best option for everything. –  dunxd Mar 25 '13 at 16:08

No it isn't. Each VM should have its own virtual network card (vNIC) connected to one or more virtual switches (vSwitch) which in turn is bound to one or more physical NIC's (pNIC). You could have as few as 1 physical network cards in the server and share that between the host and the virtual machines, although that isn't considered good practice.

What you would typically do is create a virtual switch in the hypervisor that is bound to one of the pNIC's and then you connect the VM to the vSwitch through the vNIC, which in turn connects the VM to the physical network.

Of course this is an overly simplified explanation and virtual networking can get fairly complex (VLAN's, VST, EST, etc.) but hopefully you get the gist.

share|improve this answer

It wouldn't hurt, but I wouldn't say it's best practice. The whole idea behind virtualization is that you're sharing resources. And typically, the hyper visor that you're using will be built to handle sharing its physical resources between virtual guests in an efficient manner.

share|improve this answer

Having a single card for every virtual machine is probably not necessary, but I can see why it might be recommended, to allow the virtual machine to make full use of the network. It's probably overkill in most cases, and if you need to make full use of the network on each virtual machine, it might be worth considering other bottlenecks that virtual machines can create, shared I/O is always going to bring some limitations.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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