- 连接服务器的负载均衡需求
- Horizon 下的网络连接
- 在 Horizon 环境中共有两大类流量:
- 用户认证流量(HTTPS):用户登陆时的身份认证均使用此协议传输。认证功能由 CS 提供,在 Horizon 下 CS 本身默认提供 TLS 加密功能(还记得第一篇中给 CS 准备证书吗?),如果要给 CS 配置负载均衡,则要做端到端的 TLS 加解密;
- 虚拟桌面流量:用户访问 VDI/虚拟应用时的流量,以及多媒体重定向、USB 重定向等功能的流量。共包含 RDP、PCoIP、Blast、MMR/CDR、USB 重定向等 5 种协议,每协议在不同的配置下可能使用不同的端口。其中 RDP、PCoIP、Blast 用于传输桌面的流量,一般使用 Blast 协议。MMR/CDR 分别表示多媒体重定向和客户端驱动器重定向。
- 当在纯内网中使用 Horizon 时,可以只部署 CS。如果不开启 CS 的安全网关功能,则 Horizon Client 直接和 VDI VM 通信传输桌面流量;如果开启了 CS 的安全网关功能,则认证流量和桌面流量均需要通过 CS 进行传输。
- 在不同桌面协议下,使用的端口可能不一样,同时辅助协议的端口也可能不一样。比如设置虚拟桌面使用 Blast 协议时,Blast 使用 22443 端口,MMR/CDR 也会复用 22443;但是使用 PCoIP 协议时,PCoIP 使用 4172 端口,MMR/CDR 则使用 9427 端口,不和桌面流量复用端口。
- 开启 CS 的安全网关功能后,客户端到连接服务器的端口又和直连 VDI 的端口不一样。比如关闭 CS 安全网关使用 Blast 时,Horizon Client 到 VDI 使用 22443 传输 Blast 及 MMR/CDR,使用 32111 传输 USB 重定向流量;而开启 CS 安全网关使用 Blast 时,Horizon Client 到 CS 使用 8443 传输 Blast 及 MMR/CDR,复用 443 传输 USB 重定向流量,CS 到 VDI 使用 22443 和 32111。
- 网络连接这块内容比较复杂,但对于排错和配置负载均衡器至关重要。为了更加直观地表示不同配置下流量路径,我绘制了下面两张图:
- 在 Horizon 下,仅能对 CS 的认证流量进行负载均衡,安全网关的流量不能进行负载。如果开启了 CS 安全网关功能,则认证流量和桌面流量必须经同一台 CS 处理。
- 为 CS 配置负载均衡后,流量路径如下两张图所示:
- 基础的概念就讲这么多,我们来看看使用 NSX ALB(又称 Avi)如何为 CS 配置负载均衡功能。
- 为 Horizon 连接服务器配置负载均衡
- 1. 为 CS 创建 SSL 配置文件
- 2. 为 CS 创建运行状况监控器
- (可选)通过 PKI 配置文件来开启 CS 的证书验证
- 3. 为 CS 创建池
- (可选)通过 PKI 配置文件来开启 CS 的证书验证
- 4. 为 CS 创建新的应用程序配置文件
- 5. 为 CS 创建服务器证书
- 在“模板>安全性>SSL/TLS证书”中创建新的应用程序证书:
类型选择导入:
分别导入证书和私钥,然后保存即可:">
类型选择导入:
分别导入证书和私钥,然后保存即可:- 第一篇文章中我们使用 KeyManager 为 CS 生成了证书,此处可以将上次生成的证书导出为 pem 格式供 NSX ALB 使用。">注:第一篇文章中我们使用 KeyManager 为 CS 生成了证书,此处可以将上次生成的证书导出为 pem 格式供 NSX ALB 使用。
- 6. 为 CS 创建虚拟服务
- (可选)创建 HTTP 安全策略阻止用户访问 admin 页面
- 7. 在 CS 中信任负载均衡的域名
- 当为 CS 配置负载均衡后,通过网页访问虚拟桌面时会报如下错误:
- ">
内容如下:
balancedHost=cs.halfcoffee.com">
这是因为默认 Horizon 只允许通过 CS 的域名来进行 Web 访问,当使用了负载均衡后需要修改 CS 的配置文件。
在 CS 的安装路径找到此目录“VMware\VMware View\Server\sslgateway\conf”,创建名为 locked.properties 的文件:
内容如下:
balancedHost=cs.halfcoffee.com- ">
然后重启 Connection Server 服务:
为所有 CS 执行上述同样的操作。
">
为所有 CS 执行上述同样的操作。
- 8. 内网用户访问测试
- 9. 高可用性测试
- 附件:连接服务器的安全网关功能