基于KVM云桌面平台虚拟化架构的应用研究

2022-11-30

本文介绍了一种基于KVM云桌面平台虚拟化架构, 通过虚拟化技术将一台计算机虚拟为多台逻辑计算机, 从而提高计算机的工作效率。

一、概述

近年来, 随着互联网IDC事业的发展, 云平台逐渐成为互联网事业发展的核心。云计算的核心技术之一就是虚拟化技术。所谓虚拟化, 是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机, 每个逻辑计算机可运行不同的操作系统, 并且应用程序都可以在相互独立的空间内运行而互不影响, 从而显著提高计算机的工作效率。

二、云桌面虚拟技术介绍

(一) 虚拟化技术

在计算机技术中, 虚拟化 (技术) 或虚拟技术 (英语:Virtualization) 是一种资源管理技术, 是将计算机的各种实体资源 (CPU、内存、磁盘空间、网络适配器等) , 予以抽象、转换后呈现出来并可供分区、组合为一个或多个电脑配置环境。

系统虚拟化是将底层物理设备与上层操作系统、软件分离的一种去耦合技术, 在一台物理机器上逻辑的划分出多台机器。虚拟化的目标是实现IT资源利用效率和灵活性的最大化, 在一台物理主机上虚拟出多个虚拟计算机 (虚拟机, Virtual Machine, VM) , 其上能同时运行多个独立的操作系统, 这些客户操作系统 (Guest OS) 通过虚拟机管理器 (Virtual Machine Monitor, VMM, 也称作Hypervisor) 访问实际的物理资源。

(二) KVM

KVM全称是基于内核的虚拟机 (Kernel-based Virtual Machine) , 它是一个Linux的一个内核模块, 该内核模块使得Linux变成了一个Hypervisor:它由Quramnet开发, 该公司于2008年被Red Hat收购。它支持x86 (32 and 64位) , s390, Powerpc等CPU。它从Linux 2.6.20起就作为一模块被包含在Linux内核中。它需要支持虚拟化扩展的CPU。它是完全开源的。

(三) 云桌面虚拟化

桌面虚拟化是指将计算机的终端系统 (也称作桌面) 进行虚拟化, 以达到桌面使用的安全性和灵活性。可以通过任何设备, 在任何地点, 任何时间通过网络访问属于我们个人的桌面系统。桌面虚拟化依赖于服务器虚拟化, 在数据中心的服务器上进行服务器虚拟化, 生成大量的独立的桌面操作系统 (虚拟机或者虚拟桌面) , 同时根据专有的虚拟桌面协议发送给终端设备。用户终端通过以太网登陆到虚拟主机上, 只需要记住用户名和密码及网关信息, 即可随时随地的通过网络访问自己的桌面系统, 从而实现单机多用户。

云桌面虚拟化通过KVM操作系统虚拟化技术, 将传统的办公桌面操作系统以虚拟机的形式集中运行在数据中心、机房、园区网络、互联网的一台或多台服务器上, 然后桌面用户可以利用硬件终端或客户端软件, 基于SPICE/RDP开源协议, 或VMWARE/CITRIX私有的远程桌面协议建立访问通道, 连接到自己的虚拟机上进行常规的电脑办公操作。

三、云桌面虚拟化结构架设

(一) 总体设计

云桌面虚拟化架构包括虚拟化桌面服务器、连接管理中间件和用户桌面终端三个部分 (如图1) , 虚拟桌面服务器端需采用中高端配置服务器, 安装虚拟化软件, 通过服务器虚拟化技术, 在宿主机系统上创建多个虚拟机 (虚拟分区) , 每个虚拟机对应一个终端桌面用户。同时, 每个虚拟机都被分配了随机存储器, 硬盘和输入/输出资源。面向终端用户的桌面客户端, 采用瘦客户端或专用云终端, 每个桌面用户需配置显示器、键盘、鼠标各一个, 并安装专用云终端一台。连接管理中间件是一个用户连接和调度的资源池。在整个虚拟化架构中, 位于数据中心的虚拟桌面服务器使用虚拟化技术可提供数百个乃至数千个虚拟桌面客户端。在如此高密度的应用中, 如何调度和管理资源就成为了主要的问题。通常, 不是所有的客户端都在同一时间启动, 并且不同部门的客户端所需的磁盘吞吐和网络带宽也各不相同.因此.在虚拟化网络架构中, 需票一个连接中间件用于认证连接、转发、管理、协调资源, 负责管理对应的虚拟桌面启动、调整数量和负载, 分配桌面等操作。

如图2, 虚拟桌面服务器端上模块包括Guest Agent, Host Agent (Libvirt) , QEMU-KVM以及SPICE服务端等模块;Broker中间件服务器上模块包括服务器管理, 虚拟机管理, 云终端管理, 用户管理以及数据库管理等模块;云终端上模块包括Broker Agent, SPICE客户端以及各种配置等模块。Broker中间件是云终端和Host端之间的一座桥梁, 它把云终端和Host端以及Host端上的虚拟机连接在一起。云终端和Broker中间件之间的通讯是通过云终端上的Broker Agent模块访问Broker中间件提供的云终端接口API。云终端从Broker中间件中获取到用户的虚拟桌面, 然后调用自身的SPICE客户端连接到Host端所提供的SPICE服务端进行通讯;Broker中间件提供Host Agent接口给Host端上的Host Agent模块来管理Host端上的虚拟机以及Host端上相关的资源。

(二) 虚拟桌面服务器端设计

虚拟桌面服务器是基于Linux的KVM服务器虚拟化技术来实现服务器端虚拟化功能的。KVM最大的优势就在于它是与Linux内核集成的, 因而服务器端虚拟化将采用LinuxKermel作为Host OS, Host OS套件安装包括了精简Linux Kernel, 并已嵌入必要的service和library.KVM编译在Linux Kernel中, 作为Linux Kernel的一个内核模块运行。Linux只要加载该模块就会成为一个虚拟化管理平台 (Hypervisor) 管理虚拟化硬件, 并通过/proc文件系统公开其功能操作, KVM支持Intel (V-T技术) 和AMD (SVM技术) 的CPU芯片。而用于PC平台模拟的组件可采用QEMU, QEMU作为用户空间进程执行, 可在GuestOS请求方面与内核进行协调。虚拟桌面服务器端需要实现的功能模块主要包括内核级虚拟化管理平台KVM, 用于PC平台模拟的开源虚拟化软件QEMU, 基于桌面显示协议的SPICE服务端, 支持QEVMU设备驱动的Libvit虚拟化环境管理套件 (Host Agent) , 通过Host Agent向Broker提供虚拟机信息的Guest Agent.

(三) 连接管理中间件设计

连接管理中间件是一个位于云终端和虚拟桌面服务器端之间的关键部件, 用于对桌面虚拟化架构中的软硬件资源进行认证、连接、转发、管理、协调资源, 负责管理对应的虚拟桌面启动、调整数量和负载, 分配桌面等操作, 以满足系统资源的调度和高效管理的需求。连接管理中间件通过桌面池的概念来定义虚拟桌面的属性, 确保虚拟桌面与用户、云终端的对应关系和资源分配。同时它通过与Windows Active Directory等的集成, 为所有用户使用云终端提供了一个集中的用户认证方式。管理员可以通过Broker中间件的可视界面来管理诸如远程桌面 (池) 的部署, 用户访问远程桌面的授权, 当前会话状态管理和日志管理等。Broker中间件主要包括服务器管理、虚拟机管理、云终端管理、用户管理和数据库管理等功能模块。

(四) 用户桌面终端设计

桌面客户端是通过安装SPICE协议客户端操作系统实现虚拟化桌面的应用, SPICE客户端软件通过SPICE协议和服务器端进行数据传输, SPICE协议支持Windows、Limux、Android、Welb等客户端, 可满足用户跨平台应用云桌面。云桌面客户端功能模块包括用户管理模块、桌面显示模块和桌面管理模块。用户管理模块可进行账号的注册和用户的登录, 桌面显示模块是对桌面进行更新, 桌面管理模块可显示桌而列表。客户端用户通过SPICE传输显示协议连接到云计算管理平台中心进行身份认证, 认证成功者可返回获取个人虚拟桌面。

四、结论

通过本文的研究明确了云桌面虚拟化架构的主要组成, 包括虚拟化桌面服务器、连接管理中间件和用户桌面终端三个部分, 并阐述其设计过程随着科学技术的发展, 云桌面虚拟化技术在企业单位的日常工作中的应用越来越广泛。为了提高虚拟化技术在实际的生产生活中发挥稳定的积极作用, 就必须结合实际运用环境, 坚持科学合理的虚拟化信息平台设计原则, 注重考虑虚拟化架构中各个环节的实际应用情况, 同时注意节约平台运维成本, 依此提高虚拟化技术的应用效果, 为我国企业发展和人们生活带来更大的便利。

参考文献

[1] 田丰, 朱红斌.浅谈虚拟化与虚拟化IT架构[J].福建电脑, 2011, 27 (1) :64-65.

[2] PAULBARHAM, BORISDRAGOVIC, KEIRFRASER, et al.Xenandth e ArtofVirtualization[J].2003, 37 (5) 164-177.

[3] 李勇, 郭玉东, 王晓睿等.基于EPT的内存虚拟化研究与实现[J].计算机工程与设计, 2010, 31 (18) :4101-4104.

[4] 赵睿, 茅亮.桌面虚拟化技术在营业系统中的应用[J].邮电设计技术, 2010 (8) :25-28.

[5] 黎玉桥.服务器虚拟化架构研究[D].广州:中山大学, 2009.

[6] 崔泽永, 赵会群.基于KVM的虚拟化研究及应用[J].计算机技术与发展, 2011, 21 (6) :108-111.

[7] 董向军, 张恩刚, 张沛等.桌面虚拟化技术研究[J].中国信息界, 2010 (4) :50-52.

[8] 高清华.基于Intel VT技术的虚拟化系统性能测试研究[D].杭州:浙江大学计算机学院, 2008.

[9] 周斌, 张莹.虚拟化技术性能分析与比较[J].现代计算机 (专业版) , 2009 (5) :126-129.

上一篇:支气管哮喘与咳嗽变异性哮喘最大气道反应性的特点分析下一篇:分期购物模式对在校大学生消费行为和理财观念的影响