Load balancing Citrix Virtual Desktops
Useful resources
About Citrix Virtual Desktops
Citrix Virtual Desktops (formerly Citrix XenDesktops) is a virtual desktop infrastructure (VDI) offering that enables full desktop virtualization.
Citrix XenDesktops was renamed Citrix Virtual Desktops in 2018.
Today, Citrix’s virtualization product suites are Citrix Virtual Apps and Desktops (CVAD) (which Citrix Virtual Desktops forms part of) and Citrix DaaS.
Key benefits of load balancing
Here are a few key benefits:
- Ensures the application is always available
- Provides stable, optimal performance
- Ability to isolate servers which reduces risk when performing upgrades/maintenance
- Scalability
How to load balance Citrix Virtual Desktops
For Citrix Virtual Desktops, using Layer 7 SNAT mode is recommended.
Layer 7 SNAT mode
Layer 7 SNAT mode uses a proxy (HAProxy) at the application layer. Inbound requests are terminated on the load balancer and HAProxy generates a new corresponding request to the chosen Real Server. As a result, Layer 7 is typically not as fast as the Layer 4 methods. Layer 7 is typically chosen when either enhanced options such as SSL termination, cookie based persistence, URL rewriting, header insertion/deletion etc. are required, or when the network topology prohibits the use of the Layer 4 methods.
Because Layer 7 SNAT mode is a full proxy, any server in the cluster can be on any accessible subnet including across the Internet or WAN.
Layer 7 SNAT mode is not transparent by default i.e. the Real Servers will not see the source IP address of the client, they will see the load balancer’s own IP address by default, or any other local appliance IP address if preferred (e.g. the VIP address). This can be configured per Layer 7 VIP. If required, the load balancer can be configured to provide the actual client IP address to the Real Servers in two ways:
- Either by inserting a header that contains the client’s source IP address, or
- By modifying the Source Address field of the IP packets and replacing the IP address of the load balancer with the IP address of the client.
Layer 7 SNAT mode can be deployed using either a one-arm or two-arm configuration. For two-arm deployments, eth0 is normally used for the internal network and eth1 is used for the external network, although this is not mandatory. It does not require any mode-specific configuration changes to the load balanced Real Servers.
Port translation is possible with Layer 7 SNAT mode e.g. VIP:80 → RIP:8080 is supported. You should not use the same RIP:PORT combination for Layer 7 SNAT mode VIPs and Layer 4 SNAT mode VIPs because the required firewall rules conflict.
manual
Admin Manual
Read manualblog
Considerations for higher education institutions rolling out virtual desktops
Read blogother
Load balancing Citrix Virtual Apps
Read otherLoad balancing Citrix StoreFront
Read other