VMware View是VMware发布的VDI产品,目前最新的版本是5.0。最基本的VMware View系统包含三大部分,分别是后台的vSphere虚拟化平台、View Connection Server控制端以及相关的网络连接。
在VDI的设计方案中,高可用性是一个必须要考虑的问题,而VMware View的高可用性可以从其三个组成部分中分别考虑。
vSphere虚拟化平台的高可用性已经非常成熟了,依靠vCenter对多台vSphere主机组成的集群进行管理,可以非常完美的实现虚拟化平台的高可用性。
对于网络连接方面,可以通过网卡、交换机、internet接入等的冗余来进行,本文主要讨论View Connection Server控制端的高可用性。
View ConnectionServer
在VMware View中,Connection Server起到的作用是对客户端发起的连接请求进行控制,包括验证,虚拟机的分配,整个View环境的管理,监控和策略的设置,所以其作用非常重要。View Connection Server共有四种角色,分别是Standard Server、Replica Server、Security Server以及Transfer Server。其中Standard Server是整个View环境的大脑,所有的连接都需要通过它;Replica Server是Standard Server的副本;Security Server是放在DMZ区用来验证Internet用户的,验证信息也要发送到某台Standard Server或Replica Server进行,Transfer Server只提供本地模式使用,使用相对较少。
设计高可用性的View Connection Server
在测试或者演示环境中,只要安装一台Standard Server就足够了,但是在生产环境规划和部署时,一方面需要对服务器进行冗余,另一方面,还需要使用多台服务器对大量的连接请求进行负载均衡。
那如何才能在生产环境达到这样的目标呢?
步骤一:安装View Replica Server
View Replica Server作用就是实现Standard Server的冗余,它可以从现有的实例中复制View LDAP配置数据,并与现有的Standard Server保持同步,一旦其它实例发生故障,Replica Server会继续运行,接受客户端的连接,在其它实例恢复后,将数据进行同步,当然也可以起到负载均衡的作用。
View Replica Server的安装过程非常简单,只要在View ConnectionServer安装时选择View Replica Server(如图1),然后选择加入现有的Connection Server(如图2)即可,其它步骤跟安装Standard Server完全一样。
图1:安装View ReplicaServer
图2:将Replica Server加入到现有的实例中
安装好View Replica Server后,不同的服务器实例之间数据保持了一致,终端用户可以使用不同的服务器名称或者IP访问到自己的桌面,当某台服务器不能访问时,用户需要手工切换到不同的服务器或IP进行访问,这一切都是手工完成的,而且无法避免某台服务器用户数量集中的问题。试想一下,如果用户需要记住10台服务器的名称和IP,这绝对是无法接受的。
步骤二:选择自动进行故障切换和负载均衡的解决方案:
1.使用DNS轮询进行故障切换和负载均衡:
这种解决方案的思路是在DNS服务器上使用一个相同的名称创建多条A记录,每条记录指向统一组中不同的standard/ReplicaServer的IP地址,依靠DNS的轮询机制在各台服务器之间实现容错和负载均衡。
实现方法非常简单,规划好客户端访问所需要的名称,然后在DNS服务器上针对这一名称创建多条A记录,分别指向每个实例的IP地址,最后用户只要在View客户端中统一使用这个名称访问自己的桌面。
2.使用Windows的NLB(网络负载均衡)功能在多个服务器之间建立集群。
安装好View Standard Server和View Replica Server后,在每台服务器上安装Windows的Network Load Balance特性,然后建立一个负载均衡的集群,给这个集群一个统一的名称和IP地址,将每台服务器加入到集群中。
在DNS服务器上检查是否有集群名称和其IP的记录,如果没有,手工添加一条集群的A记录。
所有的View客户端只要使用集群的名称或者IP进行连接,后台的多个实例会自动进行负载均衡,如果某台服务器当机,客户端将不会连接到这台服务器。
3.使用专门的负载均衡设备将多个View Connection Server进行容错和负载均衡。
对于要求非常高的用户,他们可能对负载均衡的要求更高,例如对集群中应用程序服务的侦测(如http服务),另外可能需要异地容灾等等,这就需要使用专门的负载均衡设备如Netscaler或者F5这样的产品,每种不同的产品都有自己各自的优势,这里就不详细说明了。
为方便理解,简单列举上述三种解决方案的优缺点如表1:
对于管理员来说,他们对自己的环境都有深刻的理解,采用哪种具体的方案需要对应他们各自的需求和系统的服务级别而定。
另外需要说明的是,在Connection Server的角色中,Security Server跟Standard/Replica Server的配对是一对一的,无法实现集群的保护,这一点在VMware View的规划中也要明确。