部署基于Citrix PVS的高效稳定的无盘网络架构
2017-09-28王春苗
王春苗
(安徽工商职业学院,安徽合肥231131)
部署基于Citrix PVS的高效稳定的无盘网络架构
王春苗
(安徽工商职业学院,安徽合肥231131)
高校计算机机房,承担了最重要的教学和实训任务。如何向师生提供一个高效稳定的系统和软件环境,一直是实训管理人员所面临的难题。该文首先简要对比和分析三种机房系统环境部署模式,即传统还原卡模式、无盘网络架构、云桌面架构,然后简单介绍Citrix(思杰)的Provisioning Services产品,并详细讲述如何部署基于PVS的无盘网络架构。通过“故障转移”、“负载均衡”、“本地和服务端缓存”、“双活存储”等功能,最终实现高效的、稳定的、易于维护和管理的无盘网络架构。
无盘;PXE;Citrix;PVS;故障转移;负载均衡;双活存储;Active-Active
计算机机房管理技术的发展,经历了“还原卡或还原软件”、“无盘网络”和“云桌面”三种管理模式。还原卡或还原软件模式:简单易用,但是随着硬盘坏道和网络故障的增加,网络克隆的速度和效率会大幅下降。该模式适合于应用简单、更新频率低的机房。无盘网络架构模式:客户机基于PXE等协议实现网络引导和加载操作系统,本地完成运行和计算,客户机运行时的所有临时性数据,也可以存储于客户机的本地硬盘,而服务器仅仅是分发系统数据。由于所有客户机共享一份系统镜像,所以更新效率高。缺点是服务器或SAN存储的磁盘,存在频繁的I/O操作,对网络带宽的需求较大。云桌面模式:作为虚拟化技术的典型应用,目前已经得到了很大程度的推广,所有的处理任务由服务器完成,客户端只接收处理后的结果。优点是系统维护效率高,网络带宽需求较低,后期易于扩展和提升性能。缺点是建设初期成本极高,要求服务器配置高频率多核CPU、大内存,还需要配备专用的SAN存储、光交换、万兆光模块等。
综上所述,如何才能实现机房管理的最大性价比?这是本文将要重点阐述和解决的问题。
1 选择无盘还是选择云桌面
两种模式的选择,无非是在“部署成本”、“可扩展性”、“易于维护性”等方面的对比。云桌面初期部署成本较高,但是后期比较容易扩展,只需要向群集中增加服务器、CPU和终端许可证授权数即可,所以新建机房资金充足的情况下,可以采用云桌面模式。如果现有的机房仍然可用,且资金不足的情况下,建议采用无盘架构。只要能够很好的解决无盘存在的主要缺点,无盘模式的性价比极高。
2 如何部署高效稳定的无盘网络架构
在IT项目维护中,确保高效和稳定的通用方法无非有两种,即“故障转移”和“负载均衡”,这两种方法同样可以很好的应用于无盘模式架构中。本文设计并实际运行了一种无盘架构,从无盘软件、网络、链路、服务器群集、双活存储等多方面,实现了“故障转移”和“负载均衡”功能。
2.1 简要拓扑图
简要拓扑图如图1所示。
图1 简要拓扑图
2.2 分析和设计
2.2.1 计算机机房设计
PC机必须配备支持PXE引导功能的千兆网卡,才能满足主流操作系统如win7、win8的启动带宽要求。如果采用客户端缓存模式,那么客户机需要配备本地硬盘和足够的本地内存容量,如果需要更好的性能,本地硬盘可以使用“消费级”的廉价SSD。机房汇聚交换机通过双链路聚合(2Gbps)分别连接到两台核心交换机,从而实现分流和故障转移的功能。单个机房一台汇聚交换机存在单点故障的问题,故障域局限于机房内部,这个范围是可以接受的。有些机房对故障率要求严格,例如频繁用于考试的机房,可以使用双汇聚交换机。
2.2.2 核心交换机的配置
所有机房的数据流量最终汇聚到核心交换机,所以至少要配备两台高性能三层交换机,具备千兆和万兆接口,具备双电源。每个机房属于不同的vlan,需要在核心交换机上为每个机房规划和配置vlan以及配置vlan接口上的ip参数(作为客户机的网关),vlan接口上开启DHCP中继功能,转发来自于客户机的DHCP广播请求到PVS服务器,然后再由两台PVS服务器上的DHCP服务模块,向客户机提供不重合的ip和双网关地址。对于更高要求的机房应用环境,两台核心交换机还应该通过聚合链路互联。
2.2.3 SAN存储设计
存储架构需求设计:SAN共享存储或NFS共享存储,是整个无盘网络架构的数据承载核心,务必采用“双活”(active-ac⁃tive)存储架构。两台存储通过“心跳网络”互联,数据更新实时同步,面向前端的服务器群集,提供一致的磁盘ID号和统一的虚拟ip地址(根据需求,可配置一个或多个虚拟ip地址)。所以,从前端服务器群集来看,只存在一台“逻辑存储”,通过虚拟ip地址访问这台“逻辑存储”。如果有一台物理存储出现故障宕机,那么访问该存储的所有请求会被重定向到另外一台物理存储,即虚拟ip地址指向的“逻辑存储”仍然是可访问的,从而实现了无缝故障转移。存储性能需求设计:无盘的性能需求包括读取性能和写入性能,原则上应该是“读写分离”的模式,使用多块磁盘配置双RAID组,分别存储无盘系统镜像数据和服务端缓存数据。存储介质采用“数据中心级”的固态硬盘组建“读取RAID组”,采用多块10K或15K转速的SAS硬盘,组建“缓存RAID组”,也可以只使用一块PCI-E接口的固态硬盘用于缓存盘,替代缓存RAID组。实际测试发现,SATA接口的固态硬盘,并不适合接入阵列卡,很多阵列卡不支持固态硬盘的“trim”功能,无法实现“垃圾回收”,写入性能差。缓存类型设计:无盘软件一般都支持“服务端缓存”和“本地缓存”两种类型,选择哪种缓存类型,要根据实际的生产环境。如果机房比较老旧,多数本地硬盘存在坏块或无本地硬盘,那么需要采用“服务端缓存”方式,所有缓存数据存放于服务端的“缓存RAID组”或缓存盘,对于“缓存RAID组”的性能和网络带宽要求较高;如果机房机器硬盘完好或客户端本地配备了固态硬盘,那么建议采用“本地缓存”的方式,这样客户端和服务端、服务端和SAN存储之间,只存在“读取流量”,可以极大地降低服务器、SAN存储的配置要求和部署成本,节约大量的网络带宽。存储网络设计:“双活”存储设备之间、服务器和存储设备之间,应该具备万兆链路带宽;“双活”存储设备之间还应该使用双链路,实现相互的“心跳监测”和数据更新实时同步。配置一台或两台“双电源”、“双主控引擎”的万兆交换机,满足I/O性能需求和解决交换机单点故障问题。SAN存储设备选择:国内外支持“双活”存储架构的品牌设备,大多数非常的昂贵,且对于硬盘的垄断性极高,本文应用“软件定义存储”的理念,选择一款“Open-E DSS”原生存储操作系统,使用两台普通服务器,结合“数据中心级”固态硬盘,即可搭建功能强大的双活iSCSI或双活NFS存储架构,极大地降低了SAN存储的部署成本。RAID类型设计:“双活”存储架构,已经在一定程度上,确保了数据安全性和故障转移功能,所以在RAID类型设计方面,可以偏向于性能需求,“读取RAID组”可以采用RAID 0或RAID 10,“缓存RAID组”采用RAID 0或使用PCI-E接口的企业级固态硬盘。
2.2.4 无盘服务端软硬件设计
服务端硬件需求:至少需要两台物理服务器,才能实现服务器级别的故障转移和负载均衡功能,服务器群集一方面通过万兆链路连接SAN存储网络,另一方面通过万兆链路连接两台核心交换机,对外分发无盘系统镜像数据。如果采用“服务端缓存”类型,每台物理服务器可使用>=4块10K/15K转速的SAS硬盘接入阵列卡,组成RAID0类型,构建“缓存RAID组”,或使用一块PCI-E接口的SSD作为缓存盘,从而大大降低后端SAN共享存储的数据写入压力,真正实现“读写分离”。无盘软件的选择:本文使用Citrix(思杰)的Provisioning Services产品(以下简称PVS),它既是Citrix云桌面产品(XenDesktop)的核心基础,又可以用于独立部署高效、稳定的无盘网络架构。原生支持“故障转移”、“负载均衡”、“服务端缓存”和“本地缓存”等强大的功能。故障转移功能:PVS软件结合域管理员账号,配置和访问“数据库镜像故障转移伙伴”,配合双活SAN共享存储实现故障转移。两台PVS服务器同时也是主要/辅助域控制器,当一台PVS服务器故障,域管理员账号可以访问另外一台PVS服务器的镜像数据库;当故障PVS服务器重新运行后,PVS服务会自动同步镜像数据库和主数据库。负载均衡功能:PVS群集的各成员服务器可配置多引导服务器列表以及磁盘负载均衡算法,客户机在引导时,从列表中选择当前负载更小的服务器加载操作系统,实现所有客户机均匀地分布于各个PVS成员服务器之上。本地缓存功能:PVS软件可配置使用客户机的本地内存和本地硬盘,保存所有的临时性运行数据,极大的降低了客户机和服务器之间的通信流量。如果有少量客户机本地硬盘存在坏块无法使用,客户机会自动切换到“服务端缓存类型”模式,实时数据会写入到PVS软件预设的服务器缓存路径中。服务端内存超级缓存功能:PVS本身不具备服务端内存缓存功能,本文采用第三方软件SuperCache,通过划分一部分服务器内存,用于超级缓存,极大提升了客户端的读写性能,降低SAN存储磁盘的I/O频率。双DHCP服务功能:各PVS成员服务器,都添加DHCP角色,规划不重合的ip地址池,且为客户机分配双网关ip地址,分别指向两台核心交换机。
2.2.5 引导过程、故障转移和负载均衡实现解析
客户机通过网卡的PXE功能,广播查找DHCP服务器和TFTP服务器。机房的汇聚交换机将广播流量同时转发到两台核心交换机,核心交换机的相应vlan接口上,配置了DHCP中继,最终请求被发送到两台PVS服务器。PVS服务根据磁盘负载均衡算法和服务器引导列表,选择某一台成员PVS服务器,向当前客户机提供数据服务,完成后续的操作系统加载。
当发生某一台PVS成员服务器故障的时候,客户机会查找之前已下载的服务器引导列表文件,尝试重新连接列表中的其他PVS成员服务器,由于各PVS成员服务器之间共享相同的数据库镜像和使用SAN共享存储,最终能够实现无缝的故障转移,且对于客户端用户是透明的。
3 测试和结论
客户机开机时间测试:匀速持续开启200台客户机,抽样检查若干台客户机的系统加载时间,普遍小于一分钟。服务端压力测试:客户机开机过程中,服务器4核心CPU占用率持续小于40%;剩余内存无明显降低,耗费约1GB;万兆网络利用率持续小于30%。服务端超级缓存测试:客户机开机过程中,内存超级缓存的“读缓存”利用率逐渐升高,持续高达90%以上,意味着SAN存储的磁盘读操作频率大大降低。负载均衡测试:客户机开机完成后,检查两台PVS成员服务器带机量,大约各自承担一半的客户机。服务端故障转移测试:停止一台PVS成员服务器的数据流服务,客户机自动重新连接到另外一台PVS成员服务器,且对客户端用户透明无感知。网络故障转移测试:关闭一台核心交换机,原先使用该核心交换机通信的客户机,通过备用网关IP地址,访问另外一台核心交换机,最后连接到另外一台PVS成员服务器,该过程对客户端用户透明无感知。双活存储故障转移测试:关闭一台Open-E DSS存储,两台PVS成员服务器的共享存储状态保持不变,PVS服务端操作透明无感知。
综上所述,在计算机机房建设和维护的过程中,通过综合各种“故障转移”和“负载均衡”相关的软硬件技术,可以部署一个高效和稳定的、高性价比的无盘网络架构,提升教学、实训和考试体验。
[1]戴友炜.Windows Server 2008 R2安装与管理[M].清华大学出版社,2011:83-122.
[2]戴友炜.Windows SERVER 2008 R2网络管理与架站[M].清华大学出版社,2011:22-74.
[3]张冬.大话存储终极版[M].清华大学出版社,2015:56-76.
[4]王宁.高校计算机实验室无盘实验教学系统的分析[J].实验室研究与探索,2016,35(12):256-259.
[5]郭学英.基于无盘网络技术的高校计算机实验室改造[J].实验室研究与探索,2015,34(1):242-246.
[6]成贤吉.浅谈无盘网络技术的应用和发展[J].农村经济与科技,2016,27(16):198,286.
[7]朱金惟.基于存储虚拟化技术的双活存储系统设计与实现[J].信息与电脑,2017(1):137-138.
[8]罗世鑫.浅析SQLServer2008数据库维持高可靠性的措施[J].消费电子,2013(12):63.
[9]郑羽.Provisioning Services与XenApp联合组建局域网应用环境的研究[J].计算机系统应用,2010,19(10):261-263.
TP393
A
1009-3044(2017)24-0040-02
2017-07-10
2016年安徽省高等学校质量工程项目——大规模在线开放课程(MOOC)示范项目C语言程序设计(项目编号:2016mooc019);2016年安徽省高等学校质量工程项目——校企合作实践教育基地(项目编号:2016sjjd011)
王春苗(1980—),男,安徽合肥人,实验员,本科,主要研究方向为“虚拟化和基于虚拟化的云计算”、“超融合架构”、“软件定义存储”、“软件定义数据中心”、信息安全等。