CN106445633A - 通过nvram提升虚拟机性能的方法和系统 - Google Patents

通过nvram提升虚拟机性能的方法和系统 Download PDF

Info

Publication number
CN106445633A
CN106445633A CN201610821722.2A CN201610821722A CN106445633A CN 106445633 A CN106445633 A CN 106445633A CN 201610821722 A CN201610821722 A CN 201610821722A CN 106445633 A CN106445633 A CN 106445633A
Authority
CN
China
Prior art keywords
nvram
request
random access
virtual machine
access memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610821722.2A
Other languages
English (en)
Inventor
陈云松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
No32 Research Institute Of China Electronics Technology Group Corp
Original Assignee
No32 Research Institute Of China Electronics Technology Group Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by No32 Research Institute Of China Electronics Technology Group Corp filed Critical No32 Research Institute Of China Electronics Technology Group Corp
Priority to CN201610821722.2A priority Critical patent/CN106445633A/zh
Publication of CN106445633A publication Critical patent/CN106445633A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage

Abstract

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

Description

通过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密集型虚拟机的性能特点,解决了其应用瓶颈。
的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

Claims (4)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610821722.2A CN106445633A (zh) 2016-09-13 2016-09-13 通过nvram提升虚拟机性能的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610821722.2A CN106445633A (zh) 2016-09-13 2016-09-13 通过nvram提升虚拟机性能的方法和系统

Publications (1)

Publication Number Publication Date
CN106445633A true CN106445633A (zh) 2017-02-22

Family

ID=58168293

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610821722.2A Pending CN106445633A (zh) 2016-09-13 2016-09-13 通过nvram提升虚拟机性能的方法和系统

Country Status (1)

Country Link
CN (1) CN106445633A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106980475A (zh) * 2017-04-01 2017-07-25 广东浪潮大数据研究有限公司 一种分布式集群系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102073462A (zh) * 2010-11-29 2011-05-25 华为技术有限公司 虚拟存储迁移方法、系统和虚拟机监控器
CN102325178A (zh) * 2011-09-07 2012-01-18 西安交通大学 基于hypervisor构架的虚拟非易失闪存存储器件设备设计方法
US8621461B1 (en) * 2010-11-22 2013-12-31 Netapp, Inc. Virtual machine based operating system simulation using host ram-based emulation of persistent mass storage device
CN103593226A (zh) * 2013-11-04 2014-02-19 国云科技股份有限公司 一种提高虚拟机磁盘io性能的方法
CN105117285A (zh) * 2015-09-09 2015-12-02 重庆大学 一种基于移动虚拟化系统的非易失性存储器调度优化方法
CN105653345A (zh) * 2014-10-17 2016-06-08 伊姆西公司 用于支持对数据的非易失性随机访问的方法和设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8621461B1 (en) * 2010-11-22 2013-12-31 Netapp, Inc. Virtual machine based operating system simulation using host ram-based emulation of persistent mass storage device
CN102073462A (zh) * 2010-11-29 2011-05-25 华为技术有限公司 虚拟存储迁移方法、系统和虚拟机监控器
CN102325178A (zh) * 2011-09-07 2012-01-18 西安交通大学 基于hypervisor构架的虚拟非易失闪存存储器件设备设计方法
CN103593226A (zh) * 2013-11-04 2014-02-19 国云科技股份有限公司 一种提高虚拟机磁盘io性能的方法
CN105653345A (zh) * 2014-10-17 2016-06-08 伊姆西公司 用于支持对数据的非易失性随机访问的方法和设备
CN105117285A (zh) * 2015-09-09 2015-12-02 重庆大学 一种基于移动虚拟化系统的非易失性存储器调度优化方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106980475A (zh) * 2017-04-01 2017-07-25 广东浪潮大数据研究有限公司 一种分布式集群系统

Similar Documents

Publication Publication Date Title
US9569457B2 (en) Data processing method and apparatus for distributed systems
CN102460400B (zh) 基于管理程序的本地和远程虚拟内存页面管理
CN102467352B (zh) 减少存储系统请求的响应延迟
US9183157B2 (en) Method for creating virtual machine, a virtual machine monitor, and a virtual machine system
US10509731B1 (en) Methods and apparatus for memory tier page cache coloring hints
US8793427B2 (en) Remote memory for virtual machines
CN102012791B (zh) 基于Flash的数据存储PCIE板卡
US11340808B2 (en) Latency-based storage in a hybrid memory system
TWI696188B (zh) 混合式記憶體系統
CN105938458B (zh) 软件定义的异构混合内存管理方法
EP2581828A1 (en) Method for creating virtual machine, virtual machine monitor and virtual machine system
CN101645045A (zh) 使用透明页变换的存储器管理
CN105446665A (zh) 一种计算机存储加速系统及其优化方法
CN107562645B (zh) 一种内存页管理方法及计算设备
US11327892B2 (en) Latency-based storage in a hybrid memory system
US10372606B2 (en) System and method for integrating overprovisioned memory devices
Yang et al. Performance evaluation on cxl-enabled hybrid memory pool
CN105786721A (zh) 一种内存地址映射管理方法及处理器
CN101859282B (zh) 基于双重跟踪的虚拟化平台的磁盘页面换入的方法
CN103377069A (zh) 一种基于日志文件写入外挂nas实现虚拟化计算部署的新方法
CN106445633A (zh) 通过nvram提升虚拟机性能的方法和系统
CN104598166B (zh) 系统管理方法和装置
김현익 RapidSwap: An Efficient Hierarchical Far Memory

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170222