by Greg Shields
We all know that VDI (also known as hosted virtual desktops) can be an excellent solution in a specific set of cases. One in particular is the situation where an application must be available remotely but for some reason won’t work atop Remote Desktop Services or Citrix XenApp. In these rare but otherwise-painful situations, the session-based nature of RDS and XenApp simply doesn’t fit with your problematic application.
VDI’s “fix” for this problem is essentially an end-run around the session-based nature of server-based computing. With VDI, you won’t be installing the application to a single server to which multiple users will connect. Instead, you’ll install the application to a desktop OS instance, then replicate the entire desktop multiple times. Once configured, a user can then connect to one of those full desktops rather than an RDS server to use the application. The result is that you earn guaranteed application functionality, but at the price of a more heavyweight delivery mechanism.
Although many VDI solution vendors extol the virtues of this technology for every computing scenario, remember that replicating an entire desktop will always require more resources than a simple RDS or XenApp session. It will also require more moving parts, as you’ll discover in a minute. Thus, you’ll find that moving one or more applications to VDI-based delivery will require more hardware and likely more administrative overhead as well.
That being said, there is one very simple VDI architecture that isn’t getting a lot of attention in today’s IT press. Although it might not have the highest levels of automation, this configuration can create a small-but-powerful VDI environment for hosting a few virtual desktops. If you’ve got a couple of problem applications that you need available remotely, this architecture can fit perfectly for your needs. It’s also a great starting point if you haven’t yet entered the world of virtual desktops and need an evaluation environment to kick-start your learning. Best of all, if you have an extra Windows Server 2008 R2 license lying around, creating this environment costs you absolutely nothing.
This architecture combines the remoting capabilities of Microsoft’s Remote Desktop Services with the virtualization power of Microsoft Hyper-V. You can get the click-by-click details of its basic installation by downloading the excellent guide titled “Deploying Virtual Desktop Pools by using Remote Desktop Web Access Step-by-Step Guide” at http://go.microsoft.com/fwlink/?LinkId=147909.
That document contains the heavy details you’ll absolutely need to get started. However, keep reading: In this article, I’ll offer highlights and help you with configurations that might not be obvious when reading through Microsoft’s guide.
Building Your Single-Server VDI
To start with your single-server VDI, you’ll obviously first need…a single server. As mentioned earlier, virtual desktops generally require more resources than RDS sessions need. Hyper-V VDI servers are always in short supply of RAM. If you plan to use this single-server VDI solution in production, build your server hardware with as much RAM as it can handle. Extra processor power also helps in maintaining the users’ experience as multiple desktops are used at once.
This server will also hold the Hyper-V role, so it must support the requirements of Hyper-V. Those requirements can be found at http://www.microsoft.com/hyper-v-server/en/us/system-requirements.aspx. Pay particular attention to the processor requirements, as failing to meet any of these will not allow the Hyper-V to power on its virtual machines.
Install a copy of Windows Server 2008 R2 onto the server and add the Remote Desktop Services role. When prompted, select the check boxes for the RD Session Host, RD Connection Broker, RD Web Access, and RD Virtualization host role services. Installing these four roles will prompt you with a few initial questions, information about which is available in the step-by-step guide.
Installing the RD Virtualization Host role service also adds the Hyper-V role to your server. This role enables your server to run virtual machines, and functions as the hypervisor for those machines. The RD Virtualization Host component adds functionality that enables Hyper-V to integrate with RDS for use with virtual desktops.
Once installed and rebooted, the next step is to integrate each of these role services. This process involves telling each role service where the others are located. Since many environments distribute the load of these role services onto different computers for scalability reasons, the role services in this environment need to be told that the others exist on the same server.
Three steps are required, with details about each of these steps found in Microsoft’s step-by-step guide. Here’s the high-level process: First, tell the RD Connection Broker about the RD Web Access server by adding the local computer’s computer account to the local TS Web Access Computers group. Then, login to the management console of RD Web Access and configure the RD Connection Broker source to be the local computer. Finally, you need to enable the server for virtual desktops by running the Configure Virtual Desktops Wizard, which is found in the Remote Desktop Connection Manager console. Running this wizard links this role service with the RD Virtualization Host, RD Session Host, and RD Web Access servers.
In the final screen of the wizard, you’ll be asked whether you want to assign personal virtual desktops to users. With Microsoft’s solution, personal virtual desktops are one-to-one assigned to specific users. Thus, a personal virtual desktop cannot be used in a desktop pool, which is the key component of this article’s architecture. You’ll want to skip any personal virtual desktop assignment for now. Complete the wizard and you’re on to the next step.
About the Author
Greg Shields is an independent author, speaker, and IT consultant, as well as a Partner and Principal Technologist with Concentrated Technology. With 15 years in information technology, Greg has developed extensive experience in systems administration, engineering, and architecture specializing in Microsoft OS, remote application, systems management, and virtualization technologies. He is a Contributing Editor and columnist for TechNet Magazine and Redmond Magazine, and serves as the Series Editor for Realtime Publishers, the world’s leading provider of high-quality content for the IT market. Greg is a highly sought-after and top-ranked speaker for both live and recorded events, and is seen regularly at conferences like TechMentor Events, Microsoft Tech Ed, VMworld, and more. He is a multiple recipient of Microsoft “Most Valuable Professional” award.