In a virtual desktop environment, high availability is critical for users to do their jobs well. To keep things up and running, Windows Server 2012 Remote Desktop Services comes with some welcome high availability enhancements.
Remote Desktop Services (RDS) allows users to connect to virtual desktops, RemoteApp published applications and session-based desktops — but you can’t do that successfully without high availability (HA). Users need continual access to those endpoints to complete important tasks.
Configuring Remote Desktop Services high availability involves numerous components, so let’s break down the RDS roles and learn how to make each one highly available. Then you can take advantage of one of the biggest changes in Windows Server 2012 RDS — the new Remote Desktop Connection Broker Active/Active HA model.
How to make Remote Desktop Services roles highly available
Here is what the Remote Desktop Services roles do and how you can achieve high availability with each one:
Remote Desktop Virtualization Host: The RD Virtualization Host hosts your Microsoft Hyper-V virtual machines (VMs).
To make your VMs highly available, use a Hyper-V cluster and virtual desktop collection.
Remote Desktop Session Host: This component hosts RemoteApp published applications or session-based desktops.
For HA here, you can use an RD Session Host Farm and a Session Collection (new in Remote Desktop Services 2012) to load balance connections between servers in the collection.
Remote Desktop Connection Broker: The connection broker connects and reconnects users to their virtual desktops, RemoteApp published applications or session-based desktops. It also distributes the load among RD Session Host servers in a session collection.
To make sure the connection broker is highly available, you can use High Availability Mode and deploy Active/Active scale-out RD Connection Brokers (also new to Windows Server 2012 RDS). The content that RD Connection Brokers process is kept in a SQL database, so make sure that database is highly available too.
A common DNS name is assigned for accessing the RD Connection Brokers, and you can load balance that DNS name between brokers using DNS round robin, Windows Network Load Balancing or a third-party load balancing tool.
Remote Desktop Web Access: This role allows users to access RemoteApp and Desktop Connection through the Start menu on Windows 8, Windows 7 or via the Web browser.
For high availability, use a RD Web Access farm that has multiple servers, and make sure to load balance the session across them using DNS round robin or other load balancing techniques.
Remote Desktop Gateway: The gateway gives Internet-connected devices access to virtual desktops, Remote App published applications and session-based desktops located on an internal network.
Like the Connection Broker and Web Access roles, you can use a RD Web Gateway farm with multiple servers to achieve HA, and load balance the session across them.
Remote Desktop Licensing: This role manages the licenses required to connect to RD Session Host session collections or virtual desktop collections.
To keep the licensing servers highly available, use Window Clustering or deploy multiple RD licensing servers with the licenses split across them.
High availability in Windows Server 2012 RDS
One of the biggest improvements to high availability in Windows Server 2012 Remote Desktop Services is in the RD Connection Broker. In previous versions, the RD Connection Broker only supported Active/Passive clustering. That provided basic redundancy, but it did not allow you to scale out as load increased.
In Windows Server 2012, the RD Connection Broker supports Active/Active brokers for both high availability and scale-out load balancing. The new RD Connection Broker is also aware of both Session Collections (RD Session Hosts) and VDI collections. That means you no longer need a RD Session Host in “redirection mode” redirecting users to virtual desktops running Window XP or Windows 7. This helps create a more streamlined, highly available infrastructure.
To deploy the RD Connection Broker in an Active/Active configuration you must first deploy a single RD Connection Server. When you deploy the first one, it automatically uses the Windows Internal Database to store configuration and operational information. When you deploy multiple RD Connection Brokers, they must be configured to use a SQL server database. When you add a second connection broker, the data in the Windows Internal Database is automatically migrated to the SQL database.
In addition to sharing a common content database, the RD Connection Brokers also use a common DNS name to spread the load across multiple servers. That increases high availability of the connection brokers.
To deploy Active/Active RD Connection Brokers, you need at least SQL Server 2008 R2, and the RD servers must have full permissions on the SQL Server. Plus, the SQL Client must be installed on all RD Connection Broker Servers. With these prerequisites met, you can configure RD Connection Broker high availability.
Configuring Remote Desktop Services Connection Broker HA
From the Remote Desktop Services dashboard, right-click on the RD Connection Broker and select Configure High Availability (Figure 1).
From the Before You Begin screen, confirm the Connection Broker prerequisites and then select Next. On the Configure High Availability screen, you will need to enter the details of the configuration (Figure 2).
Make sure that you have created the SQL database folder before you specify the folder where you want to store the files, or you’ll receive an error. You should also create the DNS record first, or the wizard won’t let you specify the DNS resource record name.
Finally you’ll receive confirmation of your entries, and then you can select Configure. Now that RD Connection Broker has been configured for high availability, you have the option of adding a second RD Connection Broker Server (Figure 3).
You have to confirm the prerequisites before you can select your server and confirm the settings (Figure 4). This should go off without a hitch because you already did the tricky part when you configured the RD Connection Broker for high availability in the previous steps.
With the connection brokers and servers configured for high availability, along with the other roles, you’re on your way to a highly available RDS environment.