文/陈长全
摘要:高效能计算机对系统的安全性、可靠性及性能要求较高,而虚拟化技术不仅能改变高效能计算机的使用模式,还能提高系统的性能。但在具体的应用中,虚拟化技术在适用性、管理上依旧存有一定的问题,这些问题阻碍着高效能计算机系统性能的提升,应给予足够的重视。
关键词:高效能;计算机系统;虚拟化技术;
当前,虚拟化技术已广泛应用于安全管理、服务整合等,在提高高效能计算机产出率、改善共享服务模式的同时,也蕴藏了一定安全隐患。想要排除这些安全隐患,首先要对高效能计算机系统与虚拟化技术的关系有一个深入的认识,只有这样我们才能找出诱发安全隐患的问题或漏洞。
1、高性能计算系统与虚拟化技术的关系
说到虚拟化,一般是指将物理的实体,通过软件模式,形成若干虚拟存在的系统,其实真实运作还是在实体上,只是划分了若干区域。而高性能计算的基础是虚拟化,但虚拟化只是高性能计算的一部分。高性能计算是在虚拟化出若干资源池以后的应用。基于上面的理论,很多人认为,虚拟化不过是高性能计算的基础,是高性能计算快速发展的嫁衣,而最终也不过是便宜了高性能计算,助推了高性能计算的发展,而虚拟化只是高性能计算后面的一个小小的助推力。其实,虚拟化并不只有这些作用,虚拟化广泛应用与IT领域中,针对不同的资源,有着不同的虚拟化技术,如今我们可以给虚拟化大致分为四类:内存虚拟化、存储虚拟化、网络虚拟化、服务器虚拟化。
1.1内存虚拟化
是指利用虚拟化技术实现计算机内存系统对内存的管理。从上层应用来看,内存虚拟化系统使得其具有连续可用的内存,即一个连续而完整的地址空间。从物理层来看,通常被分割成多个物理内存碎片。内存虚拟化的作用更多的是满足对内存的分配,对必要的数据进行交换。
1.2存储虚拟化
存储虚拟化现在被提及的很多,主要思想是将存储资源进行逻辑视图和物理存储分离,从而为系统提供无缝的资源管理。由于存储标准化程度低,存储兼容是必须要考虑的一个问题,采用存储虚拟化技术如果源自不同的厂商,那么后续升级和更新中,就会增加难度。
1.3网络虚拟化
与其他形式的虚拟化相比,网络虚拟化有许多的相似之处,均是利用软件把网络力量从物理网络元素中分离出来。网络虚拟化也面临着技术挑战,网络设备和服务器不同,它一般需要执行高I/O任务,对于数据处理往往依赖专有的硬件模块[1]。
1.4服务器虚拟化
服务器虚拟化在行业的应用要多很多,也更被人们认可,利用服务器虚拟化,我们可以将服务器的CPU、内存、磁盘等硬件集中管理,通过集中式的动态按需分配,可以提供资源的利用率。采用了服务器虚拟化,IT管理者只需坐在办公室就可以完成以上工作。通过服务器虚拟化Web管理页面,3分钟即可添加服务器虚拟机,系统配置、测试、升级等操作也可远程操作完成,且通过快照功能即可恢复升级前的系统环境,减少大量繁琐的系统管理工作。
2、虚拟化技术存在问题及解决办法
2.1虚拟化技术存在问题
由于高性能计算采用虚拟化技术,使得用户业务系统不再明确地运行在物理的服务器上,而是动态的虚拟机。这就使得多个数据源之间没有物理界限,一旦被侵入将难以设置隔离区。由此带来的结果是,原先一台服务器感染病毒,最多影响其所在公司设备,而高性能计算服务器一旦感染病毒,将影响大量企业甚至公共系统。目前已经挖掘出虚拟化系统0day漏洞16枚,其中qemu0day漏洞12枚,vmware0day漏洞4枚,此外还有支持docker和qemu的逃逸攻击工具,并制定了宿主机的加固解决方案。以毒液漏洞为例,亚马逊云业务为修复该漏洞,对主机进行了重启,造成诸多企业业务中断,而且目前还没有针对于该漏洞的解决方案。
虚拟化系统作为高性能计算的根基并不稳固。虚拟化技术的核心目标是对虚拟机所需要的硬件设备进行仿真。通过虚拟化技术,虚拟机可以实现和普通服务器完全一致的功能。因此虚拟化系统就是高性能计算业务的根基。但是从近三年的虚拟化系统漏洞数字统计报告来看,这一根基并不稳固。黑客可通过虚拟机可以进行三种类型的攻击:当黑客通过购买云主机或者直接入侵的方式,进入虚拟机之后,他可以进行哪些攻击呢?首先可以利用虚拟化系统的漏洞,尝试控制虚拟化系统的执行流程,进行逃逸攻击,在宿主机中执行任意代码。也可以利用漏洞造成宿主机的崩溃,导致该宿主机上的所有虚拟机停止服务。还可以通过虚拟机中的通信机制以及网络划分规则,对同一宿主机上的其他虚拟机进行信道攻击和恶意扫描。毒液漏洞就是虚拟化安全漏洞中的一个典型代表,其完整利用思路分为三步:①黑客利用venom漏洞进行虚拟机逃逸[2];②进入同一宿主机上的其他虚拟机当中;③获取对宿主机网络的访问权限,并尝试获得证书等敏感信息。在传统的安全产品中,我们有云盾类产品防止web攻击,ddos攻击,也有主机卫士类的产品防护恶意代码攻击,然而,类似毒液漏洞这种虚拟化层的影响广泛并且危害严重的漏洞,目前依然没有安全产品可以进行防御。
2.2虚拟化技术问题的解决办法
传统端管控类安全产品的基本逻辑是:在虚拟机内部安装轻代理杀毒客户端:实现对webshell文件,病毒木马文件进行查杀;系统恶意行为进行记录;并针对未知文件虚拟查杀。这样的设置无法对虚拟化攻击进行有效防护,因此应寻找以漏洞挖掘为基础的新云虚拟化安全技术解决方案。以我们分析千兆网卡设备仿真器为例,在对其实现原理进行了充分的调试工作后,最终我们发现,在其实现TSO相关细节的过程中,处理描述符存在逻辑缺陷,导致虚拟机进入循环逻辑。通过发现这一类的漏洞,我们就可以通过漏洞分析和利用过程中积累的经验,防御虚拟化相关的一系列漏洞。因此,虚拟化漏洞挖掘是打造虚拟化防御产品必备入门技术。此外,针对用户空间和hypervisor层的热补丁技术与比轻代理效率更高的无代理技术也将是虚拟化防御产品的重要内容。相比传统的端管控类产品,这样的设计不会对打破云网络的隔离,并且执行效率高,资源消耗小。
3、虚拟化技术在高效能计算机系统中应用的实例分析
3.1虚拟化技术在API服务中的应用
虚拟化技术不应被看成是孤立的、战术性的工具,事实上其具有较强的实用价值。打车系统是高性能计算机系统的一种,虚拟化技术在打车系统的应用很好地解决了客户信息泄露的问题。以上海贝尔的NCAPI服务为例,运营商构建的开放应用平台为目前广泛流行的打车软件客户端及用户提供虚拟号码服务。乘客可通过打车软件客户端叫车,在出租车司机确认后,系统将反馈给双方一个虚拟号码[3]。乘客/出租车司机均可拨打这个虚拟号码来联系对方,在对方终端上的来电显示均为该虚拟号码。而当交易结束后,系统回收该虚拟号码资源。为打车软件提供虚拟号码的服务将为用户、中间接口开发商及运营商带来多赢局面:用户手机号码和个人信息得到保护;中间接口开发商可增收来自App公司支付的费用;而运营商则可提升网络利用率,并获得新的批发收入来源(API的调用次数+虚拟号码的新订阅)。比如江苏卫视的《非诚勿扰》节目,如果按照传统的计算机系统支撑架构方式,可能需要3000台服务器,而且从采购到调试开通,需要很长时间,而采用虚拟化技术,可能最多只需要500台左右的服务器,就能迅速实现对节目的支撑。
3.2虚拟化技术在云储存中的应用
随着物联网时代的到来,数据爆炸性增长,面对海量数据,传统存储虽然在性能和可靠性上有比较好的保障,但成本并不是所有企业都能承担的,因此用户迫切需要一种新型的存储技术来应对这个挑战。云存储应运而生。关于其定义,有人说是网盘,有人说是对象存储,还有人说是存储服务。事实上到目前为止,业界并没有统一认识。一般认为:云存储系统是整个云计算解决方案当中的存储系统部分[4]。通过云存储系统,用户可以快速获取块、文件、对象、分布式数据库等存储服务,加快业务部署,降低数据存储成本。云存储固然好,然而云存储系统需要构建一个共享式存储资源池,只有通过标准化的南北向接口才能最大程度地管理和调度来自不同厂商、不同品牌的存储设备,从而实现屏蔽上层业务系统对底层存储设备的依赖,真正实现云存储系统的存储及服务功能。因而,从云存储产业发展的角度来看,统一的行业标准势在必行,不仅让用户使用更加简单,也更有利于促进整个云存储产业链健康发展,意义重大。
在云存储标准编制工作中,华为做为主导技术厂商之一,积极投入,深入分析行业用户需求,提出了存储功能虚拟化作为云存储标准的核心技术架构,实现存储和数据管理功能的软件化与服务化。谈起为什么倡导虚拟化作为云存储标准的核心技术架构,来自华为的存储虚拟化技术首席架构师张浩表示,云计算时代面临多存储系统融和、资源共享,存储系统首先应当敏捷支持应用部署;第二,需要支持高I/O需求的关键应用上云;第三,传统存储系统中的计算、网络、存储资源也应当部署到虚拟机中,实现统一基础设施架构的云,便于基于业务的动态调度。华为自研的存储功能虚拟化通过融合分布式存储关键技术实现了数据存储与数据管理、数据分析共享资源,组成统一资源池;高性能云操作系统(CloudOS)关键技术使应用运行在VM中获得与物理机近似的性能;分布式资源调度与QoS关键技术保障了整体资源的云化调度,较其他技术而言,更好的满足了上述云存储的业务应用需求。以对于公安行业为例而言,无论是传统的核心业务、还是新兴的视频监控、警务云和大数据场景都可以更加便于用户业务敏捷部署,简化使用。
结束语
随着虚拟化技术的成熟,高效能计算机系统应用虚拟化技术的条件已然成熟,虚拟化技术在保持系统计算性能的前提条件下,能确保共享使用模式转化为独立使用模式,极大提升高效能计算机的适用性。相信随着虚拟化网络通信技术的发展,高效能计算机系统进程动态迁移计算将更为便捷,在降低故障对用户任务影响的同时完成有序的迁移,确保系统适用性、可靠性的进一步提升。
参考文献:
[1]钱磊,李宏亮,谢向辉,陈左宁.虚拟化技术在高性能计算机系统中的应用研究[J].计算机工程与科学,2011,S1(53):307-311.
[2]潘谈,王璐璐,辛伟兰,赵新东.虚拟化技术在高性能计算机系统中的应用探析[J].城市地理,2014,18(64):177.
[3]MohsenSharifi,HadiSalimi,MahsaNajafzadeh.Power-efficientdistributedschedulingofvirtualmachinesusingworkload-awareconsolidationtechniques[J].TheJournalofSupercomputing,2012,61(1),46-66.
[4]木克代斯·卡德尔,王欣欣,赵琳.虚拟化技术在计算机系统中的应用研究[J].电子技术与软件工程,2014,15(63):184-185.
作者简介:
陈长全,讲师,网络工程师,海南经贸职业技术学院,研究方向计算机。