Creating a RDS farm in Win2012 R2
Solution 1:
The licensing and broker roles generally are installed to a server that is not one of the servers providing the Remote Desktop sessions to users. I have often seen these two roles put together on a single box. In a small 3 server farm the broker/license box will probably be idle most of the time. These roles seem to work perfectly fine in a VM, so also take advantage of Hypervisor HA features.
Neither the broker or the license role is critical. In the case of a failure Incoming connections will still work just fine, existing users will be able to connect.
Your load between the farm members will not be perfectly balanced if the broker fails, but it really doesn't have to be. Often you just need it to be balanced enough so that people can work comfortably. If round robin DNS happens to put 10 users on one server and 7 on another, does it really matter if the servers can each handle 25 users?
The one thing that noticeably fails if when your session broker is that a user will not be able to re-connect to an existing session, if the round robin DNS happens to direct them at a new server. But this is rarely a critical issue. The user can often continue working just fine completely unaware of the dead session left on the other server.
In any case let me direct you to this article about RD Connection Broker High Availability. To get true HA for the connection broker it appears like you need server(s) running Microsoft SQL server. Then you configure the multiple session brokers to use the SQL server as the storage back end.
Solution 2:
I'm setting up the RDS servers in a farm - never tried it before and I need your help.
Based off of your original comment at the top of the question here, and my love of RDS systems I thought I'd chime in on this one even if I get a bit lengthy. Another reason for my potentially lengthy answer is that I see this question about RDS Farms asked a lot and hopefully this could be sort of a psuedo-guide for future RDS adventurers. To make this easy I'll post the actual step-by-step guide link here: http://thewolfblog.com/2014/02/08/deploying-a-2012-2012r2-remote-desktop-services-farm/
And then continue my answer with my experience applied to it.
First, let me say that this answer is based off of my real world experience as an IT consultant working with companies who typically had setups with 2-3 RDSH servers, 1 RDS Gateway server, and 1 broker/license server serving 20-30 users per RDSH server and with a total network size of somewhere between 100-200 users. As Zoredache mentioned for smaller farms best practice, and common practice, is to put the license server on the same server as the Broker. This is done to alleviate network traffic to multiple servers throughout one's infrastructure, and also to avoid server overload (i.e. having too many servers when fewer will accomplish the same task with the same efficiency). All that considered, I feel you are already on the right track. The DNS Round Robin you mentioned earlier is essential for a load balanced farm, and to make the end user's experience a good one. I won't hash that one out as much because basically all you do is what you've already done; you make a DNS entry called (in your case you called it RD) name.domain.internal and give it the IP of one of the servers, then make 2 more DNS entries in the same Zone with the same name but pointing to the other two RDS server's IPs. I wouldn't say that's the starting point, however it's a very big point to not miss or leave out. So, the basic 10,000 foot view of what we need is:
- 1 RDS Broker/License Server
- 3 RDSH Servers
- 1 RD Gateway Server (optional, but I will explain further down the answer why this can be a huge help to any environment)
I will assume that from your original post you have a pretty decent technical level and say that the first thing you need to do is to add the required roles for each server (RD Session Host for the 2-3 actual servers users will be logging on to, RD Connection Broker for the load balanced farm broker, and RD Gateway for remote users logging into your farm) and make sure all Windows Updates have been performed after the addition of these roles. I should also note that the best thing to do for your RDSH servers is to create a blank/base vanilla image with exactly what you want on it and then clone that using whatever imaging/cloning software you like. This avoids unnecessary time wasting by not having to manually set up the RDS servers.
From here, you will want to configure your Broker with its licensing portion. To do that, follow the steps in my link. Next you will set up Round Robin, which you've already done. Then, you will want to tell the RDSH servers where their broker is. The properties for RDP licensing servers and such are in the same location they were in 2008. You will also need to tell each RDSH server that it is a member of a farm. You can do that by opening Administrative Tools > Remote Desktop Services > Remote Desktop Session Host configuration. In the Edit settings area, under RD Connection Broker, double-click Member of farm in RD Connection Broker.
As a side note and to answer on of your sub-questions above, you asked why when you had two Brokers setup you got an error about not having the required info in your RDP file. This is because you haven't set up HA with 2 or more Brokers yet. If you desire to do this follow this guide after you've setup your initial farm: http://thewolfblog.com/2014/02/02/configuring-ha-for-the-remote-desktop-connection-broker/
Once you've completed the above steps you will need to setup Access Policies (RAP and CAP) for your Gateway. You are probably asking what the Gateway is right now and wondering why you need one. Well the short answer is you don't need one, but they come in mighty handy. They essentially let outside users (externally remote from your internal LAN) Remote Desktop to a DNS name such as RDFarm.Domain.Com and then get immediately redirected to their desktop back on the LAN which executives love.
Finally you'll want to test this all out.
The two links I referenced earlier (both by thewolfblog really are the only two things you need to do.
I really do mean when I say that I would love to help you out on each specific step should you need it so feel free to contact me. PS - Site Mods and Admins, I'm new to SE/SF and loving it, but please know that I tried to follow to the best of my ability your rules. All that to say that if I've broken one of them with my answer or done something wrong please let me know and I'll get it fixed right away. Thanks.