通过NVRAM提升虚拟机性能的方法和系统与流程

文档序号:12271020阅读:1448来源:国知局
通过NVRAM提升虚拟机性能的方法和系统与流程

本发明涉及虚拟机,具体地,涉及通过NVRAM提升虚拟机性能的方法和系统。



背景技术:

首先对本发明涉及的相关概念进行说明。

NVRAM:非易失性随机访问存储器(Non-Volati le Random Access Memory),是指断电后仍能保持数据的一种RAM。

KVM:(Kernel-based Virtual Machine)是由以色列的一个开源组织开发的基于Linux内核的虚拟机,于2008年被红帽收购。

近些年来,云计算的兴起给IT产业带来了新的发展空间,其结合IT技术和互联网技术实现了超级计算和存储能力,而推动云计算兴起的核心动力是虚拟化技术的发展。虚拟化是通过把多个操作系统整合到一台高性能服务器上,最大化利用硬件平台的所有资源,用更少的投入实现更多的应用,还可以简化IT架构,降低管理资源的难度,避免IT架构的非必要扩张。

虚拟化技术发展到今天,各方面都有了进步,虚拟化也从纯软件逐步深入到处理器级虚拟化,再到平台级虚拟化乃至输入/输出级虚拟化,代表性技术就是Intel VT-x。因此,相比于早期通过软件转码的方式,最新的虚拟化技术直接通过处理器的虚拟化模块对虚拟机的GuestOS进行处理,大幅提升了虚拟机性能。

一般基于虚拟化的用户应用程序分为CPU密集型和IO密集型两类。而Intel VT-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中,以闪存(Flash Memory)技术最为引人注目,并占据着NVRAM市场的霸主地位。尽管现在不同于闪存技术的其他NVRAM技术已经出现,并逐渐被一些厂商重视并看好,但综合架构、性能、稳定性等方面来看,闪存仍将是本方案的优选产品。

目前市场上的闪存最大容量已经达到512GB,但比起传统的基于磁盘的存储设备来说,容量还是偏小,单位GB的价格仍然偏高,并且不易扩展。因此,本方案仍然保留了传统的存储设备,用于对虚拟机不常访问的数据块进行保存,由此减少NVRAM的存储空间压力。考虑到系统扩展性以及综合性能,后端的传统存储设备推荐基于光纤管道(FC)或者完整交换机(iSCSI)的传统SAN磁盘阵列,整个实施方案如图1所示。

具体地,根据本发明提供的通过NVRAM提升虚拟机性能的方法,具体来说,具体步骤如下:

步骤1:每台物理机上运行多台虚拟机,并与后端存储设备(可以是SAN,也可以是分布式文件系统ceph或glusterfs,还可以是简单的磁盘镜像文件)相连。

步骤2:在每台物理机(即kvm宿主机)上,设计一个NVRAM服务程序,用于接收来自某台KVM虚拟机的IO请求。

步骤3:如果是读请求,则NVRAM服务程序从非易失性随机访问存储器中读取相应的数据块。如果NVRAM没有要读的数据块,即没有命中,则服务程序从后端存储设备读取该块,以及后续的多个连续的块,并缓存再NVRAM中。

步骤4:如果是写请求,则NVRAM服务程序将待写的数据直接写入非易失性随机访问存储器中。

步骤5:当步骤3或步骤4由于NVRAM空间不够而导致失败,则服务程序根据LRU(Least recently used,最近最少使用)算法,将非易失性随机访问存储器中的部分较少访问的数据块刷入后端存储设备,并将其所占用的NVRAM空间释放。

虚拟化是云计算体系的核心,特别是基于KVM的虚拟化软件,成为了各云平台的核心软件。对于KVM来说,由于处理器硬件级虚拟化技术的成熟,基于CPU密集型应用程序的虚拟机提升性能。然而对IO密集型业务虚拟机的性能由于受到后端存储的制约,并没多大改善,并且绝大多数的租户业务特点是基于IO密集型的,表现为大量的数据库应用。因此本发明通过对非易失性随机访问存储器(NVRAM)的使用,极大的改善了IO密集型虚拟机的性能特点,解决了其应用瓶颈。

的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1