移动设备快速地改变传统工作模式,让员工自己携带设备(BYOD)成为势不可挡的新兴潮流,但是就IT管理而言,在安全控管方面却是一项新挑战。Citrix推出从桌面到移动设备的Citrix XenMobile解决方案,并成为该领域的领导者之一。
随着每一种解决方案的发展和成熟,都需要有相应的针对大规模部署和灾难恢复等的解决方案架构出现,或着说在产品设计之初就应该考虑到灾难恢复的场景。本文从XenMobile 10.x的产品版本出发,使用Citrix另外一块产品NetScaler来集成架构和设计基于XenMobile 10.x版本的灾难恢复架构。
本文设计的灾难恢复架构基于两个数据中进行设计,并且考虑每个数据中心内的服务器和软件层面的高可用模式。主要涉及到的产品知识如下:
Windows AD
DNS
NetScaler LB
NetScaler GSLB
XenMobile
Windows SQL Server
其灾难恢复架构下的基本框架如下图所示:
框架说明:
1、本架构使用NetScaler的GSLB技术来进行容灾。在两个数据中心,每个数据中心分别发放置Citrix NetScaler的硬件设备,构建全局的负载均衡GSLB。GSLB在数据中心构建DNS资源池,在正常情况下,Site1为主数据中心,Site2为灾备中心,所有的业务会被NetScaler发往Site1,当Site1出现故障的时候,GSLB进行网络切换,将流量切换至灾备数据中心Site2。
2、两个数据中心之间的网络是相互联通的,便于进行网络切换和进行数据配置的同步。并且每个数据中心都需要提供4个公网IP地址来进行配置使用。
3、移动设备在公网上统一注册的域名为enroll.silitone.com,并通过公网域名nsg.silitone.com建立应用级别的m×××。
数据中心内部软件层面XenMobile组件设计
在生产环境中,Citrix 建议采用群集配置部署 XenMobile 解决方案,以实现可扩展性和服务器冗余目的。部署 XenMobile组件:
NetScaler:使用NetScaler设备来负载XenMobile集群服务器,并且是移动设备和后端服务器之间建立的通道使用×××。为了保证NetScaler的高可用,使用至少2台NetScaler设备构建HA或着集群。
XenMobile。XenMobile服务器是一个封装好的VM,即虚拟机,下载之后直接导入到底层服务器虚拟化平台之上,配置基本的IP地址和一部分初始化信息之后即可正常运行。初始化后就可以在 XenMobile 控制台中配置策略和设置,以允许用户注册其移动设备。也可以配置移动应用程序、Web 应用程序和 SaaS 应用程序。移动应用程序可以包括 Apple App Store 或 Google Play 中的应用程序。用户还可以连接到您通过 MDX Toolkit 打包并上载到控制台的移动应用程序。为保证XenMobile服务器本身的高可用性,采用2台XenMobile服务器构建集群。
Active Directory:采用Windows Active Directory认证。为了保证高可用性,在两个数据中心,分别构建2台AD服务器。采用双主方式进行设计,每个数据中心各放置的2台AD控制器,其中各有一台AD主域控制器和一台备用预控制器。
SQL Server:XenMobile的配置和策略等信息存储在数据库中,支持SQL Server数据库,本架构采用SQL Server 2014版本。为了保证高可用我们采用Always On技术保证SQL高可用。每个数据中心放置一台SQL Server 2014服务器,总计2台组成Always On集群。如果规模较大,为了并发和负载,可以放置2台SQL服务器,总计4台SQL Server组成Always On集群。
License:每个数据中心一台,其中灾备中心License做冷备。
集群部署模式如下图所示:
因此Site1的规划表如下:
Site2的规划表:
数据中心内部软件服务层面集成NetScaler高可用设计
在服务层面,我们需要安装常规在数据中心内部的部署,给MDM和MAM设置负载均衡和给NSG设置
Site1的NetScale的vServer设置:
Site2上NetScaler上的设置
配置NetScalerGSLB设计XenMobile灾难恢复
假如Site1站点有如下4个可以的公网IP地址:
50.97.93.43
50.97.93.44
50.97.93.45
50.97.93.46
Site1的GSLB设计
假如Site2站点有如下4个可以的公网IP地址:
75.126.153.43
75.126.153.44
75.126.153.45
75.126.153.46
Site2的GSLB设计
上述配置设计完成后,将Sitei1上的NS1的GSLB vServer enroll设置一个备份服务器,该备份服务器指向Enroll_DR。同时将GSLB vServer NSG设置一个备份服务器,该备份服务器指向NSG_DR。
同理可得,在Site2上的是NS1的GSLB vServer Enroll_DR设置一个备份服务器,该备份服务器指向enroll。同时将GSLB vServer NSG_DR设置一个备份服务器,该备份服务器指向NSG。