广州橡树基于教育网云计算平台建设《参考方案》

2017-6-17 07:51| 发布者: andy| 查看: 445| 评论: 0


一、方案概述
本方案作为各地区建设教育网云计算平台的参考,立足于已有的网络条件基础上,实现可伸缩、可升级、兼容原有系统的区域性云计算平台,从而使IT基础设施、教育资源和网上应用能够适应日后的虚拟化并行计算、移动互联网的发展趋势,并且进一步实现跨地区的云计算平台互联。
为避免一步到位带来可观的建设成本、技术难度和实施风险,本方案按照循序渐进、平滑升级的原则,先提供一个易于实现的入门级云平台设计(B平台),再提供一个完整的高级云平台设计(A平台)。从入门级的云平台可以逐步升级到高级云平台,其中的模块设计可以自由搭配。
方案设计特点如下:
1、充分利用现有网络资源,不区分教育网和公众互联网(含移动互联网)的具体差别,设计内容主要集中于云计算平台软硬件系统和内部网络虚拟拓扑。
2、平台主要采用开源软件搭建,但也提供商业化的替代方案作为参考。对于替代方案,技术问题由相应的供应商、集成商解决。
3、云平台采用分层架构,硬件支撑与虚拟机的运行层次分离,在业务层面消除硬件设备的差异性。
4、各种原有的IT系统可以迁移到云平台上继续运行,原有的硬件也可以纳入云平台中作为支撑设备。
5、内部、外部系统接口采用现有的开放接口,并尽量保持简单,以便于系统之间、各地区云平台之间互联互通。

二、入门级:B平台设计
以下介绍B平台(入门级云平台)从总体到局部的设计,平台的软件系统部分能够用开源软件及自主开发的软件来实现。其中,设计图所标注的编号与标题的编号相对应。
B平台的系统配置可以根据业务量的不同而灵活掌握。作为示例,提供一个简单的B平台软硬件系统一览表:

基本配置 用途
硬件 存储服务器:双核以上的CPU,4GB内存以上,500GB以上RAID 5/RAID 0+1,共2台以上,总存储容量根据业务需求而定。
建议:总存储容量10TB以上。 充当支撑层的存储设备,安装VirtualBox虚拟机,成为iSCSI设备 
虚拟机服务器:双核以上的CPU,4GB内存以上,共2台以上,总内存容量根据虚拟机数量而定。
建议:总内存容量32GB以上。 充当支撑层的运算设备,安装VirtualBox虚拟机,运行业务层的各种应用
交换机:千兆以上交换机 保障iSCSI访问性能
软件 操作系统:Ubuntu Linux
替代选择:Windows 提供支撑层设备的操作系统(包括设备自带的系统)
虚拟机软件:Oracle VirtualBox
替代选择:VMware 提供云平台的虚拟机功能
数据库软件:MySQL
替代选择:Oracle、SQL Server 提供数据库功能
Web服务软件:Apache
替代选择:Microsoft IIS 提供Web服务功能
虚拟机管理软件:OpenStack Nova
替代选择:VMware vCenter Server 提供虚拟机管理功能

B1. 总体架构设计
本平台是分布式虚拟化计算平台,总体架构如下图所示。

 

总体架构的特点如下:
1、采用双层虚拟网络(业务层/支撑层),业务层由虚拟机组成,支撑层主要由真实设备组成。
2、支撑层只为业务层提供虚拟机运行的计算资源,不直接对外提供云计算服务。支撑层与外部网络在逻辑上隔离。
3、业务层与外部网络连接,外部网络的智能终端能够访问到业务层的虚拟机提供的云计算服务。
4、业务层通过虚拟机提供外部接口与各种外部系统相连,能够实现本平台与外部系统之间的数据交换。
例:外部系统能够通过访问外部接口的MySQL数据库,实现数据的输入输出。
5、支撑层能够支持业务层虚拟机的计算资源分配、虚拟机复制与迁移。
例:业务层的虚拟机Web服务器能够分布在支撑层的多个不同地点的硬件设备上,能够从一个设备迁移到另一设备。

B2. 虚拟网络分层架构设计
本平台沿用虚拟化网络双层架构(业务层/支撑层),如下图所示。

 

这种双层架构是使用了多年的虚拟化计算通用架构,优点是提供服务的虚拟机成为独立一层,与底层的真实设备相分离,兼容性强,可以沿用已有的设备,又可以无缝升级到新的硬件,而虚拟机层的业务不受影响。
业务层的虚拟机可采用VirtualBox(替代方案:VMware商业软件),同时支持其他地区的现有系统移植到这一层的虚拟机上。对于外部网络而言,各种具体技术方案没有区别,是作为一个整体的教育云平台在提供服务。这个虚拟的业务层对各地区现有的系统有较强的兼容性和包容性,有利于系统的移植和日后的平滑升级。
支撑层的硬件设备群组同样具有伸缩性和灵活性。基本配置是带RAID磁盘阵列的服务器,可以扩展成刀片服务器、NAS网络存储设备等。由于支撑层纯为业务层的虚拟机提供计算资源,不参与具体的业务运行,所以从外部网络看不到支撑层。支撑层的设备升级也不会影响到业务层的虚拟机运行。

B3. 外部接口方案
为了实现云计算平台与其他外部系统的互联,本平台在业务层采用中央数据库(核心)加上分布式接口数据库(外围)的方案,如下图所示。

 

接口方案需要考虑到最大限度地兼容各地区的外部系统,减少接口开发、部署的难度。本方案不使用复杂的、自己定制的接口,而是采用简单、通用的数据库接口,包括3种:MySQL数据库接口、ODBC通用接口、JDBC通用接口。只要定义好接口数据库的表格式,外部系统就可以直接访问接口数据库,实现数据交换。
中央数据库是本平台真正用来运作的数据库,用途包括数学模型分析计算、内容推送、业务运行、统计报表等。各接口数据库的交换数据经过统计分析服务器组的加工整理,以统一的格式进入中央数据库。平台运行过程中得到的数据,又会有选择性地从中央数据库输出到接口数据库中,供外部系统使用。

B4. 支撑层架构设计方案
支撑层通过平台内部接口(虚拟机接口/网络存储接口),为业务层的虚拟机运行提供各种存储资源、计算资源和网络传输资源。支撑层架构如下图所示。

 

本平台的基本配置下,支撑层采用2台以上带RAID磁盘阵列的服务器作为共享存储设备,2台以上内存容量较大的服务器作为虚拟机运行设备,可以支持初级的云平台服务功能。根据云计算应用量的增长,需要逐步添加更多性能更强的设备。
支撑层的主要特点如下:
1、与外部网络在逻辑上隔离,不直接对外提供服务,只为业务层的虚拟机运行提供各种硬件资源。
2、具备硬件异构系统的兼容性,能够支持各种不同的硬件设备,通过统一的平台内部接口,向业务层的虚拟机提供硬件资源。
3、通过硬件冗余备份提供容错运行的能力,当硬件设备发生故障时,业务层的虚拟机能够继续正常运行。硬件的替换、扩容、升级不会影响业务层的正常服务。
4、支持业务层的虚拟机对硬件资源的分割、分时使用和资源过度预分配。资源过度预分配可以使业务层的虚拟资源总和,超过支撑层实际提供的硬件资源之和(包括存储空间、内存空间、计算资源等),而本平台仍然能够正常运行。而支撑层只有在必要的情况下,才需要对硬件设备进行扩容升级。
例:业务层虚拟机的总存储容量为100TB,而支撑层的硬件设备实际只提供了50TB的存储量。只要虚拟机实际已使用的存储容量不超过50TB,本平台都能够正常运行。当实际已使用存储容量达到40TB时,需要对硬件设备的存储空间进行扩容。

B4-1. 网络存储接口
支撑层通常不直接向业务层的虚拟机提供数据接口,而是为虚拟机软件本身(例如VirtualBox)提供网络存储接口,通过虚拟机软件来存取各种虚拟机磁盘映像(例如VDI/VMDK文件)。从而业务层的虚拟机在访问自身磁盘的过程中,实质上间接使用了支撑层的网络存储功能。
支撑层网络存储接口如下图所示。

 

本平台的基本配置下,用存储服务器安装VirtualBox虚拟机,虚拟机系统中安装Linux和iSCSI target软件,形成虚拟的iSCSI设备。用多个虚拟iSCSI设备为业务层的虚拟机提供存储服务。
支撑层网络存储接口的特点如下:
1、访问接口的虚拟化。网络存储接口虽然位于支撑层,但却不是真实设备,而是以虚拟机的形式构造出来的。这样可以把接口灵活配置到各地,并且方便升级和迁移。
2、存储接口的统一化。通过虚拟机形式的一致性存储接口,屏蔽底层硬件设备的差别,使虚拟机软件能够以统一的方式(例如iSCSI)访问支撑层,方便本平台在各地区的部署和维护。
3、共享存储本身的虚拟化。不但存储接口是虚拟的,而且共享存储本身也不是直接由硬件设备提供,而是通过虚拟机来实现。由真实设备虚拟出结构简单、功能单一的支撑层虚拟机,用来划分硬件存储资源,再由虚拟机整合成分布式存储系统。从而有利于分配和管理资源,负载均衡以及隔离故障。
例:支撑层形成多台虚拟磁盘空间和内存都比较小的虚拟机,称为虚拟单元,由虚拟单元充当iSCSI存储设备。

B4-2. 虚拟机接口
虚拟机软件是实现本平台的双层虚拟网络架构的关键所在。支撑层的各种硬件设备资源(包括存储容量、内存空间、CPU/GPU计算资源、网络带宽等)通过虚拟机接口统一分配、统一调度,划分给多个虚拟机(包括业务层和支撑层)动态使用。
虚拟机接口的设计如下图所示。

 

由于需要支持虚拟机对硬件资源的过度分配,因此会出现两种层次的资源容量:业务层的虚拟资源容量、支撑层的真实资源容量。虚拟资源容量可以大于真实资源容量(即过度分配),只要虚拟机实际使用的资源总量没有超过真实资源容量,双层架构平台就能够正常运行。
支撑层的真实设备资源以一块块的形式提供给业务层,业务层的虚拟机同样一块块地分配使用虚拟资源。但虚拟资源块并不等同于真实资源块,而是重新打包组装的,从而能够支持过度分配。
例:真实设备提供虚拟的iSCSI设备,每个存储分区即1个真实资源块是18GB。而1台虚拟机即1套虚拟资源块可能包括2个CPU核、256MB内存和72GB的系统磁盘空间。
业务层的虚拟机监控管理平台应能够对虚拟资源容量、真实资源容量以及实际已使用的资源容量进行有效监控管理,能够统计、预测虚拟资源容量与真实资源容量的合适比率。当实际已使用的资源容量达到真实资源容量的一定比例时,能够及时通知需要硬件升级扩容。

B5. 业务层架构设计方案
本平台的总体架构中,虚拟化网络分成了业务层、支撑层两个层次。业务层用虚拟机集群来实现,可以做到硬件资源的灵活配置和调整。具体的业务层应用可根据各地区的实际情况来制订个性化方案,保障平台的兼容性、包容性。而中央数据库则可以避免各系统的数据分割,使整个平台的信息数据能够统一起来。
本平台的一种典型虚拟化应用方案如下图所示。

 

采用LAMP虚拟机充当多功能服务器,能够提供Web服务器、应用服务器、数据库服务器的功能。同时,使用OpenStack对虚拟机进行管理。
其中,虚拟机硬盘映像文件并不直接存储到支撑层服务器的本地硬盘,而是通过iSCSI接口存储功能保存到iSCSI target虚拟机中。这样就实现了虚拟机自身数据的共享存储,从而在今后云平台升级为分布式存储时,业务层无须任何改动。
以上设计可以全部基于开源软件的方案,虚拟机软件采用Oracle的开源软件VirtualBox(替代方案:商业软件VMware)。
    此外,本平台还支持各地区现有不同系统的升级移植,把各种应用整合到云平台业务层的虚拟机中。
最简单的应用移植方案:直接把各地区的现有系统安装、迁移到业务层的虚拟机中,使系统继续运行。也就是将原来的各种外部系统虚拟化,在本平台中运行。
升级改造方案:
1、建设统一的门户入口,把各种虚拟系统整合起来。
2、采用分布式存储方式,把各种教育资源逐步整合到本平台中,达到局部的数据冗余备份、负载均衡的效果。
3、进一步开发部署教育资源缓存和调度系统,实现全局性的分散存储和性能优化的目标。
4、扩展支撑层和业务层的架构和功能,从入门级的B平台平滑升级到更高级的A平台。

三、高级:A平台设计
以下介绍A平台(高级云平台)从总体到局部的设计,平台的软件系统部分能够用开源软件及自主开发的软件来实现。其中,设计图所标注的编号与标题的编号相对应。
由于A平台的灵活性和多样性,本方案不提供A平台软硬件系统配置的示例。
A1. 总体架构设计
本平台是分布式虚拟化计算平台,总体架构如下图所示。

 

总体架构的特点如下:
1、采用双层虚拟网络(业务层/支撑层),业务层由虚拟机组成,支撑层主要由真实设备组成。
2、支撑层只为业务层提供虚拟机运行的计算资源,不直接对外提供云计算服务。支撑层与外部网络在逻辑上隔离。
3、业务层与外部网络连接,外部网络的智能终端能够访问到业务层的虚拟机集群提供的云计算服务。
4、业务层通过虚拟机提供外部接口与各种外部系统相连,能够实现本平台与外部系统之间的数据交换。
例:外部系统能够通过访问外部接口的MySQL数据库,实现数据的输入输出。
5、支撑层能够支持业务层虚拟机的计算资源分配、虚拟机复制与迁移,业务层通过虚拟机集群的形式进行计算资源的重新组合。
例:业务层的虚拟机Web服务器能够分布在支撑层的多个不同地点的硬件设备上,能够从一个设备迁移到另一设备,并且多个虚拟机Web服务器可以组成负载均衡集群。

A2. 虚拟网络分层架构设计
本平台沿用虚拟化网络双层架构(业务层/支撑层),如下图所示。

 

这种双层架构是使用了多年的虚拟化计算通用架构,优点是提供服务的虚拟机成为独立一层,与底层的真实设备相分离,兼容性强,可以沿用已有的设备,又可以无缝升级到新的硬件,而虚拟机层的业务不受影响。
业务层的虚拟机集群有较大的自由度,可采用VirtualBox/LAMP/Hadoop方案(替代方案:VMWare/OpenStack),同时支持其他地区的现有系统移植到这一层的虚拟机上。对于外部网络而言,各种具体技术方案没有区别,是作为一个整体的教育云平台在提供服务。这个虚拟的业务层对各地区现有的系统有较强的兼容性和包容性,有利于系统的移植和日后的平滑升级。
支撑层的硬件设备群组同样具有伸缩性和灵活性。试验用的PC机、独立服务器、刀片服务器、RAID磁盘阵列、NAS网络存储设备等,均可用于支撑层。由于支撑层纯为业务层的虚拟机提供计算资源,不参与具体的业务运行,所以从外部网络看不到支撑层。支撑层的设备升级也不会影响到业务层的虚拟机运行。

A3. 外部接口方案
为了采集各地区系统的数据进行汇总、分析、统计,进而形成教育资源推送和调度的参数指标,本平台在业务层采用中央数据库(核心)加上分布式接口数据库(外围)的方案,如下图所示。

 

接口方案需要考虑到最大限度地兼容各地区的外部系统,减少接口开发、部署的难度。根据经验,接口的实现难度主要集中在各种不同的外部系统,即本平台系统的跟随方,而作为熟悉平台系统的主导方的接口实现难度不会太大。
为尽量减少接口实现难度,尤其是各地区跟随方的难度,本方案不使用复杂的、自己定制的接口,而是采用简单、通用的数据库接口,包括3种:MySQL数据库接口、ODBC通用接口、JDBC通用接口。只要定义好接口数据库的表格式,外部系统就可以直接访问接口数据库,实现数据交换。
中央数据库是本平台真正用来运作的数据库,用途包括数学模型分析计算、内容推送、业务运行、统计报表等。各接口数据库的交换数据经过统计分析服务器组的加工整理,以统一的格式进入中央数据库。平台运行过程中得到的数据,又会有选择性地从中央数据库输出到接口数据库中,供外部系统使用。

A4. 支撑层架构设计方案
支撑层通过平台内部接口(虚拟机接口/网络存储接口),为业务层的虚拟机运行提供各种存储资源、计算资源和网络传输资源。支撑层架构如下图所示。

 

支撑层的主要特点如下:
1、与外部网络在逻辑上隔离,不直接对外提供服务,只为业务层的虚拟机运行提供各种硬件资源。
2、具备硬件异构系统的兼容性,能够支持各种不同的硬件设备,通过统一的平台内部接口,向业务层的虚拟机提供硬件资源。
3、通过硬件冗余备份提供容错运行的能力,当硬件设备发生故障时,业务层的虚拟机能够继续正常运行。硬件的替换、扩容、升级不会影响业务层的正常服务。
4、支持业务层的虚拟机对硬件资源的分割、分时使用和资源过度预分配。资源过度预分配可以使业务层的虚拟资源总和,超过支撑层实际提供的硬件资源之和(包括存储空间、内存空间、计算资源等),而本平台仍然能够正常运行。而支撑层只有在必要的情况下,才需要对硬件设备进行扩容升级。
例:业务层虚拟机的总存储容量为100TB,而支撑层的硬件设备实际只提供了50TB的存储量。只要虚拟机实际已使用的存储容量不超过50TB,本平台都能够正常运行。当实际已使用存储容量达到40TB时,需要对硬件设备的存储空间进行扩容。

A4-1. 网络存储接口
支撑层通常不直接向业务层的虚拟机提供数据接口,而是为虚拟机软件本身(例如VirtualBox)提供网络存储接口,通过虚拟机软件来存取各种虚拟机磁盘映像(例如VDI/VMDK文件)。从而业务层的虚拟机在访问自身磁盘的过程中,实质上间接使用了支撑层的网络存储功能。
支撑层网络存储接口如下图所示。

 

支撑层网络存储接口的特点如下:
1、访问接口的虚拟化。网络存储接口虽然位于支撑层,但却不是真实设备,而是以虚拟机的形式构造出来的。这样可以把接口灵活配置到各地,并且方便升级和迁移。
2、存储接口的统一化。通过虚拟机形式的一致性存储接口,屏蔽底层硬件设备的差别,使虚拟机软件能够以统一的方式(例如iSCSI)访问支撑层,方便本平台在各地区的部署和维护。
3、分布式存储本身的虚拟化。不但存储接口是虚拟的,而且分布式存储本身也不是直接由硬件设备提供,而是通过虚拟机来实现。由真实设备虚拟出结构简单、功能单一的支撑层虚拟机,用来划分硬件存储资源,再由虚拟机整合成分布式存储系统。从而有利于分配和管理资源,负载均衡以及隔离故障。
例:支撑层形成多台虚拟磁盘空间和内存都比较小的虚拟机,称为虚拟单元,由虚拟单元组成Hadoop分布式存储系统。

A4-2. 虚拟机磁盘映像池
支撑层的虚拟机磁盘映像池通过分布式存储的方式,保存业务层各虚拟机的虚拟磁盘映像(例如VDI文件)。磁盘映像池提供2大类共4种磁盘映像,性能特征各不相同。
虚拟机磁盘映像池的设计如下图所示。

 

4种磁盘映像包括:
1、系统盘映像之一:只读映像。
用于保存虚拟机系统全新安装设置好,或者刚刚打好升级补丁时候的系统映像。只读映像的性能特点是只读取,不改写,要求快速的大数据量读取,适合使用Hadoop分布式存储。
2、系统盘映像之二:差分映像。
是在只读映像的基础上,只保存虚拟机开机之后写入系统盘的部分,通常是一些临时文件,虚拟机重启之后可以安全地删除。差分映像的性能特点是需要快速、随机存取少量数据,适合使用RAM/SSD型的iSCSI存储设备。
3、数据盘映像之一:动态映像。
用于随机存取各种用户数据,包括文档、数据库记录等。动态映像的性能特点是要求读写小型数据的时候延迟要低,适合使用RAID型的iSCSI存储设备。
4、数据盘映像之二:准静态映像。
用于一次写入或很少修改、多次读取的用户数据,包括流媒体文件(视频、音频等)、很少改动的Web页面脚本程序文件等。准静态映像的性能特点是要求快速的大数据量读取,适合使用Hadoop分布式存储。
例:Web服务器虚拟机中设置1个系统盘、1个数据盘。系统盘在安装配置好虚拟机系统之后,就保存为一个只读映像,VirtualBox虚拟机软件会自动在该映像基础上形成一个差分映像。每次重启Web服务器虚拟机,差分映像的临时数据就会自动删除。数据盘用于保存Web页面内容和脚本程序。

A4-3. 数据存储池
业务层的虚拟机由支撑层的虚拟机磁盘映像池提供系统盘和数据盘,而当多个虚拟机需要组成集群时,就需要有各虚拟机共享数据的存储区域,此区域由支撑层的数据存储池提供。
数据存储池通过网络存储接口来访问,表现为虚拟机形式的NAS、Hadoop分布式存储等。支撑层数据存储池的设计如下图所示。

 

数据存储池与网络存储接口都是由支撑层的硬件设备提供资源,但是都表现为虚拟机的形式。此种设计可以视为:数据存储池和网络存储接口都既处于支撑层(对于虚拟机软件而言),又处于业务层(对于虚拟机集群而言)。

A4-4. 虚拟机接口
虚拟机软件是实现本平台的双层虚拟网络架构的关键所在。支撑层的各种硬件设备资源(包括存储容量、内存空间、CPU/GPU计算资源、网络带宽等)通过虚拟机接口统一分配、统一调度,划分给多个虚拟机(包括业务层和支撑层)动态使用。
虚拟机接口的设计如下图所示。

 

由于需要支持虚拟机对硬件资源的过度分配,因此会出现两种层次的资源容量:业务层的虚拟资源容量、支撑层的真实资源容量。虚拟资源容量可以大于真实资源容量(即过度分配),只要虚拟机实际使用的资源总量没有超过真实资源容量,双层架构平台就能够正常运行。
支撑层的真实设备资源以一块块的形式提供给业务层,业务层的虚拟机同样一块块地分配使用虚拟资源。但虚拟资源块并不等同于真实资源块,而是重新打包组装的,从而能够支持过度分配。
例:真实设备提供虚拟的iSCSI设备,每个存储分区即1个真实资源块是18GB。而1台虚拟机即1套虚拟资源块可能包括2个CPU核、256MB内存和72GB的系统磁盘空间。
业务层的虚拟机监控管理平台应能够对虚拟资源容量、真实资源容量以及实际已使用的资源容量进行有效监控管理,能够统计、预测虚拟资源容量与真实资源容量的合适比率。当实际已使用的资源容量达到真实资源容量的一定比例时,能够及时通知需要硬件升级扩容。

A4-5. 计算资源池
计算资源池整合了支撑层的CPU、GPU等硬件计算资源,为业务层的虚拟机提供分布式并行计算的能力。通过各种开放的标准接口,虚拟机能够获取所需要的资源进行计算(特别是高密集度的统计分析计算)。
计算资源池的设计如下图所示。

 

例:使用MapReduce分布式并行计算方式,对教育研究的数学模型进行大数据量的统计分析计算,并且利用GPU硬件并行计算加速来缩短运算时间。
A4-6. 虚拟网络拓扑组织
支撑层的虚拟网络拓扑组织,为业务层的虚拟机提供网络拓扑路由、带宽资源分配、线路冗余备份、网络安全防护等功能。根据实际需要,可以虚拟出防火墙、路由器、交换机、代理服务器、堡垒机、蜜罐等设备。虚拟机监控管理平台可以对虚拟网络拓扑组织进行实时监控和调整。
一个具有前后端Web服务器冗余备份功能的虚拟网络拓扑组织的示例如下图。

 

A5. 业务层架构设计方案
本平台的总体架构中,虚拟化网络分成了业务层、支撑层两个层次。业务层用虚拟机集群来实现,可以做到硬件资源的灵活配置和调整。具体的业务层应用可根据各地区的实际情况来制订个性化方案,保障平台的兼容性、包容性。而中央数据库则可以避免各系统的数据分割,使整个平台的信息数据能够统一起来。
本平台的一种典型虚拟化应用方案如下图所示。

 

Web服务器集群:采用Apache负载均衡方式;
应用服务器集群:采用MapReduce并行计算方式;
数据库服务器集群:采用MySQL分布式数据库方式;
流媒体服务器集群:采用Darwin分布式流媒体方式;
虚拟机监控管理平台:采用OpenStack云平台管理方式;
存储服务器集群:采用Hadoop分布存储方式。
其中,虚拟机硬盘映像文件并不直接存储到支撑层,而是采用虚拟机层自身提供的Hadoop分布式存储功能。这样就实现了虚拟机自身数据的冗余备份,从而尽量避免了支撑层的硬件故障影响到业务层(即使支撑层没有用到RAID阵列等安全措施)。
以上设计可以全部基于开源软件的方案,虚拟机软件采用Oracle的开源软件VirtualBox。在此平台设计的基础上,采用自主开发的软件。正在开发和使用的软件包括:
● 用C语言编写的虚拟机自动监护和软件自修复系统;
● 用PHP脚本、C语言编写的信息管理系统和内容发布系统。
将来可以根据需要而开发的软件包括:
● 用Java语言编写的MapReduce并行计算系统(可用于统计分析);
● 用C或Java语言编写的P2P网络资源缓存和调度软件,等等。
    此外,本平台还支持各地区现有不同系统的升级移植,把各种应用整合到统一的平台。
最简单的应用移植方案:直接把各地区的现有系统安装、迁移到业务层的虚拟机中,使系统继续运行。也就是将原来的各种外部系统虚拟化,在本平台中运行。
升级改造方案:
1、建设统一的门户入口,把各种虚拟系统整合起来。
2、采用分布式存储方式,把各种教育资源逐步整合到本平台中,达到局部的数据冗余备份、负载均衡的效果。
3、进一步开发部署教育资源缓存和调度系统,实现全局性的分散存储和性能优化的目标。

A5-1. Web服务器集群
业务层的虚拟机Web服务器集群可采用Apache的负载均衡集群,使来自外部网络的Web服务任务能够均匀分散到各个Apache Web服务器上,从而达到整个平台的高负荷能力。
Apache Web负载均衡集群的设计如下图。

 

此虚拟机集群的主要设计特点如下:
1、整个平台可以有多个Web服务器集群,部署在各地区,根据就近访问的原则来提供对外Web服务。每个Web服务器集群都由虚拟机组成,集群中可以动态地添加、减少、迁移虚拟机服务器。
2、每个Web集群配有2台Apache Balance Proxy代理服务器,以及2台以上的Apache Web服务器。代理服务器以尽量平均的方式把Web请求转发给集群中的Web服务器,从而达到负载均衡的目的。
3、代理服务器之间形成热备份,某台代理服务器出现故障,另一台就会自动顶上,而出现故障的虚拟机会自动重启,恢复正常。整个故障修复过程由虚拟机监控管理平台的自动监护程序完成。
4、虚拟机集群中的各Web服务器通过支撑层的网络存储接口访问共享的Web资源数据,而各种Web资源则分散存储在Hadoop之类的分布式存储集群中,能够被高效率地访问到。
5、Web服务器集群与同处于业务层(虚拟机层)的应用服务器集群、数据库服务器集群也有相互交流,在业务层形成B/S架构的服务端。

A5-2. 应用服务器集群
业务层的虚拟机应用服务器集群根据实际业务的需要,可以采用一般的通用型服务器,也可以是有特定功能的服务器集群,例如MapReduce分布式并行计算集群、OpenCL/OpenMP硬件加速运算集群等。
一个MapReduce分布式并行计算集群的设计如下图。

 

MapReduce是一种分布式的并行计算模型,通过Map和Reduce操作进行计算任务的分发和结果整合,适用于大规模数据集的并行计算任务。支撑层通过HDFS接口向MapReduce集群提供Hadoop分布式数据存储。进行教育研究的数学模型统计分析时,合理设计的MapReduce算法可以大幅提高平台的运算性能。
同样处于业务层的Web服务器集群、数据库服务器集群都与应用服务器集群有关联,并且作用不同:Web服务器集群负责发布内容、展示界面、接受反馈信息,数据库服务器集群负责提供数据记录存储和检索,应用服务器则提供必要的运算资源。

A5-3. 数据库服务器集群
业务层的虚拟机数据库集群可采用MySQL数据库负载均衡集群,由多个虚拟机充当数据库服务器,而数据库记录则通过支撑层提供的网络存储接口,保存在分布式存储集群中。
用于数据库的存储性能要求随机数据访问的加速,以及大量小块数据存取的低延迟,因此需要用虚拟服务器自身缓存来降低Hadoop分布式存储的访问延时,或者直接使用RAID类型的iSCSI真实设备。
MySQL数据库负载均衡集群的设计如下图。

 

A5-4. 流媒体服务器集群
业务层的虚拟机流媒体服务器集群可采用Darwin流媒体服务器,再通过支持BitTorrent协议的P2P数据共享软件构建成分布式流媒体服务器集群。
由于音频、视频等流媒体数据在网络的传输量大,因此不能完全依赖支撑层提供的分布式存储来保障业务层的性能,而需要把流媒体服务器在各地区分散部署,按照就近原则向外部网络的终端提供多媒体信息。同时,用P2P数据共享软件实现服务器之间的多媒体资源调度。
Darwin分布式流媒体服务器集群的设计如下图。
 

A5-5. 存储服务器集群
业务层的存储服务器集群也是由虚拟机组成,并且向同处于业务层的其他虚拟机服务器集群提供共享存储服务。但是存储服务器相比其他虚拟机与支撑层的硬件设备的联系更为紧密,可以说本平台的存储部分是业务层与支撑层共有的部分。
在业务层,存储服务器的虚拟机集群可以采用Hadoop分布式存储集群,而在支撑层则可以采用各种真实存储设备,包括RAID磁盘阵列、NAS、iSCSI设备、普通x86计算机等。Hadoop分布式存储的冗余备份机制能够避免真实设备的硬件故障影响到业务层的数据可靠性。
虚拟机Hadoop分布式存储集群的设计如下图。
 

虚拟化的分布式存储有如下特点:
1、虚拟存储结点与真实存储设备之间,可以同时存在多种映射关系,包括一对一、一对多、多对一映射。
业务层的虚拟存储结点其实是对支撑层的真实存储空间进行分割和重新组织,从而业务层的各种虚拟机能够以一个个虚拟存储块的形式来分配空间。这样便于存储资源的灵活管理、分配、迁移和故障隔离。
例:可以把1TB的真实存储设备分割成多个36GB的虚拟存储结点,按照36GB一个虚拟存储块的幅度分配给各虚拟机使用。也可以把多台18GB的真实存储设备用软件RAID方式合并成一个360GB的虚拟存储结点,作为一整个360GB的虚拟存储块分配给虚拟机使用。
2、支持业务层的存储空间过度分配,即已经分配出去的虚拟存储总空间超过支撑层真实存储设备空间的总和。只要实际已使用的存储空间不超过真实存储空间,本平台就可以正常运行。
例:真实存储空间只有50TB,业务层的虚拟存储空间已经达到100TB,而实际已使用的存储空间是30TB,那么整个平台仍然可以正常运行。(现实中,100GB的磁盘分区只用了20GB是常见现象。)
3、本平台存储资源管理的特点:支持存储空间透支、偿还。
对本平台存储资源的管理,需要明确3个概念:真实存储空间、虚拟存储空间、实际使用的存储空间。真实存储空间与虚拟存储空间有一定的比率关系,可以在保障容量安全的前提下充分利用空间,释放虚拟机的潜在能力。而一旦实际使用的存储空间达到真实存储空间的一定比例,就需要对真实存储设备进行扩容升级。
存储空间的过度分配即透支,在存储管理中需要进行额度和风险控制。存储空间的偿还,即通过虚拟磁盘整理、数据压缩、共用母盘等方式,释放虚拟机占用的存储空间,从而减少硬件设备扩容的需求。
4、通过统一的网络存储接口,同时提供存储空间给业务层的虚拟机集群和支撑层的虚拟机软件本身。
统一的网络存储接口也是由虚拟机组成,包括iSCSI、HDFS、WebDAV等接口功能。统一的接口可以屏蔽支撑层的各种存储硬件差异,使各虚拟机可以无区别地访问存储数据。

A5-6. 虚拟机监控管理平台
虚拟机监控管理平台主要在业务层运作,作用包括监控和管理各虚拟机的性能、运行状况、资源分配,以及在发现故障时自动进行系统还原、重启。对于无法进行软件自修复的硬件故障发出告警,以及在硬件资源差不多用尽之前自动发出提示,要求升级扩容。
虚拟机监控管理平台可以采用OpenStack云平台,配合开源的虚拟机软件,还可以加入自主开发的自动监控和软件自修复工具。OpenStack云平台管理架构的设计如下图。

 

本平台的虚拟机监控管理特点如下:
1、能够实时监控管理业务层的虚拟机运行状况和资源占用情况。通过监控平台,可以方便地了解整个平台的资源使用状况,以及具体每个虚拟机的资源分配情况。根据需要可以调整虚拟机的资源,对虚拟机进行创建、删除、迁移、启动、中止等操作。
2、支持虚拟机的快速还原。在虚拟机发生系统崩溃、病毒感染等严重问题时,只要重启虚拟机,就能通过虚拟机磁盘映像池的只读映像(系统母盘)使系统还原到初始安装状态。还原过程不会对用户数据造成影响。
3、支持业务层的软件自修复。监控管理平台具备对各种虚拟机的无人值守实时监控能力,一旦检测到虚拟机结点失去响应,可以自动进行系统快速还原、重启,从而达到软件自修复的功效。



<
 
QQ在线咨询
售前咨询热线
13926003607
售后服务热线
13926003607
返回顶部