通过NVRAM提升虚拟机性能的方法和系统技术方案

技术编号:14747101 阅读:90 留言:0更新日期:2017-03-01 23:41
本发明专利技术提供了一种通过NVRAM提升虚拟机性能的方法和系统,包括:在每台物理机上运行多台虚拟机,并且虚拟机与后端存储设备相连;在每台物理机上,通过NVRAM服务接收来自虚拟机的IO请求;如果IO请求是读请求,则NVRAM服务从非易失性随机访问存储器中读取相应的数据块;如果IO请求是写请求,则NVRAM服务将待写的数据直接写入非易失性随机访问存储器中。本发明专利技术核心是通过非易失性随机访问存储器NVRAM取代传统的文件系统,作为KVM虚拟机的后端存储设备,将其中的IO请求进行接管,绕过宿主机上的文件系统,提升虚拟机的性能。

【技术实现步骤摘要】

本专利技术涉及虚拟机,具体地,涉及通过NVRAM提升虚拟机性能的方法和系统
技术介绍
首先对本专利技术涉及的相关概念进行说明。NVRAM:非易失性随机访问存储器(Non-VolatileRandomAccessMemory),是指断电后仍能保持数据的一种RAM。KVM:(Kernel-basedVirtualMachine)是由以色列的一个开源组织开发的基于Linux内核的虚拟机,于2008年被红帽收购。近些年来,云计算的兴起给IT产业带来了新的发展空间,其结合IT技术和互联网技术实现了超级计算和存储能力,而推动云计算兴起的核心动力是虚拟化技术的发展。虚拟化是通过把多个操作系统整合到一台高性能服务器上,最大化利用硬件平台的所有资源,用更少的投入实现更多的应用,还可以简化IT架构,降低管理资源的难度,避免IT架构的非必要扩张。虚拟化技术发展到今天,各方面都有了进步,虚拟化也从纯软件逐步深入到处理器级虚拟化,再到平台级虚拟化乃至输入/输出级虚拟化,代表性技术就是IntelVT-x。因此,相比于早期通过软件转码的方式,最新的虚拟化技术直接通过处理器的虚拟化模块对虚拟机的GuestOS进行处理,大幅提升了虚拟机性能。一般基于虚拟化的用户应用程序分为CPU密集型和IO密集型两类。而IntelVT-x等处理器级虚拟化技术,主要是帮助了那些运行着CPU密集型的业务程序的虚拟机提升性能,却对IO密集型业务虚机的性能并没带来多大的改善。鉴于此,国内外多家公司和学术机构都对此进行了研究和改进,但效果并不理想。其中,与本专利技术最接近的技术方案如下:专利文献1(公开号CN103593226A):一种提高虚拟机磁盘IO性能的方法,其设计一种特殊的文件系统,把部分内存模拟为磁盘,通过把虚拟机使用的以文件形式存在并存放在宿主机物理硬盘上的虚拟硬盘放在内存模拟成的文件系统上,利用内存的高速读写性能,以达到大幅度提高磁盘IO性能的目的。该方案的最大的问题是如果使用一般的内存则缺乏掉电保护机制,容易造成用户业务数据丢失。专利文献2(CN105117285A):一种基于移动虚拟化系统的非易失性存储器调度优化方法,该专利文献设计了一种基于移动虚拟化系统的非易失性存储器调度优化方法,包括以下步骤:步骤1、在移动虚拟化系统上,DRAM存储器与NVRAM存储器结合;步骤2、针对单个虚拟机,将任务划分为写密集型任务和读密集型任务;步骤3、根据任务的密集性和CPU的利用率,动态地将写密集型任务分配到DRAM存储器上,读密集型任务分配到NVRAM存储器上;步骤4、在多个虚拟机之间采用不公平的调度算法。这个方案最大的问题就是数据承载量过小,不适合动辄上百GB数据量的通用虚拟化系统,仅仅适合移动终端的小型虚拟化设备。
技术实现思路
针对现有技术中的缺陷,本专利技术的目的是提供一种通过NVRAM提升虚拟机性能的方法。根据本专利技术提供的一种通过NVRAM提升虚拟机性能的方法,包括:步骤1:在每台物理机上运行多台虚拟机,并且虚拟机与后端存储设备相连;步骤2:在每台物理机上,通过NVRAM服务接收来自虚拟机的IO请求;步骤3:如果IO请求是读请求,则NVRAM服务从非易失性随机访问存储器中读取相应的数据块;如果IO请求是写请求,则NVRAM服务将待写的数据直接写入非易失性随机访问存储器中;其中,当IO请求是读请求,且NVRAM服务没有在非易失性随机访问存储器中查找到待读取数据块,则NVRAM服务将从所述后端存储设备读取到的所述待读取数据块以及待读取数据块后续的多个连续的数据块缓存在非易失性随机访问存储器中。优选地,当因非易失性随机访问存储器空间不够而导致IO请求失败,则NVRAM服务根据最近最少使用算法LRU,将非易失性随机访问存储器中的部分较少访问的数据块刷入后端存储设备,并将被刷入候选存储设备的数据块所占用的非易失性随机访问存储器的空间释放。根据本专利技术提供的一种通过NVRAM提升虚拟机性能的系统,包括:第一装置:用于在每台物理机上运行多台虚拟机,其中,虚拟机与后端存储设备相连;第二装置:用于在每台物理机上,通过NVRAM服务接收来自虚拟机的IO请求;第三装置:用于当IO请求是读请求时,通过NVRAM服务从非易失性随机访问存储器中读取相应的数据块;当IO请求是写请求时,通过NVRAM服务将待写的数据直接写入非易失性随机访问存储器中;其中,当IO请求是读请求,且NVRAM服务没有在非易失性随机访问存储器中查找到待读取数据块,则NVRAM服务将从所述后端存储设备读取到的所述待读取数据块以及待读取数据块后续的多个连续的数据块缓存在非易失性随机访问存储器中。优选地,当因非易失性随机访问存储器空间不够而导致IO请求失败,则NVRAM服务根据最近最少使用算法LRU,将非易失性随机访问存储器中的部分较少访问的数据块刷入后端存储设备,并将被刷入候选存储设备的数据块所占用的非易失性随机访问存储器的空间释放。与现有技术相比,本专利技术具有如下的有益效果:本专利技术核心是通过非易失性随机访问存储器NVRAM取代传统的文件系统,作为KVM虚拟机的后端存储设备,将其中的IO请求进行接管,绕过宿主机上的文件系统,提升虚拟机的性能。附图说明通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:图1为本专利技术提供的通过NVRAM提升虚拟机性能的原理示意图。图2为本专利技术提供的通过NVRAM提升虚拟机性能的步骤流程图。具体实施方式下面结合具体实施例对本专利技术进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本专利技术,但不以任何形式限制本专利技术。应当指出的是,对本领域的普通技术人员来说,在不脱离本专利技术构思的前提下,还可以做出若干变化和改进。这些都属于本专利技术的保护范围。随着云计算的不断发展,各种虚拟化软件也开始得到了大规模的应用,特别是基于KVM的虚拟化软件,成为了各云平台的主流软件。对于KVM来说,由于处理器硬件级虚拟化技术的成熟,基于CPU密集型应用程序的虚拟机提升性能。然而对IO密集型业务虚拟机的性能受到存储选项的制约,并没有多大的改善。针对KVM的存储选项概况起来有三种:虚拟磁盘镜像(各种格式的镜像文件,目前最流行的是qcow2格式)、基于文件系统的存储(nfs、glusterfs、ceph等)和基于设备的存储(SAN设备)。所有的这些针对KVM的存储选项都有一个共同缺点:文件系统固有缺陷。因为虚拟机的磁盘文件不能直接读取或写入KVM存储设备,而是写入宿主机OS之上的文件系统。这也就意味着在访问和写入文件时中间增加了额外一层,这通常会降低性能。所以,如果希望寻找KVM虚拟化性能最优方案,最好考虑基于一种新的设备存储方法。本方案的首要目的是解决虚拟机IO性能瓶颈的问题,核心是对NVRAM的使用。与传统的RAM相比,NVRAM与RAM最大的不同在于断电后RAM数据消失,而NVRAM数据保留。日前,在多种NVRAM中,以闪存(FlashMemory)技术最为引人注目,并占据着NVRAM市场的霸主地位。尽管现在不同于闪存技术的其他NVRAM技术已经出现,并逐渐被一些厂商重视并看好,但综合架构、性能、稳定性等方面来看,闪存仍将是本方案的优选产品。目前市场上的闪存最大容量本文档来自技高网
...
通过NVRAM提升虚拟机性能的方法和系统

【技术保护点】
一种通过NVRAM提升虚拟机性能的方法,其特征在于,包括:步骤1:在每台物理机上运行多台虚拟机,并且虚拟机与后端存储设备相连;步骤2:在每台物理机上,通过NVRAM服务接收来自虚拟机的IO请求;步骤3:如果IO请求是读请求,则NVRAM服务从非易失性随机访问存储器中读取相应的数据块;如果IO请求是写请求,则NVRAM服务将待写的数据直接写入非易失性随机访问存储器中;其中,当IO请求是读请求,且NVRAM服务没有在非易失性随机访问存储器中查找到待读取数据块,则NVRAM服务将从所述后端存储设备读取到的所述待读取数据块以及待读取数据块后续的多个连续的数据块缓存在非易失性随机访问存储器中。

【技术特征摘要】
1.一种通过NVRAM提升虚拟机性能的方法,其特征在于,包括:步骤1:在每台物理机上运行多台虚拟机,并且虚拟机与后端存储设备相连;步骤2:在每台物理机上,通过NVRAM服务接收来自虚拟机的IO请求;步骤3:如果IO请求是读请求,则NVRAM服务从非易失性随机访问存储器中读取相应的数据块;如果IO请求是写请求,则NVRAM服务将待写的数据直接写入非易失性随机访问存储器中;其中,当IO请求是读请求,且NVRAM服务没有在非易失性随机访问存储器中查找到待读取数据块,则NVRAM服务将从所述后端存储设备读取到的所述待读取数据块以及待读取数据块后续的多个连续的数据块缓存在非易失性随机访问存储器中。2.根据权利要求1所述的通过NVRAM提升虚拟机性能的方法,其特征在于,当因非易失性随机访问存储器空间不够而导致IO请求失败,则NVRAM服务根据最近最少使用算法LRU,将非易失性随机访问存储器中的部分较少访问的数据块刷入后端存储设备,并将被刷入候选存储设备的数据块所占用的非易失性随机访问存储器的空间释放。3.一种通过...

【专利技术属性】
技术研发人员:陈云松
申请(专利权)人:中国电子科技集团公司第三十二研究所
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1