CN106569874A - 存储设备的操作方法及物理服务器 - Google Patents
存储设备的操作方法及物理服务器 Download PDFInfo
- Publication number
- CN106569874A CN106569874A CN201610970830.6A CN201610970830A CN106569874A CN 106569874 A CN106569874 A CN 106569874A CN 201610970830 A CN201610970830 A CN 201610970830A CN 106569874 A CN106569874 A CN 106569874A
- Authority
- CN
- China
- Prior art keywords
- virtual
- interface
- client
- physical
- virtual machine
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 295
- 238000000034 method Methods 0.000 title claims abstract description 27
- 230000006870 function Effects 0.000 claims description 12
- 238000013459 approach Methods 0.000 claims description 9
- 238000007726 management method Methods 0.000 description 21
- 238000004891 communication Methods 0.000 description 20
- 238000012545 processing Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 9
- 230000001960 triggered effect Effects 0.000 description 9
- 239000011800 void material Substances 0.000 description 7
- 230000004927 fusion Effects 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000000151 deposition Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000006467 substitution reaction Methods 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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/45562—Creating, deleting, cloning virtual machine instances
-
- 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
-
- 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/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种存储设备的操作方法及物理服务器,属于计算机技术领域。所述方法应用于物理服务器,所述物理服务器中安装有虚拟机,所述物理服务器中安插有存储卡,所述方法包括:当所述虚拟机接收到数据读写指令时,生成针对物理存储设备的I/O请求,并将所述I/O请求发送给存储卡中的客户端,所述存储卡能够直接与所述虚拟机进行通信;当所述客户端接收到所述I/O请求时,将所述I/O请求发送给服务端,由所述服务端根据所述I/O请求对所述物理存储设备执行I/O操作。本发明中由于存储卡能够直接与虚拟机进行通信,因此,虚拟机将I/O请求发送给存储卡中的客户端时,无需通过物理服务器中的Hypervisor,即可将I/O请求发送给客户端,从而节省了物理服务器的计算资源。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种存储设备的操作方法及物理服务器。
背景技术
随着计算机技术的快速发展,分布式存储系统因其可靠性、廉价性和易扩展性等优点,在大规模数据存储上得到越来越广泛的应用。分布式存储系统可以为物理服务器提供存储资源,且该分布式存储系统一般可以包括客户端和服务端这两个软件控制端,其中,客户端可以设置于该物理服务器中,以为该物理服务器中的虚拟机提供存储功能,服务端可以设置于该物理服务器或者其它物理服务器中,以管理该分布式存储系统中部署的物理存储设备。该物理服务器在使用该分布式存储系统时,该物理服务器中的虚拟机往往会对该分布式存储系统中的物理存储设备进行输入/输出(Input/Output,I/O)操作,以实现该虚拟机中的运行数据在该物理存储设备上的读写。
目前,分布式存储系统的客户端会直接部署在物理服务器中,此时,如果该物理服务器中的虚拟机需要对该分布式存储系统中的物理存储设备进行I/O操作,则需要基于该物理服务器中的虚拟机监视器(Hypervisor)来实现,Hypervisor是运行在物理硬件层与虚拟机层之间的中间软件层,其负责协调硬件资源的访问和各个虚拟机之间的防护。具体地,如图1所示,建立该虚拟机中的前端驱动与Hypervisor中的后端驱动之间的对应关系,并建立Hypervisor中的后端驱动与客户端中的虚拟存储设备之间的对应关系,之后,该虚拟机可以通过该前端驱动和该后端驱动来向客户端发送I/O请求,当客户端接收到该I/O请求时,可以将该I/O请求发送给该分布式存储系统中的服务端,由服务端根据该I/O请求对该物理存储设备执行I/O操作。
由于分布式存储系统的客户端直接部署在物理服务器中,因此,客户端和Hypervisor中的后端驱动在运行过程中会消耗该物理服务器中的物理计算资源,如物理中央处理器(Central Processing Unit,CPU)资源、物理内存等。且该虚拟机中的前端驱动在运行过程中会消耗该物理服务器中的虚拟计算资源,如虚拟CPU资源、虚拟内存等,从而导致该物理服务器在使用该分布式存储系统的过程中消耗的计算资源较多。
发明内容
为了解决相关技术的问题,本发明实施例提供了一种存储设备的操作方法及物理服务器。所述技术方案如下:
第一方面,提供了一种存储设备的操作方法,应用于物理服务器,所述物理服务器中安装有虚拟机,且所述物理服务器中安插有存储卡,所述方法包括:
当所述虚拟机接收到数据读写指令时,生成针对物理存储设备的输入/输出I/O请求;
所述虚拟机将所述I/O请求发送给所述存储卡中的客户端,所述存储卡能够直接与所述虚拟机进行通信;
当所述客户端接收到所述I/O请求时,将所述I/O请求发送给服务端,由所述服务端根据所述I/O请求对所述物理存储设备执行I/O操作;
其中,分布式存储系统包括所述客户端和所述服务端,所述客户端用于为所述虚拟机提供存储功能,所述服务端用于管理所述物理存储设备。
需要说明的是,存储卡中运行有嵌入式系统,即存储卡中可以包括CPU、内存等模块,如存储卡可以为外设组件互连(Peripheral Component Interconnect,PCI)卡、快速外设组件互连(Peripheral Component Interconnect Express,PCIe)卡,或者可以为其它能够直接与虚拟机的进行通信的存储卡等,本发明实施例对此不做具体限定。
在本发明实施例中,由于存储卡能够直接与虚拟机进行通信,因此,虚拟机将该I/O请求发送给存储卡中的客户端时,无需通过物理服务器中的Hypervisor,即可将该I/O请求发送给客户端,从而节省了物理服务器的计算资源。另外,由于本发明实施例中的客户端部署在存储卡上,因此,客户端在运行过程中消耗的是存储卡的计算资源,而不会消耗物理服务器的计算资源,从而进一步节省了物理服务器的计算资源。
其中,所述虚拟机将所述I/O请求发送给所述存储卡中的客户端,包括:
所述虚拟机将所述I/O请求发送给所述存储卡的目标虚拟接口,所述目标虚拟接口为与所述虚拟机对应的虚拟接口;
当所述存储卡的目标虚拟接口接收到所述I/O请求时,将所述I/O请求发送给所述客户端中的目标虚拟存储设备,所述目标虚拟存储设备为与所述目标虚拟接口对应的虚拟存储设备。
需要说明的是,该虚拟机将该I/O请求发送给存储卡的目标虚拟接口时,可以由该虚拟机中的存储卡驱动将该I/O请求发送给存储卡的目标虚拟接口。
在本发明实施例中,虚拟机可以直接通过存储卡的目标虚拟接口将I/O请求发送给客户端,在该发送过程中无需经过物理服务器中的Hypervisor,省掉了相关技术中前端驱动和后端驱动的参与,从而大大节省了物理服务器的计算资源。
进一步地,所述虚拟机将所述I/O请求发送给所述存储卡中的客户端之前,还包括:
当接收到第一设置指令时,调用所述存储卡的管理接口生成N个虚拟接口,并调用所述客户端的管理接口生成M个虚拟存储设备,所述N个虚拟接口中包括所述目标虚拟接口,所述M个虚拟存储设备中包括所述目标虚拟存储设备,所述N与所述M均为不小于1的自然数;
建立所述目标虚拟接口与所述虚拟机之间的对应关系,并建立所述目标虚拟接口与所述目标虚拟存储设备之间的对应关系。
需要说明的是,第一设置指令可以由用户手动触发,也可以由该物理服务器的管理系统自动触发,第一设置指令用于指示基于存储卡的目标虚拟接口建立该虚拟机与存储卡中的客户端之间的通信路径。
另外,建立目标虚拟接口与该虚拟机之间的对应关系,即是将目标虚拟接口与该虚拟机相关联,也即是将目标虚拟接口分配给该虚拟机使用。建立目标虚拟接口与目标虚拟存储设备之间的对应关系,即是将目标虚拟接口与目标虚拟存储设备相关联,也即是将目标虚拟存储设备分配给与目标虚拟接口对应的虚拟机使用。
在本发明实施例中,可以建立目标虚拟接口与虚拟机之间的对应关系,并建立目标虚拟接口与目标虚拟存储设备之间的对应关系,这两个对应关系建立完成后,也即是建立了虚拟机与存储卡中的客户端之间的通信路径,从而便于后续虚拟机基于该通信路径将I/O请求发送给存储卡中的客户端。
其中,所述虚拟机将所述I/O请求发送给所述存储卡中的客户端,包括:
所述虚拟机将所述I/O请求发送给所述存储卡的物理接口;
当所述存储卡的物理接口接收到所述I/O请求时,将所述I/O请求发送给所述客户端中的虚拟存储设备。
需要说明的是,该虚拟机将该I/O请求发送给存储卡的物理接口时,可以由该虚拟机中的存储卡驱动将该I/O请求发送给存储卡的物理接口。
在本发明实施例中,虚拟机可以直接通过存储卡的物理接口将I/O请求发送给客户端,在该发送过程中无需经过物理服务器中的Hypervisor,省掉了相关技术中前端驱动和后端驱动的参与,从而大大节省了物理服务器的计算资源。
进一步地,所述虚拟机将所述I/O请求发送给所述存储卡中的客户端之前,还包括:
当接收到第二设置指令时,调用所述客户端的管理接口生成M个虚拟存储设备;
建立所述存储卡的物理接口与所述虚拟机之间的对应关系,并建立所述存储卡的物理接口与所述M个虚拟存储设备之间的对应关系。
需要说明的是,第二设置指令可以由用户手动触发,也可以由该物理服务器的管理系统自动触发,第二设置指令用于指示基于存储卡的物理接口建立该虚拟机与存储卡中的客户端之间的通信路径。
在本发明实施例中,可以建立存储卡的物理接口与虚拟机之间的对应关系,并建立存储卡的物理接口与该M个虚拟存储设备之间的对应关系,这两个对应关系建立完成后,也即是建立了虚拟机与存储卡中的客户端之间的通信路径,从而便于后续虚拟机基于该通信路径将I/O请求发送给存储卡中的客户端。
需要说明的是,所述服务端部署在所述存储卡上;或者,所述服务端部署在除所述物理服务器之外的其它物理服务器上。
第二方面,提供了一种物理服务器,所述物理服务器中安装有虚拟机,且所述物理服务器中安插有存储卡,所述物理服务器包括:
所述虚拟机,用于当接收到数据读写指令时,生成针对物理存储设备的输入/输出I/O请求;
所述虚拟机,还用于将所述I/O请求发送给所述存储卡中的客户端,所述存储卡能够直接与所述虚拟机进行通信;
所述客户端,用于当接收到所述I/O请求时,将所述I/O请求发送给服务端,由所述服务端根据所述I/O请求对所述物理存储设备执行I/O操作;
其中,分布式存储系统包括所述客户端和所述服务端,所述客户端用于为所述虚拟机提供存储功能,所述服务端用于管理所述物理存储设备。
其中,所述虚拟机,还用于将所述I/O请求发送给所述存储卡的目标虚拟接口,所述目标虚拟接口为与所述虚拟机对应的虚拟接口;所述存储卡,用于当所述目标虚拟接口接收到所述I/O请求时,将所述I/O请求发送给所述客户端中的目标虚拟存储设备,所述目标虚拟存储设备为与所述目标虚拟接口对应的虚拟存储设备。
进一步地,所述物理服务器还包括:
处理器,用于当接收到第一设置指令时,调用所述存储卡的管理接口生成N个虚拟接口,并调用所述客户端的管理接口生成M个虚拟存储设备,所述N个虚拟接口中包括所述目标虚拟接口,所述M个虚拟存储设备中包括所述目标虚拟存储设备,所述N与所述M均为不小于1的自然数;
所述处理器,还用于建立所述目标虚拟接口与所述虚拟机之间的对应关系,并建立所述目标虚拟接口与所述目标虚拟存储设备之间的对应关系。
其中,所述虚拟机,还用于将所述I/O请求发送给所述存储卡的物理接口;所述存储卡,用于当所述物理接口接收到所述I/O请求时,将所述I/O请求发送给所述客户端中的虚拟存储设备。
进一步地,所述物理服务器还包括:
处理器,用于当接收到第二设置指令时,调用所述客户端的管理接口生成M个虚拟存储设备;
所述处理器,还用于建立所述存储卡的物理接口与所述虚拟机之间的对应关系,并建立所述存储卡的物理接口与所述M个虚拟存储设备之间的对应关系。
需要说明的是,所述服务端部署在所述存储卡上;或者,所述服务端部署在除所述物理服务器之外的其它物理服务器上。
第三方面,提供了一种物理服务器,所述物理服务器包含第一处理器和第一存储器,所述物理服务器上安插有存储卡,所述存储卡包含第二处理器和第二存储器,
所述第一处理器执行所述第一存储器中的指令,以使得所述物理服务器执行下述操作:
当接收到数据读写指令时,生成针对物理存储设备的输入/输出I/O请求;
将所述I/O请求发送给所述存储卡中客户端,所述存储卡能够直接与所述虚拟机进行通信;
所述第二处理器执行所述第二存储器中的指令,以使得所述存储卡执行下述操作:
当接收到所述I/O请求时,将所述I/O请求发送给服务端,由所述服务端根据所述I/O请求对所述物理存储设备执行I/O操作;
其中,分布式存储系统包括所述客户端和所述服务端,所述客户端用于为所述虚拟机提供存储功能,所述服务端用于管理所述物理存储设备。
其中,所述第一处理器执行所述第一存储器中的指令,以使得所述物理服务器还执行下述操作:
将所述I/O请求发送给所述存储卡的目标虚拟接口,所述目标虚拟接口为与所述虚拟机对应的虚拟接口;
所述第二处理器执行所述第二存储器中的指令,以使得所述存储卡执行下述操作:
当所述目标虚拟接口接收到所述I/O请求时,将所述I/O请求发送给所述客户端中的目标虚拟存储设备,所述目标虚拟存储设备为与所述目标虚拟接口对应的虚拟存储设备。
进一步地,所述第一处理器执行所述第一存储器中的指令,以使得所述物理服务器还执行下述操作:
当接收到第一设置指令时,调用所述存储卡的管理接口生成N个虚拟接口,并调用所述客户端的管理接口生成M个虚拟存储设备,所述N个虚拟接口中包括所述目标虚拟接口,所述M个虚拟存储设备中包括所述目标虚拟存储设备,所述N与所述M均为不小于1的自然数;
建立所述目标虚拟接口与所述虚拟机之间的对应关系,并建立所述目标虚拟接口与所述目标虚拟存储设备之间的对应关系。
其中,所述第一处理器执行所述第一存储器中的指令,以使得所述物理服务器还执行下述操作:
将所述I/O请求发送给所述存储卡的物理接口;
所述第二处理器执行所述第二存储器中的指令,以使得所述存储卡执行下述操作:
当所述物理接口接收到所述I/O请求时,将所述I/O请求发送给所述客户端中的虚拟存储设备。
进一步地,所述第一处理器执行所述第一存储器中的指令,以使得所述物理服务器还执行下述操作:
当接收到第二设置指令时,调用所述客户端的管理接口生成M个虚拟存储设备;
建立所述存储卡的物理接口与所述虚拟机之间的对应关系,并建立所述存储卡的物理接口与所述M个虚拟存储设备之间的对应关系。
需要说明的是,所述服务端部署在所述存储卡上;或者,所述服务端部署在除所述物理服务器之外的其它物理服务器上。
第四方面,本发明实施例提供了一种计算机存储介质,用于储存为上述第二方面和第三方面所提供的物理服务器所用的计算机软件指令,或存储用于执行上述第二方面和第三方面为物理服务器所设计的程序。
上述本发明实施例第二方面和第三方面所获得的技术效果与第一方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
本发明实施例提供的技术方案带来的有益效果是:在本发明实施例中,当虚拟机接收到数据读写指令时,生成针对物理存储设备的输入/输出I/O请求,并将该I/O请求发送给存储卡中的客户端,由于存储卡能够直接与该虚拟机进行通信,因此,该虚拟机将该I/O请求发送给存储卡中的客户端时,无需通过该物理服务器中的Hypervisor,即可直接将该I/O请求发送给客户端,从而节省了该物理服务器的计算资源。之后,当客户端接收到该I/O请求时,将该I/O请求发送给服务端,由服务端根据该I/O请求对该物理存储设备执行I/O操作。由于本发明实施例中的客户端部署在存储卡上,因此,客户端在运行过程中消耗的是存储卡的计算资源,而不会消耗该物理服务器的计算资源,从而进一步节省了该物理服务器的计算资源。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是相关技术提供的一种存储设备的操作方法的示意图;
图2A是本发明实施例提供的一种分布式存储系统的融合部署的示意图;
图2B是本发明实施例提供的一种分布式存储系统的分离部署的示意图;
图2C是本发明实施例提供的另一种分布式存储系统的融合部署的示意图;
图2D是本发明实施例提供的另一种分布式存储系统的分离部署的示意图;
图3是本发明实施例提供的一种物理服务器的结构示意图;
图4A是本发明实施例提供的一种存储设备的操作方法的流程图;
图4B是本发明实施例提供的一种对应关系的示意图;
图4C是本发明实施例提供的另一种对应关系的示意图;
图5是本发明实施例提供的另一种物理服务器的结构示意图;
图6是本发明实施例提供的又一种物理服务器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
在对本发明实施例进行详细地解释说明之前,先对本发明实施例的应用场景予以说明。分布式存储系统可以为物理服务器提供存储资源,且该分布式存储系统一般可以包括客户端和服务端,其中,客户端用于为该物理服务器中的虚拟机提供存储功能,服务端用于管理该分布式存储系统中部署的物理存储设备。
分布式存储系统的部署方式主要有两种:融合部署和分离部署。图2A是分布式存储系统的融合部署的示意图,如图2A所示,同一物理服务器上可以同时部署客户端和服务端,每个物理服务器上的客户端既可以访问该物理服务器上的服务端,也可以访问其它物理服务器上的服务端。图2B是分布式存储系统的分离部署的示意图,如图2B所示,客户端与服务端可以分别部署在不同的物理服务器上,每个客户端可以访问多个不同的物理服务器上的服务端。
需要说明的是,本发明实施例中,可以将分布式存储系统的客户端部署在存储卡上,存储卡可以安插于某一物理服务器中。此时,当分布式存储系统为融合部署时,如图2C所示,可以将分布式存储系统的客户端和服务端均部署在存储卡上,每个存储卡中的客户端既可以访问该存储卡中的服务端,也可以通过该存储卡的网络接口访问其它存储卡中的服务端,每个存储卡中的服务端可以通过该存储卡的磁盘接口来管理物理存储设备。当分布式存储系统为分离部署时,如图2D所示,可以只将分布式存储系统的客户端部署在存储卡上,将分布式存储系统的服务端直接部署在物理服务器上,每个客户端可以通过存储卡的网络接口来访问多个不同的物理服务器上的服务端。其中,存储卡的网络接口用于连接网络,如存储卡的网络接口可以直接连接网线、光纤线等。
需要说明的是,当存储卡安插于某一物理服务器中时,存储卡能够直接与该物理服务器上的虚拟机进行通信,也即是,存储卡能够通过直通(pass-through)的方式分配给该物理服务器上的虚拟机使用。且存储卡中运行有嵌入式系统,即存储卡中可以包括CPU、内存等模块,如存储卡可以为PCI卡、PCIe卡,或者可以为其它具备直通功能的存储卡等,本发明实施例对此不做具体限定。
另外,将存储卡安插于物理服务器中时,可以通过物理总线将存储卡直接安插在物理服务器中。例如,当存储卡为PCI卡时,可以通过PCI总线将该PCI卡安插于物理服务器中,当存储卡为PCIe卡时,可以通过PCIe总线将该PCIe卡安插于物理服务器中等。
图3是本发明实施例提供的一种物理服务器的结构示意图。该物理服务器可以是图2C或图2D中所示安插有存储卡的物理服务器。参见图3,该物理服务器包括至少一个处理器301,通信总线302,存储器303以及至少一个通信接口304。
处理器301可以是通用CPU、微处理器、特定应用集成电路(Application-SpecificIntegrated Circuit,ASIC),或者一个或多个用于控制本发明方案程序执行的集成电路。
通信总线302可包括一通路,在上述组件之间传送信息。
存储器303可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、可存储静态信息和指令的其它类型的静态存储设备、可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM),或者其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质,或者其它磁存储设备,或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由该物理服务器存取的任何其它介质,但不限于此。存储器303可以是独立存在,或者通信总线302与处理器301相连接,或者和处理器301集成在一起。
通信接口304使用任何收发器一类的装置,用于与其它设备或通信网络通信,如以太网、无线接入网(Radio Access Network,RAN)、无线局域网(Wireless Local AreaNetworks,WLAN)等。
在具体实现中,作为一种实施例,处理器301可以包括一个或多个CPU,例如图3中所示的CPU0和CPU1。
在具体实现中,作为一种实施例,该物理服务器可以包括多个处理器,例如图3中所示的处理器301和处理器305。这些处理器中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据的处理核。
其中,存储器303用于存储执行本发明方案的程序代码310,处理器301用于执行存储器303中存储的程序代码310。该物理服务器可以通过处理器301以及存储器303中的程序代码310,来实现下文图4A实施例所提供的存储设备的操作方法。
图4A是本发明实施例提供的一种存储设备的操作方法流程图,该方法用于物理服务器。参见图4A,该方法包括:
步骤401:当该物理服务器中安装的虚拟机接收到数据读写指令时,生成针对物理存储设备的I/O请求。
需要说明的是,该物理服务器中可以安装有虚拟机,且该物理服务器中可以安插有存储卡,存储卡能够直接与该虚拟机进行通信,即,存储卡无需经过该物理服务器中的Hypervisor,即可与该虚拟机进行通信。
另外,数据读写指令可以由用户手动触发,也可以由该物理服务器的管理系统自动触发,该数据读写指令用于指示在该物理存储设备上进行数据的读写。
具体地,该虚拟机中的应用程序可以接收数据读写指令,之后,该虚拟机中的文件系统可以将该数据读写指令转换为针对逻辑区块的访问请求,进而该虚拟机中的通用块层可以将针对逻辑区块的访问请求转换为针对物理存储设备的I/O请求。当然,实际应用中,当该虚拟机接收到数据读写指令时,也可以通过其它方式生成针对物理存储设备的I/O请求,本发明实施例对此不做具体限定。
需要说明的是,当该虚拟机接收到数据读写指令时,生成针对物理存储设备的I/O请求的操作还可以参考相关技术,本发明实施例对此不再进行详细阐述。
步骤402:该虚拟机将该I/O请求发送给存储卡中的客户端。
为了便于该虚拟机将该I/O请求发送给存储卡中的客户端,进一步地,在该虚拟机将该I/O请求发送给存储卡中的客户端之前,需要先建立该虚拟机与存储卡中的客户端之间的通信路径。且建立该虚拟机与存储卡中的客户端之间的通信路径的操作可以包括如下第一种方式和第二种方式。
第一种方式:当接收到第一设置指令时,调用存储卡的管理接口生成N个虚拟接口,并调用客户端的管理接口生成M个虚拟存储设备,该N个虚拟接口中包括目标虚拟接口,该M个虚拟存储设备中包括目标虚拟存储设备,N与M均为不小于1的自然数;建立目标虚拟接口与该虚拟机之间的对应关系,并建立目标虚拟接口与目标虚拟存储设备之间的对应关系。
需要说明的是,第一设置指令可以由用户手动触发,也可以由该物理服务器的管理系统自动触发,第一设置指令用于指示基于存储卡的目标虚拟接口建立该虚拟机与存储卡中的客户端之间的通信路径。
其中,调用存储卡的管理接口生成N个虚拟接口时,如果存储卡支持单根I/O虚拟化(Single-Root I/O Virtualization,SR-IOV)技术,则可以通过存储卡所支持的SR-IOV技术在存储卡中生成N个虚拟接口,当然,实际应用中,也可以通过其它方式调用存储卡的管理接口生成N个虚拟接口,本发明实施例对此不做具体限定。
需要说明的是,SR-IOV技术是一种基于硬件的虚拟化支持技术,SR-IOV技术用于在物理设备中创建与物理功能(Physical Function,PF)接口关联的多个虚拟功能(Virtual Function,VF)接口,且该创建的多个VF接口可以直接分配给虚拟机使用,从而实现该多个VF接口对该物理设备资源的共享。在本发明实施例中,如果存储卡的虚拟接口是通过SR-IOV技术生成的,则存储卡的虚拟接口可以为VF接口。
其中,调用客户端的管理接口生成M个虚拟存储设备时,可以通过存储卡的管理接口来调用客户端的管理接口,进而生成M个虚拟存储设备,当然,实际应用中,也可以通过其它方式调用客户端的管理接口生成M个虚拟存储设备,本发明实施例对此不做具体限定。
需要说明的是,建立目标虚拟接口与该虚拟机之间的对应关系,即是将目标虚拟接口与该虚拟机相关联,也即是将目标虚拟接口分配给该虚拟机使用。建立目标虚拟接口与目标虚拟存储设备之间的对应关系,即是将目标虚拟接口与目标虚拟存储设备相关联,也即是将目标虚拟存储设备分配给与目标虚拟接口对应的虚拟机使用。
另外,建立目标虚拟接口与该虚拟机之间的对应关系,并建立目标虚拟接口与目标虚拟存储设备之间的对应关系的操作可以由该物理服务器中的Hypervisor执行,此时该物理服务器中的Hypervisor可以通过存储卡的管理接口来与存储卡交互信息,当然,实际应用中,也可以由该物理服务器中的其它模块执行,本发明实施例对此不做具体限定。
再者,建立目标虚拟接口与该虚拟机之间的对应关系时,可以将目标虚拟接口直接挂载给该虚拟机,以实现目标虚拟接口与该虚拟机的对应。且将目标虚拟接口挂载给该虚拟机后,如果该虚拟机检测到目标虚拟接口,则可以加载预先安装在该虚拟机上的存储卡驱动,该存储卡驱动可以将存储卡上报为磁盘控制器,并扫描该磁盘控制器上的虚拟存储设备,在本发明实施例中,也即是扫描与目标虚拟接口对应的目标虚拟存储设备,扫描完成后,该虚拟机即可获知存储卡中可供该虚拟机使用的目标虚拟存储设备,后续该虚拟机即可对目标虚拟存储设备进行使用。
例如,该虚拟机为虚拟机1,目标虚拟接口为虚拟接口1,目标虚拟存储设备为虚拟存储设备1,则该虚拟机与目标虚拟接口之间的对应关系,目标虚拟接口与目标虚拟存储设备之间的对应关系可以如图4B所示。
需要说明的是,实际应用中,在生成存储卡的N个虚拟接口后,不仅可以建立目标虚拟接口与该虚拟机之间的对应关系,并建立目标虚拟接口与目标虚拟存储设备之间的对应关系,当然,也可以同时建立该N个虚拟接口与该物理服务器中的多个虚拟机之间的对应关系,并建立该N个虚拟接口与客户端中的多个虚拟存储设备之间的对应关系,以建立该物理服务器中的多个虚拟机与客户端之间的通信路径,便于后续该多个虚拟机对客户端的使用。
例如,可以建立该N个虚拟接口与该物理服务器中的N个虚拟机之间的一一对应关系,或者,对于该物理服务器中的每个虚拟机,可以建立该虚拟机与该N个虚拟接口中的至少一个虚拟接口之间的对应关系。再例如,可以建立该N个虚拟接口与客户端中的N个虚拟存储设备之间的一一对应关系,或者,对于该N个虚拟接口中的每个虚拟接口,可以建立该虚拟接口与客户端中的至少一个虚拟存储设备之间的对应关系。
第二种方式:当接收到第二设置指令时,调用客户端的管理接口生成M个虚拟存储设备;建立存储卡的物理接口与该虚拟机之间的对应关系,并建立存储卡的物理接口与该M个虚拟存储设备之间的对应关系。
需要说明的是,第二设置指令可以由用户手动触发,也可以由该物理服务器的管理系统自动触发,第二设置指令用于指示基于存储卡的物理接口建立该虚拟机与存储卡中的客户端之间的通信路径。
另外,存储卡的物理接口可以为存储卡的PF接口等,本发明实施例对此不做具体限定。
其中,建立存储卡的物理接口与该虚拟机之间的对应关系,即是将存储卡的物理接口与该虚拟机相关联,也即是将存储卡的物理接口分配给该虚拟机使用。建立存储卡的物理接口与该M个虚拟存储设备之间的对应关系,即是将存储卡的物理接口与该M个虚拟存储设备相关联,也即是将该M个虚拟存储设备分配给与存储卡的物理接口对应的虚拟机使用。
需要说明的是,建立存储卡的物理接口与该虚拟机之间的对应关系,并建立存储卡的物理接口与该M个虚拟存储设备之间的对应关系的操作可以由该物理服务器中的Hypervisor执行,此时该物理服务器中的Hypervisor可以通过存储卡的管理接口来与存储卡交互信息,当然,实际应用中,也可以由该物理服务器中的其它模块执行,本发明实施例对此不做具体限定。
另外,建立存储卡的物理接口与该虚拟机之间的对应关系时,可以将存储卡的物理接口直接挂载给该虚拟机,以实现存储卡的物理接口与该虚拟机的对应。且将存储卡的物理接口挂载给该虚拟机后,如果该虚拟机检测到存储卡的物理接口,则可以加载预先安装在该虚拟机上的存储卡驱动,该存储卡驱动可以将存储卡上报为磁盘控制器,并扫描该磁盘控制器上的虚拟存储设备,在本发明实施例中,也即是扫描与存储卡的物理接口对应的该M个虚拟存储设备,扫描完成后,该虚拟机即可获知存储卡中可供该虚拟机使用的该M个虚拟存储设备,后续该虚拟机即可对该M个虚拟存储设备进行使用。
例如,该虚拟机为虚拟机1,该M个虚拟存储设备为虚拟存储设备1、虚拟存储设备2,则该虚拟机与存储卡的物理接口之间的对应关系,存储卡的物理接口与该M个虚拟存储设备之间的对应关系可以如图4C所示。
需要说明的是,本发明实施例通过上述第一种方式和第二种方式建立该虚拟机与存储卡中的客户端之间的通信路径后,该虚拟机就可以基于该通信路径将该I/O请求发送给存储卡中的客户端。具体地,当通过上述第一种方式建立该虚拟机与存储卡中的客户端之间的通信路径后,该虚拟机可以通过如下方式(1)来将该I/O请求发送给存储卡中的客户端;当通过上述第二种方式建立该虚拟机与存储卡中的客户端之间的通信路径后,该虚拟机可以通过如下方式(2)来将该I/O请求发送给存储卡中的客户端。
方式(1)、该虚拟机将该I/O请求发送给存储卡的目标虚拟接口,目标虚拟接口为与该虚拟机对应的虚拟接口;当存储卡的目标虚拟接口接收到该I/O请求时,将该I/O请求发送给客户端中的目标虚拟存储设备,目标虚拟存储设备为与目标虚拟接口对应的虚拟存储设备。
需要说明的是,该虚拟机将该I/O请求发送给存储卡的目标虚拟接口时,可以由该虚拟机中的存储卡驱动将该I/O请求发送给存储卡的目标虚拟接口。
由于上述第一种方式中已经预先建立了该虚拟机与存储卡的目标虚拟接口之间的对应关系,并预先建立了存储卡的目标虚拟接口与客户端中的目标虚拟存储设备之间的对应关系,因此,当该虚拟机需要将该I/O请求发送给存储卡中的客户端时,该虚拟机即可将该I/O请求直接通过存储卡的目标虚拟接口发送到客户端。
方式(2)、该虚拟机将该I/O请求发送给存储卡的物理接口;当存储卡的物理接口接收到该I/O请求时,将该I/O请求发送给客户端中的虚拟存储设备。
需要说明的是,该虚拟机将该I/O请求发送给存储卡的物理接口时,可以由该虚拟机中的存储卡驱动将该I/O请求发送给存储卡的物理接口。
由于上述第二种方式中已经预先建立了该虚拟机与存储卡的物理接口之间的对应关系,并预先建立了存储卡的物理接口与客户端中的虚拟存储设备之间的对应关系,因此,当该虚拟机需要将该I/O请求发送给存储卡中的客户端时,该虚拟机即可将该I/O请求直接通过存储卡的物理接口发送到客户端。
需要说明的是,相关技术中,由于客户端直接部署在物理服务器上,因此,虚拟机需要通过Hypervisor来向客户端发送I/O请求,在此发送过程中,需要虚拟机中的前端驱动和Hypervisor中的后端驱动的共同参与,因此,物理服务器消耗的计算资源较多。而本发明实施例中,将客户端部署在存储卡上,由于存储卡能够直接与虚拟机进行通信,因此,虚拟机无需通过Hypervisor,即可直接向客户端发送I/O请求,从而省掉了前端驱动和后端驱动的参与,大大节省了物理服务器的计算资源。另外,由于本发明实施例中的客户端部署在存储卡上,因此,客户端在运行过程中消耗的是存储卡的计算资源,而不会消耗物理服务器的计算资源,从而进一步节省了物理服务器的计算资源。
步骤403:当客户端接收到该I/O请求时,将该I/O请求发送给服务端,由服务端根据该I/O请求对该物理存储设备执行I/O操作。
需要说明的是,当服务端也部署在存储卡上时,客户端可以直接将该I/O请求发送给服务端,当服务端未部署在存储卡上时,客户端可以通过存储卡的网络接口将该I/O请求发送服务端。
另外,服务端根据该I/O请求对该物理存储设备执行I/O操作的过程可以参考相关技术,本发明实施例对此不进行详细阐述。
在本发明实施例中,当虚拟机接收到数据读写指令时,生成针对物理存储设备的输入/输出I/O请求,并将该I/O请求发送给存储卡中的客户端,由于存储卡能够直接与该虚拟机进行通信,因此,该虚拟机将该I/O请求发送给存储卡中的客户端时,无需通过该物理服务器中的Hypervisor,即可直接将该I/O请求发送给客户端,从而节省了该物理服务器的计算资源。之后,当客户端接收到该I/O请求时,将该I/O请求发送给服务端,由服务端根据该I/O请求对该物理存储设备执行I/O操作。由于本发明实施例中的客户端部署在存储卡上,因此,客户端在运行过程中消耗的是存储卡的计算资源,而不会消耗该物理服务器的计算资源,从而进一步节省了该物理服务器的计算资源。
图5是本发明实施例提供的一种物理服务器的结构示意图,该物理服务器可以为图3所示的物理服务器。参见图5,该物理服务器中安装有虚拟机501,且该物理服务器中安插有存储卡502,该存储卡502中部署有客户端503,该物理服务器包括:
该虚拟机501,用于执行图4A实施例中的步骤401;
该虚拟机501,还用于执行图4A实施例中的步骤402;
该客户端503,用于执行图4A实施例中的步骤403。
其中,分布式存储系统包括该客户端503和服务端,该客户端503用于为该虚拟机501提供存储功能,该服务端用于管理物理存储设备。
可选地,该虚拟机501和该存储卡502,用于执行图4A实施例中的步骤402中的方式(1)。
可选地,该物理服务器还包括:
处理器,用于执行图4A实施例中的步骤402中的第一种方式。
可选地,该虚拟机501和该存储卡502,用于执行图4A实施例中的步骤402中的方式(2)。
可选地,该处理器,还用于执行图4A实施例中的步骤402中的第二种方式。
可选地,该服务端部署在该存储卡502上;或者,该服务端部署在除该物理服务器之外的其它物理服务器上。
在本发明实施例中,当虚拟机接收到数据读写指令时,生成针对物理存储设备的输入/输出I/O请求,并将该I/O请求发送给存储卡中的客户端,由于存储卡能够直接与该虚拟机进行通信,因此,该虚拟机将该I/O请求发送给存储卡中的客户端时,无需通过该物理服务器中的Hypervisor,即可直接将该I/O请求发送给客户端,从而节省了该物理服务器的计算资源。之后,当客户端接收到该I/O请求时,将该I/O请求发送给服务端,由服务端根据该I/O请求对该物理存储设备执行I/O操作。由于本发明实施例中的客户端部署在存储卡上,因此,客户端在运行过程中消耗的是存储卡的计算资源,而不会消耗该物理服务器的计算资源,从而进一步节省了该物理服务器的计算资源。
图6是本发明实施例提供的一种物理服务器的结构示意图,该物理服务器可以为图3所示的物理服务器。参见图6,该物理服务器包含第一处理器601和第一存储器602,物理服务器上安插有存储卡,存储卡包含第二处理器603和第二存储器604,
第一处理器601执行第一存储器602中的指令,以使得物理服务器执行图4A实施例中的步骤401和步骤402;
第二处理器603执行第二存储器604中的指令,以使得存储卡执行图4A实施例中的步骤403;
其中,分布式存储系统包括客户端和服务端,客户端用于为虚拟机提供存储功能,服务端用于管理物理存储设备。
可选地,第一处理器601执行第一存储器602中的指令,以使得物理服务器还执行下述操作:
将I/O请求发送给存储卡的目标虚拟接口,目标虚拟接口为与虚拟机对应的虚拟接口;
第二处理器603执行第二存储器604中的指令,以使得存储卡执行下述操作:
当目标虚拟接口接收到I/O请求时,将I/O请求发送给客户端中的目标虚拟存储设备,目标虚拟存储设备为与目标虚拟接口对应的虚拟存储设备。
可选地,第一处理器601执行第一存储器602中的指令,以使得物理服务器还执行图4A实施例中的步骤402中的第一种方式。
可选地,第一处理器601执行第一存储器602中的指令,以使得物理服务器还执行下述操作:
将I/O请求发送给存储卡的物理接口;
第二处理器603执行第二存储器604中的指令,以使得存储卡执行下述操作:
当物理接口接收到I/O请求时,将I/O请求发送给客户端中的虚拟存储设备。
进一步地,第一处理器601执行第一存储器602中的指令,以使得物理服务器还执行图4A实施例中的步骤402中的第二种方式。
需要说明的是,服务端部署在存储卡上;或者,服务端部署在除物理服务器之外的其它物理服务器上。
在本发明实施例中,当虚拟机接收到数据读写指令时,生成针对物理存储设备的输入/输出I/O请求,并将该I/O请求发送给存储卡中的客户端,由于存储卡能够直接与该虚拟机进行通信,因此,该虚拟机将该I/O请求发送给存储卡中的客户端时,无需通过该物理服务器中的Hypervisor,即可直接将该I/O请求发送给客户端,从而节省了该物理服务器的计算资源。之后,当客户端接收到该I/O请求时,将该I/O请求发送给服务端,由服务端根据该I/O请求对该物理存储设备执行I/O操作。由于本发明实施例中的客户端部署在存储卡上,因此,客户端在运行过程中消耗的是存储卡的计算资源,而不会消耗该物理服务器的计算资源,从而进一步节省了该物理服务器的计算资源。
需要说明的是:上述实施例提供的物理服务器与存储设备的操作方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种存储设备的操作方法,其特征在于,应用于物理服务器,所述物理服务器中安装有虚拟机,且所述物理服务器中安插有存储卡,所述方法包括:
当所述虚拟机接收到数据读写指令时,生成针对物理存储设备的输入/输出I/O请求;
所述虚拟机将所述I/O请求发送给所述存储卡中的客户端,所述存储卡能够直接与所述虚拟机进行通信;
当所述客户端接收到所述I/O请求时,将所述I/O请求发送给服务端,由所述服务端根据所述I/O请求对所述物理存储设备执行I/O操作;
其中,分布式存储系统包括所述客户端和所述服务端,所述客户端用于为所述虚拟机提供存储功能,所述服务端用于管理所述物理存储设备。
2.如权利要求1所述的方法,其特征在于,所述虚拟机将所述I/O请求发送给所述存储卡中的客户端,包括:
所述虚拟机将所述I/O请求发送给所述存储卡的目标虚拟接口,所述目标虚拟接口为与所述虚拟机对应的虚拟接口;
当所述存储卡的目标虚拟接口接收到所述I/O请求时,将所述I/O请求发送给所述客户端中的目标虚拟存储设备,所述目标虚拟存储设备为与所述目标虚拟接口对应的虚拟存储设备。
3.如权利要求2所述的方法,其特征在于,所述虚拟机将所述I/O请求发送给所述存储卡中的客户端之前,还包括:
当接收到第一设置指令时,调用所述存储卡的管理接口生成N个虚拟接口,并调用所述客户端的管理接口生成M个虚拟存储设备,所述N个虚拟接口中包括所述目标虚拟接口,所述M个虚拟存储设备中包括所述目标虚拟存储设备,所述N与所述M均为不小于1的自然数;
建立所述目标虚拟接口与所述虚拟机之间的对应关系,并建立所述目标虚拟接口与所述目标虚拟存储设备之间的对应关系。
4.如权利要求1所述的方法,其特征在于,所述虚拟机将所述I/O请求发送给所述存储卡中的客户端,包括:
所述虚拟机将所述I/O请求发送给所述存储卡的物理接口;
当所述存储卡的物理接口接收到所述I/O请求时,将所述I/O请求发送给所述客户端中的虚拟存储设备。
5.如权利要求4所述的方法,其特征在于,所述虚拟机将所述I/O请求发送给所述存储卡中的客户端之前,还包括:
当接收到第二设置指令时,调用所述客户端的管理接口生成M个虚拟存储设备;
建立所述存储卡的物理接口与所述虚拟机之间的对应关系,并建立所述存储卡的物理接口与所述M个虚拟存储设备之间的对应关系。
6.如权利要求1-4任一所述的方法,其特征在于,所述服务端部署在所述存储卡上;或者,所述服务端部署在除所述物理服务器之外的其它物理服务器上。
7.一种物理服务器,其特征在于,所述物理服务器中安装有虚拟机,且所述物理服务器中安插有存储卡,所述物理服务器包括:
所述虚拟机,用于当接收到数据读写指令时,生成针对物理存储设备的输入/输出I/O请求;
所述虚拟机,还用于将所述I/O请求发送给所述存储卡中的客户端,所述存储卡能够直接与所述虚拟机进行通信;
所述客户端,用于当接收到所述I/O请求时,将所述I/O请求发送给服务端,由所述服务端根据所述I/O请求对所述物理存储设备执行I/O操作;
其中,分布式存储系统包括所述客户端和所述服务端,所述客户端用于为所述虚拟机提供存储功能,所述服务端用于管理所述物理存储设备。
8.如权利要求7所述的物理服务器,其特征在于,
所述虚拟机,还用于将所述I/O请求发送给所述存储卡的目标虚拟接口,所述目标虚拟接口为与所述虚拟机对应的虚拟接口;
所述存储卡,用于当所述目标虚拟接口接收到所述I/O请求时,将所述I/O请求发送给所述客户端中的目标虚拟存储设备,所述目标虚拟存储设备为与所述目标虚拟接口对应的虚拟存储设备。
9.如权利要求8所述的物理服务器,其特征在于,所述物理服务器还包括:
处理器,用于当接收到第一设置指令时,调用所述存储卡的管理接口生成N个虚拟接口,并调用所述客户端的管理接口生成M个虚拟存储设备,所述N个虚拟接口中包括所述目标虚拟接口,所述M个虚拟存储设备中包括所述目标虚拟存储设备,所述N与所述M均为不小于1的自然数;
所述处理器,还用于建立所述目标虚拟接口与所述虚拟机之间的对应关系,并建立所述目标虚拟接口与所述目标虚拟存储设备之间的对应关系。
10.如权利要求7所述的物理服务器,其特征在于,
所述虚拟机,还用于将所述I/O请求发送给所述存储卡的物理接口;
所述存储卡,用于当所述物理接口接收到所述I/O请求时,将所述I/O请求发送给所述客户端中的虚拟存储设备。
11.如权利要求10所述的物理服务器,其特征在于,所述物理服务器还包括:
处理器,用于当接收到第二设置指令时,调用所述客户端的管理接口生成M个虚拟存储设备;
所述处理器,还用于建立所述存储卡的物理接口与所述虚拟机之间的对应关系,并建立所述存储卡的物理接口与所述M个虚拟存储设备之间的对应关系。
12.如权利要求7-11任一所述的物理服务器,其特征在于,所述服务端部署在所述存储卡上;或者,所述服务端部署在除所述物理服务器之外的其它物理服务器上。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911120521.XA CN111078353A (zh) | 2016-10-28 | 2016-10-28 | 存储设备的操作方法及物理服务器 |
CN201610970830.6A CN106569874B (zh) | 2016-10-28 | 2016-10-28 | 存储设备的操作方法及物理服务器 |
EP17863550.4A EP3528116A4 (en) | 2016-10-28 | 2017-08-04 | OPERATING PROCEDURES FOR MEMORY DEVICE AND PHYSICAL SERVER |
PCT/CN2017/095912 WO2018076882A1 (zh) | 2016-10-28 | 2017-08-04 | 存储设备的操作方法及物理服务器 |
US16/396,213 US10970105B2 (en) | 2016-10-28 | 2019-04-26 | Storage device operation method and physical server |
US17/199,794 US11474853B2 (en) | 2016-10-28 | 2021-03-12 | Storage device operation method and physical server |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610970830.6A CN106569874B (zh) | 2016-10-28 | 2016-10-28 | 存储设备的操作方法及物理服务器 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911120521.XA Division CN111078353A (zh) | 2016-10-28 | 2016-10-28 | 存储设备的操作方法及物理服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106569874A true CN106569874A (zh) | 2017-04-19 |
CN106569874B CN106569874B (zh) | 2019-11-29 |
Family
ID=58539899
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911120521.XA Pending CN111078353A (zh) | 2016-10-28 | 2016-10-28 | 存储设备的操作方法及物理服务器 |
CN201610970830.6A Active CN106569874B (zh) | 2016-10-28 | 2016-10-28 | 存储设备的操作方法及物理服务器 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911120521.XA Pending CN111078353A (zh) | 2016-10-28 | 2016-10-28 | 存储设备的操作方法及物理服务器 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10970105B2 (zh) |
EP (1) | EP3528116A4 (zh) |
CN (2) | CN111078353A (zh) |
WO (1) | WO2018076882A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018076882A1 (zh) * | 2016-10-28 | 2018-05-03 | 华为技术有限公司 | 存储设备的操作方法及物理服务器 |
CN108600308A (zh) * | 2018-03-20 | 2018-09-28 | 新华三技术有限公司 | 数据上传方法、装置、存储介质和服务器 |
CN110704163A (zh) * | 2019-09-29 | 2020-01-17 | 浪潮商用机器有限公司 | 一种服务器及其虚拟化存储方法和装置 |
CN112148422A (zh) * | 2019-06-29 | 2020-12-29 | 华为技术有限公司 | 一种io处理的方法和装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10901773B2 (en) * | 2019-04-11 | 2021-01-26 | Red Hat, Inc. | Sharing devices between virtual machines in view of power state information |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080140866A1 (en) * | 2006-12-07 | 2008-06-12 | Corry Kevin M | System and method for migrating domains from one physical data processing system to another |
CN102591702A (zh) * | 2011-12-31 | 2012-07-18 | 华为技术有限公司 | 虚拟化处理方法及相关装置和计算机系统 |
CN102662777A (zh) * | 2012-04-28 | 2012-09-12 | 浪潮电子信息产业股份有限公司 | 一种基于kvm虚拟机的客户机之间高速通信的方法 |
CN105824682A (zh) * | 2015-01-05 | 2016-08-03 | 深圳市腾讯计算机系统有限公司 | 一种虚拟机的监控方法、装置和系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9135044B2 (en) * | 2010-10-26 | 2015-09-15 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Virtual function boot in multi-root I/O virtualization environments to enable multiple servers to share virtual functions of a storage adapter through a MR-IOV switch |
CN102388357B (zh) * | 2011-09-23 | 2013-08-28 | 华为技术有限公司 | 访问存储设备的方法及系统 |
WO2015081308A2 (en) * | 2013-11-26 | 2015-06-04 | Dynavisor, Inc. | Dynamic i/o virtualization |
US9378049B1 (en) * | 2015-02-12 | 2016-06-28 | Amazon Technologies, Inc. | Servicing I/O requests in an I/O adapter device |
CN104951252B (zh) | 2015-06-12 | 2018-10-16 | 北京联想核芯科技有限公司 | 一种数据访问方法及PCIe存储设备 |
CN105970830B (zh) | 2016-04-12 | 2017-11-10 | 中交第二航务工程局有限公司 | 一种用于结合梁斜拉桥的主梁边跨合龙施工方法 |
CN111078353A (zh) * | 2016-10-28 | 2020-04-28 | 华为技术有限公司 | 存储设备的操作方法及物理服务器 |
-
2016
- 2016-10-28 CN CN201911120521.XA patent/CN111078353A/zh active Pending
- 2016-10-28 CN CN201610970830.6A patent/CN106569874B/zh active Active
-
2017
- 2017-08-04 EP EP17863550.4A patent/EP3528116A4/en active Pending
- 2017-08-04 WO PCT/CN2017/095912 patent/WO2018076882A1/zh unknown
-
2019
- 2019-04-26 US US16/396,213 patent/US10970105B2/en active Active
-
2021
- 2021-03-12 US US17/199,794 patent/US11474853B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080140866A1 (en) * | 2006-12-07 | 2008-06-12 | Corry Kevin M | System and method for migrating domains from one physical data processing system to another |
CN102591702A (zh) * | 2011-12-31 | 2012-07-18 | 华为技术有限公司 | 虚拟化处理方法及相关装置和计算机系统 |
CN102662777A (zh) * | 2012-04-28 | 2012-09-12 | 浪潮电子信息产业股份有限公司 | 一种基于kvm虚拟机的客户机之间高速通信的方法 |
CN105824682A (zh) * | 2015-01-05 | 2016-08-03 | 深圳市腾讯计算机系统有限公司 | 一种虚拟机的监控方法、装置和系统 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018076882A1 (zh) * | 2016-10-28 | 2018-05-03 | 华为技术有限公司 | 存储设备的操作方法及物理服务器 |
US10970105B2 (en) | 2016-10-28 | 2021-04-06 | Huawei Technologies Co., Ltd. | Storage device operation method and physical server |
US11474853B2 (en) | 2016-10-28 | 2022-10-18 | Huawei Cloud Computing Technologies Co., Ltd. | Storage device operation method and physical server |
CN108600308A (zh) * | 2018-03-20 | 2018-09-28 | 新华三技术有限公司 | 数据上传方法、装置、存储介质和服务器 |
CN108600308B (zh) * | 2018-03-20 | 2021-08-06 | 新华三技术有限公司 | 数据上传方法、装置、存储介质和服务器 |
CN112148422A (zh) * | 2019-06-29 | 2020-12-29 | 华为技术有限公司 | 一种io处理的方法和装置 |
WO2021000717A1 (zh) * | 2019-06-29 | 2021-01-07 | 华为技术有限公司 | 一种io处理的方法和装置 |
US12061566B2 (en) | 2019-06-29 | 2024-08-13 | Huawei Technologies Co., Ltd. | IO processing method and apparatus |
CN110704163A (zh) * | 2019-09-29 | 2020-01-17 | 浪潮商用机器有限公司 | 一种服务器及其虚拟化存储方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
EP3528116A4 (en) | 2019-10-16 |
US20210200571A1 (en) | 2021-07-01 |
US20190250942A1 (en) | 2019-08-15 |
WO2018076882A1 (zh) | 2018-05-03 |
US10970105B2 (en) | 2021-04-06 |
CN111078353A (zh) | 2020-04-28 |
EP3528116A1 (en) | 2019-08-21 |
US11474853B2 (en) | 2022-10-18 |
CN106569874B (zh) | 2019-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106569874A (zh) | 存储设备的操作方法及物理服务器 | |
CN103491188B (zh) | 利用虚拟桌面和gpu透传实现多用户共享图形工作站的方法 | |
CN107894913B (zh) | 一种计算机系统和存储访问装置 | |
CN101615106B (zh) | 用于虚拟化sas存储适配器的方法和系统 | |
CN109558344B (zh) | 一种适用于网络传输的dma传输方法及dma控制器 | |
CN107924289A (zh) | 计算机系统和访问控制方法 | |
CN106980537B (zh) | 云计算环境中删除云主机的方法和系统 | |
CN107967227A (zh) | 一种基于spi的通信方法及spi主机、spi从机 | |
CN110062041B (zh) | 一种基于区块链的iot设备变更的方法及装置 | |
CN105488000A (zh) | 实现usb设备快速访问的方法和系统 | |
CN106164858A (zh) | 数据视图展示机制 | |
CN111126604A (zh) | 模型训练方法、装置、服务器及存储介质 | |
CN104123173B (zh) | 一种实现虚拟机间通信的方法及装置 | |
CN110221902B (zh) | 一种基于虚拟机的数据传输方法及相关装置 | |
WO2017166997A1 (zh) | 智能网卡侧的异常处理方法和装置 | |
WO2021135326A1 (zh) | 一种数据备份方法、装置、设备及介质 | |
CN106888258A (zh) | 一种服务器信息录入方法和系统 | |
CN107273316A (zh) | 并行flash访问系统和方法 | |
CN109684029A (zh) | 存储内容访问方法、装置、电子设备及计算机存储介质 | |
CN115150268A (zh) | Kubernetes集群的网络配置方法、装置、及电子设备 | |
CN109634721B (zh) | 一种虚拟机与主机的启动通信方法及相关装置 | |
CN104426958B (zh) | 一种通信方法、装置及系统 | |
CN112434275A (zh) | Rpa用户认证方法、装置、电子设备以及介质 | |
CN113703676B (zh) | 一种双活卷的调用方法、装置、设备和介质 | |
CN116069451B (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220217 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Patentee after: Huawei Cloud Computing Technologies Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
TR01 | Transfer of patent right |