尽管今天虚拟桌面架构(VDI)已经被普遍接受,但是我个人依然认为虚拟桌面池的方式就如同把所有的鸡蛋都放到了一个篮子里面。换句话说,如果发生故障,那么所有的用户都将无法访问他们的桌面系统。坦率地讲,VDI发生故障对最终用户产生的影响就如同发生电力故障一样。因此,对于所有的VDI部署过程,创建一定程度上的容错机制是非常关键的一步。
VDI部署过程中的容错系统创建过程往往要比客户初始的构想要复杂得多。创建真正容错系统的唯一途径,就是设计一个不存在任何单点故障部分的全冗余网络。因为在基于Windows的VDI部署环境中存在多个不同的服务器角色,所以在我们的容错解决方案中也必须包含所有的这些角色。
受篇幅限制,我们无法对每个服务器角色实现容错的方法逐一详细讨论。因此,这里,虚拟化作者Brien M. Posey只是列举出在基于Windows Server 2008 R2创建的VDI系统中,对于每种服务器角色而言最常用的容错解决方案。
远程桌面网关服务器
很不幸,微软并没有为远程桌面网关服务器提供容错解决方案。而好消息是网关服务器并不是所有的环境都需要,只有当我们需要对外网客户提供虚拟桌面池访问能力的时候才有需求。
如果您的网络环境确实需要网关服务器,那么***的办法就是同时部署两台并行的网关服务器,然后通过DNS服务器对它们的轮询来实现负载均衡。请理解,这种方式并不能保证在故障发生后,用户不会收到来自服务器端的的错误提示。然而,至少它可以保证外部的客户不会完全失去跟桌面系统的联系。如果外部客户可以尝试足够多的次数,他们最终还是可以连接到其中仍然可用的那台网关。
远程桌面授权服务器
在部署VDI容错系统时,很容易遗忘的就是授权服务器,但是授权服务器发生故障并不会导致严重的停机。如果授权服务器宕机,那些没有获得远程桌面许可的用户或是现有许可过期的用户将无法访问到虚拟桌面池。
微软并没有为远程桌面授权服务器提供真正的容错能力。而作为替代的是,他们建议客户部署两个授权服务器,然后在两个服务器上各放置一半的用户授权文件。这种架构下,即使授权服务器宕机也不会导致完全的停机。
远程桌面连接Broker服务器
和其它类型的服务器不同,远程连接Broker服务器可以部署为故障切换集群系统。而集群系统可以保证为这一服务器角色提供真正的容错能力。
远程桌面会话主机服务器
不幸的是,对于远程桌面会话程序主机服务器也没有实现真正容错的方法。例如,远程桌面会话主机无法安置在故障切换集群系统中。微软建议用户同时部署多个并行的会话管理主机,然后借助连接Broker服务器实现这些主机之间的负载均衡。这种方式不能保证用户会话程序在故障发生后不中断,但是用户可以通过重启操作来重新建立会话连接。
谨记,由于负载均衡方式的部署用来实现一定程度的容错,因此对于会话主机服务器而言,一定要确保具备足够的计算资源,可以在一台主机失效后具备接管增加部分工作负载的能力。
Hyper-V服务器
虚拟桌面池中的虚拟机都是寄居在Hyper-V主机上的。您主要有两种实现Hyper-V容错的方式。一种是通过创建故障切换集群系统,另外一种就是创建基于共享存储的集群。
我的建议是使用故障切换集群而不是共享存储。这种方式可以避免存储阵列成为单点故障。
您应该已经了解到微软的VDI解决方案在一定程序上缺乏容错机制。而通过使用负载均衡方式,我们还是可以做一些部署以防止发生完全停机的状况。
【编辑推荐】