How to: Load balance your VMware Horizon view environment with Kemp Load balancers
In the series how to today the how to load balance with Kemp. VMware environments use a Connection server, the broker, as the first point of contact. VMware does not offer a load balancing option in the product. The options you have is to use DNS Round Robin or a 3rd party load balancer. Our customers use Kemp load balancers to provide this functionality. This short blog is to show you how to setup this functionality.
To understand why you need to setup load balancing a little explanation. There are three option basically;
- No load balancing
- DNS RR
- 3rd party product
With no load balancing you put your faith in the VMware Cloud Pod (assuming you got that) and it’s distribution method. Its a different blog to say how that works but there are nicer methods. When you use DNS to load balance you are using a coin to load balance, it flips either way and that where you are going. It will not check uptime, so if it ain’t working you flip again (F5) and you might end up with a working server. With the 3rd party solution like Kemp you can verify if the server is running, what the load is and so on before you connect the user. I think the choice is clear, you need a load balancer.
I’m not going over the setup of the Kemp, I assume you Kemp is running and you want to setup load balancing for your VMware Horizon environment. Setting up is pretty straight forward, I just want the initial connection to the broker be handled by Kemp. Afterwards the internal client will connect to the desktop directly.
So the task is to setup load balancing over port 443 (https). Browse to your Kemp appliance console address and log on.
- click on “View/Modify Services”
Here you enter the VIP address, which is the address you will enter in DNS later and the one the users/clients will connect to. The VIP address is an IP address. You can set a service name there so you see that the service is about. If there are templates you can use them. There are templates for VMware Horizon but they also configure PCoIP and so on. Last thing is the protocol, as we configure https we use tcp.
Next up are the settings, There are a few settings to take care of, one of them is the “Persistence Options”. Make sure that is set to “Client IP” and not to “Server Cookie” as it is by default. We got two login pop-ups with that settings. So Client IP is the setting you want there. The time-out is something you can configure for your liking.
Browse down to Real servers.
- Click “Add New”
Add all your connection servers, and set the weight and limit to what is needed in your environment. If one server has a lower weight it is seen as not capable of handling as much sessions as the others. So you can make sure that one site gets less sessions than the other.
Below is the screen to add the servers, depending on your deployment you might need to check the box “Allow remote addresses” before you can add the real server.
- Click on “SSL Certificates”
- click on “Import certificates”
The clients will connect to the VIP address and if you don’t have the SSL certificate at that address your clients will generate an error.
- Export the certificate from one of the connection server
- Export with key
- Click on “Certificate File” and connect the export certificate file
- Enter the password in the field that says “Pass Phrase”
- Set a identifier
Now only thing to do is assign the certificate with the service you created earlier.
- Click on “SSL Certificate”
- Assign the certificate to your service
You see that it is at available VSs, there may be more services there with more certificates. make sure you pick the right one.
The last thing to do is add a record to the DNS environment that links a name to the VIP address and your done. It will work instantly and now your VMware Horizon environment is load balanced with a Kemp load balancer. That’s all folks, simple but effective load balancing.