摘要:近些年,云计算和大数据技术发展迅速,商用的虚拟化和云计算平台价格授权昂贵,这就迫使民办高校着手建立私有的虚拟化平台,而且对老旧服务器的再利用也可以节约民办高校的数字化校园建设成本。使用开源分布式虚拟化管理平台oVirt搭建私有的云计算平台,以TrueNAS作为存储管理系统,实现计算和存储资源的重新整合与利用,可应用于科研教学实验平台、云桌面、计算机相关教学及系统开发测试等领域。
关键词:oVirt;虚拟化;云桌面;
0 引言
Spice Works在一份2020年的虚拟化行业报告中指出,全国有超过92%的企业都使用了虚拟化技术,另外有5%的企业计划在未来两年内引入虚拟化技术。过去所有的应用都是运行在物理服务器上,大多数服务器的计算资源都存在着不同程度的浪费,甚至是很大的浪费。目前很多高校都已将应用迁移到自建或云端的虚拟化平台上,重新部署商用的虚拟化平台意味着前期购置的物理服务器都需要淘汰,造成资源的严重浪费。通过开源的虚拟化管理平台完全可以将闲置的物理服务器资源进行整合重新利用,运行一些实验性质或计算机教学之类的应用,有效降低办学成本。
1 相关技术介绍
1.1 VMware v Sphere
v Sphere是目前最为流行和成熟的商业虚拟化方案,它是虚拟化市场的领导者,第一个将服务器虚拟化带入到标准x86服务器。v Sphere使用ESXI组件作为服务器的轻量化操作系统,使用v Center和v Sphere作为管理软件[1]。但是v Sphere需要昂贵的授权费用,并不是所有的高校都有充足的资金投入到虚拟化平台的建设当中,尤其是民办院校。
1.2 KVM
KVM(Kernel-based Virtual Machine)是一个开源的虚拟化模块,已经被整合到Linux内核中,它依托于CPU虚拟化指令集,在性能、稳定性、安全性、兼容性等方面都有良好的表现。KVM是Linux的一部分,可以使用通常的Linux调度器和内存管理,这也意味着KVM更小,使用起来更加方便,很多商业虚拟化平台都是使用KVM作为底层虚拟化方案进行二次开发[2]。KVM采用一个经过修改的qemu软件作为虚拟机上层控制和管理界面,KVM能在不改变Linux或Windows镜像的情况下同时使用同一个镜像运行多个虚拟机并对每个虚拟机进行个性化的硬件配置,还可以采用ksm技术来节约物理服务器的内存。
1.3 o Virt
o Virt是一个开源的Iaa S云服务解决方案,底层使用的是KVM虚拟化技术[3]。o Virt使用了Node/Engine分离结构,以方便功能的划分与管理。节点端Node由fedaro 16订制而成,也可以在Linux系统上安装vdsm服务从而得到一个Node。o Virt旨在提供一套符合市场规范的KVM虚拟化管理软件,尽可能地开发和利用KVM的特点[4]。
1.4 集中式存储与分布式存储
数据存储主要有集中式存储和分布式存储两种。集中式存储的主要优势是高可用、高性能、运维简单,主要的技术有SAN、NAS等。随着云计算和大数据的发展,分布式存储越来越流行,分布式存储的主要优势是大容量、多副本、横向扩展,主要技术有Gluster FS、Ceph等[5]。在虚拟化平台的建设过程中,集中式存储和分布式存储都能够得到很好的支持,使用哪一种存储架构,取决于应用的规模和应用领域以及管理维护人员的精力和技术特点。
2 虚拟化平台的架构与实现
o Virt架构与VMware v Sphere类似,主要包括三个部分:管理引擎ovirt-engine、主机节点和存储节点,如图1所示。
图1 oVirt整体架构
o Virt-engine的主要功能是管理虚拟机(创建、启动、关闭等)、配置虚拟网络,以及执行添加、删除、存储等操作,同时提供了系统管理的Web门户[6]。主机节点(node)是用来运行虚拟机的物理主机,它安装了包含vdsm和libvirt组件的Linux系统。主机节点可以使用o Virt-node镜像来安装,其提供一个精简的Linux系统,只包含足够支撑虚拟化运行的组件,可以节约物理服务器的资源。一个或多个存储节点用来存储虚拟机镜像和iso镜像,存储节点可以使用块存储或文件存储,可以使用本地存储或外部的共享存储,o Virt支持NFS、SAN等存储并且支持通过gluster将主机节点的存储组成池来实现超融合架构。o Virt支持通过AD或LDAP域进行用户管理。REST api提供对外的调用接口,方便外部系统的调用和二次开发。客户端与虚拟机之间的桌面访问使用Spice和VNC,这两个远程连接协议都是开源的。
2.1 o Virt的部署
o Virt的部署非常灵活,根据管理机(Engine)部署方式的不同可以分为Engine独立部署和Hosted Engine部署,存储架构可以使用本地存储、共享存储和分布式存储。实际应用中,可以根据使用场景和资源的不同优先确定存储架构类型,再确定Engine部署方式。由于机器数量不多,规模较小,本文选择NFS共享存储架构,使用Hosted Engine部署模式。
使用o Virt-node ISO镜像来引导安装一台node主机,与普通安装Linux系统的步骤基本一致。安装完毕后通过Cockpit Web管理台来部署Hosted Engine,根据部署向导操作即可。安装成功后即可添加主机节点,所有添加的主机节点都必须先安装node镜像系统,添加成功后的主机在管理平台上可以查看运行状态,如图2所示。
图2 主机状态页面
2.2 创建共享存储
Free NAS是一个用于NAS(网络附加存储)的开源定制软件操作系统。Free NAS使用了ZFS文件系统,主要运行在x86-64架构主机上,支持CIFS、NFS、i SCSI、rsync及FTP等文件共享和传输协议[7]。ZFS是一种高级文件系统,单个ZFS系统最多可以支持256 ZB,ZFS使用存储池的概念来管理物理存储,ZFS系统的一个关键特性是可伸缩性,所有数据都是动态分配的,并且对于文件系统数或文件系统中可以包含的文件数不存在限制。目前Free NAS已经和True NAS合并,统一称作True NAS。
将闲置的硬盘集中到一台服务器上,通过True NAS提供的ISO镜像进行安装,安装成功后可以使用Web管理界面来管理存储。登录到管理界面后首先需要创建一个ZFS存储池,新建数据集后开启NFS共享服务,对外提供共享存储NFS服务,如图3所示。
创建共享存储之后,在o Virt管理平台上添加存储域,选择相应的存储类型,填写存储路径等相关信息即可添加NFS共享存储,如图4所示。
图3 True NAS创建数据集
图4 添加NFS存储
2.3 创建虚拟机
在o Virt中创建虚拟机与其他虚拟化平台基本相同,需要注意的是虚拟机磁盘格式的选择。在o Virt中,当存储模式为本地和NFS存储时,选择“预分配”选项会创建RAW格式的磁盘,这个磁盘的实际大小等于创建时定义的磁盘大小,可以通过元数据文件和“qemu-img info”命令查看磁盘信息,例如10 GB大小的磁盘实际大小也为10 GB。选择“精简”选项也会创建RAW格式的磁盘,但这个磁盘的初始实际大小为0,例如10 GB大小的磁盘实际大小为0 GB[8]。在IP/FC-SAN存储模式下,选择“预分配”选项会创建RAW格式的磁盘,由于IP/FC-SAN下创建的磁盘为逻辑卷,使用“qemu-img info”命令虽然可以查看磁盘格式和virtual size(定义的大小),但这个disk_size信息不准确,可以用块设备命令“lsblk”来查看这个逻辑卷(块)的实际大小。选择“精简”选项会创建qcow2格式的磁盘,同样使用“lsblk”命令查看磁盘的实际大小为1 GB。在基于虚拟机创建模板时无论选择的是RAW还是qcow2,基于此模板创建出来的虚拟机磁盘格式均为qcow2。
2.4 虚拟机迁移
o Virt支持从其他虚拟化平台导入虚拟机,包括VMware、XEN、KVM等,如果已经创建了其他的虚拟化平台,o Virt也可以通过导入导出来配合其他平台使用。
图5 导入H3C CAS中的虚拟机
从VMware导入虚拟机时,只需填写v Center的IP地址、ESXI的IP地址、数据中心的名称、管理员账户和密码即可加载VMware环境中存在的虚拟机,选择需要导入的虚拟机即可将VMware中的虚拟机导入o Virt中[9]。
从其他基于KVM的虚拟化平台导入时,使用的是libvirt工具,需要填写libvirt URI,例如qemu+ssh://root@10.10.11.201/system,此处需先将ovirt主机上的vdsm账号添加到10.10.11.201的免认证主机中。在笔者单位已经使用的H3C CAS平台中,o Virt可以发现已经创建的虚拟机列表,如图5所示。
2.5 云桌面
云桌面就是利用虚拟化技术对各种物理设备进行虚拟化,达到提升资源使用率的目的,同时方便集中管理,设备拓展更加灵活。借助瘦客户机或当前的计算机终端,只需通过简单的网络连接即可使用通过虚拟化平台创建的按需定制的虚拟机资源,在计算机教学机房中有很广泛的应用。
o Virt提供了开源的可供云桌面使用的客户端openccovirt,o Virt-Engine的两个插件Cockpit-o Virt和o Virt Appliance可以基本满足用户会话管理和系统镜像管理的功能,实现了一个完整的桌面虚拟化系统o Virt DV。o Virt虚拟云桌面使用的传输协议是Spice。Spice是一个高性能、动态和自适应的远程显示协议,能够提供类似物理PC的用户体验[10]。
3 结论
利用开源的虚拟化平台搭建高校私有的虚拟化平台,可以有效利用服务器资源,在一些具有实验性质的教学或课堂环境中具有很高的性价比,即使管理维护人员缺乏一定的专业知识也可以应用。o Virt作为Red Hat的一款开源虚拟化平台,其稳定性也比较有保障。另外,Proxmox和Xen等虚拟化方案在虚拟化平台的建设中也有比较广泛的应用,各大高校可以根据自身的实际情况加以利用,搭建自己的私有云平台,助力于教师的科研和教学,为广大师生提供更好的服务。
参考文献
[1]雷宇松基于VMware vSphere虚拟化的建设与监控、备份[J]科学技术创新,2021(36):98-100.
[2]龙念基于KVM与IDV架构的桌面云服务端设计[J].电子技术与软件工程, 2021(17):194-195.
[3]族于oVirt的虚拟化管理平台设计与实现[D].成都:电子科技大学, 2018.
[4]孙义刚高校超融合平台分布式存储模式探索与实践[J]科技风,2021(1):105-106.
[5]刘斌基于oVirt的开源桌面虚拟化系统设计与实现[J]电脑知识与技术, 2020,16(28):18-20.
[6]王姝.一种在虚拟机. 上实现数据存储技术的方法[J].计算机与网络, 2018,44(4):69-71.
[7]龙星澧,黄传波,胡晓勤基于KVM的持续性数据保护设计与研究[J]现代计算机, 2022,28(7):65-69.
[8]朱彤云数据中心异地迁移的设计与实现[J].长江信息通信, 2021,34(5):67-69.
[9]张建华,罗应机,肖中正云桌面技术在计算机实验教学中的应用研究[J]电脑知识与技术, 2021.17(19):114-115.
[10]宋莉,云桌面在企业网络中的应用研究[J]网络安全技术与应用, 2022(8):72-73.