正是因为虚拟化技术的种种优势,虚拟化技术已经逐步成为云计算服务的主要支撑技术。可以说,虚拟化和云计算正在共同重塑数据中心格局,云数据中心通过服务器虚拟化和应用虚拟化等形式,不但能有效提高各种资源的利用率,同时也赋予了业务管理更大的灵活性。随着需求的增长与云计算技术的出现,虚拟化和云计算聚焦于统一存储。......
2023-11-18
多数现有的数据中心都是采用服务器虚拟化技术构建的。关于服务器虚拟化的概念,各个厂商有自己不同的定义,然而其核心思想是一致的,即将服务器物理资源如硬件、操作系统和应用程序等抽象成逻辑资源,让一台服务器变成几台甚至上百台相互隔离的虚拟服务器,这样可以不再受限于物理上的界限,而是让CPU、内存、硬盘和I/O等硬件变成可以动态管理的资源池,从而提高资源的利用率,简化系统管理,实现服务器整合。
1.服务器虚拟化概述
服务器虚拟化将系统虚拟化技术应用于服务器上,可以将一台服务器虚拟成多个服务器使用。例如,有多台独立的物理服务器,每台服务器上都分别运行了不同的操作系统及应用,这种传统意义的服务器工作模式造成物理服务器的资源利用率低,管理复杂,维护也非常不便。当采用服务器虚拟化技术后,便可以在一台物理服务器上虚拟出若干个虚拟服务器,同时服务器虚拟化也为虚拟服务器提供了虚拟硬件设施,并提供良好的隔离性和安全性。服务器虚拟化通过虚拟化软件向上提供对硬件设备的抽象和对虚拟服务器的管理。服务器虚拟化的实现方式主要有两种。其中寄宿虚拟化是完全依赖于宿主操作系统,性能较低,是容易实现的方式;原生虚拟化则完全脱离了宿主操作系统,性能较高,是不易实现的方式。虚拟机监视器负责对虚拟机提供硬件资源抽象,为客户操作系统提供运行环境;虚拟化平台则负责虚拟机的托管,直接运行在硬件之上,其实现直接受底层体系结构的约束。无论采用何种方式实现服务器虚拟化,它都具有多实例、隔离性、封装性及高性能四个特性,以保证可以被有效地运用于实际环境中。
在没有使用虚拟化服务器前,往往每个服务器独立提供和承担一个功能,采用了虚拟服务器后,可以在一台物理服务器上运行多个虚拟服务器,同时提供之前这些服务器的所有功能和服务。
2.服务器虚拟化关键技术
从本质上讲,服务器虚拟化主要是对三类基础硬件资源(CPU、内存、I/O设备)进行虚拟化。下面介绍相关服务器虚拟化必备的三种资源虚拟化:CPU虚拟化、内存虚拟化和I/O虚拟化。
(1)CPU虚拟化 CPU虚拟化是指将物理机上的一个物理CPU,在同一时间段内按照一定的规则为每一台虚拟机模拟出一个或者多个虚拟CPU。由于CPU的独占性,一个物理CPU只能处理一个虚拟CPU的指令,导致在同一时刻一个物理CPU不能对应多个虚拟CPU的指令,但是一段时间内通过时间片轮转算法或者CPU调度算法,可以使一个物理CPU上运行多个虚拟CPU。VMM在中间起了调度和协调资源分配的作用,即VMM在虚拟机之间进行切换时起协调和调度资源的作用,同时负责保存和恢复现场信息。显然,VMM如何合理又高效率地调度每一个虚拟CPU资源成为关键问题。
CPU虚拟化面临的难题是操作系统要在虚拟化环境中执行特权指令功能。目前的操作系统大多基于x86架构。根据最初的设计,x86上的操作系统需要直接运行在物理机上,完整拥有整个底层物理硬件。如图3-5所示,对于CPU而言,x86架构提供了四种运行级别,分别为Ring0(指令层级)、Ring1、Ring2和Ring3。通常,用户级的应用一般运行在Ring3级别,操作系统需要直接访问内存和硬件,可执行任何指令如修改CPU状态的指令,只能在Ring0级别中完成。
图3-5 x86架构虚拟化前
为了虚拟化x86架构,要求操作系统与底层硬件之间加入虚拟层,由虚拟层来创建和管理虚拟机,进行共享资源分配。而Ring0只能运行在虚拟层,这导致操作系统的特权指令不能直接运行在硬件上,操作系统如中断处理等特权操作便不能完成,进而增加了基于x86架构的CPU虚拟化的实现难度。
当前CPU虚拟化技术的方法主要分为半虚拟化和全虚拟化。全虚拟化通过二进制代码动态翻译技术来解决操作系统特权指令的使用。(www.chuimin.cn)
(2)内存虚拟化 内存虚拟化就是把物理机的内存进行统一管理,虚拟封装成虚拟机所使用的虚拟内存,以提供给每个虚拟机使用,将虚拟内存空间独立提供给虚拟机中的进程。
虚拟内存的实现在于对物理内存进行管理,按虚拟层对内存的需求划分物理内存,建立虚拟层所需内存地址与物理机内存地址的映射关系,保证虚拟层的内存访问在虚拟内存和物理机内存的连续和一致。映射关系的技术实现是内存虚拟化的核心。
内存与CPU同等重要,访问次数同等频繁。因此内存虚拟化效率的高低对虚拟机性能也有着重大影响。由于内存通常采用复杂的存储体系结构,因此,内存虚拟化要比CPU虚拟化更具挑战性。对于这个问题的解决,常用技术是影子页表技术和页表写入法。
影子页表技术就是让VMM维护一个虚拟机的内存管理数据结构的影子页表。影子页表数据结构使VMM精确地控制机器内存的页表给虚拟机使用。当操作系统在虚拟机中运行时,需要建立页表的一个映射,VMM负责检测变化,并且建立相应的一个影子页表项的映射指向硬件内存中实际页表的位置。当虚拟机正在执行时,硬件使用影子页表进行内存转换,以便VMM总是能控制每个虚拟机使用的内存。
页表写入法是虚拟机操作系统创建一个页表,并通过VMM注册该页表。虚拟机操作系统在自己的页表中得到真实的机器内存地址,然后每一次修改页表时,调入虚拟机管理器更新页表。
目前,x86内有一个内存管理模块MMU和转换旁路缓存TLB(块表里面存放的是一些虚拟地址到物理地址的转换表。当处理器要在主内存寻址时,不是直接在内存的物理地址里查找,而是通过一组虚拟地址转换到主内存的物理地址,TLB就是负责将虚拟内存地址翻译成实际的物理内存地址,而CPU寻址时会优先在TLB中进行寻址),通过MMU和TLB来优化虚拟内存的性能。为了在一台机器上运行多个虚拟机,需要增加一个新的内存虚拟化层,即必须虚拟MMU来支持客户操作系统。客户操作系统继续控制虚拟地址到客户内存物理地址的映射,但是客户操作系统不能直接访问实际机器内存。VMM负责映射客户物理内存到实际机器内存,通过影子页表来加速映射。当客户操作系统更改了虚拟内存到物理内存的映射表,VMM也会更新影子页表来启动直接查询。MMU虚拟化引入了虚拟化损耗,第二代的硬件辅助虚拟化将支持内存的虚拟化辅助,从而大大降低因此而带来的虚拟化损耗,让内存虚拟化更高效。
(3)I/O虚拟化 除了CPU和内存之外,整个物理机和I/O都需要虚拟化,把物理设备统一管理,封装成多个虚拟设备给虚拟机使用,以响应虚拟机的设备访问和I/O请求。
与CPU虚拟化和内存虚拟化相比,I/O虚拟化具有异构性强和内部状态不易控制等特点。目前I/O虚拟化方法除了和其他虚拟化技术一样拥有全虚拟化和半虚拟化两种虚拟化方法外,还有硬件虚拟化方法。
基于全虚拟化的完全控制结构,让客户操作系统的管理层看到的是一套完整的I/O设备,但是客户机每一次操作设备时都必须陷入虚拟机管理器,让其进行控制调度。这导致虚拟机管理器的设计非常复杂,且无法应对设备的快速更新。
半虚拟化方法是将部分系统调用权交给客户机,因此其在每一个客户操作系统中都安装了一个特殊的驱动程序,该程序并不将客户操作系统的I/O请求交给VMM,而是提交给特权域。特权域的部分功能类似于VMM,它可以直接访问物理I/O设备。但是客户机操作系统与特权域的各种数据和指令通信仍然在VMM的控制下完成。采用半虚拟化方法不需要VMM直接控制I/O设备,因此简化了设计,虚拟化系统的性能也得到了提升。
有关云安全深度剖析:技术原理及应用实践的文章
正是因为虚拟化技术的种种优势,虚拟化技术已经逐步成为云计算服务的主要支撑技术。可以说,虚拟化和云计算正在共同重塑数据中心格局,云数据中心通过服务器虚拟化和应用虚拟化等形式,不但能有效提高各种资源的利用率,同时也赋予了业务管理更大的灵活性。随着需求的增长与云计算技术的出现,虚拟化和云计算聚焦于统一存储。......
2023-11-18
资源通常包括存储、CPU、内存、网络带宽以及虚拟机等。云系统之所以能够自动控制优化某种服务的资源使用,是因为云系统利用了经过某种程度抽象的测量能力,如存储、CPU、带宽或者活动用户账号等。从云计算的概念中还可以得出云计算的特性是大规模、多用户、虚拟化、高可靠性及成本低廉等。所以无论是从云计算本身的规模,还是其处理数据的规模,云计算的一大主要特性就是大规模。云计算平台使用虚拟化技术满足不同的用户需求。......
2023-11-18
同时为了提高访问第三方云存储空间的效率,本系统将常用的文件在本地预留一份作为缓存。进行文件下载时,会先由缓存系统检查文件是否存在本地的服务器,若不存在,将会从DropBox上下载文件至本地服务器。所有的缓存文件都会记录于数据库内的缓存数据表中,缓存数据表内设置两个字段,Fileid与Counter。......
2023-11-18
国内外研究和制订云计算安全标准的组织有很多。目前,全世界已经有50多个标准组织宣布加入云计算标准的制订行列。②以CSA和云计算互操作论坛等为代表的专门致力于进行云计算标准化的新兴标准组织。......
2023-11-18
特别是新兴起的云计算,更需要虚拟化技术的支撑。20世纪70年代后,IBM、HP和SUN等公司将虚拟化技术引入各自的高端精简指令集服务器和小型计算机中。这是x86架构上的第一款虚拟化商用软件。2003年,采用最新半虚拟化技术实现的开源Xen推出,并在数据中心用户群体中流行开来。Xen的推出使得虚拟化技术的研究和应用更加普及。因此,使用虚拟技术的云计算平台必须向其客户提供安全性和隔离保证。虚拟化技术现在最成熟的系统有Xen、VMware及KVM。......
2023-11-18
了解云计算的发展历程,可以洞悉云计算的发展规律,从中可以更好地洞察云计算技术的发展趋势。下面是对云计算发展历程的简要回顾[12]。2008年2月1日,IBM公司决定将在中国无锡建立世界上首个云计算中心。2008年5月10日,此云计算中心投入运营。2008年7月29日,Yahoo、Intel和HP公司宣布一项橫跨新加坡、德国和美国的联合研究计划,以此来推动云计算的发展。2009年1月,阿里软件在江苏南京建立首个“电子商务云计算中心”。......
2023-11-18
从用户角度来看,云计算意味着数据、计算及应用均通过网络被转移到用户掌控范围之外的云服务提供商手中,因此,用户隐私信息和云服务风险等问题随之而来。从技术层面来看,传统信息安全存在的问题在云端上同样存在,而且还因为云计算的商业模式及虚拟化等技术的引入,使得云服务面临新的服务风险问题。用户必须明确使用云计算所引入的各种风险。......
2023-11-18
由图1-16可知,NIST的云计算参考架构定义了云计算中的5个主要参与者:云消费者、云提供者、云审计者、云代理和云载体。每个参与者都是参与云计算中事务或流程以及执行任务的一个实体。云代理 云代理是一个能够协调云提供者和云消费者两者关系的实体。......
2023-11-18
相关推荐