Virtual desktop infrastructures (VDIs) have many moving pieces made up of the underlying virtual infrastructure and the varying workloads created by end-user activity. Many server virtualization engineers find themselves struggling with how to properly size the underlying virtual architecture for a VDI solution – and in many organizations, the VDI architect is the resident server virtualization guru, who may not know much about what is needed for a successful VDI implementation.
Luckily, the big brains over at VMware recently made the tool their engineers use, the Desktop Reference Architecture Workload Simulator (RAWC, pronounced "rock",) available to partners via Partner Central.
What does VMware RAWC do?
RAWC is used to simulate user workloads in a Windows desktop environment to stress and characterize storage, network and compute workloads. It simulates tasks that users perform, such as Internet surfing, zipping files, sending email, using Microsoft Office applications and Adobe Reader, and so on.
What is RAWC made up of?
RAWC is made up of several components, including:
- The RAWC controller -- The controller builds the test configurations and stores the shares necessary for execution. The controller requires Windows 2003 Server and can run as a virtual machine (VM). It also requires .NET 2.0 or higher.
- The RAWC email VM appliance – While this component is optional, it can be used for Outlook workload testing if you don't want to use your own Exchange, but it's not necessary if you don't want to do Outlook testing.
- The session launcher virtual machine – This VM is used as the launchpadd for all workload target VMs, and runs a Windows XP SP3 OS. It requires .NET 2.0, the Microsoft TS client 7.0, and the VMware View client.
- Target desktop VMs – These are the worker mules. They require 1 GB of RAM, 10 GB of disk space, Microsoft Windows 7 or XP with SP2 or higher, Microsoft .NET 2.0, the View agent, Internet Explorer 8, McAfee Antivirus, and Adobe Reader 9.3
Installing the VMware RAWC controller
- Once you have your 2003 VM ready to "rock" and roll, create two shares: a Log_Folder (timing and error logs live here), and a share called SessionLauncher_Share (input files needed for the Session Launcher live here).
- Both shares should have EVERYONE set to FULL CONTROL.
- Run DesktopRAWCControllerSetup.msi. Click through the install.
Install RAWC email
- Extract the contents of DesktopRAWC-EmailServer-VMX.zip and import them into your VI.
- Install VMware Tools.
- Assign a static IP.
- Install Nano.
- Create user accounts on the email server. This is done by editing the /root/rawc/useraddition.sh file. In the script are only two fields to be concerned about: "start" and "end." These values are based on the range of IPs addresses for the target desktop VMs. Concatenate the numbers in the final two parts of the IP address. In a.b.c.d, use cd. For example, 10.28.106.220 10.28.106.225 would have you create the user range from 106220 106225.
- Run useraddition.sh and use 106220 as the start and 106225 as the end (using the example above).
Create Active Directory (AD) users
- In this example I'm only going to spin up five desktops, so I need five unique users as well.
- I also created an AD security group so I could add them all easily into Local Administrators of my VM template later.
Set up session launcher
Session launcher is, as the name suggests, the desktop launch pad for all of the other desktop sessions. To set it up, run DesktopSessionLauncherSetup.msi. Accept the defaults and plug in the path to the shares configured above.
Set up target desktop golden image
- Install the following: .Net 2.0; Internet Explorer 8; Adobe Reader 9.3; Windows Media Player 11; Sun Java SDK 6 Update 16; Office 2007. Mark Microsoft Access, Microsoft Groove, Microsoft InfoPath, Microsoft OneNote, Microsoft Publisher and Visio Viewer as Not Available. Mark Microsoft Excel, Micorosft Outlook, Microsoft PowerPoint, and Microsoft Word as Run All from My Computer.
- Run DesktopRAWCWorkloadSetup.msi. Accept the defaults and type in the path to the Log_Folder share.
- Install Super Speedway (720p) and Living Sea (1080p).
- Using gpedit.msc:
- Local Computer > Computer Configuration > Administrative Templates > Windows Media Player > Do Not Show First Use Dialog Boxes = Enabled.
- Local Computer > User Configuration > Administrative Templates > Windows Components > Internet Explorer > Prevent performance of First Run Customize Settings = Enabled.
Using VMware RAWC
Now that you have RAWC set up, let's put it to work! From the console you can select options for your test run. For my test, I decided to tell the machine to simulate a user typing in Word, surfing the web, zipping some files, and reading a PDF. With the many settings and options available to you, you should be able to simulate most types of workers. You can also set workload configurations based on different Active Directory groups (like AP, which might send a lot of email, or legal, which typically works a lot in Word and Adobe Reader). For now, I simply used a non-AD group (which still uses AD users).
Once you have checked off simulated workloads to your heart's content:
- Save Workload Group.(If you want to use AD groups, rinse and repeat until you have created all of your AD group-based tests.)
- Save Test Configuration.
- Set as active workload.
- Now click the Session Launcher tab which will bring up the Create Session Launcher Configuration Files screen.
- Enter the IP or FQDN of the Session Launcher VM.
- Next enter the View desktop name (or pool's name), and the user name prefix and start/end.
- Click Create Configuration Files.
- If you need to change these settings in the future, be sure to click Create session launcher configuration files.
- Next, click Open Session Launcher VMs.This will open a remote desktop protocol (RDP) session to the Session Launcher VM, which will then open up multiple connections to the destination VMs. In our case, it will be using soft PCoIP. If you want to maximize the RDP session to the Session Launcher VM (instead of having it in a small window) change screen mode id:1 to screen mode id:0 in the template.rdp (which is in \\
- Enter proper RDP details for the Session Launcher VM.
- Behold the magical RAWC!
- Once RAWC gets moving, you should see activity in your target VMs, as pictured below.
Now it's time to put it all together. By associating the timing of the RAWC test runs with the performance metrics in VMware vCenter, you can get a solid measurement of the impact to the compute, storage, memory, etc. that the VDI environment could have on your underlying infrastructure.
RAWC is a powerful tool in many ways. It can be particularly helpful when you want to test various storage vendors or server platforms. Simply swap out the underlying physical components to get an understanding of which platform may be best suited for your VDI environment.