虚拟机技术在实验服务器中的应用探析

2021-05-23 09:30李庐哈焱
电脑知识与技术 2021年11期
关键词:硬件服务器

李庐 哈焱

摘要:随着个人计算机系统性能的显著提升以及X86架构的服务器系统的广泛使用,实验室的服务器设备面临计算机资源闲置的问题,如何充分挖掘利用现有设备的潜力,在不新增硬件的前提下实现更多的功能、提供多种服务,这些都成为广为关注的问题。本文就目前新型的虚拟机技术在提高实验室现有服务器设备使用的使用效率,充分发挥现有的计算资源,如何深入挖掘服务器功能等方面的问题进行了相关研究。

关键词:硬件;虚拟机技术;服务器

中图分类号: TP391.9     文献标识码:A

文章编号:1009-3044(2021)11-0210-03

Application of Virtual Machine Technology in Experimental Server

LI Lu1, HA Yan2

(1.Dean's Office, Anhui University of Finance & Economics, Bengbu 233030, China; 2.Asset Management Division, Bengbu College, Bengbu 233030, China)

Abstract: With the significant improvement of the performance of personal computer system and the widespread use of x86 architecture server system, the server equipment in the laboratory is facing the problem of idle computer resources. How to fully exploit the potential of existing equipment, achieve more functions and provide a variety of services without adding new hardware has become a widely concerned problem. In this paper, the new virtual machine technology in improving the use efficiency of the existing server equipment in the laboratory, give full play to the existing computing resources, and how to deeply mine the server functions and other issues are studied.

Key words: hardware; virtual machine technology; server

1 引言

Intel和AMD均认识到开发新型虚拟机技术的迫切需求,借助新型中央处理器,从硬件层上直接支持虚拟机的技术浮出水面。这种虚拟机技术在不增加CPU工作负荷的情况下,实现更为稳定和高效的虚拟机应用。它可以使个人用户仅用一台PC即可同时运行多个独立平台,并分别进行多媒体制作、游戏、上网冲浪等应用而无不干扰。即使某个平台宕机也无须重启计算机,不会对其他平台上的操作产生任何影响。通过虚拟迁移服务器来确保其提供服务的连续运行,实现硬件资源的优化分配,将应用程序与硬件平台隔离以提高其运行的稳定性,便于管理和系统转移[1]。

2 硬件级虚拟机技术

2.1 何为硬件级虚拟化技术

所谓硬件级虚拟化技术,就是通过扩展处理器的功能,实现对虚拟机软件的直接支持,以及为虚拟机提供更为直接控制硬件的手段,它直接推动了新一轮优化硬件效率和数据处理能力的浪潮。处理器制造商Intel公司将虚拟技术(VT)整合到新推出的所有CPU中,包括推出的Pentium D 双核CPU、Itanium2以及64位的Xeon处理器中。而AMD公司也开发基于其自身处理器平台的虚拟机技术[2]。

2.2 硬件级虚拟机技术的功能

(1) 天然的防火墙和防病毒功能

在独立的虚拟机中,你不必担心来自网络的黑客和病毒的入侵,虚拟机会给你一个安全的家园。硬件级虚拟机在关闭前,将运行过程中改变的系统信息提取出来独立保存,而不是直接改寫整个系统参数。这样可以有效防止系统被病毒感染或运行一些难以删除的插件程序。在重新启动虚拟机后,可以有选择的加载系统信息,不必再为病毒等问题而困扰。

(2) 系统加密

Intel的LaGrande技术借助Vanderpool可以提供硬件支持的安全加密功能,同时可以根据认证的需要设置不同的加密强度。通过VMM管理和加密不同的虚拟机分区,将每个虚拟机设置为不同的权限级别,以阻止其他虚拟机上的程序对加密部分的访问。

(3) 快速重建系统

如果你是电脑玩家,热衷于折腾各类软件,不必再担心操作系统被破坏,也无需反复的克隆重装系统,只要使用重建系统功能即可将虚拟机恢复如初。

(4) 管理数字办公室

在办公环境中,最让系统管理员苦恼的莫过于对办公室中每台PC的管理。每台终端上创建的多个虚拟机中,其中将其中一台虚拟机设置为管理虚拟机,专门用于对该用户的管理。这样,管理员只需要借助网络即可实现对PC的管理,如图1所示。

3 Intel Vanderpool硬件虚拟机技术

Intel公司针对基于纯软件技术的虚拟机的诸多问题,开发出基于处理器芯片的硬件支持虚拟机技术。该技术2005年春季开始研发,至今已经基本成熟,其正式代号为Vanderpool。Vanderpool包括两种技术标准:基于IA32处理器的VT-x技术以及基于安腾(Itanium)架构的VT-i。Vanderpool要实现的核心目标就是提高虚拟机的运行效率,即客户端与VMM的双向数据转换效率[3]。

3.1 Vanderpool的核心特色

(1) 新型、更高权限级别的VMM

虚拟机中客户操作系统和应用软件均可以在其原先设计的权限级别上运行,同时VMM拥有控制硬件平台的相应权限[4]。通过解决运行权限级别问题可以降低客户操作系统与主操作系统发生冲突的可能性,简化VMM的控制,提高对客户操作系统的兼容性能。

(2) 独立的VMM

通过将VMM和操作系统进行隔离,即使客户操作系统的内核未做相应的改造也可以与VMM协调工作[5]。该技术的优点对于虚拟机软件开发商显得尤为突出。在进行虚拟机软件开发时,程序员不需要再煞费苦心的为支持某个专用操作系统而大量改写其软件代码,也不再需要因为硬件系统的更新而完全重新开发VMM。

(3) 基于硬件的指令转换

由相应的硬件设备完成客户操作系统与VMM间的数据和指令的转换。与以往纯粹软件转换的方式相比,采用硬件转换的方式避免了大量、复杂的软件运算,执行效率更高。借助硬件设备来实现VMM与硬件设备的数据转换可以显著提高每个虚拟机的逻辑独立性,从而实现多个虚拟机间的安全隔离。

(4) 基于硬件的内存保护

将处理器状态信息保存在VMM和客户操作系统专用的内存区域中。这种方式可以提高指令的转换速度,同时确保程序的完整性[6]。

3.2 Vanderpool的技术研究

Intel针对不同架构处理器使用的两种虚拟技术。VT-x用于IA32架构的处理器,VT-I提供基于安腾(Itanium)处理器的虚拟技术。借助新型微处理器的支持,实现更为灵活稳定的虚拟机。下面分别介绍IA32和IA64架构的安腾处理器针对支持虚拟机的新设计。

(1)  VT-x技术

VT-x技术是通过虚拟机扩展(VMX)的技术来扩充现有IA32架构的CPU操作方式[7]。使用这种新的CPU操作方式,可以从根本上解决以前虚拟机运行中的“环混淆”的问题,而不需要对客户操作系统的内核进行任何改写。这样,在虚拟机上可以广泛使用各种操作系统。VMX包含有两种全新的CPU操作方式:VMX根操作(root operation)和VMX非根操作(non-root operation)。图2中绿色环表示了VMX根操作用于处理VMM与客户系统之间的操作,它将具体的VMM与每台虚拟机进行隔离。

VMX的根操作运行模式相当于没有使用虚拟技术的普通IA32 的运行状态。VMM运行使用根操作,而客户系统使用非根操作。这样可以使客户操作系统的运行级别提升为0级别,即操作系统级别[8]。而VMM则可以使用任意运行级别,如图3所示。

另外,VT-x定义了两种新的转换方式:VMM至客戶系统的信息转换称为“VM进入”,而从客户系统到VMM的信息转换称为“VM退出”。使用这种数据及指令的转换方式可以直接简化虚拟机软件的设计编写工作量,减少系统调用的延时。同时还可以为VMM和每台虚拟机分配各自专属的内存空间,使其可以完全独立使用这些内存,如图4所示。

(2) VT-i技术

安腾平台上的虚拟机技术借助扩展安腾处理器状态寄存器以及扩展处理器抽象层(Processor abstraction layer)固件来实现。对安腾处理器最主要的扩展是在CPU中增加了一个处理器状态位,即在处理器状态寄存器(PSR processor status register)中增加一个新的数据位,该数据位命名为PSR.vm,所有四个运行级别都可以用0至3的PSR.vm的数值来标识[9]。处理器抽象层的扩展则为VMM提供了一个可编程的接口,将一些VMM频繁进行的某些高频操作定义为专用的处理过程。

4 AMD的Pacifica硬件虚拟技术

4.1 Pacifica虚拟机技术

为了应对Intel的挑战,AMD开发了用于其自身CPU平台的虚拟机技术Pacifica。Pacifica的特色在于,它更多的是针对AMD微处理器的专用设计而开发的,充分挖掘Athlon64 及 Opteron系列 CPU的潜力。首先,Pacifica采用了新型的内存管理技术,借助CPU上的专用寄存器调度每台虚拟机使用内存。其次,使用了一种“设备排斥向量”(device exclusion Vector),专门用于虚拟机管理需要使用DMA(direct memory access)模式的设备。

4.2 Pacifica虚拟机技术实现

AMD在K8系列的CPU上使用嵌套页表(NPT)来复用集成在处理器上的内存控制器单元CR3[10],这为pacifica控制虚拟机内存提供了捷径。借助NPT,每台虚拟机都可以拥有一个专属的CR3寄存器,从而为虚拟机虚拟出一个独立的内存空间。虚拟机控制和管理内存不再需要借助软件转换,从而提高虚拟机的运行速度[11]。另外一个支持硬件级虚拟机的技术是改进了VMM对DMA的控制。DMA技术的设计初衷是创建一个内存与外部设备间的高速直连传输通道,以降低CPU控制外部设备数据传输的工作量。如果每台虚拟机使用DMA同时读写一个设备或内存的同一数据区,必然会发生系统混乱和数据丢失。DEV则可以解决这个问题,它指引虚拟机是否可以访问内存的哪些页表,管理每个客户操作系统有序的独立访问各种外部设备,包括磁盘、显卡等,即支持多个虚拟机并发使用DMA处理同一个设备。

5 结束语

虚拟机技术为虚拟化带来了春天,同时也为拥有大量服务器的实验室带来一个全新的世界。正如DOS时代,在单任务世界中工作,生活显得就是如此简单。

参考文献:

[1] 申宝敏,王雅卓.VMware的高可用性技术在高校信息系统中的应用[J].无线互联科技,2015(10):140-141.

[2] 周雪梅,苟钰,黄健.虚拟机服务器在计算机实验教学和管理的应用[J].实验室科学,2019,22(3):107-110.

[3] 张鹏.Xen全虚拟化机制下Pcnet虚拟网卡I/O性能的评估与优化[D].南京:东南大学,2010.

[4] Tim Lindholm Frank Yellin. Java虚拟机规范[M].北京:机械工业出版社,2013.

[5] Bill Venners. The Lean,Mean Virtual Machine[J].Java World,1996(6) .

[6] 张晨曦.计算机体系结构[M].北京:高等教育出版社,2000.

[7] 付赛平.XEN外设完全虚拟化机制可扩展性研究[D].南京:东南大学,2009.

[8] 周天阳,朱俊虎,王清贤.基于VMM的Rootkit及其检测技术研究[J].计算机科学,2011,38(12):77-81.

[9] Bill Blunden.杨涛等译.虚拟机的设计与实现:C/C++[M].北京:机械工业出版社,2003.

[10] 徐志大.硬件辅助虚拟机(HVM)rootkit的实现与探测[C].第十八届全国信息保密学术会议,2008.

[11] 金成植.编译程序构造原理和实现技术[M].北京:高等教育出版社,2000.

【通联编辑:梁书】

猜你喜欢
硬件服务器
通信控制服务器(CCS)维护终端的设计与实现
中国服务器市场份额出炉
Ovation系统调试阶段常见硬件故障诊断分析
得形忘意的服务器标准
并行硬件简介
计算机网络安全服务器入侵与防御
服务器操作系统可信加固技术研究
关于Linux的视频服务器开发与实现分析