CN103902354A - 一种虚拟化应用中快速初始化磁盘的方法 - Google Patents
一种虚拟化应用中快速初始化磁盘的方法 Download PDFInfo
- Publication number
- CN103902354A CN103902354A CN201410144078.0A CN201410144078A CN103902354A CN 103902354 A CN103902354 A CN 103902354A CN 201410144078 A CN201410144078 A CN 201410144078A CN 103902354 A CN103902354 A CN 103902354A
- Authority
- CN
- China
- Prior art keywords
- disk
- initialization
- data
- carry out
- host computer
- 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
Images
Abstract
本发明提供一种虚拟化应用中快速初始化磁盘的方法,其具体实施过程为:存储阵列硬件收到来自虚拟主机的初始化请求,并分配所需的资源,检查其合法性,其中合法性检查包括任务状态检查和参数合法性检查,如果非法将终止该请求,并返回特定的感知数据;进行虚拟磁盘初始化操作;进行物理磁盘初始化操作;将虚拟主机初始化磁盘的请求转化为写入磁盘数据的操作。该一种虚拟化应用中快速初始化磁盘的方法和现有技术相比,可在虚拟化应用中快速初始化磁盘数据,解决现有此类操作给服务器主机带来资源消耗过大的问题,实现将负载转移到存储硬件,提升系统整体性能;实用性强,易于推广。
Description
技术领域
本发明涉及计算机技术领域,具体的说是一种虚拟化应用中快速初始化磁盘的方法。
背景技术
VMware虚拟化平台基于可投入业务使用的体系结构构建。使用VMware vSphere等软件可转变或“虚拟化”基于x86的计算机的硬件资源(包括CPU、RAM、硬盘和网络控制器),以创建功能齐全、可像“真实”计算机一样运行其自身操作系统和应用程序的虚拟机。每个虚拟机都包含一套完整的系统,因而不会有潜在冲突。VMware虚拟化的工作原理是,直接在计算机硬件或主机操作系统上面插入一个精简的软件层。该软件层包含一个以动态和透明方式分配硬件资源的虚拟机监视器(即“虚拟化管理程序”)。多个操作系统可以同时运行在单台物理机上,彼此之间共享硬件资源。由于是将整台计算机(包括CPU、内存、操作系统和网络设备)封装起来,因此虚拟机可与所有标准的x86操作系统、应用程序和设备驱动程序完全兼容。可以同时在单台计算机上安全运行多个操作系统和应用程序,每个操作系统和应用程序都可以在需要时访问其所需的资源。
ESX是VMware的企业级虚拟化产品,是vmware虚拟化的平台基础,部署于服务器上。它是具有高级资源管理功能高效,灵活的虚拟主机平台,完美匹配企业数据中心,通过提高资源使用率,扩展计算机性能和优化服务器,VMware ESX服务器帮助企业降低计算机基础构架的成本。
从广义的角度讲,vStorage API是一种能让虚拟基础套件和存储硬件更加紧密结合的机制:为虚拟套件提供解决方案的存储硬件。VMware或者第三方管理软件。为运行在虚拟机中的应用程序提供更好的存储服务质量。
VAAI(vStorage API for Array Integration)是更大的vStorage API规范的一个子集,主要是利用硬件卸载特性提升性能。
虚拟磁盘一个非常常见的操作是初始化大容量磁盘数据为零以保持虚拟机之间相互隔离。在目前的条件下这种初始化会占用主机资源包括CPU周期,DMA存储池和HBA里的SCSI命令队列。特别是在高负载IO情况下这种占用主机资源的操作将大大降低系统的性能,成为业务瓶颈。因此有必要利用一种新的机制来改善这种状况,以提升系统的性能。
发明内容
本发明的技术任务是解决现有技术的不足,提供一种虚拟化应用中快速初始化磁盘的方法。
本发明的技术方案是按以下方式实现的,该一种虚拟化应用中快速初始化磁盘的方法,其具体实施过程为:
一、存储阵列硬件收到来自虚拟主机的初始化请求,并分配所需的资源,检查其合法性,其中合法性检查包括任务状态检查和参数合法性检查,如果非法将终止该请求,并返回特定的感知数据;
二、进行虚拟磁盘初始化操作;
三、进行物理磁盘初始化操作;
四、将虚拟主机初始化磁盘的请求转化为写入磁盘数据的操作。
所述步骤二的详细过程为:存储阵列中的磁盘通过VM虚拟层映射到服务器主机中的虚拟主机,此时磁盘经过虚拟层VMFS文件系统被映射为文件,虚拟主机发出初始化磁盘的命令,进行VMFS文件系统中的文件操作,然后由VMFS文件系统将请求通过FC或者ISCSI协议传输到存储系统中,存储系统再做出相应的处理,检查是否需要执行自精简操作,如果是将执行自精简操作以初始化磁盘,而不写入数据,否则执行写入磁盘的操作。
所述步骤三的操作过程为:服务器主机端向存储硬件端发出命令以初始化磁盘数据,存储硬盘端在接收到该命令后会根据数据IO的大小进行动态处理:在数据量很大的情况下,将次命令请求拆分为多次IO请求,系统将做并行处理;在数据量较小的情况下,将直接IO操作。
所述步骤三的详细操作过程为:物理磁盘被裸映射到服务器中的VM虚拟主机,当虚拟主机向磁盘发送初始化的命令以初始化磁盘的某一部分时,存储硬件系统在接收到该命令后将执行初始化磁盘的写操作:如果需要初始化的IO数据量比较大,那么将此操作拆分成多个本地SCSI命令写操作完成,如果需要初始化的IO数据量较小,那么存储硬件系统将直接进行写操作,对小数据量来说这是高效的。
本发明与现有技术相比所产生的有益效果是:
本发明的一种虚拟化应用中快速初始化磁盘的方法可在虚拟化应用中快速初始化磁盘数据,解决现有此类操作给服务器主机带来资源消耗过大的问题,实现将负载转移到存储硬件,提升系统整体性能;实用性强,易于推广。
附图说明
附图1为物理磁盘初始化示意图。
附图2为虚拟磁盘初始化示意图。
附图3是本发明磁盘初始化处理流程图。
具体实施方式
下面结合附图对本发明的一种虚拟化应用中快速初始化磁盘的方法作以下详细说明。
为了很好的提升系统性能,本发明通过在虚拟化的VAAI特性中的快速初始化磁盘操作,减轻服务器主机端的负载,而存储阵列硬件在实现这种卸载的过程中,能根据主机端的要求动态处理;如果服务器主机是基于虚拟机向存储阵列硬件发送的初始化操作请求,则阵列可能并不会实际执行初始化操作,而是执行自精简操作或者后台运行其他操作;而如果服务器是基于直接物理映射的磁盘向存储阵列发起初始化操作请求,即不经过虚拟磁盘这一层,那么存储阵列则要实际执行初始化磁盘的操作,在这一过程中,系统根据IO数据请求的大小来决定是转化为多个本地SCSI命令的IO操作,还是直接处理的方式。
基于此,现提供一种虚拟化应用中快速初始化磁盘的方法。其具体操作过程如下:
在附图1中描述了存储阵列中的磁盘直接映射给服务器中的虚拟主机时初始化磁盘的操作。服务器主机端将向存储硬件端发出命令以初始化磁盘数据,存储端在接收到该命令后会根据数据IO的大小进行动态处理。在数据量很大的情况下,将次命令请求拆分为多次IO请求,系统将做并行处理;在数据量较小的情况下,将直接IO操作。
此时物理磁盘被裸映射到服务器中的VM虚拟主机,而没有经过VM虚拟层,其中图中的extent1,…,extent N表示磁盘中的存储内容和空间(下同)。当虚拟主机向磁盘发送初始化的命令以初始化磁盘的某一部分(例如extent3)时,存储硬件系统在接收到该命令后将执行初始化磁盘的写操作。如果需要初始化的IO数据量比较大,那么将此操作拆分成多个本地SCSI命令写操作完成,这样可以保证在较短的时间内返回到虚拟主机端。如果需要初始化的IO数据量较小,那么存储硬件系统将直接进行写操作,对小数据量来说这是高效的。
附图2描述了存储阵列中的磁盘通过VM虚拟层映射到服务器主机中的虚拟主机时初始化磁盘的操作。磁盘阵列可以选择在自精简的LUN上不真正执行初始化操作,因为有可能此时磁盘空间还没有被分配,磁盘阵列可以执行自精简操作达到此目的。另外,磁盘阵列也可以执行专有机制后台运行初始化磁盘的操作,或者只是将需要初始化的磁盘进行标记,而不是真正执行初始化操作。
此时磁盘经过虚拟层VMFS文件系统被映射为文件,而图1中磁盘在虚拟主机中为块设备。所以虚拟主机发出初始化磁盘的命令也就是进行VMFS文件系统中的文件操作,然后由VMFS文件系统将请求通过FC或者ISCSI协议传输到存储系统中,存储系统再做出相应的处理。由于是文件操作,而这个初始化操作中的磁盘也许还没被分配给该虚拟主机,所以此时是不能像图一那样执行直接的写操作的,而只能执行自精简或者其他后台运行的操作。需要强调的是,图2中的存储硬件也会如图1一样处理,只不过多了一种选择而已,其具体过程不再详述。
附图3描述了初始化具体处理流程,主要有以下流程实现:
流程100:存储阵列硬件收到来自虚拟主机的初始化请求,并分配所需的资源,检查其合法性。其中合法性检查包括任务状态检查和参数合法性检查,如果非法将终止该请求,并返回特定的感知数据。
流程200:如图2所述,检查是否需要执行自精简操作,如果是将执行自精简操作以初始化磁盘,而不是真正写入数据,否则执行写入磁盘的操作。
流程300:如图1所述,检查是否组要拆分成多本地写操作命令请求,如果是则转化为多本地写操作SCSI命令及可,否则转入正常的写操作流程。
流程400:将虚拟主机初始化磁盘的请求转化为写入磁盘数据的操作。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
以上所述仅为本发明的实施例而已,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种虚拟化应用中快速初始化磁盘的方法,其特征在于其具体实施过程为:
一、存储阵列硬件收到来自虚拟主机的初始化请求,并分配所需的资源,检查其合法性,其中合法性检查包括任务状态检查和参数合法性检查,如果非法将终止该请求,并返回特定的感知数据;
二、进行虚拟磁盘初始化操作;
三、进行物理磁盘初始化操作;
四、将虚拟主机初始化磁盘的请求转化为写入磁盘数据的操作。
2.根据权利要求1所述的一种虚拟化应用中快速初始化磁盘的方法,其特征在于:所述步骤二的详细过程为:存储阵列中的磁盘通过VM虚拟层映射到服务器主机中的虚拟主机,此时磁盘经过虚拟层VMFS文件系统被映射为文件,虚拟主机发出初始化磁盘的命令,进行VMFS文件系统中的文件操作,然后由VMFS文件系统将请求通过FC或者ISCSI协议传输到存储系统中,存储系统再做出相应的处理,检查是否需要执行自精简操作,如果是将执行自精简操作以初始化磁盘,而不写入数据,否则执行写入磁盘的操作。
3.根据权利要求2所述的一种虚拟化应用中快速初始化磁盘的方法,其特征在于:所述步骤三的操作过程为:服务器主机端向存储硬件端发出命令以初始化磁盘数据,存储硬盘端在接收到该命令后会根据数据IO的大小进行动态处理:在数据量很大的情况下,将次命令请求拆分为多次IO请求,系统将做并行处理;在数据量较小的情况下,将直接IO操作。
4.根据权利要求1所述的一种虚拟化应用中快速初始化磁盘的方法,其特征在于:所述步骤三的详细操作过程为:物理磁盘被裸映射到服务器中的VM虚拟主机,当虚拟主机向磁盘发送初始化的命令以初始化磁盘的某一部分时,存储硬件系统在接收到该命令后将执行初始化磁盘的写操作:如果需要初始化的IO数据量比较大,那么将此操作拆分成多个本地SCSI命令写操作完成,如果需要初始化的IO数据量较小,那么存储硬件系统将直接进行写操作,对小数据量来说这是高效的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410144078.0A CN103902354A (zh) | 2014-04-11 | 2014-04-11 | 一种虚拟化应用中快速初始化磁盘的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410144078.0A CN103902354A (zh) | 2014-04-11 | 2014-04-11 | 一种虚拟化应用中快速初始化磁盘的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103902354A true CN103902354A (zh) | 2014-07-02 |
Family
ID=50993693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410144078.0A Pending CN103902354A (zh) | 2014-04-11 | 2014-04-11 | 一种虚拟化应用中快速初始化磁盘的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103902354A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110502453A (zh) * | 2019-08-16 | 2019-11-26 | 北京浪潮数据技术有限公司 | 一种存储空间回收方法及装置 |
CN111897679A (zh) * | 2020-07-29 | 2020-11-06 | 北京天融信网络安全技术有限公司 | 一种数据复制方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1664793A (zh) * | 2005-03-11 | 2005-09-07 | 清华大学 | 基于元数据服务器的存储虚拟化管理方法 |
CN1724980A (zh) * | 2004-07-21 | 2006-01-25 | 株式会社日立制作所 | 存储系统 |
US20090300301A1 (en) * | 2008-05-29 | 2009-12-03 | Vmware, Inc. | Offloading storage operations to storage hardware |
CN103154909A (zh) * | 2010-10-06 | 2013-06-12 | 马维尔国际贸易有限公司 | 分布式高速缓冲存储器一致性协议 |
-
2014
- 2014-04-11 CN CN201410144078.0A patent/CN103902354A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1724980A (zh) * | 2004-07-21 | 2006-01-25 | 株式会社日立制作所 | 存储系统 |
CN1664793A (zh) * | 2005-03-11 | 2005-09-07 | 清华大学 | 基于元数据服务器的存储虚拟化管理方法 |
US20090300301A1 (en) * | 2008-05-29 | 2009-12-03 | Vmware, Inc. | Offloading storage operations to storage hardware |
CN103154909A (zh) * | 2010-10-06 | 2013-06-12 | 马维尔国际贸易有限公司 | 分布式高速缓冲存储器一致性协议 |
Non-Patent Citations (1)
Title |
---|
张俊: "《基于网络的虚拟存储方法的研究》", 《电脑与电信》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110502453A (zh) * | 2019-08-16 | 2019-11-26 | 北京浪潮数据技术有限公司 | 一种存储空间回收方法及装置 |
CN111897679A (zh) * | 2020-07-29 | 2020-11-06 | 北京天融信网络安全技术有限公司 | 一种数据复制方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10628209B2 (en) | Virtual machine monitor to I/O stack conduit in virtual real memory | |
CN102110196B (zh) | 并行运行多用户操作系统间的数据安全传输方法及系统 | |
US9501245B2 (en) | Systems and methods for NVMe controller virtualization to support multiple virtual machines running on a host | |
US9063793B2 (en) | Virtual server and virtual machine management method for supporting zero client by providing host interfaces from classified resource pools through emulation or direct connection modes | |
US9626324B2 (en) | Input/output acceleration in virtualized information handling systems | |
JP5373893B2 (ja) | 異なるサイズを有するデータのブロックを格納し、取り出すための構成 | |
US20160314008A1 (en) | Method for implementing gpu virtualization and related apparatus, and system | |
US20130174151A1 (en) | Information processing apparatus and method of controlling virtual machine | |
US20120102455A1 (en) | System and apparatus for hosting applications on a storage array via an application integration framework | |
CN107209681A (zh) | 一种存储设备访问方法、装置和系统 | |
CN102819449A (zh) | 一种显卡重定向方法及系统 | |
CN105786589A (zh) | 一种云渲染系统、服务器及方法 | |
CN103064632A (zh) | 固态硬盘及其虚拟化方法、系统 | |
CN105556473A (zh) | 一种i/o任务处理的方法、设备和系统 | |
CN114996185A (zh) | 跨地址空间桥接 | |
US9755986B1 (en) | Techniques for tightly-integrating an enterprise storage array into a distributed virtualized computing environment | |
CN114281252A (zh) | 非易失性高速传输总线NVMe设备的虚拟化方法及设备 | |
CN104104705A (zh) | 分布式存储系统的接入方法和设备 | |
US8893160B2 (en) | Block storage interface for virtual memory | |
US10852954B1 (en) | Running an enterprise storage subsystem as a virtual machine | |
KR102001641B1 (ko) | 가상화 환경에서의 gpu 자원 관리 방법 및 장치 | |
US11507292B2 (en) | System and method to utilize a composite block of data during compression of data blocks of fixed size | |
CN103227825A (zh) | 桌面一体机架构 | |
US20180129521A1 (en) | Parallel mapping of client partition memory to multiple physical adapters | |
CN103902354A (zh) | 一种虚拟化应用中快速初始化磁盘的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140702 |