CN109344090A - 数据中心中kvm虚拟机的虚拟硬盘系统及数据中心 - Google Patents
数据中心中kvm虚拟机的虚拟硬盘系统及数据中心 Download PDFInfo
- Publication number
- CN109344090A CN109344090A CN201811276706.5A CN201811276706A CN109344090A CN 109344090 A CN109344090 A CN 109344090A CN 201811276706 A CN201811276706 A CN 201811276706A CN 109344090 A CN109344090 A CN 109344090A
- Authority
- CN
- China
- Prior art keywords
- virtual
- data
- block
- consistency
- hard disk
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
-
- 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/45583—Memory management, e.g. access or allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1056—Simplification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据中心中KVM虚拟机的虚拟硬盘系统及数据中心,该数据中心中KVM虚拟机的虚拟硬盘系统该包括:从环形缓存区获取客户机与宿主机之间发起的含有虚拟块数据地址及数据块的事务的Vhost‑blk驱动模块、管理宿主机的非易失性内存的分配与回收的非易失性内存管理模块、VBA翻译模块,将虚拟块数据地址翻译成实际数据块地址,并判断是否在一致性缓存中命中,BIO重定向模块,根据数据块经过翻译后的实际数据块地址在宿主机的物理磁盘中进行存取操作。在本发明中,通过vhost‑blk驱动模块实现了内核级模拟的虚拟硬盘系统,缩短了客户机访问宿主机物理磁盘的软件路径,降低了处理器的开销,提高了对物理磁盘访问效率。
Description
技术领域
本发明属于数据中心技术领域,具体涉及一种数据中心中KVM虚拟机的虚拟硬盘系统及其一种数据中心。
背景技术
数据中心(Internet Data Center,IDC)是互联网内容提供商(ICP)、企业、媒体和各类网站提供大规模、高质量、安全可靠的专业化服务器托管、空间租用、网络批发带宽以及ASP、EC等业务。IDC是对入驻(Hosting)企业、商户或网站服务器群托管的场所;是各种模式电子商务赖以安全运作的基础设施,也是支持企业及其商业联盟(其分销商、供应商、客户等)实施价值链管理的平台。随着技术的不断发展,数据中心的物理资源或者底层资源的虚拟化技术正在成为最热门的研究方向。
KVM(Kernel-based Virtual Machine)内置于Linux内核,是一种基于硬件的完全虚拟化系统。KVM基本结构由KVM Driver和Qemu组成。其中,KVM Driver已经成为了Linux内核的一个模块,并负责创建虚拟机、虚拟内存的分配、虚拟CPU寄存器的读/写与运行等;Qemu用于模拟PC硬件的用户空间组建,提供硬盘、网络等设备模型以及访问途径。
Qemu是运行在HOST OS(主机操作系统)中的一个应用程序,并以宿主机文件的形式存储虚拟机硬盘数据,并提供raw和qcow2两种常用的文件格式。qcow2提供cow(写时复制)技术,数据块仅在更新时被分配,并提供了snapshot(快照功能)。
参图1所示,qcow2采用两级索引表形式的数据索引块方式将虚拟机IO请求(虚拟机向宿主机发起的事务)的virtual block address(VBA)转化为Qcow2镜像文件偏移imageblock address(IBA)。一个VBA地址d被分为三个部分,d=(d1,d2,d3)。其中d1作为L1Table的索引以获取L2Tables中的索引表X,d2作为L2Tables偏移获取数据块Y。请求数据便位于数据块Y偏移d3的位置。
Raw虽然没有元数据的开销,但是需要事先填充文件,文件创建速度慢,无法实现虚拟硬盘资源的按需分配,且不支持虚拟镜像的快照功能,只能借助LVM(逻辑卷),甚至版本管理等外部软件来实现,效率较低,占用虚拟硬盘空间较大。
Qcow2虽然解决了raw中不能按需分配虚拟硬盘资源及快照功能的缺陷,但是Qcow2创建文件的速度仍然很低,并已成为KVM虚拟机的瓶颈;尤其在并行磁盘系统写IO密集型领域中尤为明显,并使得整个虚拟计算机处于等待物理磁盘IO的状态,导致无法执行其他操作。
Qcow2提供在初始化时生成全部元数据功能,以避免数据块的迁移,但也导致失去了cow所实现的按需分配虚拟硬盘资源的效果。尤其在虚拟硬盘系统较大时,需要占用大量的物理磁盘空间。1TB的虚拟硬盘需要消耗128MB的元数据空间,从而造成了现有技术中加载并运行数据中心中KVM虚拟机所依赖的物理机的物理磁盘空间的极大浪费。
有鉴于此,有必要对现有技术中数据中心中KVM虚拟机的虚拟硬盘系统虚拟硬盘及数据中心予以改进,以解决上述技术瑕疵。
发明内容
本发明的目的之一在于公开一种数据中心中KVM虚拟机的虚拟硬盘系统,以及基于该数据中心中KVM虚拟机的虚拟硬盘系统所形成的一种数据中心,用以改变现有技术中数据中心中的虚拟机磁盘的存储方式,并避免使用现有技术中的宿主机文件系统(Files-System,FS),缩短虚拟机磁盘操作的软件路径,优化元数据组织结构和数据块存储方式,并能够保证元数据实现按需分配以满足TB级以上的大容量虚拟硬盘系统的需求,提高客户机对宿主机中的物理磁盘进行访问的效率,实现对数据中心中虚拟资源的优化配置。
为实现上述第一个发明目的,本发明公开了一种数据中心中KVM虚拟机的虚拟硬盘系统,包括:
Vhost-blk驱动模块,从环形缓存区获取客户机与宿主机之间发起的含有虚拟块数据地址及数据块的事务;
非易失性内存管理模块,管理宿主机的非易失性内存的分配与回收;
VBA翻译模块,将虚拟块数据地址翻译成实际数据块地址,并判断是否在一致性缓存中命中,并仅在未命中时由所述非易失性内存管理模块在一致性缓存(40)中分配空闲缓存页面,以存放数据块;
BIO重定向模块,根据数据块经过翻译后的实际数据块地址在宿主机的物理磁盘中进行存取操作,并发送至Vhost-blk驱动模块。
作为本发明的进一步改进,所述非易失性内存管理模块包括slab分配器,以对宿主机的物理内存进行分配回收大块物理内存的操作,用以存放固定长度的结构化数据,所述结构化数据包括KVM虚拟机的虚拟硬盘系统中的元数据和写入所述一致性缓存中的固定长度块数据。
作为本发明的进一步改进,所述非易失性内存管理模块还包括缓存页面访问频率统计器,用以计算在上一次缓存页面回收过程后到本次缓存页面回收前各个一致性缓存页面的被访问次数,以得到访问次数最少的若干缓存页面,并进行缓存页面的回收操作。
作为本发明的进一步改进,所述非易失性内存管理模块能够将非易失性内存中所存储的元数据以外剩余的物理内存空间作为所述KVM虚拟机的虚拟硬盘系统的一致性缓存,以快速存储客户机所发起的事务中写请求所对应的块数据,当非易失性内存耗尽时,所述非易失性内存管理模块以LRU算法挑选出最近最不常使用的一致性缓存页面,并通过BIO重定向模块将所述“最近最不常使用的一致性缓存页面”写入物理磁盘连续扇区中,以达到回收页面的目的,使得在一致性缓存中腾出空闲的一致性缓存页面,用以存放客户机发起的新事务所对应的块数据。
作为本发明的进一步改进,所述VBA翻译模块以虚拟块数据地址为索引,以实际块数据地址为叶子节点值,构建核心数据结构radix树,以记录虚拟块数据地址与实际数据块地址之间的映射关系,并通过写时复制与事务认证机制确保radix树中叶子节点所代表的映射关系与数据块的一致性。
作为本发明的进一步改进,所述VBA翻译模块根据客户机发起的事务以判断是否需要改变所述事务所对应的数据块与虚拟块数据地址之间的映射关系;
若是,则在原始的radix树中创建一新节点,并待所述事务所对应的块数据写入非易失性内存(107)后,将radix树中的旧节点的父节点指向该新节点,并释放旧节点;
若否,则在原始的radix树中不创建新节点,并仅更改映射关系;所述非易失性内存包括:非易失性RAMDISK、NVDIMM、连接备用电源的易失性内存、PCM、FRAM、支持随机访问的固态存储装置。
作为本发明的进一步改进,所述BIO重定向模块将物理磁盘划分为若干块组,并通过linux交换区算法将每一个虚拟硬盘的块数据存放于一个块组中,所述块组被进一步划分为若干簇。
作为本发明的进一步改进,所述缓存页面访问频率统计器计算在上一次一致性缓存页面回收过程后到本次一致性缓存页面回收前各个一致性缓存页面的被访问次数,以得到访问次数最少的若干一致性缓存页面,并进行一致性缓存页面的回收操作,并将每一次一致性缓存页面回收操作后将回收的一致性缓存页面放置于同一个簇中;
所述簇的容量规格与处理器所能映射的非易失性内存页面粒度及宿主机的物理磁盘的物理介质所能处理的最佳写操作的数据规格相适应。
作为本发明的进一步改进,所述BIO重定向模块将自客户机发起的事务中的虚拟数据块地址替换为经过VBA翻译模块翻译后的实际块数据地址;
若客户机发起的事务中所含的数据块位于一致性缓存中时,则由vhost-blk驱动模块直接读取并响应客户机所发起的事务;
若客户机发起的事务中所含的数据块不位于一致性缓存中时,则由BIO重定向模块将事务中的虚拟块数据地址替换为经VBA翻译模块翻译后的实际数据块地址后发往宿主机的物理磁盘中以读取块数据,所述物理磁盘包括:机械式硬盘、SAN、VSAN、DAS。
同时,本发明还公开了一种数据中心,包括:虚拟化平台、与虚拟化平台连接的若干物理机、资源管理节点服务器、与物理机连接并由至少一个物理磁盘所组成的存储层;所述虚拟化平台中配置若干与资源管理节点服务器连接的监视器,所述监视器连接至少一个KVM虚拟机,
其中,所述KVM虚拟机包含至少一个如上述任一项发明所述的KVM虚拟机的虚拟硬盘系统。
与现有技术相比,本发明的有益效果是:在本发明中,通过vhost-blk驱动模块实现了内核级模拟的虚拟硬盘系统,缩短了客户机访问宿主机物理磁盘的软件路径,降低了处理器的开销,并实现了元数据按需分配以满足TB级以上的大容量虚拟硬盘的需求,提高了对物理磁盘的访问效率,从而显著地提高了基于该KVM虚拟机的虚拟硬盘系统的数据中心中物理机对用户发起的访问请求的响应效率,实现了对数据中心中虚拟资源的优化配置,尤其能够显著地避免了运行KVM虚拟机的物理机中的物理磁盘空间的极大浪费的现象。
附图说明
图1为现有技术中qcow2采用两级索引表形式的数据访问过程示意图;
图2为宿主机操作系统(HOST OS)中的本发明一种数据中心中KVM虚拟机的虚拟硬盘系统通过环形缓存区与客户机操作系统(GUEST OS)进行数据访问的系统示意图;
图3为实施例一中非易失性内存管理模块中设置slab分配器与缓存页面访问频率统计器所形成的本发明一种数据中心中KVM虚拟机的虚拟硬盘系统的示意图;
图4为物理磁盘被IO重定向模块划分成若干组块和若干簇后的示意图;
图5为将图2所示的一种数据中心中KVM虚拟机的虚拟硬盘系统运用在Linux系统的宿主机中的示意图;
图6为Device-Mapper驱动的示意图;
图7为基于Linux系统的宿主机的逻辑架构图;
图8为基于Linux系统的宿主机在变形例中的逻辑架构图;
图9为分布式Device-Mapper驱动一种变形例中的示意图;
图10为本发明一种数据中心的逻辑架构图。
其中,说明书中各具体实施方式的附图标记说明如下:
数据中心中KVM虚拟机的虚拟硬盘系统-100;vhost-blk驱动模块-10;非易失性内存管理模块-20;VBA翻译模块-30;一致性缓存-40;本地一致性缓存401;分布式一致性缓存402;BIO重定向模块-50;客户机-1;宿主机-2;环形缓存区-3;vhost-IO驱动-101;通用块设备层-102;文件系统/数据库-103;应用程序-104;宿主机块设备-105;物理磁盘-106;非易失性内存-107;宿主机块设备-108;缓存设备-109;Device-Mapper驱动-110、110a、110b;块组-116;簇-1161;slab分配器-201;缓存页面访问频率统计器-202;分布式存储系统-126;虚拟化平台-400;物理机-501、502、503;物理机集群-500;资源管理节点服务器-700;存储层-600;监视器-401、402、403;KVM虚拟机-4、301、302、303、304、305、306;KVM虚拟机集群-300。
具体实施方式
下面结合附图所示的各实施方式对本发明进行详细说明,但应当说明的是,这些实施方式并非对本发明的限制,本领域普通技术人员根据这些实施方式所作的功能、方法、或者结构上的等效变换或替代,均属于本发明的保护范围之内。
在详细阐述下述各个实施例详情前,先定义或阐述一些术语。
术语“快照”(Snapshot):关于指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点的映像,快照的作用是能够进行在线数据恢复,当存储设备发生故障或文件损害时,可以利用快照进行及时数据恢复,将数据恢复成快照产生时间点的状态。
术语“元数据”(MetaData):存储装置中的数据进行正确定位和访问的数据,用以记录数据逻辑信息与物理信息的映射关系和访问控制信息。
术语“实际块数据地址(IBA)”:计算机发起的事务中所含数据块在宿物理磁盘中的逻辑扇区号。
术语“虚拟块数据地址(VBA)”:计算机发起的事务中所含数据块在虚拟硬盘系统中的虚拟地址。
术语“内存管理单元(Memory Management Unit,MMU)”:CPU中用来管理虚拟存储器、物理磁盘的控制线路,同时也负责虚拟地址映射为物理地址,以及提供硬件机制的内存访问授权。
实施例一:
请参图2与图3所示出的本发明一种数据中心中KVM虚拟机的虚拟硬盘系统的一种具体实施方式。
参图2所示,在本实施方式中,该数据中心中KVM虚拟机的虚拟硬盘系统100(以下 简称“KVM虚拟机的虚拟硬盘系统100”或者“虚拟硬盘系统100”,彼此具等同技术含义)包括:vhost-blk驱动模块10、VBA翻译模块30、非易失性内存管理模块20、一致性缓存40、BIO重定向模块50。该数据中心中KVM虚拟机的虚拟硬盘系统100运行于图10中的KVM虚拟机301~KVM虚拟机306中。KVM虚拟机301~KVM虚拟机306向用户提供存储、计算等功能。
Vhost-blk驱动模块10,从环形缓存区3获取客户机1与宿主机2之间发起的含有虚拟块数据地址(VBA)及数据块的事务;非易失性内存管理模块20,管理宿主机2的非易失性内存的分配与回收;VBA翻译模块30,将虚拟块数据地址(VBA)翻译成实际数据块地址(IBA),并判断是否在一致性缓存40中命中,并仅在未命中时由所述非易失性内存管理模块20在一致性缓存40中分配空闲缓存页面,以存放数据块;BIO重定向模块50,根据数据块经过翻译后的实际数据块地址(IBA)在宿主机2的物理磁盘106中进行存取操作,并发送至Vhost-blk驱动模块10。
在计算机程序执行过程中,所能用到的指令和数据的地址往往集中在一个很小的范围内,其中的地址、数据经常使用,这就是程序访问的局部性。由此,申请人意外地发现通过使用一个高速、容量相对较小的存储器来存储近期用到的页表条目(段、大页、小页、极小页描述符),可以避免每次在虚拟地址与物理地址进行转换过程中都到宿主机2的物理内存(例如DRAM)中查找,并通过该存储器来帮助快速第进行地址转换,成为转译查找缓存(Translation Lookaside Buffer,TLB)。
当CPU(位于物理机集群500中的物理机501、物理机502或者物理机503)发出的一个虚拟地址时,MMU首先访问TLB。如果TLB中含有能转换这个虚拟地址的描述符时,则直接利用此描述符进行地址转换和权限检查,否则MMU访问页表找到描述符后再进行地址转换和权限检查,并将这个描述符填入TLB中,下次再使用这个虚拟地址时就直接使用TLB中的描述符。若转换成功,则称为“命中”。
具体而言,在本实施方式中,该VBA翻译模块30以虚拟块数据地址(VBA)为索引,以实际块数据地址(IBA)为叶子节点值,构建核心数据结构radix树,利用radix树可实现索引指针与其所指向的索引信息(即元数据的分离),使得在遍历整个radix树的过程中,可以局限在尽可能少的若干个cache line进行搜索。
Radix树记录虚拟块数据地址(VBA)与实际数据块地址(IBA)之间的映射关系,并通过写时复制与事务认证机制确保radix树中叶子节点所代表的映射关系与数据块的一致性。
所述VBA翻译模块30根据客户机1发起的事务以判断是否需要改变所述事务所对应的数据块与虚拟块数据地址(VBA)之间的映射关系;
若是,则在原始的radix树中创建一新节点,并待所述事务所对应的块数据写入非易失性内存107后,将radix树中的旧节点的父节点指向该新节点,并释放旧节点;
若否,则在原始的radix树中不创建新节点,并仅更改映射关系。
为进一步详细阐述本发明,对基于一种数据中心中KVM虚拟机的虚拟硬盘系统100的Linux系统的宿主机2和基于该宿主机2通过虚拟化所形成的一个客户机1之间进行块数据读操作和写操作分别进行详细阐述。
若是“写操作”(即图2图3中的客户机1向宿主机2发起的事务是需要将数据写入宿主机2的物理磁盘106中)。
在此种情形下,VBA翻译模块30查询客户机1通过环形缓存器3向宿主机2发起的事务中所含的虚拟块数据地址(VBA)。若在虚拟块数据地址(VBA)在一致性缓存40中命中,则直接写入该一致性缓存40;若未命中,则由非易失性内存管理模块20在该一致性缓存40中分配空闲缓存页面,并将该事务所对应的块数据写入该一致性缓存40中。从而完成写操作的快速完成,并随即通知vhost-blk驱动模块10提交事务执行完毕的指令。
若事务中所含的数据块一次性全部写入该一致性缓存40,则通过该VBA翻译模块30在一致性缓存40中新建该块数据的虚拟块数据地址(VBA)与一致性缓存40的映射关系;然后由vhost-blk驱动模块10通过环形缓存区3向客户机1注入中断,通知客户机1其所发起的事务执行完毕。
若是“读操作”(即图2图3中的客户机1向宿主机2发起的事务是需要将数据写入宿主机2的物理磁盘106中)。
在此种情形下,VBA翻译模块30查询客户机1通过环形缓存器3向宿主机2发起的事务中所含的虚拟块数据地址(VBA)。若该事务所对应的块数据位于一致性缓存40中则直接读取,若该事务所对应的块数据位于宿主机2的物理磁盘106中,则通过VBA翻译模块30将虚拟块数据地址(VBA)翻译成实际数据块地址(IBA),然后通过BIO重定向模块50将事务中的块数据通过宿主机块设备105读取物理磁盘106中实际数据块地址(IBA)所对应的块数据。当读操作完成后,由vhost-blk驱动模块10通过环形缓存区3向客户机1注入中断,通知客户机1其所发起的事务执行完毕。
在本实施方式中,VBA翻译模块30负责处理每个自客户机1发起的事务,如果事务需要改变映射关系(例如新建数据块映射关系、数据块缓存写入物理磁盘、新建/删除快照),则将radix树节点重新拷贝一份,待事务处理结束后才将radix树中的旧节点的父节点指向新节点。Radix树以一个CPU cache line填充,并以指针(point)的形式指向该节点的数据。非易失性内存管理模块20在分配宿主机2的系统主存(未图示)的大块,以将分散的节点数据集中存放,从而提高检索过程中CPU cache line和TLB的命中率。
在本实施方式中,该数据中心中的虚拟硬盘系统100可直接运行于宿主机2的系统主存(未图示)中。该系统主存包括易失性的随机存取存储器(DRAM)和非易失性内存107(Non-Volatile Random Access Memory,NVRAM)。
更具体的,该非易失性内存107包括非易失性RAMDISK、NVDIMM、连接备用电源(例如UPS或纽扣电池)的易失性内存、PCM(相变存储器)、FRAM(铁电存储器)或者支持随机访问的固态存储装置,并更优选为非易失性RAMDISK。同时,在本实施方式中,该宿主机2中的物理磁盘106选用固态硬盘(SSD),当然也可以选用机械式硬盘(HDD)。
参图3所示,在本实施方式中,所述非易失性内存管理模块20包括slab分配器201,以对宿主机2的物理内存进行分配回收大块物理内存的操作,用以存放固定长度的结构化数据。所述“结构化数据”包括KVM虚拟机的虚拟硬盘系统100中的元数据和写入所述一致性缓存40中的固定长度块数据。具体的,该结构化数据包括元数据(Metadata)和一致性缓存页面。
另外,slab分配器201能够以大页(huge page)粒度进行非易失性物理内存(参说明书附图中各图所示的非易失性内存107)的管理,这使得TLB中的一项可以映射大块物理内存,减少了在对非易失性内存107访问过程中的TLB的不必要更新。
Linux内核通常依赖于小对象(Object)的分配,它们会在系统生命周期内进行无数次分配。在本实施方式中,slab分配器201通过对类似大小的对象进行缓存而实现这种功能,从而避免了为同一个目的而对同一个对象重复进行初始化操作。
最后,slab分配器201还可以支持硬件缓存对齐和着色操作(Cache Coloring),这允许不同缓存中的对象占用相同的缓存,从而提高了对本发明所示的一种数据中心中KVM虚拟机的虚拟硬盘系统100中的一致性缓存40的利用率并获得了更好的性能。
同时,该非易失性内存管理模块20还包括缓存页面访问频率统计器202,用以计算在上一次的一致性缓存页面回收过程后到本次一致性缓存页面回收前各个一致性缓存页面的被访问次数,以得到访问次数最少的若干一致性缓存页面,并进行一致性缓存页面的回收操作,并将每一次一致性缓存页面回收操作后将回收的一致性缓存页面放置于同一个簇1161中。
在本实施方式中,该非易失性内存管理模块20能够将非易失性内存107中所存储的元数据以外剩余的物理内存空间作为所述数据中心中KVM虚拟机的虚拟硬盘系统100的一致性缓存40,以快速存储客户机1所发起的事务中写请求所对应的块数据,当计算机非易失性内存耗尽时,所述非易失性内存管理模块20以LRU算法挑选出“最近最不常使用的一致性缓存页面”,并通过BIO重定向模块50将所述“最近最不常使用的一致性缓存页面”写入物理磁盘106连续扇区中,以达到回收页面的目的,使得在一致性缓存40中腾出空闲的一致性缓存页面,用以存放客户机1发起的新事务所对应的块数据。
每一次的一致性缓存页面回收过程选择同一个虚拟机磁盘的页面,回收数目以簇为单位。同时,对于“读操作”,尽量使用客户机1自身的页面缓存,从而避免了重复的数据拷贝。
非易失性内存管理模块20将所有物理非易失性内存(即图2中的非易失性内存107)的内存页面当做slab页面供slab分配器201回收与分配,以存放结构化的元数据。剩余的大量空闲slab页面被用作一致性缓存,以提高非易失性内存107的空间利用率,提高写操作的处理速度。当空闲slab页面数目低于预设阀值时,以LRU(Least Recently Used)算法挑选用作一致性缓存的页面进行回收,以存放新的元数据和写操作所对应的数据块。
具体的,上述设定阈值选为非易失性内存107中空闲slab页面数量占该非易失性内存107中slab页面总数的1%。
参图4所示,在本实施方式中,该BIO重定向模块50将物理磁盘106划分为若干块组116,数据中心中的虚拟硬盘系统100借助传统linux交换区算法尽量将每一个虚拟硬盘的数据存放于一个块组116中。
每个块组116被进一步划分为若干簇1161,一个簇1161代表了若干连续的物理磁盘扇区,每一次回收工作尽量将回收的页面放置于同一个簇1161中。具体的,该簇1161的容量规格与处理器所能映射的非易失性内存页面粒度和宿主机2的物理磁盘106的物理介质所能处理的最佳写操作数据量相适应。
具体的,若物理磁盘106选用机械式硬盘(HDD),则处理器所能映射的非易失性内存页面粒度以簇为非易失性内存页面粒度的单位;若物理磁盘106为固态硬盘(SSD),则处理器所能映射的非易失性内存页面粒度以擦除块为非易失性内存页面粒度的单位;例如:英特尔处理器的非易失性内存页面粒度优选为2MB。
如此每一次“写操作”的块数据的写操作仅需要一次寻道时间,然后写入在物理地址上呈连续状态的大量数据块,从而大幅地提高了对宿主机2中的物理磁盘106的访问效率。
具体的,在本实施方式中,该BIO重定向模块50将自客户机1发起的事务中的虚拟数据块地址(VBA)替换为经过VBA翻译模块30翻译后的实际块数据地址(IBA);
若客户机1发起的事务中所含的数据块位于一致性缓存40中时,则由vhost-blk驱动模块10直接读取并响应客户机1所发起的事务。
若客户机1发起的事务中所含的数据块不位于一致性缓存40中时,则由BIO重定向模块50将事务中的虚拟块数据地址(VBA)替换为经VBA翻译模块30翻译后的实际数据块地址(IBA)后发往宿主机2的物理磁盘106中以读取块数据。
最后,当客户机1发起的事务被宿主机2响应并执行完毕事务所对应的操作后,从环形缓存区3接收宿主机2的指令。该客户机1依次通过Vhost-IO驱动101、通用块设备层102、文件系统/数据库103推送至客户机1的应用程序104中,从而被用户在本地和/或远程计算机中进行可视化操作。
请参图5与图6所揭示的一种宿主机。在该宿主机中,Linux内核中的devicemapper映射机制,Device mapper是Linux 2.6内核中提供的一种从逻辑设备到物理设备的映射框架机制,在该机制下,用户可以很方便的根据自己的需要制定实现存储资源的管理策略。
当前比较流行的Linux下的逻辑卷管理器如LVM2(Linux Volume Manager2version)、EVMS(Enterprise Volume Management System)、dmraid(Device Mapper RaidTool)等都是基于该机制实现的。理解该机制是进一步分析、理解这些卷管理器的实现及设计的基础。通过本文也可以进一步理解Linux系统块一级IO的设计和实现。
在内核中它通过若干模块化的target driver插件实现对IO请求的过滤或者重新定向等工作,当前已经实现的target driver插件包括软raid、软加密、逻辑卷条带、多路径、镜像、快照等,图中linear、mirror、snapshot、multipath表示的就是这些targetdriver。
Device mapper进一步体现了在Linux内核设计中策略和机制分离的原则,将所有与策略相关的工作放到用户空间完成,内核中主要提供完成这些策略所需要的机制。Device mapper用户空间相关部分主要负责配置具体的策略和控制逻辑,比如逻辑设备和哪些物理设备建立映射,怎么建立这些映射关系等等,而具体过滤和重定向IO请求的工作由内核中相关代码完成。
参图7所示,在本实施方式中,该宿主机2(基于Linux系统)包括:处理器、计算机可读介质、存储在所述计算机可读介质上并在所述处理器上执行的操作环境。同时,该宿主机2还包括加载并运行于操作环境中的实施例一所述的虚拟硬盘系统100。
该计算机可读介质包括通过宿主机块设备105与虚拟硬盘系统100相连的物理磁盘106;以及被所述非易失性内存管理模块20直接访问的非易失性内存107;同时,该非易失性内存107包括:非易失性RAMDISK(非易失性虚拟内存盘)、NVDIMM、连接备用电源的易失性内存、PCM、FRAM、支持随机访问的固态存储装置,并优选为NVDIMM。
NVDIMM(Non-Volatile DIMM)是一种集成了DRAM(动态随机存取存储器)与非易失性存储单元(例如NAND FLASH)的内存条,能够在计算机异常断电时依然保存完整内存数据,并能够直接与计算机主板上的DIMM接口插接。
在图7中,将VBA翻译模块30、非易失性内存管理模块20、一致性缓存40及BIO重定向模块50被合并以构建成Device Mapper驱动110(如图6所示);同时将vhost-blk驱动模块10直接编译入宿主机2(Linux系统)的内核,并以一个单独的块设备直接响应客户机1中所加载并形成的KVM虚拟机4所发起的事务。
参图8所示,需要说明的是,在本实施例中,该宿主机2还可进行变形,并具体如下所示。在宿主机块设备105与物理磁盘106之间还设置有缓存设备109,该缓存设备109包括固态硬盘、具非易失性的闪存适配卡,并优选为固态硬盘(SSD)。需要说明的是,该缓存设备109也可为代替上述任一种存储介质的数据块主存储设备(未示出)。
为了应对使用Flash介质作为缓存设备109的存储系统,本发明可将簇大小设置为SSD FLASH芯片擦除块大小(通常为2MB)。一次写操作可写入整块的数据,非常适合于普遍采用混合映射方式甚至块映射方式的各类Flash存储设备。
当缓存设备109选用固态硬盘(SSD)时,其可与物理磁盘106相配合使用,并利用Linux系统提供的dmcache、bcache等内核工具,将固态硬盘(SSD)定义为物理磁盘106的缓存。
当缓存设备109选用具非易失性的闪存适配卡时,该非易失性的闪存适配卡选用配置NAND FLASH缓存的闪存适配卡。
需要说明的是,该缓存设备109也可选用DIMM STORAGE存储装置,并进一步包括Ultra-DIMM或者SATA-DIMM。上述该等缓存设备109结合了NAND FLASH和机械式磁盘的特性,可直接使用计算机主板上设置的DIMM插槽作为计算机的物理磁盘106来使用,并可实现被处理器直接访问,从而提高了处理器对物理磁盘106的访问速度。
当缓存设备109中的数据无效(非第一次回收或者虚拟机磁盘及其快照删除)时,可以向相关的接口(例如:SATA、SAS、SCSI)发出trim指令,优化FLASH控制器的垃圾回收。并且一个簇,即一个FLASH擦除块中只会存放同一个虚拟硬盘或快照的数据,删除虚拟硬盘或其快照时可以使SSD获得最多可能的无效数据块。Flash介质引入的最大优势在于因其无需寻道,去除了本发明应用于虚拟硬盘系统100中无法解决的读操作引起的随机IO带来的大量磁头寻道而导致对物理磁盘106访问效率较低的问题。
同时,参图8与图9所示,该宿主机2还可引入另一种变形例,具体下文所述。在该宿主机中采用分布式存储系统替代整个存储系统。
在本实施方式中,该磁盘系统106可以为机械式硬盘(HDD),也可以选用SAN或者VSAN或者DAS,并优选为VSAN。
存储区域网络(Storage Area Network and SAN Protocols,SAN),即存储区域网络及其协议,它是一种高速网络,提供在计算机与存储系统之间的数据传输。存储设备是指一台或多台用以存储计算机数据的磁盘设备,通常指磁盘阵列(RAID_1、RAID_2、RAID_3、RAID_4、RAID_5、RAID_6、RAID_7、RAID_8)。虚拟存储区域网络(Virtual Storage AreaNetwork and SAN Protocols,SAN)。同一VSAN的设备可以互相通信,不同VSAN不能互相通信。开放系统的直连式存储(Direct-Attached Storage,DAS),直连式存储与服务器主机之间的连接通常采用SCSI连接。
在本实施方式中,利用现有VSAN设计思想将集群中所有本地NVDIMM、SSD、机械式硬盘(HDD)等存储器形成虚拟的SAN存储池。利用一致性哈希环(参图8所示),并根据每个bio请求的VBA计算哈希值,将虚拟机硬盘中的数据块均匀分布于计算机集群中的各个计算机节点上,以平衡每个计算机的工作负载。
其中,一致性哈希值由数据块的虚拟数据块地址(VBA)决定,其计算公式如下所示:hash=VBA/cluster_size。
当系统初始化时,非易失性内存管理模块20将非易失性内存107(例如:NVDIMM)划分出若干内存池,其中一个预留出存放虚拟机(VM)的虚拟硬盘的元数据,其他为每个内存池注册为一致性哈希环中的一个虚拟节点(参图8所示)。在图8中,在一致性哈希环中,计算机节点N与计算机节点1之间连接虚拟节点6;计算机节点1与计算机节点2之间连接虚拟节点1及虚拟节点2;计算机节点N与计算机节点2之间连接虚拟节点3、虚拟节点4与虚拟节点5。
在本实施方式中,可以动态伸缩元数据内存池的个数。当内存空间不够时可以将一个虚拟节点从一致性哈希环中脱离,并分配为元数据内存池。当有虚拟机硬盘删除时且有富余内存池时,可将上述被删除的虚拟节点再次加入一致性哈希环。因此,可利用一致性哈希环的动态增删节点的特性,高效地支持上述操作。
本发明会为每一个虚拟机的磁盘及其生成的每一个快照分配系统中唯一的UUID(Universally Unique Identifier),并将虚拟数据块地址(VBA)作为索引散列于各个计算机节点,而UUID用于标识这些数据块的所有者。客户机2发出的事务会将其VBA与UUID交付分布式一致性缓存402或本地一致性缓存401。
其中,分布式一致性缓存402将其路由至特定节点,然后执行与实施例一至三中的相同的BIO重定向和物理磁盘的读/写操作。
系统中每一个节点为每一个有数据存储的虚拟机硬盘(由UUID标识)维护radix树元数据。这样每一个节点中的radix树数目会急剧增加。但是其按需分配的特性使得其总量并不会增加许多,因为根据VBA散列后,radix树中仅有特定范围的VBA的数据块将存储于此,也就意味着radix树仅仅会生成特定的几根树枝。节点越多,存在叶节点的树枝将离树干越近。
如图8所示出的实例的优势在于将计算机集群中的虚拟机硬盘服务平均分配于各个计算机节点(即计算机节点1、计算机节点2、计算机节点N)中,平衡负载。在本实例中,即计算节点的数量可以是至少三个或者更多,并形成闭环逻辑结构。在本实例中,同时分布式存储方案可靠性更高,容灾能力更强。另外,与上文相比,在本实例中,KVM虚拟机的动态迁移更为简单。因为虚拟机硬盘的迁移无需任何操作,每个节点存储的元数据并不针对特定的虚拟机硬盘。而在上文中需要将元数据与本地磁盘中的数据迁移至新的计算机节点,例如,可将元数据与本地磁盘中的数据迁移从计算机节点1通过虚拟节点迁移至计算机节点2或者计算机节点N。
实施例二:
本实施例基于上述实施例一所述的KVM虚拟机的虚拟硬盘系统100得以实现。具体的,在本实施例中,该数据中心,包括:虚拟化平台400、与虚拟化平台400连接的若干物理机(即物理机501、物理机502与物理机503)、资源管理节点服务器700、与物理机连接并由至少一个物理磁盘106所组成的存储层600。虚拟化平台400中配置若干与资源管理节点服务器700连接的监视器401、监视器402及监视器403。监视器401连接KVM虚拟机301及KVM虚拟机302,监视器402连接KVM虚拟机303及KVM虚拟机304,监视器403连接KVM虚拟机305及KVM虚拟机306。
在本实施例中,KVM虚拟机301~KVM虚拟机306中包含至少一个如实施例一任一项所述的KVM虚拟机的虚拟硬盘系统100。该物理磁盘106可选用机械式硬盘(HDD),或者固态硬盘(SSD)。
由于每个物理机上安装了ESXi平台,对该物理机进行资源管理和调度,但是为了能够使整个IDC(即数据中心)的资源能够被高效地利用起来,则需要通过图10中的资源管理节点服务器700,以对各个ESXi节点的资源进行调度和管理,通过它能够执行负载均衡(Load Balance)或者故障迁移等操作。
物理机501、物理机502与物理机503通过路由器和交换机等网络设备(未具体示出)将这些物理机(即物理机501、物理机502与物理机503)连接起来。虚拟化平台400并非以物理形式存在的,其可以作为一个操作系统或者软件来理解,一般这类虚拟化平台系统/软件为ESXi或者XEN等。虚拟化平台400的主要作用就是将物理机所拥有的资源隔离出来创建虚拟机用。比如内存这样的硬件资源,虚拟化平台400则可以将内存的地址空间从逻辑上划分成多个区域进行分配。
位于顶层的KVM虚拟机301~KVM虚拟机306共同组成KVM虚拟机集群300,并依赖于虚拟化平台400组建,并向用户直接提供计算服务、存储服务等数据中心(IDC)所具有的各种功能。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
Claims (10)
1.一种数据中心中KVM虚拟机的虚拟硬盘系统(100),其特征在于,包括:
Vhost-blk驱动模块(10),从环形缓存区(3)获取客户机(1)与宿主机(2)之间发起的含有虚拟块数据地址及数据块的事务;
非易失性内存管理模块(20),管理宿主机(2)的非易失性内存的分配与回收;
VBA翻译模块(30),将虚拟块数据地址翻译成实际数据块地址,并判断是否在一致性缓存(40)中命中,并仅在未命中时由所述非易失性内存管理模块(20)在一致性缓存(40)中分配空闲缓存页面,以存放数据块;
BIO重定向模块(50),根据数据块经过翻译后的实际数据块地址在宿主机(2)的物理磁盘(106)中进行存取操作,并发送至Vhost-blk驱动模块(10)。
2.根据权利要求1所述的数据中心中KVM虚拟机的虚拟硬盘系统(100),其特征在于,所述非易失性内存管理模块(20)包括slab分配器(201),以对宿主机(2)的物理内存进行分配回收大块物理内存的操作,用以存放固定长度的结构化数据,所述结构化数据包括KVM虚拟机的虚拟硬盘系统(100)中的元数据和写入所述一致性缓存(40)中的固定长度块数据。
3.根据权利要求2所述的数据中心中KVM虚拟机的虚拟硬盘系统(100),其特征在于,所述非易失性内存管理模块(20)还包括缓存页面访问频率统计器(202),用以计算在上一次缓存页面回收过程后到本次缓存页面回收前各个一致性缓存页面的被访问次数,以得到访问次数最少的若干缓存页面,并进行缓存页面的回收操作。
4.根据权利要求3所述的数据中心中KVM虚拟机的虚拟硬盘系统(100),其特征在于,所述非易失性内存管理模块(20)能够将非易失性内存(107)中所存储的元数据以外剩余的物理内存空间作为所述KVM虚拟机的虚拟硬盘系统(100)的一致性缓存(40),以快速存储客户机(1)所发起的事务中写请求所对应的块数据,当非易失性内存(107)耗尽时,所述非易失性内存管理模块(20)以LRU算法挑选出最近最不常使用的一致性缓存页面,并通过BIO重定向模块(50)将所述“最近最不常使用的一致性缓存页面”写入物理磁盘(106)连续扇区中,以达到回收页面的目的,使得在一致性缓存(40)中腾出空闲的一致性缓存页面,用以存放客户机(1)发起的新事务所对应的块数据。
5.根据权利要求1所述的数据中心中KVM虚拟机的虚拟硬盘系统(100),其特征在于,所述VBA翻译模块(30)以虚拟块数据地址为索引,以实际块数据地址为叶子节点值,构建核心数据结构radix树,以记录虚拟块数据地址与实际数据块地址之间的映射关系,并通过写时复制与事务认证机制确保radix树中叶子节点所代表的映射关系与数据块的一致性。
6.根据权利要求5所述的数据中心中KVM虚拟机的虚拟硬盘系统(100),其特征在于,所述VBA翻译模块(30)根据客户机(1)发起的事务以判断是否需要改变所述事务所对应的数据块与虚拟块数据地址之间的映射关系;
若是,则在原始的radix树中创建一新节点,并待所述事务所对应的块数据写入非易失性内存(107)后,将radix树中的旧节点的父节点指向该新节点,并释放旧节点;
若否,则在原始的radix树中不创建新节点,并仅更改映射关系;所述非易失性内存(107)包括:非易失性RAMDISK、NVDIMM、连接备用电源的易失性内存、PCM、FRAM、支持随机访问的固态存储装置。
7.根据权利要求4所述的数据中心中KVM虚拟机的虚拟硬盘系统(100),其特征在于,所述BIO重定向模块(50)将物理磁盘(106)划分为若干块组,并通过linux交换区算法将每一个虚拟硬盘的块数据存放于一个块组(116)中,所述块组(116)被进一步划分为若干簇(1161)。
8.根据权利要求7所示的数据中心中KVM虚拟机的虚拟硬盘系统(100),其特征在于,所述缓存页面访问频率统计器(202)计算在上一次一致性缓存页面回收过程后到本次一致性缓存页面回收前各个一致性缓存页面的被访问次数,以得到访问次数最少的若干一致性缓存页面,并进行一致性缓存页面的回收操作,并将每一次一致性缓存页面回收操作后将回收的一致性缓存页面放置于同一个簇(1161)中;
所述簇的容量规格与处理器所能映射的非易失性内存页面粒度及宿主机(2)的物理磁盘(106)的物理介质所能处理的最佳写操作的数据规格相适应。
9.根据权利要求1所述的数据中心中KVM虚拟机的虚拟硬盘系统(100),其特征在于,所述BIO重定向模块(50)将自客户机(1)发起的事务中的虚拟数据块地址替换为经过VBA翻译模块(20)翻译后的实际块数据地址;
若客户机(1)发起的事务中所含的数据块位于一致性缓存(40)中时,则由vhost-blk驱动模块(10)直接读取并响应客户机(1)所发起的事务;
若客户机(1)发起的事务中所含的数据块不位于一致性缓存(40)中时,则由BIO重定向模块(50)将事务中的虚拟块数据地址替换为经VBA翻译模块(30)翻译后的实际数据块地址后发往宿主机(2)的物理磁盘(106)中以读取块数据,所述物理磁盘(106)包括:机械式硬盘、SAN、VSAN、DAS。
10.一种数据中心,其特征在于,包括:虚拟化平台、与虚拟化平台连接的若干物理机、资源管理节点服务器、与物理机连接并由至少一个物理磁盘(106)所组成的存储层;所述虚拟化平台中配置若干与资源管理节点服务器连接的监视器,所述监视器连接至少一个KVM虚拟机,
其中,所述KVM虚拟机包含至少一个如权利要求1至9中任一项所述的KVM虚拟机的虚拟硬盘系统(100)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811276706.5A CN109344090B (zh) | 2018-10-30 | 2018-10-30 | 数据中心中kvm虚拟机的虚拟硬盘系统及数据中心 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811276706.5A CN109344090B (zh) | 2018-10-30 | 2018-10-30 | 数据中心中kvm虚拟机的虚拟硬盘系统及数据中心 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109344090A true CN109344090A (zh) | 2019-02-15 |
CN109344090B CN109344090B (zh) | 2021-01-29 |
Family
ID=65311145
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811276706.5A Active CN109344090B (zh) | 2018-10-30 | 2018-10-30 | 数据中心中kvm虚拟机的虚拟硬盘系统及数据中心 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109344090B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110209603A (zh) * | 2019-05-31 | 2019-09-06 | 龙芯中科技术有限公司 | 地址转换方法、装置、设备及计算机可读存储介质 |
CN110955488A (zh) * | 2019-09-10 | 2020-04-03 | 中兴通讯股份有限公司 | 一种持久性内存的虚拟化方法及系统 |
CN111796912A (zh) * | 2020-07-09 | 2020-10-20 | 山东省计算中心(国家超级计算济南中心) | 申威平台存储输入输出设备虚拟化性能优化方法及系统 |
CN112286630A (zh) * | 2020-10-22 | 2021-01-29 | 烽火通信科技股份有限公司 | 一种虚拟机内存热迁移的优化方法与装置 |
CN113032292A (zh) * | 2021-05-19 | 2021-06-25 | 北京金山云网络技术有限公司 | 存储空间回收方法、数据读取方法及装置 |
CN113051024A (zh) * | 2019-12-26 | 2021-06-29 | 阿里巴巴集团控股有限公司 | 虚拟机热迁移方法、装置、电子设备及存储介质 |
CN113490922A (zh) * | 2019-02-27 | 2021-10-08 | 华为技术有限公司 | 固态硬盘写放大优化方法 |
EP4022447A4 (en) * | 2019-08-29 | 2022-10-19 | Micron Technology, Inc. | FULL ASSOCIATIVE CACHE MANAGEMENT |
WO2023037186A1 (en) * | 2021-09-13 | 2023-03-16 | International Business Machines Corporation | Ensuring sufficient space is available on target volumes before performing a point-in-time copy job |
CN116360711A (zh) * | 2023-06-02 | 2023-06-30 | 杭州沃趣科技股份有限公司 | 一种分布式存储处理方法、装置、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130054895A1 (en) * | 2011-08-23 | 2013-02-28 | Vmware, Inc. | Cooperative memory resource management for virtualized computing devices |
US20170147227A1 (en) * | 2014-09-16 | 2017-05-25 | Kove Ip, Llc | External memory for virtualization |
CN106777351A (zh) * | 2017-01-17 | 2017-05-31 | 中国人民解放军国防科学技术大学 | 基于art树分布式系统图存储计算系统及其方法 |
-
2018
- 2018-10-30 CN CN201811276706.5A patent/CN109344090B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130054895A1 (en) * | 2011-08-23 | 2013-02-28 | Vmware, Inc. | Cooperative memory resource management for virtualized computing devices |
US20170147227A1 (en) * | 2014-09-16 | 2017-05-25 | Kove Ip, Llc | External memory for virtualization |
CN106777351A (zh) * | 2017-01-17 | 2017-05-31 | 中国人民解放军国防科学技术大学 | 基于art树分布式系统图存储计算系统及其方法 |
Non-Patent Citations (5)
Title |
---|
ASIAS HE: "vhost-blk: Add vhost-blk support v6", 《HTTP://LISTS.LINUXFOUNDATION.ORG/PIPERMAIL/VIRTUALIZATION/2012-DECEMBER/022175.HTML》 * |
ASIAS HE: "Virtio-blk Performance Improvement", 《KVM FORUM 2012》 * |
SHERLOCKR: "Linux系统管理----存储管理(二)", 《HTTPS://BLOG.51CTO.COM/HOLMES975/2051758》 * |
胡越明: "《计算机组成原理》", 31 December 2000 * |
郭玉东: "《Linux 原理与结构[M]》", 31 December 2012 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113490922B (zh) * | 2019-02-27 | 2023-07-18 | 华为技术有限公司 | 固态硬盘写放大优化方法 |
CN113490922A (zh) * | 2019-02-27 | 2021-10-08 | 华为技术有限公司 | 固态硬盘写放大优化方法 |
CN110209603B (zh) * | 2019-05-31 | 2021-08-31 | 龙芯中科技术股份有限公司 | 地址转换方法、装置、设备及计算机可读存储介质 |
CN110209603A (zh) * | 2019-05-31 | 2019-09-06 | 龙芯中科技术有限公司 | 地址转换方法、装置、设备及计算机可读存储介质 |
EP4022447A4 (en) * | 2019-08-29 | 2022-10-19 | Micron Technology, Inc. | FULL ASSOCIATIVE CACHE MANAGEMENT |
CN110955488A (zh) * | 2019-09-10 | 2020-04-03 | 中兴通讯股份有限公司 | 一种持久性内存的虚拟化方法及系统 |
CN113051024A (zh) * | 2019-12-26 | 2021-06-29 | 阿里巴巴集团控股有限公司 | 虚拟机热迁移方法、装置、电子设备及存储介质 |
CN111796912A (zh) * | 2020-07-09 | 2020-10-20 | 山东省计算中心(国家超级计算济南中心) | 申威平台存储输入输出设备虚拟化性能优化方法及系统 |
CN112286630A (zh) * | 2020-10-22 | 2021-01-29 | 烽火通信科技股份有限公司 | 一种虚拟机内存热迁移的优化方法与装置 |
CN113032292A (zh) * | 2021-05-19 | 2021-06-25 | 北京金山云网络技术有限公司 | 存储空间回收方法、数据读取方法及装置 |
CN113032292B (zh) * | 2021-05-19 | 2021-09-03 | 北京金山云网络技术有限公司 | 存储空间回收方法、数据读取方法及装置 |
WO2023037186A1 (en) * | 2021-09-13 | 2023-03-16 | International Business Machines Corporation | Ensuring sufficient space is available on target volumes before performing a point-in-time copy job |
US11789636B2 (en) | 2021-09-13 | 2023-10-17 | International Business Machines Corporation | Ensuring sufficient space is available on target volumes before performing a point-in-time copy job |
CN116360711A (zh) * | 2023-06-02 | 2023-06-30 | 杭州沃趣科技股份有限公司 | 一种分布式存储处理方法、装置、设备及介质 |
CN116360711B (zh) * | 2023-06-02 | 2023-08-11 | 杭州沃趣科技股份有限公司 | 一种分布式存储处理方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109344090B (zh) | 2021-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109344090A (zh) | 数据中心中kvm虚拟机的虚拟硬盘系统及数据中心 | |
TWI709073B (zh) | 分佈式儲存系統、分佈式儲存方法及分佈式設施 | |
CN107967124B (zh) | 一种分布式持久性内存存储系统及方法 | |
CN110023896A (zh) | 直接映射的闪存存储系统中的块合并 | |
CN104903872B (zh) | 用于自适应持久化的系统、方法和接口 | |
US8402234B2 (en) | Storage system and storage migration method | |
CN103635900B (zh) | 基于时间的数据分割 | |
US8806154B1 (en) | Thin provisioning row snapshot with reference count map | |
CN104765575B (zh) | 信息存储处理方法 | |
CN103562914B (zh) | 节约资源型扩展文件系统 | |
CN106354425A (zh) | 基于数据属性的数据布局的方法和系统 | |
CN106687910A (zh) | 优化分段清除技术 | |
CN104050094A (zh) | 管理高速缓存存储区的系统、方法和计算机可读介质 | |
CN1770114A (zh) | 存储网络中的复制操作 | |
CN107615255A (zh) | 利用持久存储器的计算装置和方法 | |
JP6713934B2 (ja) | 記憶装置及びその動作方法並びにシステム | |
CN102012791A (zh) | 基于Flash的数据存储PCIE板卡 | |
CN102147713B (zh) | 一种网络存储系统的管理方法及装置 | |
CN106528001A (zh) | 一种基于非易失性存储器和软件raid的缓存系统 | |
Han et al. | Cashing in on the Cache in the Cloud | |
CN104272242B (zh) | 创建加密存储体 | |
CN107430494A (zh) | 远程直接存储器访问 | |
CN107203411A (zh) | 一种基于远程ssd的虚拟机内存扩展方法及系统 | |
CN102221982A (zh) | 块级虚拟化存储设备上实现重复数据删除的方法及系统 | |
CN104054071A (zh) | 访问存储设备的方法和存储设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: Virtual hard disk system and data center of KVM virtual machine in data center Effective date of registration: 20220624 Granted publication date: 20210129 Pledgee: China Co. truction Bank Corp Hefei Luyang branch Pledgor: SHENZHEN RUNXUN DATA COMMUNICATION CO.,LTD. Registration number: Y2022980008820 |
|
PE01 | Entry into force of the registration of the contract for pledge of patent right |