APP下载

基于KVM 和OpenStack 融合桌面云实验平台的设计与实现

2020-05-21罗士美沈克农

关键词:磁盘桌面模板

罗士美,沈克农

1.浙江农林大学 经济管理学院,浙江 杭州 311300

2.武汉噢易云计算股份有限公司,湖北 武汉 430074

计算机实验室门类广、分布广,设备数量大、性能差异大,且安装软件多、设置要求多,导致管理服务难集中,运行效率难提升,运维成本难下降。因此,计算机实验室建设管理模式亟待转变。国内有学者指出[1-3],利用云技术构建虚拟实验云是未来实验教学改革的必由之路,运用KVM 虚拟化技术有助于促进云桌面融合,基于OpenStack 云系统架构可实现云资源高效管理和计算资源弹性分配。可见,以KVM 和OpenStack 为云应用集成框架,构建跨不同架构的桌面云融合实验平台,是计算机实验室实现共建共享、高效管理、经济运维的重要途径。

1 平台设计

1.1 总体设计

平台基于“云端集中化”总体思路,运用分层结构设计思想,创建“1+6+N”融合桌面云服务标准架构(见图1)。该架构分为基础设施层、平台层、桌面层、终端层和用户层。基础设施层由服务器集群等设备构成,为平台提供统一的资源池服务。平台层基于KVM 和OpenStack 架构,负责桌面云各业务逻辑处理,为用户提供统一的可视化融合管理平台。桌面层具备VDI 桌面的移动特性和VOI、IDV 桌面的高性能;支撑瘦终端、胖终端、一体机和PC 利旧等多类型终端;满足公共机房、专业机房及实习实训室等不同教学场景需要。

1.2 硬件设计

硬件设计主要体现在服务器集群与客户机集成两个方面。在服务器设计方面,一是采用全集群架构设计,主机、磁盘、硬盘均运用冗余部署和高可用触发机制,确保桌面业务安全稳定运行;二是采用“SSD+HDD”混合设计,利用高效缓存技术,提升系统I/O 性能;三是支持在线扩容,自动实现资源平衡,轻松实现性能升级。在客户机设计方面,一是采用集成化、一体化设计,精简多余零部件,尽可能降低设备运行发热量,延长设备使用寿命;二是采用X86 和ARM 两种芯片架构,确保终端的高效平稳运行;三是采用绿色环保设计,增强终端设备兼容性,降低运营成本与运行功耗。

图1 融合桌面云实验平台服务标准架构Fig.1 The service standard framework of the integration desktop cloud experimental platform

图2 融合桌面云实验平台软件架构Fig.2 The software framework of the integration desktop cloud experimental platform

1.3 软件设计

平台基于KVM 和OpenStack 框架设计,由Web GUI、OpenStack API、Libvirt、KVM Hypervisor和Linux Kernel 等构成(见图2)。底层以Linux 内核为基础,通过kvm.ko 实现宿主机CPU 和内存虚拟化,利用QEMU-KVM 实现磁盘、网卡等设备功能模拟,调用ioctl 接口实现与KVM 内核模块交互[4]。中间层负责KVM Hypervisor 与OpenStack API 连接,主要由libvirt API、libvirtd 和virsh 组成,对下通过基于驱动程序的架构来实现,对上提供一个屏蔽底层细节的统一、稳定接口[4]。平台层基于OpenStack 框架,依托Nova、Keystone 及Horizon 等API 实现,与KVM 集成实现对服务器计算资源池化,记录与维护资源池的状态,并根据用户需求向KVM 下发各类控制命令[5]。表现层即Web GUI 融合管理平台,具有跨VDI、VOI 和IDV 桌面特性,可根据现场环境灵活选择交付桌面。

2 平台核心功能实现

2.1 虚拟机创建与管理

虚拟机创建管理的实现以OpenStack 的Nova 组件为核心,以Glance、Neutron、Cinder 及Keystone等为辅助。以创建虚拟机为例,用户通过Horizon 或命令行CLI 向novaclient 发起请求,novaclient收到请求并经Keystone 验证授权后,向nova-api 发出请求;nova-api 验证用户身份,初始化虚拟机信息(nova-db),请求nova-scheduler 分配虚拟机;nova-scheduler 监听消息队列(queue),截获请求后查询nova-db 中对应新建虚拟机信息,根据调度算法遴选出符合条件的最佳主机并更新nova-db,请求nova-compute 创建虚拟机;nova-compute 监听queue 中请求,向nova-conductor 发出请求;nova-conductor 从queue 中获取请求,根据请求查询nova-db 并获得虚拟机信息,将信息发送到queue;nova-compute 从queue 中获取信息,分别向Glance、Neutron、Cinder 发出创建虚拟机所需镜像、网络和存储请求,生成Hypervisor driver()所需数据,调用KVM 完成虚拟机的创建(见图3)。

2.2 虚拟机资源调度

虚拟机通常采用资源调度策略来实现最优配置。虚拟机调度策略主要由FilterScheduler 和ChanceScheduler 实现,其中FilterScheduler 是OpenStack 的默认调度器。FilterScheduler 实现了基于主机过滤(filtering)和权值计算(weighing)的调度算法;先根据过滤规则Filter 剔除不满足条件的节点,如之前已调度失败的或状态不为active 的节点;再以内存、CPU 和存储空间等因素为规则计算节点权值,选择权值最大的节点创建虚拟机。FilterScheduler 的核心算法由FilterScheduler 类_scheduler()方法实现,该方法调用了HostManger 类的get_all_host_states()、get_filtered_hosts()及get_weighed_hosts()等方法(见图4)。

2.3 虚拟桌面、场景及模板创建与管理

模板是一台公共的云桌面样机,是批量克隆创建桌面的基础。在创建模板后,可根据需要创建多个桌面组成的场景或者单一桌面。虚拟机模板创建主要基于OpenStack.nova 组件的flavor 模块实现。flavor 不仅规定了主机内存、CPU 等大小,而且可限制虚拟机的一系列配置,使用同一个flavor创建出来的虚拟机,在规格上保持一致。对于创建、删除操作,通过FlavorManage 映射,最终映射到Flavor Manage Controller 来处理;而对于查询等操作,则通过Flavors 映射,最终映射到Flavors Controller 来处理(见图5)。上述不同的处理在于,查询是可同时对多个模板进行处理的,而创建和删除则均是针对单一模板进行处理的。

2.4 可视化融合管理平台构建

Horizon 是OpenStack 的Web GUI,主要包含horizon 和openstack_dashboard 两个核心构件,划分为Dashboard、Panel Group、Panel 三个设计层次。融合管理平台基于Horizon 实现,调用horizon.Dashboard 类创建project、admin、identity 及settings 等dashboard,调用horizon.Panel Group类创建资源、网络、桌面、模板、终端及用户等Panel Group,调用horizon.Panel 类创建overview、instances 及metering 等Panel。每个Panel 均代表一个django APP,含panel.py、tables.py 及views.py等文件,其中panel.py 用于定义panels 属性,tables.py 用于定义所需的展示数据,views.py 负责集成table、获取数据和集中展示。融合管理平台为用户提供基于Web 的GUI 门户,实现了桌面的标准化管控和机房的集中高效管理,提升了平台友好性,增强了用户体验感。

3 平台关键性能测试

以VDI 桌面为例,配备30 台Arm 终端和两台云服务器,对平台关键性能进行测试。其中:VDI版本为V4.2.1,后台版本为V1.1.0.34,Arm 端版本为V4.2.0,云服务器为2×Intel(R)Xeon(R)2.40GHz、6×Samsung 16GB、2×ATA WDC 931G 及Intel SSD 372G 等。

3.1 虚拟机并发启动磁盘性能测试

在30 台虚拟机并发启动情况下,选择win7-32、win7-64 和win10-64 三个桌面系统,分别进行连续3 次测试并取均值,获得磁盘性能测试数据(见表1)。在win7-32 和win7-64 操作系统下,虚拟机启动速度快,开机平均用时均小于75 s,明显快于实验室普通PC 的开机速度;在win10-64 操作系统下,磁盘IOPS 和吞吐量均达到较高水平,性能明显高于纯SATA 磁盘,介于SSD 与SATA之间。可见,该平台采用SSD 与HDD 混合设计,不仅提升了云桌面运行速度,而且有效化解了计算机实验室PC 普遍开机慢的问题。

3.2 软件并发运行虚拟机性能测试

以一台云服务器带30 台虚拟机为例,采用本地存储,模板配置50 G 的系统盘、无数据盘,桌面安装win7-32 操作系统,配有Office、PS、CAD 等应用软件,按照30 台虚拟机在管理端同时开机、同步运行多个软件(Excel、Word、CAD)、并发持续播放视频文件(栀子花开.mpg)三种情况,分别测试虚拟机CPU 使用率、内存使用率、磁盘I/O 读写速度和网络上下行流量(见表2)。CPU 负荷除视频并发播放较高外(85.5%),其余情形均保持在合理区间(40%~70%);内存使用率波动不大,维持在67.9~72.4%之间;I/O 速度差异不大,sda 读、写速度维持10 k/s 以内,ssd 读、写速度介于100~1000 k/s 之间;网络流量介于10 k/s~100 m/s 之间,不易造成网络拥塞。可见,在软件并发情况下,虚拟机各核心指标均保持在较合理区间,整体性能表现优异。

表1 虚拟机并发启动磁盘测试数据Table 1 Virtual machine concurrent boot disk test data

表2 软件并发运行虚拟机性能测试数据Table 2 Software performance test data for concurrent running of virtual machines

4 结论与展望

经实例部署验证,融合桌面云实验平台具有三大优势。一是运行速度更快。同时部署30 个win7桌面小于90 s,并发启动30 个win7 桌面小于75 秒,同步更新30 个win7 桌面的1GB 课件小于90 s;二是系统兼容性更强。全面支持VDI、VOI 和IDV 等不同桌面架构,全面支持windows 和Linux 操作系统,全面支持胖终端、X86/ARM 瘦终端、X86/ARM 一体机和旧PC 等终端;三是管理便捷性更好。支持服务器、终端及桌面可视化管理,支持VDI、VOI 及IDV 桌面远程部署和管控,支持桌面资源弹性分配和云端资源平滑扩展。但是,平台在并发处理3D 动画和图形图像时,整体性能还有所欠缺,还需在vGPU 资源调度等方面进行优化改进。

猜你喜欢

磁盘桌面模板
高层建筑中铝模板系统组成与应用
铝模板在高层建筑施工中的应用
特高大模板支撑方案的优选研究
它的好 它的坏 详解动态磁盘
Inventors and Inventions
解决Windows磁盘签名冲突
桌面装忙
Windows系统下动态磁盘卷的分析与研究
用好Windows 10虚拟桌面
克隆硬盘很简单