After installing ESXi to the PE R200 servers and doing some initial testing it was time to move the servers to their new home. We have a primitive server room here at our hall of residence which I am happily abusing. I say primitive since there are no rack cabinets installed and the cooling is inadequate. For example, the current temperature in the room is 37C – way over the limits for a healthy server room. Before you ask: yeah, it is much cooler when it is not 20C and above outside…


But, since I am not too keen on having four noisy rack servers less than two meters away from my bed, it is a good alternative.
As I am trying to simulate a large network, I have installed a number of NICs in each server to give them multiple paths to both storage, management and the internet. The current setup is more or less:
- One NIC for administration
- Two NICs for iSCSI / VMotion traffic
- One NIC for internet traffic
Paragon is a bit different since it is hosting most of my critical stuff such as documents, pictures, email and web pages. Since this is a PowerEdge 2850, I only have three PCI-X slots available. There are two onboard NICs and I had two Intel PRO1000/MT cards from another project. Since I need two NICs to the internet due to some restrictions on the active MAC addresses on the residence network, which is out of my control, I need a fifth NIC for management. The only available card I had was a 3Com 3c905. As I was pretty much out of luck at this point, the card was too old for the PCI-X slot. So, no management NIC in paragon.
The solution was to take advantage of VLAN seperation which I had already planned to use to seperate management traffic and iSCSI/VMotion. So, I just added the two NICs from paragon which should carry iSCSI traffic to the management VLAN. Problem solved :-)
As said, my setup involves both NIC teaming and VLANs. The teaming is a bit of a problem since the support in VMware is rather poor compared to Linux’. The only available options for splitting traffic between the two NICs are:
- Route based on the originating virtual port ID
- Route based on IP hash
- Route based on source MAC
- Use explicit failover order
All of these modes failes to give me the full 2Gbit/s the NICs are capable of since most of the traffic are headed either to or from the iSCSI server which will, naturally, have the same IP address every time. Since I do not have a lot of virtual machines running iSCSI, the routing based on the originating virtual port ID will solve my problem either.
In Linux you have a number of options in the bonding module, including both ip hash and source MAC. Since I want throughput, I have chosen to use the simplest mode where packets are transmitted using RR (Round Robin) between the NICs available. Another possibility could have been the 802.3ad mode which my switch supports, but it looks like the RR mode is doing a better job with the load balancing. I have not done any significant test to verify how incoming frames are distributed, but my switch are configured to group the different ports together in 802.3ad mode.
Moving further along with the setup, I installed a simple KVM switch which I had from another old project. It just makes some administration easier since I probably will be reinstalling the R200s quite some times before I am done with this project.
Pictures of the setup will be available as soon as my laptop is back online :-)
Posted: July 5th, 2008 under Hardware, Storage, VMware by Frode.
Comments: none