CN106445633A - 通过nvram提升虚拟机性能的方法和*** - Google Patents
通过nvram提升虚拟机性能的方法和*** Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 16
- 230000008859 change Effects 0.000 description 4
- 230000006872 improvement Effects 0.000 description 3
- 230000001965 increasing effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000035800 maturation Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 239000011800 void material Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明提供了一种通过NVRAM提升虚拟机性能的方法和***,包括:在每台物理机上运行多台虚拟机,并且虚拟机与后端存储设备相连;在每台物理机上,通过NVRAM服务接收来自虚拟机的IO请求;如果IO请求是读请求,则NVRAM服务从非易失性随机访问存储器中读取相应的数据块;如果IO请求是写请求,则NVRAM服务将待写的数据直接写入非易失性随机访问存储器中。本发明核心是通过非易失性随机访问存储器NVRAM取代传统的文件***,作为KVM虚拟机的后端存储设备,将其中的IO请求进行接管,绕过宿主机上的文件***,提升虚拟机的性能。
Description
技术领域
本发明涉及虚拟机,具体地,涉及通过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,将非易失性随机访问存储器中的部分较少访问的数据块刷入后端存储设备,并将被刷入候选存储设备的数据块所占用的非易失性随机访问存储器的空间释放。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106980475A (zh) * | 2017-04-01 | 2017-07-25 | 广东浪潮大数据研究有限公司 | 一种分布式集群*** |
Citations (6)
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 | 伊姆西公司 | 用于支持对数据的非易失性随机访问的方法和设备 |
-
2016
- 2016-09-13 CN CN201610821722.2A patent/CN106445633A/zh active Pending
Patent Citations (6)
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)
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 | |
CN102012791B (zh) | 基于Flash的数据存储PCIE板卡 | |
US11340808B2 (en) | Latency-based storage in a hybrid memory system | |
CN105938458B (zh) | 软件定义的异构混合内存管理方法 | |
TWI696188B (zh) | 混合式記憶體系統 | |
US10372606B2 (en) | System and method for integrating overprovisioned memory devices | |
EP2581828A1 (en) | Method for creating virtual machine, virtual machine monitor and virtual machine system | |
CN101645045A (zh) | 使用透明页变换的存储器管理 | |
CN105446665A (zh) | 一种计算机存储加速***及其优化方法 | |
US11327892B2 (en) | Latency-based storage in a hybrid memory system | |
CN112988387A (zh) | 一种内存页管理方法及计算设备 | |
Yang et al. | Performance evaluation on cxl-enabled hybrid memory pool | |
CN105786721A (zh) | 一种内存地址映射管理方法及处理器 | |
CN103020077A (zh) | 一种电力***实时数据库内存管理方法 | |
CN101859282B (zh) | 基于双重跟踪的虚拟化平台的磁盘页面换入的方法 | |
CN203930810U (zh) | 一种基于多维数据相似性的混合存储*** | |
CN103377069A (zh) | 一种基于日志文件写入外挂nas实现虚拟化计算部署的新方法 | |
CN106445633A (zh) | 通过nvram提升虚拟机性能的方法和*** | |
CN104598166B (zh) | ***管理方法和装置 | |
CN105404471A (zh) | 一种分布式云存储高速缓存层实现方法 | |
Sun et al. | Low power and high I/O efficiency hybrid memory for Internet of Things edge devices | |
김현익 | 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 |