王海欢 张小邨 江苏省广播电视总台
江苏省广播电视总台IPTV平台系统2011年建设成功并上线运行,2012年5月正式上线投入使用。整个业务平台至2018年已运行6个年头,先后建设了集成播控央视1号平台、联通多运营商集成播控平台、业务管理平台、内容制作服务平台、C3统计分析平台等多个平台,对外与央视总平台、电信、联通及多家上游内容提供商等单位的技术系统实现互联。目前IPTV主体6F机房有服务器236台,机房供电负荷容量接近饱和。为了满足未来业务日益发展,充分挖掘物理服务器计算存储资源的使用效率,简化服务器配置维护复杂度,优化IPTV信息基础架构平台的可靠性,江苏省广播电视总台在建设多运营商IPTV业务平台时,采用集群虚拟化技术构建了高效IT信息基础设施平台(以下简称虚拟化平台)。
整个虚拟化平台基于VMWARE VSphere产品包进行构建,包括宿主机群、虚拟化适配调度层、虚拟机层、业务应用层及虚拟调度管理层。虚拟化平台总体架构见图1。具体组件功能如下:
图1 虚拟化平台总体架构
采用装载固态盘及机械盘及多种用途的光纤、以太高速网卡的DELL 740R服务器,提供虚拟化平台计算、存储的物理化设备资源支持及实现高性能的网络传输通道。
资源虚拟化层包括基础设施子层和应用服务子层,基础设施层完成对物理宿主机上计算、存储、网络组件进行适配并抽象成标准计算、存储、网络组件,供应用服务层根据用户需求构建所需的虚拟机设备和应用各种管理调度策略。虚拟化平台资源虚拟化层基于VMware ESXi组件及VSAN插件,ESXi 直接安装在物理服务器上,实现了基于裸机 hypervisor,并将其划分为多个虚拟机。
平台虚拟出的计算虚拟机、虚拟交换机、虚拟网卡及虚拟存储资源的集合。本次项目根据IPTV业务需要,分别构建了包含上述类型资源的集成播控、业务管理两个虚拟化资源池。
运行于虚拟机上集成播控平台应用、业务管理平台应用及应用高可用组件。
整个虚拟化平台采用VMWARE Vcenter集中管理组件作为配置和管理虚拟化 IT 环境的中央点。它提供基本的数据中心服务,如访问控制、性能监控和警报管理功能, 提供资源调度策略的配置及根据虚拟机运行状态进行集中调度控制。
管理客户端包括窗口式和web网页管理两种模式,实现对宿主机、虚拟机资源管理及调度的展示和操作。
整个IPTV虚拟化平台在系统选型和设计上具有高可靠、弹性可扩展、高性能等特点。
IPTV虚拟化平台包括四部分不同角色的网络区域:
由两台千兆H3C 5500堆叠而成,每台服务器同时与两台H3C 5500上联,承担vmware虚拟化vcenter 的管理和虚拟机运行状态数据传输,用于Vcenter 对集群管理池中虚拟机及资源的调度,同时还包括虚拟机间业务系统双机高可用的心跳连接。
本次虚拟化规划为集成播控平台和业务管理平台两个独立的虚拟机池,其中集成播控集群连接到IPTV两台Cisco 4500组成的集成播控服务器接入交换机。运维管理集群的各EXSI宿主机连接到由两台Cisco 6800组成的业务管理平台接入交换机。
用于连接一台宿主机内或跨多台宿主机的多台虚拟机之间数据交换的虚拟化交换网络,包括vSwitch标准交换机和 vDSwitch分布式交换机及与之相连的宿主机物理网卡。
图2 应用数据虚拟交换机
图3 虚拟化交换物理互联网络
专用交换网络在宿主机内部配置基于VMkernal端口的分布式交换机,在宿主机之间由两台H3C 6600堆叠而成,通过全万兆端口与宿主机连接,承担VSAN中宿主机间虚拟机迁移(vMotion)的状态数据、卷信息同步及跨宿主机I/O交互、虚拟机管理程序管理流量的实时通信。虚拟化交换物理互联网络如图3 所示。
为了实现虚拟化平台高性能、易扩展的需要,项目组采用VMWARE Virtual SAN技术构建了基于虚拟机映像文件的虚拟化SAN存储系统。通过专用10G网络提供EXSI宿主机节点间存储状态信息的同步,VSAN组件可将所有宿主机节点的本地存储池化为一个集中的SAN数据存储,供虚拟机及其虚拟机磁盘文件VMDK存储使用,并可以基于共享数据存储实施虚拟机数据冗余、虚拟机高可用等多种策略。本次IPTV业务系统虚拟化主要对大量非数据库类实体服务器应用迁移到虚拟机上,考虑性价比,宿主机本地存储采用SSD+机械硬盘的物理存储组件。每个服务器节点采用12块硬盘,其中两块SSD作为数据读写缓存,十块HDD硬盘作为永久数据存储容量设备,两块HDD作RAID1安装ESXI系统,整个虚拟化存储扩展包括下面两个维度:
在单个宿主机中考虑到需要部署大量虚拟机,故进行了本地存储的扩展,每一块SSD硬盘和五块HDD硬盘(最多支持七块)组成一个磁盘组,每个磁盘组作为VSAN物理存储的故障域,当组内的SSD硬盘或HDD硬盘出现故障时,故障只会限制在本磁盘组内及相关的虚拟机文件存储,不会影响到其它磁盘,每台物理主机存储纵向扩充为两个磁盘组,实现了容量主机内容量扩展。
10台集成播控和业务管理两个业务平台资源池,对应构建了两个各五台的VSAN 集群,每个集群配置5 台宿主机,每个业务系统的所有虚拟机可在集群内共享计算存储及虚拟网络资源,并可根据业务发展需要扩充集群内主机节点数,实现横向CPU计算资源和存储资源的同时扩展。
所有虚拟机的读写I/O均指向SSD,对于来自虚拟机的数据读操作请求,与外部SAN一样, VSAN是将SSD作为读写缓存使用。当块被写入基础数据存储后,最先写入SSD,如果是不经常访问的数据,则会重新分配到(旋转的) HDD中。在进行读操作时,如果数据在SSD缓存中,则只需对缓存中的数据进行读取,缓存中没有命中的数据再到HDD数据盘中查找读出。
图4 基于SSD缓存磁盘组的读写操作
本次IPTV虚拟化平台上承载了集成播控、业务管理两大基础业务平台,涉及IPTV新闻、综艺点播节目的集成发布、终端用户登录认证、EPG认证鉴权、业务计费等关键业务,任何平台应用的中断都会导致严重的安全播出事故和用户的投诉,为此在整个IPTV虚拟化系统中,我们规划设计了多种层次的系统高可用策略,以保障业务应用连续不中断的健康运行。
VMWARE vSAN数据存储上采用的vmfs文件系统是一种分布式对象集群文件系统,该系统允许多台ESXI主机同时读写同一存储设备,主要用作虚拟机文件的存储库。其上的虚拟机是由大量不同的存储对象组成的,如VMDK、虚拟机交换文件、增量盘(快照)和虚拟机名字空间。这几种对象按照相应的VMFS对象采用VSAN的分布式RAID策略,可以采用镜像、条带化及上述组合方式存储到后台不同主机的不同磁盘里,以保证虚拟机文件存储的高可用性和性能。VSAN分布式RAID提供了将虚拟磁盘散布到不同主机、磁盘组上。本次项目Virtual SAN设置了以5台宿主机为一个集群组,配置主机之间使用RAID-1(非传统RAID),基于虚拟机三副本策略,具备最多可以容忍2台虚拟机存储文件出现故障而不会丢失任何数据。
虚拟化平台通过将多台主机组建成一个故障转移集群,启用vSphere HA服务,在集群虚拟机失效时自动重启备用虚拟机文件,保障运行在集群上的服务(或VM)不会因为单台主机的故障而停止。
在 vSphere HA 群集时,会自动选择一台宿主机作为首选主机。首选主机可与 vCenter Server 进行通信,并监控所有受保护的虚拟机以及从属主机的状态。宿主机持续监控其上的虚拟机运行状态(通过虚拟机中Vmware Tools实现主机向虚拟机发送检测信号),并在检测到故障时,通过在群集内的其他主机上重新启动虚拟机的副本,防止服务器故障引起虚拟机无法继续运行,若故障虚拟机是首选主机,则宿主机服务器集群重新选举首选主机,以保持vSphere HA的虚拟机健康状态检测机制的完整性。由于虚拟机可充当应用程序的移动容器,出现故障时,应用程序实现了在宿主机之间迁移。
图5 VSAN虚拟化RAID三副本
图6 vMotion动态迁移
整个虚拟化平台启用vMotion和动态资源分配技术,vMotion技术可以在业务服务不中断情况下,从一台ESXI主机向另一台ESXI主机执行实时迁移。
vMotion的迁移需要集群内的宿主机可以访问到集中存储,虚拟机的存储文件部署在共享VSAN存储上,一台虚拟机的计算资源可以位于某一台ESXI主机上,而其虚拟机存储文件可能在组成VSAN存储的另外一台ESXI主机上,基于VSAN存储系统和VMFS集群对象文件系统保证了虚拟机文件存储迁移的位置无关性。
vMotion的计算资源迁移包括CPU和内存资源的迁移,当发生迁移时,迁移源宿主机将虚拟机的内存数据复制到内存位图文件,通过VMkernal接口及10G VSAN专用交换网络进行传输。传输完成后,在目标宿主机上启动虚拟机应用内存位图文件到目标宿主机内存,完成虚拟机计算资源的迁移。
由于vMotion具备虚拟机不中断业务情况下在宿主服务器上进行迁移的能力,结合动态资源调度DRS服务,实现集群服务器组中虚拟机计算资源自动负载均衡;也可用于简化宿主机硬件维护流程,通过将待维护的宿主机上活动虚拟机进行热迁移到其它宿主机上,从而实现不停机、不中断业务运营的情况下执行硬件下线和其它检修维护。
由于vSphere HA只能对宿主机、虚拟机级组件的状态和故障进行监测和故障切换,对于虚拟机内的业务应用级故障无法做到实时监测和故障切换。整个VMware vSphere 的高可用策略在故障发生时,通过重启备份虚拟机文件来恢复故障,故存在一定停机故障恢复时间。为此我们在VMware的高可用方案基础上继续保留业务系统自身的双机HA方案,通过设置同一业务的主备双虚拟机不在同一宿主机上的资源分配策略,和连续堆叠管理交换机的网络连接实现业务应用状态心跳的同步,保障出现业务应用级故障时,业务应用在不同物理宿主机上的虚拟机间切换。Vsphere中配置同一应用的主备双虚拟机不在同一宿主机策略见图7。
图7 Vsphere中配置同一应用的主备双虚拟机不在同一宿主机策略
作为整个虚拟化平台的系统管理中心,vCenter对整个虚拟化平台的主机、网络、存储的实体和虚拟化资源进行多种维度分层视图展示,清楚地表明了主机、虚拟网络、虚拟存储资源的关系。集中管理EXSI宿主机、虚拟机及虚拟化存储资源的运行状态,汇聚各虚拟机、宿主机的运行数据,提供管理客户端进行数据展示、统计分析等。通过对上述运行数据的分析判断,vCenter Server为虚拟化平台IT环境各存储、高可用、安全防护组件提供操作自动化、资源优化、资源占用趋势预测的数据支撑。配置安全的访问控制机制、强大的权限管理机制以及与Microsoft Active Directory 的集成,可以严格地限制对虚拟机的访问,可确保任何未经授权的用户都无法访问管理服务器及其虚拟机。