教育行业云桌面解决方案之云平台建设设计

教育行业云桌面解决方案之云平台建设设计

2021-07-14 15:51:06
  云平台资源建设设计

  根据分层分资源的设计原则,逻辑架构分为六大部分,具体如下:

(1)计算资源
  虚拟化集群:利用服务器虚拟化内核,实现了CPU、内存、I/O的虚拟化 ,通过共享文件系统保证云主机的迁移、HA、动态资源调度和动态资源扩展。基于异构虚拟化技术,原生支持KVM虚拟化技术,并支持原有VMware vCenter虚拟化接管功能,满足用户数据中心异构虚拟化需求,适应不同重要性的业务部署,并支持v2v迁移功能。
  仿真集群:利于GPU直通或GPU虚拟化技术,为重载GPU渲染场景提供服务,为仿真实验提供教学环境。
  裸金属集群:裸金属管理是一款为应用提供专属物理服务器的服务,能够保证核心应用的高性能和稳定性。支持自定义安装操作系统,并提供裸金属主机的全生命周期管理。

(2)存储资源
  为云平台提供数据存储服务,云平台支持众多的存储方案,包括本地存储(Local Storage)、ASDS分布式存储。
  分布式存储:充分利用服务器内置硬盘资源,构建出完整的存储资源池,多副本(2-6)技术、热备盘技术等保证了存储数据的高可靠,本地I/O技术、全局条带化技术等提升了存储系统的服务效率。
(3)网络资源
  云平台提供分布式的基础网络服务,动态的DHCP服务分布每一台计算节点上,通过管理节点的数据库来控制,当任意一台计算节点发生故障的同时,虚拟机上对应的IP地址、Mac地址等网络信息会从管理节点的mysql数据库中取出,并下发至运行物理节点上,与当前物理节点的DHCP进行同步,从而使得云主机的所有网络属性全部跟随。云平台提供对以太网的自动化管理,包括扁平网络和云路由网络。云平台提供分布式 DHCP、弹性IP、虚拟IP、端口转发、负载均衡、动态链路协议、IPsec隧道VPN、虚拟防火墙和安全组等服务功能,可基于VLAN和VXLAN实现网络隔离。
(4)云安全防
  云安全防护为主要为云服务层提供全方位的安全防护,包括防漏洞扫描、主机防御、网站防御、数据库安全、租户隔离、认证审计、数据安全等多种模块。完成云平台层面的等保需求,各租户的安全建设,根据租户自身的情况酌情选择。
(5灾备服务
  两个校区统一资源管理,实现两个校区之间结合应用系统,实现重要应用实现双活,另外再把业务数据备份到第三个数据中心,确保应用数据无论是物理故障还是逻辑故障,都可以把应用数据找回来,形成数据安全双保险。
6)运维与管理
  云运维与管理层主要面向云平台的管理员,可以更好的对云平台提供给用户的云服务进行配置与管理,例如:用户管理、云业务流程定制设计以及资源的配额与计费策略定义等。同时,还可以提供基础的设备管理、配置管理、镜像管理、资源使用管理、日志管理、监控管理和报表服务等,充分满足云管理员对云平台的日常运营维护需求。多个数据中心资源情况,通过CMP平台实时掌控。
 

云平台资源建设方案

   虚拟化资源
  
AStack云平台,基于异构虚拟化技术,原生支持KVM虚拟化技术,并支持VMware vCenter虚拟化接管功能,满足用户数据中心异构虚拟化需求,适应不同重要性的业务部署。  通过虚拟化技术, AStack云平台为用户提供云主机的基础运行环境,与阿里云公有云ECS服务的体验一致。用户获得云主机后,可安装合适的业务应用系统,并通过Web界面可对云主机执行众多的生命周期管理操作,包括停止、启动、快照、克隆和加载/卸载数据云盘等操作。云主机包含vCPU、内存、系统云盘、数据云盘和虚拟网卡等资源服务。
  AStack云平台操作简单,所有操作都是提供向导方式,根据云平台需求,填写相应的名称或选择相应的关联资源,在云平台上创建和调度各种资源。在整个过程中如果缺少其中的某个环节,云平台会自动提示,需要创建某某资源,非常智能简便。

 
 
  CPU虚拟化
  
从架构上看,传统的X86平台并不是为支持多操作系统并行而设计的。因此CPU厂商如AMD和Intel都需要重新设计CPU,增加虚拟化特性,以解决上述问题。AStack云平台采用开源KVM技术,已经开始充分利用芯片厂商在处理器架构中构建的硬件辅助功能,以提高系统运行效率,降低Hypervisor带来的系统开销。
  Intel和AMD等芯片厂商在CPU内引入了新的机制,根模式和非根模式,用根模式来运行VMM,非根模式运行GuestOS,而这允许GuestOS天生运行在Ring 0里。这种CPU架构上的虚拟化支持扩展提升了性能。VMM不再让GuestOS以为自己运行在Ring 0里,因为GuestOS已经能在此操作,并且不会与VMM冲突——VMM已经移动到根模式。选择支持这些虚拟化优化扩展的CPU,这可以更好地降低系统开销、提升虚拟化效率。
  利用硬件辅助虚拟化技术的支持,KVM中的每个虚拟机可具有多个虚拟处理器vCPU,每个vCPU对应一个Qemu线程,vCPU的创建、初始化、运行以及退出处理都在Qemu线程上下文中进行,需要Kernel、User和Guest三种模式相互配合。

内存虚拟化
  为了实现内存虚拟化,让虚拟机使用一个隔离的、从零开始且具有连续的内存空间,KVM引入一层新的地址空间,即虚拟机物理地址空间(Guest Physical Address,GPA),它是宿主机虚拟地址空间在虚拟机地址空间的一个映射。虚拟机物理地址空间都是从零开始的连续地址空间,但对于宿主机来说,虚拟机的物理地址空间并不一定是连续的,虚拟机物理地址空间有可能映射在若干个不连续的宿主机地址区间。
 
  由于虚拟机物理地址不能直接用于宿主机物理 MMU 进行寻址,所以需要把虚拟机物理地址转换成宿主机虚拟地址(Host Virtual Address, HVA),为此,KVM 用一个 kvm_memory_slot 数据结构来记录每一个地址区间的映射关系,此数据结构包含了对应此映射区间的起始虚拟机页帧号(Guest Frame Number, GFN),映射的内存页数目以及起始宿主机虚拟地址。映射的内存页数目以及起始宿主机虚拟地址。于是 KVM 就可以实现对虚拟机物理地址到宿主机虚拟地址之间的转换,进而再通过宿主机的页表也可实现虚拟机物理地址到宿主机物理地址之间的转换,也即GPA到HPA的转换。为了提高GVA到HPA转换的效率,KVM提供了两种实现方式来进行虚拟机虚拟地址到宿主机物理地址之间的直接转换。其一是基于纯软件的实现方式,也即通过影子页表(Shadow Page Table)来实现客户虚拟地址到宿主机物理地址之间的直接转换。其二是基于硬件对虚拟化的支持,来实现两者之间的转换。