WANem: A Handy Tool for VDI Pilots
WANem makes it easy to simulate low bandwidth and latency conditions.
I often get asked about best practices for piloting server-hosted virtual desktop infrastructure (VDI) solutions, such as VMware View, Citrix XenDesktop and Sun Virtual Desktop Infrastructure. Vendors often provide reviewer's guides to help in the evaluation process, but sometimes these guides fail to mention what I consider critical aspects of the solution. For example, the solution's ability to render Flash-based graphics is crucial in order for a virtual desktop to be a suitable replacement for the average information worker. I've worked with a few clients that evaluated user experience against common applications (such as Word and PowerPoint) and streaming video, but left out Flash because it wasn't mentioned in the vendor-provided reviewer guide. Naturally, Flash support was critical to their end users and they went back and reviewed Flash functionality, only to realize that the proposed vendor solution didn't support Flash.
Another equally important area of VDI solution assessment is responsiveness to low network bandwidth or high-latency conditions. Most VDI solutions look great over 100Mb/s or 1,000Mb/s LANs. However, you need to determine how well the solution scales from hundreds to thousands of simultaneously connected virtual desktops. Naturally, the load would be distributed across multiple physical hosts, but understanding scalability requirements is also critical for both network and storage sizing.
In addition, it's also important to determine how the virtual desktop platform handles the limited bandwidth and high latency that comes with WAN-connected users. The bottom line is that you must determine an acceptable minimum network-requirements baseline for the VDI solution, and use it to size physical network requirements for both LAN- and WAN-connected users. Also, validating the minimum network requirements for each prospective VDI solution will further help you to choose the VDI platform that best fits your organization's needs. For example, a lower-cost solution that requires up to 40 percent additional network resources to meet user requirements may wind up costing more than a higher-priced solution once you determine the cost of upgrades needed on the physical network infrastructure.
Free Is Good
There are plenty of methods available for simulating varying network conditions, and WANem is one of my personal favorites. WANem is a free WAN emulator -- developed and maintained by Tata Consultancy Services -- that can be downloaded as a bootable ISO image or as a virtual machine (VM) appliance. You can download WANem and view online documentation at the WANem product homepage.
To use WANem, you need to download and boot the ISO image or VM appliance, and configure WANem's network settings (such as IP address and subnet mask). Once WANem is up, you configure networking between a VDI client (such as a thin-client terminal) and a virtual desktop so that the network traffic between the VDI client and virtual desktop routes through WANem. There are multiple ways to configure networking. One way is to give the virtual desktop VM two virtual NICs: one that connects to the production LAN and another that connects to WANem.
|Figure 1. The WANem Web interface. (Click image to view larger
With this scenario, you'd configure the WANem VM and desktop VM with two virtual NICs. While some may see this as overkill, this prevents the need to disrupt existing virtual desktop network connectivity to simulate and test degraded network conditions. Note that in Figure 1, three virtual switches are used to facilitate the network connections. One virtual switch connects the desktop VM to the production LAN. A second virtual switch connects the desktop VM to the WANem VM. Finally, a third virtual switch connects the WANem VM to the physical VDI test LAN. Table 1 shows an example of how you could configure IP addressing to support this environment.
|Table 1. Table description. (Click image to view larger
Once the IP addresses are assigned, you'd then need to configure routing between the virtual desktop VM and the VDI client. The VDI client would have connectivity, because its default gateway is the WANem VM. To get the virtual desktop to send traffic destined to the VDI client through WANem, you should add a static route. In this example, you would need to log in to the desktop VM and run the following command to add the static route: route add -p 172.16.101.0 mask 255.255.255.0 172.16.10.1. For the sake of the test, the VDI client would just need to talk with the desktop VM; connectivity to the connection broker server may also be needed, depending on the environment. If the VDI client uses DHCP, you can set the custom gateway using a DHCP reservation based on the VDI client's physical MAC address; otherwise, the VDI client's IP address and gateway could be assigned statically.
Once routing is configured, a simple ping test between the VDI client and desktop VM should verify connectivity. If you're not receiving a reply, ensure that the desktop VM's firewall is configured to allow ICMP traffic. Once connectivity is established, you can then configure WANem. You'll do this by pointing your Web browser to the WANem VM using the following URL: http://<WANem VM IP address>/WANem. From here you can set up simple bandwidth and latency throttling by clicking the Basic Mode link.
There's much more you can do with WANem using Advanced Mode, including emulating packet loss, corruption and randomizing link disconnections. You can read more about WANem and its advanced features by downloading this document.
As you can see, with WANem, you can quickly set up a test network and validate how well -- or how poorly -- virtual desktops are rendered over slow or unreliable network connections.
Validation Is Crucial
Validating minimum network requirements is a crucial element of desktop virtualization pilot testing, and will let you set a baseline for the network requirements associated with different user roles. For example, different minimum network requirements will exist for the task worker at the remote kiosk compared to the information work that heavily accesses Word, PowerPoint, streaming videos and Flash graphics.
Of course, any testing you do should be under a realistic virtual desktop VM load on the server. When you test network requirements, be sure to have the server running its expected number of VMs (a typical range for desktop workloads is four to eight VMs per physical server core) under a simulated workload. Tools such as AutoIT Script can be used to simulate the sustained user workload.
VDI deployments often succeed or fail based on user acceptance. Getting a firm handle on network requirements and expected performance early on will allow you to level-set vendor statements, while ensuring the virtual desktop solution meets user expectations.
Chris Wolf is VMware's CTO, Global Field and Industry.