WO2016065556A1 - Software-defined storage system and method, and centralized control device thereof - Google Patents

Software-defined storage system and method, and centralized control device thereof Download PDF

Info

Publication number
WO2016065556A1
WO2016065556A1 PCT/CN2014/089799 CN2014089799W WO2016065556A1 WO 2016065556 A1 WO2016065556 A1 WO 2016065556A1 CN 2014089799 W CN2014089799 W CN 2014089799W WO 2016065556 A1 WO2016065556 A1 WO 2016065556A1
Authority
WO
WIPO (PCT)
Prior art keywords
storage service
storage
unit
control device
centralized control
Prior art date
Application number
PCT/CN2014/089799
Other languages
French (fr)
Chinese (zh)
Inventor
周文
Original Assignee
北京麓柏科技有限公司
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 北京麓柏科技有限公司 filed Critical 北京麓柏科技有限公司
Priority to PCT/CN2014/089799 priority Critical patent/WO2016065556A1/en
Publication of WO2016065556A1 publication Critical patent/WO2016065556A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications

Definitions

  • the present invention relates to the field of storage, and in particular to a storage system, a method, and a centralized control device thereof.
  • Software-defined data centers include software-defined computing, software-defined networking, and software-defined storage.
  • Data center operators provide computing services and storage services to tenants. Different tenants have different storage service requirements and different application scenarios. Different sub-accounts (users) under the same tenant have different storage service requirements and different application scenarios.
  • These different storage service requirements include, but are not limited to, capacity, performance (IOPS, BandWidth), latency, backup level, durability, encryption, deduplication, compression, snapshots, physical isolation. And these storage service service requirements are dynamically changeable as needed.
  • a storage system that meets these massive, dynamically changing, and personalized storage service requirements is called a software-defined storage system.
  • Current storage system architectures ( Figures 1A and 1B) do not meet the diverse requirements and performance requirements of software-defined storage requirements.
  • the centralized storage system shown in FIG. 1A the centralized storage system is composed of a storage control head 104 and a storage resource 103.
  • the storage resource 103 does not have computing power, and all computing operations related to the data service are completed by the storage control head 104.
  • the storage service policies (or software defined storage requirements) from the control cluster 106 are all passed to the storage control head 104 via the channel 101.
  • There are two main problems with centralized storage systems One problem is limited by the computing power of 104 storage control heads.
  • the storage cluster is composed of a storage unit 113 having computing resources, and has a horizontal expansion capability, and the storage unit 113 may be a commercial x86 server.
  • the plurality of storage units 113 receive the IO requests from the virtual machine 115 in parallel, and the centralized storage system controls the head 104 to limit the computing power, thereby providing higher performance.
  • the storage service policy from the control cluster (116) is handed over to each virtual machine 115 via channel 111.
  • the main problem of the distributed storage system is that the execution of the storage service policy is dispersed in each virtual machine 115, and the service level distinction based on the tenant, the logical disk and the virtual machine cannot be provided, and the software defined storage service for different service levels cannot be satisfied.
  • Option control is that the execution of the storage service policy is dispersed in each virtual machine 115, and the service level distinction based on the tenant, the logical disk and the virtual machine cannot be provided, and the software defined storage service for different service levels cannot be satisfied.
  • NAND Flash With the development of semiconductor technology, the storage density of high-speed nonvolatile memory devices NAND Flash is getting higher and higher. It has been widely used as a data access acceleration device in data centers. Compared to mechanical disks, NAND Flash has faster random access speeds. Compared to DRAM, NAND Flash is a non-volatile memory device that continues to hold data after the power is turned off. In order to take advantage of the high-speed access of NAND Flash, new module specifications and new access protocols for NAND Flash have been developed. Because of the nature of mechanical disk (HDD), such as the need for block erasure, traditional x86-based servers can not better play the performance of storage resources using Nand Flash as a storage medium, and need to design a new storage architecture and Storage device.
  • HDD mechanical disk
  • traditional x86-based servers can not better play the performance of storage resources using Nand Flash as a storage medium, and need to design a new storage architecture and Storage device.
  • the present invention provides software-defined storage systems, methods, and centralized control devices thereof to implement software-defined storage requirements for software-defined storage systems for software-defined storage diversity, and performance. Requirements.
  • a centralized control device for a software-defined storage system comprising: a control unit, a front-end interface connected to the front-end virtual machine, and a back-end interface connected to the back-end distributed storage service unit, the control unit is configured to use the storage service
  • the user storage service configuration parameters sent by the configuration unit are processed as follows:
  • the storage service unit has a computing unit, and the computing unit is configured to complete a storage service corresponding to the storage service request forwarded by the centralized control device.
  • the storage service configuration parameter includes a user permission parameter
  • the control unit is configured to send the storage service configuration unit to the centralized control device according to the user permission parameter to the storage service.
  • the unit's storage service request is processed accordingly.
  • the storage service configuration parameter includes a storage quality of service parameter
  • the control unit controls quality of a storage service between the virtual machine and the storage service unit according to the storage quality of service parameter .
  • the storage quality of service parameter includes: a bandwidth between the virtual machine and the storage service unit, a number of read and write operations per second, a storage service unit capacity or data layering, data encryption, and Heavy, compressed, and physically isolated.
  • control unit is further configured to dynamically allocate the storage quality of service between the plurality of virtual machines according to the storage quality of service parameter.
  • the method further includes a buffer, and the control unit is further configured to determine according to the storage service configuration parameter:
  • the cached partial space is used as a fixed hierarchical storage space to store data required by the virtual machine to complete the storage service.
  • control unit uses the virtual machine in the cache to complete data required for storing the service, and increases the number of read/write operations per second between the virtual machine and the storage service unit.
  • the present invention also provides a software defined storage system, including a virtual machine, further comprising a distributed storage service unit, a storage service configuration unit, and the centralized control device;
  • the storage service configuration unit is configured to generate a storage service configuration parameter of the user, and send the storage service configuration parameter to the centralized control device;
  • the virtual machine is configured to send a storage service request to the centralized control device;
  • the storage service unit is configured to receive a storage service task corresponding to the storage service request sent by the centralized control device, and complete the storage service task.
  • the storage service configuration unit is further configured to query the centralized control device for current storage service configuration parameters and operation information.
  • the storage service configuration parameter includes a user permission parameter
  • the control unit is configured to send the storage service configuration unit to the centralized control device according to the user permission parameter to the storage service.
  • the unit's storage service request is processed accordingly.
  • the storage service configuration parameter includes a storage quality of service parameter
  • the control unit controls quality of a storage service between the virtual machine and the storage service unit according to the storage quality of service parameter .
  • control unit is further configured to dynamically allocate the storage quality of service between the plurality of virtual machines according to the storage quality of service parameter.
  • the invention also provides a software definition storage system implementation method, comprising the following steps:
  • the centralized control device receives the user storage service configuration parameter generated by the storage service configuration unit;
  • the centralized control device generates a corresponding service control parameter according to the storage service configuration parameter
  • the centralized control device performs corresponding processing on the storage service request according to the service control parameter
  • the centralized control device forwards the storage service corresponding to the storage service request to a storage service unit, where the storage service unit has a calculation unit, and the calculation unit is configured to complete the concentration Controlling, by the device, a storage service corresponding to the storage service request.
  • the centralized control device controls the storage service request sent by the virtual machine and the storage service configuration unit according to the storage service configuration parameter sent by the storage service configuration unit, and sends the specific storage service to the distributed storage service unit that has completed the corresponding storage service (
  • the completion of the cluster can not only satisfy the user's various definition storage requirements, but also the centralized control device can not become the bottleneck node of the entire software-defined storage system because there is not a large number of specific storage services, so it can also ensure that the entire software-defined storage system has Better software-defined storage service processing capabilities.
  • the centralized control device dynamically adjusts the storage service quality of the plurality of virtual machines according to the storage service configuration parameters, and ensures the utilization of the storage service quality of the plurality of virtual machines as much as possible.
  • the centralized control device can control the storage service quality between the virtual machine and the distributed storage service unit (cluster) according to the storage service configuration parameter, and centrally control the cache of the device, and ensure that the virtual machine achieves a higher storage service as much as possible. quality.
  • 1a is a schematic diagram of a centralized storage system architecture in the prior art
  • 1b is a schematic structural diagram of a distributed storage system in the prior art
  • FIG. 2 is a schematic structural diagram of a software defined storage system according to an embodiment of the present invention.
  • FIG. 3 is a schematic structural diagram of storage service configuration parameters according to an embodiment of the present invention.
  • 4a is a schematic diagram of a storage service process in a prior art distributed storage system
  • 4b is a schematic diagram of a storage service process in a scenario of a software-defined storage system according to an embodiment of the present invention
  • 4c is a schematic diagram of a storage service process of a software-defined storage system in another scenario according to an embodiment of the present invention.
  • FIG. 5 is a schematic diagram of the composition of a software defined storage system according to an embodiment of the present invention.
  • FIG. 6 is a schematic diagram of the composition of a centralized control device according to an embodiment of the present invention.
  • FIG. 7 is a schematic diagram of the composition of a storage service unit according to an embodiment of the present invention.
  • FIG. 8 is a schematic overall flow chart of software definition storage according to an embodiment of the present invention.
  • FIG. 9 is a schematic flowchart of a storage service configuration unit providing a storage service configuration according to an embodiment of the present invention.
  • the system architecture of a software-defined storage system of an embodiment may be referred to as centralized distribution.
  • the storage system architecture includes a storage service configuration cluster (or a control cluster), a centralized control device 204, a distributed storage service cluster, and a computing cluster, where the storage service configuration cluster includes multiple storage service configuration units, and the computing cluster includes multiple
  • the virtual machine, the distributed storage service cluster includes a plurality of storage service units, and the centralized control devices are respectively connected to the storage service configuration unit, the distributed storage service unit (cluster), and the virtual machine (cluster).
  • the storage service configuration unit generates storage service configuration parameters (or software-defined storage requirements), the storage service configuration unit sends the storage service configuration parameters to the centralized control device 204, and the centralized control device 204 receives the storage service configuration parameters, and according to these Parameters to control the virtual machine's access to the distributed storage service cluster, or the storage service request sent by the virtual machine, corresponding processing according to the storage service configuration parameters; or the storage sent from the storage service configuration unit
  • the service request is processed according to the storage service configuration parameters. If the storage service request sent by the virtual machine meets the storage service configuration parameter, the centralized control device may send the storage service request to the distributed storage service cluster, and the storage service unit in the distributed storage service cluster has the storage service request completed.
  • the centralized control device 204 itself does not need to provide complex storage service calculations. Therefore, the centralized control device 204 is difficult to become a performance bottleneck node of the entire software-defined storage system.
  • the storage service configuration parameters can be divided into user permission parameters and storage quality of service parameters.
  • the permissions can be the number of virtual machines and logical disks, access to a virtual machine or logical disk, clone (for example, clone a virtual machine), and virtual Snapshots (such as number, name) stored by the machine, logical disk, etc., for example, basic user rights include having one virtual machine and one logical disk, and higher-level user rights are multiple virtual machines (virtual units) and multiple logical disks. (Logical disk group), user rights with multiple virtual machines and multiple logical disks can be referred to as a tenant.
  • the storage quality of service parameters may include, but are not limited to, storage capacity or data tiering, bandwidth between the virtual machine and the distributed storage service cluster, number of read and write operations per second (IOPS), latency (eg, data) The delay from the virtual machine to the storage service unit), the backup level (such as the number of data backups in the logical disk), storage data encryption, data deduplication, data compression, physical isolation, and so on.
  • the centralized control device can dynamically allocate the storage service quality between the multiple virtual machines under the same tenant according to the storage service quality parameter, so as to improve the utilization efficiency of the storage service quality of the tenant at a certain moment.
  • FIG. 3 it is a classification method for storing service configuration parameters, which includes a storage service level and a storage service option.
  • Storage service levels are primarily based on having virtual machines and logical disks, including but not limited to capacity, performance (such as IOPS and bandwidth), latency, backup levels, encryption, snapshots, cloning, deduplication, compression, and physical isolation. .
  • An example of a specific storage service configuration parameter is as follows: Example 1, tenant A has a capacity of 100T, performance is 500KIOPS, 2GB/s bandwidth, three backups, encryption option is off, snapshot option is on, g The option is off, the option is off, the compression option is off, the physical isolation option is turned on; for example, the performance of virtual machine I belonging to tenant B is 100KIOPS, 3 backup, encryption option is on, snapshot option is on, clone option is off, deduplication The option is turned off and the compression option is turned on.
  • the centralized control device may determine whether the storage service request of the user is legal according to the storage service configuration parameter sent from the storage service configuration unit, and if not, prevent data operation on the distributed storage service cluster. Or operate on the corresponding data in the cache attached to the centralized control device.
  • the user sends a storage service request for cloning a virtual machine to the centralized control device through the storage service configuration unit, and if the centralized control device determines that the user has the permission, sends the clone service request to the distributed storage service cluster, and The service of cloning the virtual machine is completed by the distributed storage service cluster; if it is determined that the user does not have the privilege, the centralized control device does not send a corresponding request to the distributed storage service cluster, and may feed back related information to the storage service configuration unit. For example, a warning.
  • the centralized control device may further control the quality of the storage service between the virtual machine and the distributed storage service cluster according to the storage quality of service parameter.
  • the virtual machine A sends a storage service request to the centralized control device, and the centralized control device queries the relevant service quality parameter of the virtual machine A, and then allocates the corresponding service quality to the virtual machine A, for example, the corresponding IOPS, the storage capacity, and the like.
  • the centralized control device may dynamically adjust and allocate storage quality (including IOPS, bandwidth, capacity, and the like) of multiple virtual machines according to storage quality of service parameters, and ensure multiple virtual machines as a whole as possible. The quality of storage services will not decline.
  • storage quality including IOPS, bandwidth, capacity, and the like
  • a tenant has two virtual machines, and the tenant has a total IOPS set (ie, the total IOPS limit of two virtual machines at any time), when two virtual machines respectively send storage service requests to the centralized control device, and
  • the centralized control device allocates the corresponding IOPS to the corresponding virtual machine according to the total IOPS, so as to avoid the waste of IOPS by the tenant and improve the overall IOPS utilization of the tenant.
  • the centralized control device can dynamically adjust and allocate the corresponding IOPS to the corresponding virtual machine according to different storage service quality requirements of the two virtual machines at different times.
  • FIG. 4a a comparison of the application of an IO access on the distributed storage system and the software-defined storage system is given.
  • FIG 4a it is the IO access between the virtual machine and the storage service unit in the distributed storage system.
  • Both virtual machine A and virtual machine B are sub-accounts of the tenant NetBric, and the virtual machine A on the physical server A is calculated. Or look up the table, the content that needs to be accessed is on the storage service unit A, the virtual machine A directly issues an IO request to the storage service unit A; the virtual machine B on the physical server B undergoes calculation or table lookup, and the content to be accessed is in the storage service.
  • virtual machine B initiates an IO request directly to storage service unit B.
  • the virtual IOPS of virtual machine A and virtual machine B can only be static. State allocation, for example, virtual machine A is allocated 300K IOPS, virtual machine B is allocated 200K IOPS, at some point, virtual machine B's IOPS demand is only 100K, and virtual machine A's IOPS demand is 400K, virtual machine A is actually Only 300K IOPS can be allocated, so the tenant NetBric can achieve only IOPS of 400K. Compared with the total amount of 500K IOPS, 100K is wasted idle.
  • FIG. 4b it is the IO access in the software-defined storage system of this embodiment. It is assumed that the virtual machine A and the virtual machine B are also sub-accounts of the tenant NetBric, and the total IOPS quota of the tenant NetBric is 500K, and the virtual machine A
  • the IO request with the virtual machine B is sent to the centralized control device, and the centralized control device distributes the IO request to the corresponding storage service unit A and storage service unit B.
  • the centralized control device can be dynamically updated within a total range of 500K IOPS. Adjust the IOPS allocation of virtual machine A and virtual machine B. When virtual machine B's IOPS is only 100K, allow virtual machine A's IOPS to reach 400K.
  • the centralized control device judges that the back-end distributed storage service cluster cannot provide 1M IOPS to virtual machine A.
  • the access path can be as shown in Figure 4c.
  • the centralized control device accelerates the access of the virtual machine A through the corresponding algorithm, and tries to ensure that the IO access content of the virtual machine A can be found in the cache in the centralized control device, thereby The IO access provides acceleration.
  • the centralized control device may further include a cache, and the control unit of the centralized control device may determine, according to the storage service configuration parameter, whether to store data required by the virtual machine to complete the storage service to the cache; for example, When the tenant's authority is high or the quality of service is high, you need to centrally control the device to cache related data to reduce the delay. For example, a tenant has a lower delay parameter.
  • the control unit of the centralized control device may determine, according to the storage service configuration parameter, whether to store data required by the virtual machine to complete the storage service to the cache; for example, When the tenant's authority is high or the quality of service is high, you need to centrally control the device to cache related data to reduce the delay. For example, a tenant has a lower delay parameter.
  • the related data is stored in the cache for use in the next use.
  • control unit of the centralized control device may further determine, according to the storage service configuration parameter, that the cache stores the aging speed of data required by the virtual machine to complete the storage service; for example, the rights of a tenant are compared.
  • the storage service configuration parameter for example, the rights of a tenant are compared.
  • the aging speed of the related data is slower. Otherwise, the aging speed can be faster, so as to reduce the storage service delay and ensure the remaining space of the cache.
  • control unit of the centralized control device may further determine, according to the storage service configuration parameter, whether the cached partial space is used as a fixed tiered storage space to store the virtual machine required to complete the storage service.
  • the data For example, when a tenant has a high authority or a high quality of service, a part of the space may be opened in the cache as a fixed hierarchical storage space for buffering the virtual machine of the tenant to perform data generated by the storage service.
  • FIG. 5 it is a schematic diagram of the composition of a software-defined storage system of one embodiment.
  • FIG. 6 it is a schematic structural diagram of a centralized control device of an embodiment.
  • the storage service client is used to provide a data interface to the virtual machine, and the virtual machine sends the data to the storage service client.
  • the storage service client and the centralized control device exchange data through the S5 protocol, and between the centralized control device and the storage service unit.
  • the data exchange is completed through the S5 protocol, and the storage service configuration unit sends the storage service configuration parameters to the centralized control device through a software-defined storage protocol.
  • the functions of the centralized control device include, but are not limited to, providing high performance (high IOPS and high bandwidth) data storage services, performing storage quality control according to storage service configuration parameters, and distributing specific storage according to storage service configuration parameters and specific storage service requests. Operate to the backend distributed storage service cluster.
  • the centralized control device may include: a computing and total control module 801, a front end interface module 802, a backend interface module 803, an acceleration module 804, a quality of service (QoS) control module 805, a storage control switching module 806, a MegaNAND control module 807, and a NANDFlash. Module module 808.
  • a computing and total control module 801 a front end interface module 802, a backend interface module 803, an acceleration module 804, a quality of service (QoS) control module 805, a storage control switching module 806, a MegaNAND control module 807, and a NANDFlash. Module module 808.
  • QoS quality of service
  • the calculation and total control module 801 and the storage service configuration unit exchange information through a software-defined storage protocol, receive storage service configuration parameters from the storage configuration unit configuration, and send the generated control parameters to corresponding modules within the centralized control unit through calculation.
  • This module runs the daemon software of the centralized control device, which is responsible for monitoring the state of the centralized control device and processing the data processing request sent by the centralized control device to the back-end distributed storage service cluster. At the same time, this module runs client software with a distributed storage system.
  • the front-end interface module 802 can communicate with the storage service client cluster through interfaces such as an Ethernet port, an FC network port, and an iSCSI network port, and receive a storage service request from the storage service client.
  • the front-end interface module can implement hardware resolution protocols such as TCP/IP, FC, and iSCSI, and deliver the parsed storage service protocol package to the acceleration module 804.
  • the back-end interface module 803 can communicate with the storage service unit cluster through an Ethernet port, an FC network port, an iSCSI network port, and the like.
  • the back-end interface module can implement hardware parsing protocols such as TCP/IP, FC, iSCSI, and pass the parsed storage service protocol package to the acceleration module 804.
  • the acceleration module 804 is responsible for hardware parsing the S5 protocol packet, generating corresponding hardware operation control instructions, and sending the subsequent modules.
  • the quality of service (QoS) control module 805 is responsible for adjusting the statistics generated by the quality of service (QoS) control module 805 based on the control parameters from the computing and total control module 801, and the information (eg, identity ID) contained in the S5 protocol packet.
  • Quality of service includes but is not limited to IOPS, data bandwidth (Bandwidth), capacity and data layering.
  • the storage control switch module 806 receives hardware control instructions from the quality of service (QoS) control module 805 and the acceleration module 804, generates corresponding actions, or passes the data directly to the backend distributed storage service cluster. Or generate a hardware operation request to the MegaNAND control module 807.
  • QoS quality of service
  • the storage control switch module 806 receives hardware control instructions from the quality of service (QoS) control module 805 and the acceleration module 804, generates corresponding actions, or passes the data directly to the backend distributed storage service cluster. Or generate a hardware operation request to the MegaNAND control module 807.
  • QoS quality of service
  • the MegaNAND control module 807 virtualizes a large number of NANDFlash module modules 808 (for example, hundreds of terabytes) into a storage resource pool of NAND Flash, and uses it as a smart cache of the back-end storage service unit cluster, and completes data redundancy, deduplication, encryption, and the like. operating.
  • This module is the main module to improve the centralized control device IOPS and data bandwidth.
  • the characteristics of the intelligent cache include: determining whether to cache relevant data according to the information of the quality of service control module; determining the aging speed of the cached data according to the information of the quality of service control module; determining whether to use part of the cache space according to the information of the quality of service control module Fixed tiered storage space to use.
  • the NANDFlash module module 808 is responsible for organizing the NANDFlash device into a basic NANDFlash memory function unit, providing basic NANDFlash memory services.
  • FIG. 8 is a block diagram of a storage service unit according to an embodiment of the present invention, including a network interface 901, a computing unit 902, and a storage medium 903.
  • the network interface 901 implements a connection between the computing storage service unit and the network;
  • the computing unit 902 can be an x86 CPU or an ARM CPU, and runs simple calculations;
  • the storage medium 903 can be an SSD or an HDD.
  • a plurality of storage service units constitute a cluster of storage service units, and a distributed storage service cluster (system) is composed of software running on the computing unit 902. This distributed storage service cluster completes a specific data storage service.
  • the workflow of the software-defined storage system includes the following steps:
  • Step 501 The management account configures a storage service configuration parameter (software defined storage requirement) on the storage service configuration unit.
  • Step 502 The storage service configuration unit sends the storage service configuration parameter to the centralized control device through a software-defined storage protocol.
  • This step uses a portion of the software-defined storage protocol.
  • a software defined storage protocol is used for message transfer between a storage service hive (eg, Openstack's console, VMWare console) and the centralized control device disclosed herein.
  • Software-defined storage protocols include, but are not limited to, the following:
  • the control device can provide accelerated access to the virtual machine, and the centralized control device can count the proportion of the successful acceleration of the virtual machine, that is, the hit rate mentioned above.
  • the statistics are queried by the number of resources occupied by the tenant and the sub-account of the tenant for billing.
  • Virtual disk operations including creating virtual disks, deleting virtual disks, setting parameters of virtual disks, performing snapshots, cloning, and copying.
  • the software-defined storage protocol uses the TCP/HTTP network protocol as the transport protocol to transport between the storage service configuration unit and the centralized control device. You can use XML as the base description format.
  • Step 503 The centralized control device generates corresponding software and hardware control parameters according to the storage service configuration parameter. This step can be calculated and generated by the calculation and total control module 801.
  • Step 504 The storage service client or the storage service configuration unit issues a storage service request to the centralized control device through the S5 protocol.
  • a particular storage service request may be accomplished by the client agent software disclosed herein or by the storage service application interface (API) disclosed herein.
  • the storage service client agent software or application interface can provide storage services based on block, object, and file.
  • the storage hive agent software or application programming interface (API) can provide storage service requests such as clones, snapshots, and so on.
  • Step 505 The centralized control device queries the software and hardware control parameters generated by the storage service policy, determines the legality and rationality of the storage service request, and performs service quality control. This step can be done by quality of service (QoS) control module 805.
  • QoS quality of service
  • Step 506 The centralized control device generates a corresponding data processing request according to the storage service request.
  • Step 507 The centralized control device confirms whether the storage service request will generate a data processing request with the backend distributed storage service cluster.
  • Step 508 The centralized control device completes the data processing operation through the S5 protocol and the backend distributed storage service cluster.
  • Step 509 The centralized control device returns a storage service response to the storage service client, including but not limited to an illegal request, delayed retry, normal completion, and the like.
  • Step 501, step 502, and step 503 are non-recurring steps, which are usually performed when the user's account is set up or the storage service configuration parameter is changed.
  • Step 504, step 505, step 506, step 507, step 508, step 509 are recurring steps that are typically performed each time the user performs a storage service operation.
  • the S5 protocol is a protocol used between a centralized control device and a storage service client and a distributed storage service cluster.
  • the contents of the agreement include but are not limited to:
  • the specific read/write operation instruction is used to instruct the centralized control device to perform acceleration, and is used to check a heartbeat command of the network, and is used to instruct an instruction of the logical disk operation.
  • Instructions for obtaining information such as snapshots, statistics, data lengths, data locations, data usage, and more.
  • An instruction for determining data identity includes but not limited to transport ID, user ID, resource pool ID, Image ID).
  • An instruction for determining information such as data version, modification time, and the like.
  • An instruction to establish information about a session (such as status, listening port, etc.).
  • a storage service configuration parameter configuration process As shown in FIG. 9, a storage service configuration parameter configuration process according to an embodiment of the present invention.
  • the entire configuration process is provided by software running on the storage service configuration unit, which is part of the software defined storage system disclosed herein.
  • Step 701 The super administrator (for example, the S5 administrator) creates a tenant account according to the tenant requirement, and sets the tenant to store service configuration parameters, such as a permission parameter and a storage quality of service parameter, such as capacity, IOPS, bandwidth, encryption, deduplication, compression.
  • service configuration parameters such as a permission parameter and a storage quality of service parameter, such as capacity, IOPS, bandwidth, encryption, deduplication, compression.
  • Step 702 The tenant account creates a management account with different management rights as needed. Different permissions include but are not limited to whether you can create a logical disk, whether you can set backup properties, and so on. Step 702 is not a required step.
  • Step 703 The tenant account or the tenant's management account creates different virtual machines and logical disks according to the internal requirements of the tenant. It can be set that some virtual machines and logical disks can only be used by some accounts of one tenant.
  • Step 704 The tenant account or the tenant's management account creates different service option sets according to the tenant internal demand categories. Including but not limited to IOPS, bandwidth, number of backups, physical isolation. The type of service selection available is limited by the storage service options of the tenant account.
  • Step 705 The tenant account or the tenant's management account associates the storage service option set configured in step 704 with the virtual machine, virtual machine group, logical disk, logical disk group, and the like configured in step 703 to form a complete storage service configuration parameter.
  • Software running on the storage service hive also provides statistical results as well as status information. For example, current capacity consumption, IOPS consumption, and the like.
  • the application flow of the software defined storage system in Figure 4c is as follows.
  • the data center provider creates a tenant NetBric account through the storage configuration unit.
  • the associated software-defined storage options are 500K IOPS, 2GB/s bandwidth, 100T capacity, up to 3 backups, data encryption allowed, snapshots allowed, clone allowed, and deduplication allowed. Allow compression and allow physical isolation.
  • NetBric accounts are configured through storage services
  • the unit creates virtual machine A and virtual machine B.
  • the software defined storage option associated with virtual machine A is 400KIOPS, 1GB/s bandwidth, 20T capacity, 3 backup, data encryption, snapshot, deduplication, compression, and physical isolation.
  • the NetBric account attempts to associate virtual machine B with software-defined options of 300K IOPS, 1GB/s bandwidth, 20T capacity, 4 backups, data encryption, snapshots, deduplication, compression, no physical isolation, and storage service hive queries for NetBrick software. After defining the storage options, it is recommended to modify the virtual machine B's illegal software-defined storage option 300K IOPS, 4 backup to 100K IOPS, 3 backup, and give a warning. After the NetBric account is confirmed, the storage hive sends the software-defined storage requirements to the centralized control device through the software-defined storage protocol. After receiving the software-defined storage requirements of the tenant NetBric, the computing and total control module 801 generates corresponding control parameters (eg, IOPS quota, identity information, bandwidth quota).
  • control parameters eg, IOPS quota, identity information, bandwidth quota
  • the read data request of virtual machine A and the write data request of virtual machine B are processed by front end interface module 802 and acceleration module 804, and finally arrive at quality of service (QoS) control module 805.
  • the quality of service (QoS) control module 805 checks the previous statistics and the corresponding control parameters to confirm that the virtual machine B's IOPS quota is not exhausted, and the backend distributed storage service cluster can meet the virtual machine B 100K IOPS service requirements, NANDFlash There is no data required by virtual machine B in module module 808.
  • the quality of service (QoS) control module 805 generates control instructions to the storage control switching module 806 and the backend interface module 803, and writes data requests and partial software defined storage options of the virtual machine B (including not limited to 3 backups, data encryption, snapshot sequences). Number, compression) is distributed to the back-end distributed storage system, and the corresponding data encryption, compression, main data update and backup data update are completed by the back-end distributed storage system.
  • QoS quality of service
  • the quality of service (QoS) control module 805 checks the previous statistical result and the corresponding control parameters, and confirms that the IOPS quota of the virtual machine A is not exhausted, and the NANDFlash module module 808 already has the virtual
  • the machine A reads the data request related data, and the quality of service (QoS) control module 805 generates a corresponding control command to the storage control switch module 806, which is shared by the storage control switch module 806, the MegaNAND control module 807, and the NANDFlash module module 808.
  • the reading of the read data is completed and returned to the virtual machine A.
  • the tenant account NetBric can also issue a storage service request for cloning virtual machine A to the centralized controller's computing and total control module 801 through the storage service configuration unit, and the computing and total control module 801 will clone the service through the acceleration module 804 and the backend interface module 803.
  • the request is sent to the back-end distributed storage service cluster, and the clone service is completed by the back-end distributed storage service cluster.
  • the software defined storage service disclosed by the present invention is not limited to the above examples, and any combination of the storage service level and the storage service option in the software defined storage requirements disclosed in the present invention is included in the scope of the software defined storage service disclosed by the present invention.

Abstract

A software-defined storage system implementation method and a centralized control device thereof. The centralized control device comprises a control unit (807), a front end interface (802) connected to a front end virtual machine, and a back end interface (803) connected to a back end distributed storage service unit. The control unit is used for performing the following processing according to a user storage service configuration parameter sent by a storage service configuration unit: performing corresponding processing on a storage service request of the storage service unit that is sent by the storage service configuration unit to the centralized control device; and/or performing corresponding processing on a storage service request of the storage service unit that is sent by the virtual machine to the centralized control device. The storage service unit is provided with a computing unit. The computing unit is used for implementing a storage service that is forwarded by the centralized control device and is corresponding to the storage service request. High-efficiency software-defined storage can be implemented, and the storage service quality between virtual machines can be dynamically adjusted and allocated.

Description

软件定义存储系统、方法及其集中控制设备Software defined storage system, method and centralized control device thereof 【技术领域】[Technical Field]
本发明涉及存储领域,具体涉及存储系统、方法及其集中控制设备。The present invention relates to the field of storage, and in particular to a storage system, a method, and a centralized control device thereof.
【背景技术】【Background technique】
随着虚拟化技术以及云技术的发展,现在以及未来的数据中心将向成千上万的用户提供服务。数据中心的基础架构进化到软件定义时代。软件定义数据中心包括软件定义计算,软件定义网络和软件定义存储。数据中心运营商向租户提供计算服务及存储服务。不同的租户有不同的存储服务需求及不同的应用场景,同一个租户下面不同的子账户(用户)有不同的存储服务需求及不同的应用场景。这些不同的存储服务需求包括但不限于容量、性能(IOPS,BandWidth)、延迟、备份级别、耐久度、加密、去重、压缩、快照、物理隔离。并且这些存储服务服务需求是根据需要可动态变化的。能够满足这些巨量的、动态变化的、个性化的存储服务需求的存储系统被称为软件定义存储系统。当前的存储系统架构(图1A和图1B)不能满足软件定义存储需求的多样化要求和性能要求。图1A所示的集中式存储系统中,集中存储系统有存储控制机头104和存储资源103组成,存储资源103不具有计算能力,所有和数据服务相关的计算工作都由存储控制机头104完成,来自控制集群106的存储服务策略(或称为软件定义存储需求)全部通过通道101传递给存储控制机头104。集中式存储系统存在两个主要问题,一个问题是受限于104存储控制机头的计算能力,104存储机头能够提供的存储服务需求类型有限,同时每一个虚拟机105的IO操作都会在存储控制机头104上产生大量的计算工作,存储控制机头104能够提供的性能(IOPS、Bandwidth)有限;另一个问题是没有横向扩展能力。这两个问题导致集中存储系统不具备软件定义存储系统要求的个性化服务质量控制能力和无缝扩容能力。图1B所示的分布式存储系统中,存储集群由具有计算资源的存储单元113组成,具有横向扩展能力,存储单元113可以是商用的x86服务器。多个存储单元113并行的接收来自虚拟机115的IO请求,没有集中存储系统控制机头104计算能力的限制,能够提供较高的性能。来自于控制集群(116)的存储服务策略通过通道111交给各个虚拟机115。分布式存储系统的主要问题是存储服务策略的执行分散在各个虚拟机115中,不能够提供基于租户,逻辑盘和虚拟机组的服务级别的区分,不能满足软件定义存储针对不同服务级别的存储服务选项控制。With the development of virtualization technology and cloud technology, current and future data centers will serve thousands of users. The data center infrastructure evolved into the era of software definition. Software-defined data centers include software-defined computing, software-defined networking, and software-defined storage. Data center operators provide computing services and storage services to tenants. Different tenants have different storage service requirements and different application scenarios. Different sub-accounts (users) under the same tenant have different storage service requirements and different application scenarios. These different storage service requirements include, but are not limited to, capacity, performance (IOPS, BandWidth), latency, backup level, durability, encryption, deduplication, compression, snapshots, physical isolation. And these storage service service requirements are dynamically changeable as needed. A storage system that meets these massive, dynamically changing, and personalized storage service requirements is called a software-defined storage system. Current storage system architectures (Figures 1A and 1B) do not meet the diverse requirements and performance requirements of software-defined storage requirements. In the centralized storage system shown in FIG. 1A, the centralized storage system is composed of a storage control head 104 and a storage resource 103. The storage resource 103 does not have computing power, and all computing operations related to the data service are completed by the storage control head 104. The storage service policies (or software defined storage requirements) from the control cluster 106 are all passed to the storage control head 104 via the channel 101. There are two main problems with centralized storage systems. One problem is limited by the computing power of 104 storage control heads. 104 storage heads can provide limited types of storage service requirements, while IO operations of each virtual machine 105 are stored. A large amount of computational work is generated on the control head 104, and the performance (IOPS, Bandwidth) that the storage control head 104 can provide is limited; another problem is that there is no lateral expansion capability. These two problems lead to centralized storage systems that do not have the personalized quality of service control capabilities and seamless capacity expansion required by software-defined storage systems. In the distributed storage system shown in FIG. 1B, the storage cluster is composed of a storage unit 113 having computing resources, and has a horizontal expansion capability, and the storage unit 113 may be a commercial x86 server. The plurality of storage units 113 receive the IO requests from the virtual machine 115 in parallel, and the centralized storage system controls the head 104 to limit the computing power, thereby providing higher performance. The storage service policy from the control cluster (116) is handed over to each virtual machine 115 via channel 111. The main problem of the distributed storage system is that the execution of the storage service policy is dispersed in each virtual machine 115, and the service level distinction based on the tenant, the logical disk and the virtual machine cannot be provided, and the software defined storage service for different service levels cannot be satisfied. Option control.
随着半导体技术的发展,高速非易失性存储器件NAND Flash的存储密度越来越高, 目前已经作为数据访问加速设备在数据中心中被广泛使用。和机械磁盘相比,NAND Flash具有更快的随机访问速度。和DRAM相比,NAND Flash是非易失性存储器件,能够在电源关闭后继续保持数据。为了发挥NAND Flash高速访问的特性,针对NAND Flash的新的模组规范,新的连结规范及新的访问协议都陆续被开发出来。因为和机械磁盘(HDD)特性本质上的不同,例如需要块擦除等,传统基于x86的服务器不能够更好的发挥以Nand Flash作为存储媒介的存储资源的性能,需要设计新的存储架构和存储设备。With the development of semiconductor technology, the storage density of high-speed nonvolatile memory devices NAND Flash is getting higher and higher. It has been widely used as a data access acceleration device in data centers. Compared to mechanical disks, NAND Flash has faster random access speeds. Compared to DRAM, NAND Flash is a non-volatile memory device that continues to hold data after the power is turned off. In order to take advantage of the high-speed access of NAND Flash, new module specifications and new access protocols for NAND Flash have been developed. Because of the nature of mechanical disk (HDD), such as the need for block erasure, traditional x86-based servers can not better play the performance of storage resources using Nand Flash as a storage medium, and need to design a new storage architecture and Storage device.
【发明内容】[Summary of the Invention]
为了克服现有存储系统不能满足软件定义存储的要求,本发明提供了软件定义存储系统、方法及其集中控制设备,以实现软件定义存储系统对软件定义存储多样性的软件定义存储需求,以及性能的要求。In order to overcome the inability of existing storage systems to meet the requirements of software-defined storage, the present invention provides software-defined storage systems, methods, and centralized control devices thereof to implement software-defined storage requirements for software-defined storage systems for software-defined storage diversity, and performance. Requirements.
一种软件定义存储系统的集中控制设备,包括:控制单元、与前端虚拟机连接的前端接口、以及与后端分布式的存储服务单元连接的后端接口,所述控制单元用于根据存储服务配置单元发送的用户存储服务配置参数进行如下处理:A centralized control device for a software-defined storage system, comprising: a control unit, a front-end interface connected to the front-end virtual machine, and a back-end interface connected to the back-end distributed storage service unit, the control unit is configured to use the storage service The user storage service configuration parameters sent by the configuration unit are processed as follows:
将所述存储服务配置单元发送给所述集中控制设备的对所述存储服务单元的存储服务请求进行相应处理;Transmitting, by the storage service configuration unit, the storage service request of the storage service unit to the centralized control device for corresponding processing;
和/或将所述虚拟机发送给所述集中控制设备的对所述存储服务单元的存储服务请求进行相应处理;And/or performing corresponding processing on the storage service request of the storage service unit by sending the virtual machine to the centralized control device;
其中,所述存储服务单元具有计算单元,所述计算单元用于完成所述集中控制设备转发的与所述存储服务请求对应的存储服务。The storage service unit has a computing unit, and the computing unit is configured to complete a storage service corresponding to the storage service request forwarded by the centralized control device.
在一个实施例中,所述存储服务配置参数包括用户权限参数,所述控制单元用于根据所述用户权限参数,将所述存储服务配置单元发送给所述集中控制设备的对所述存储服务单元的存储服务请求进行相应处理。In one embodiment, the storage service configuration parameter includes a user permission parameter, and the control unit is configured to send the storage service configuration unit to the centralized control device according to the user permission parameter to the storage service. The unit's storage service request is processed accordingly.
在一个实施例中,所述存储服务配置参数包括存储服务质量参数,所述控制单元根据所述存储服务质量参数,对所述虚拟机与所述存储服务单元之间的存储服务的质量进行控制。In one embodiment, the storage service configuration parameter includes a storage quality of service parameter, and the control unit controls quality of a storage service between the virtual machine and the storage service unit according to the storage quality of service parameter .
在一个实施例中,所述存储服务质量参数包括:所述虚拟机与所述存储服务单元之间的带宽、每秒读写操作次数,存储服务单元的容量或数据分层,数据加密、去重、压缩和物理隔离。In one embodiment, the storage quality of service parameter includes: a bandwidth between the virtual machine and the storage service unit, a number of read and write operations per second, a storage service unit capacity or data layering, data encryption, and Heavy, compressed, and physically isolated.
在一个实施例中,所述控制单元还用于根据所述存储服务质量参数,在多个虚拟机之间动态分配存储服务质量。 In an embodiment, the control unit is further configured to dynamically allocate the storage quality of service between the plurality of virtual machines according to the storage quality of service parameter.
在一个实施例中,还包括缓存,所述控制单元还用于根据所述存储服务配置参数决定:In an embodiment, the method further includes a buffer, and the control unit is further configured to determine according to the storage service configuration parameter:
是否将所述虚拟机完成存储服务所需的数据存储到所述缓存;Whether to store data required by the virtual machine to complete the storage service to the cache;
或者所述缓存存储的所述虚拟机完成存储服务所需的数据的老化速度;Or the aging speed of the data required by the cached virtual machine to complete the storage service;
或者是否将所述缓存的部分空间作为固定的分层存储空间,以存储所述虚拟机完成存储服务所需的数据。Or whether the cached partial space is used as a fixed hierarchical storage space to store data required by the virtual machine to complete the storage service.
在一个实施例中,所述控制单元利用所述缓存中的所述虚拟机完成存储服务所需的数据,提高所述虚拟机与所述存储服务单元之间的每秒读写操作次数。In one embodiment, the control unit uses the virtual machine in the cache to complete data required for storing the service, and increases the number of read/write operations per second between the virtual machine and the storage service unit.
本发明还提供了一种软件定义存储系统,包括虚拟机,还包括分布式的存储服务单元、存储服务配置单元、以及所述的集中控制设备;The present invention also provides a software defined storage system, including a virtual machine, further comprising a distributed storage service unit, a storage service configuration unit, and the centralized control device;
所述存储服务配置单元用于,产生用户的存储服务配置参数,并将所述存储服务配置参数发送给所述集中控制设备;The storage service configuration unit is configured to generate a storage service configuration parameter of the user, and send the storage service configuration parameter to the centralized control device;
所述虚拟机用于,向所述集中控制设备发送存储服务请求;The virtual machine is configured to send a storage service request to the centralized control device;
所述存储服务单元用于,接收所述集中控制设备发送的与所述存储服务请求对应的存储服务任务,完成所述存储服务任务。The storage service unit is configured to receive a storage service task corresponding to the storage service request sent by the centralized control device, and complete the storage service task.
在一个实施例中,所述存储服务配置单元还用于,向所述集中控制设备查询当前存储服务配置参数和运行信息。In an embodiment, the storage service configuration unit is further configured to query the centralized control device for current storage service configuration parameters and operation information.
在一个实施例中,所述存储服务配置参数包括用户权限参数,所述控制单元用于根据所述用户权限参数,将所述存储服务配置单元发送给所述集中控制设备的对所述存储服务单元的存储服务请求进行相应处理。In one embodiment, the storage service configuration parameter includes a user permission parameter, and the control unit is configured to send the storage service configuration unit to the centralized control device according to the user permission parameter to the storage service. The unit's storage service request is processed accordingly.
在一个实施例中,所述存储服务配置参数包括存储服务质量参数,所述控制单元根据所述存储服务质量参数,对所述虚拟机与所述存储服务单元之间的存储服务的质量进行控制。In one embodiment, the storage service configuration parameter includes a storage quality of service parameter, and the control unit controls quality of a storage service between the virtual machine and the storage service unit according to the storage quality of service parameter .
在一个实施例中,所述控制单元还用于根据所述存储服务质量参数,在多个虚拟机之间动态分配存储服务质量。In an embodiment, the control unit is further configured to dynamically allocate the storage quality of service between the plurality of virtual machines according to the storage quality of service parameter.
本发明还提供了一种软件定义存储系统实现方法,包括如下步骤:The invention also provides a software definition storage system implementation method, comprising the following steps:
集中控制设备接收存储服务配置单元产生的用户存储服务配置参数;The centralized control device receives the user storage service configuration parameter generated by the storage service configuration unit;
所述集中控制设备根据所述存储服务配置参数,生成对应的服务控制参数;The centralized control device generates a corresponding service control parameter according to the storage service configuration parameter;
所述集中控制设备接收虚拟机或存储服务配置单元发送的存储服务请求; Receiving, by the centralized control device, a storage service request sent by a virtual machine or a storage service configuration unit;
所述集中控制设备根据所述服务控制参数对所述存储服务请求进行相应处理;The centralized control device performs corresponding processing on the storage service request according to the service control parameter;
若所述存储服务请求合法,所述集中控制设备将所述存储服务请求对应的存储服务转发给存储服务单元,其中,所述存储服务单元具有计算单元,所述计算单元用于完成所述集中控制设备转发的与所述存储服务请求对应的存储服务。And if the storage service request is legal, the centralized control device forwards the storage service corresponding to the storage service request to a storage service unit, where the storage service unit has a calculation unit, and the calculation unit is configured to complete the concentration Controlling, by the device, a storage service corresponding to the storage service request.
集中控制设备根据存储服务配置单元发送的存储服务配置参数,对虚拟机和存储服务配置单元发送的存储服务请求进行控制,将具体的存储服务发送给具有完成相应存储服务的分布式存储服务单元(集群)完成,不仅可以满足用户多种多样的定义存储需求,而且集中控制设备因为没有大量具体的存储服务,也难以成为整个软件定义存储系统的瓶颈节点,因此也能保证整个软件定义存储系统具有较优的软件定义存储服务处理能力。The centralized control device controls the storage service request sent by the virtual machine and the storage service configuration unit according to the storage service configuration parameter sent by the storage service configuration unit, and sends the specific storage service to the distributed storage service unit that has completed the corresponding storage service ( The completion of the cluster can not only satisfy the user's various definition storage requirements, but also the centralized control device can not become the bottleneck node of the entire software-defined storage system because there is not a large number of specific storage services, so it can also ensure that the entire software-defined storage system has Better software-defined storage service processing capabilities.
集中控制设备根据存储服务配置参数,对多个虚拟机的存储服务质量进行动态调整分配,尽可能保证该多个虚拟机整体的存储服务质量的利用。The centralized control device dynamically adjusts the storage service quality of the plurality of virtual machines according to the storage service configuration parameters, and ensures the utilization of the storage service quality of the plurality of virtual machines as much as possible.
集中控制设备根据存储服务配置参数,可以对虚拟机与分布式存储服务单元(集群)之间的存储服务质量进行控制,通过集中控制设备的缓存,也尽可能保证虚拟机实现较高的存储服务质量。The centralized control device can control the storage service quality between the virtual machine and the distributed storage service unit (cluster) according to the storage service configuration parameter, and centrally control the cache of the device, and ensure that the virtual machine achieves a higher storage service as much as possible. quality.
【附图说明】[Description of the Drawings]
图1a是现有技术中集中存储系统构架示意图;1a is a schematic diagram of a centralized storage system architecture in the prior art;
图1b是现有技术中分布式存储系统构架示意图;1b is a schematic structural diagram of a distributed storage system in the prior art;
图2是本发明一种实施例的软件定义存储系统的构架示意图;2 is a schematic structural diagram of a software defined storage system according to an embodiment of the present invention;
图3是本发明一种实施例的存储服务配置参数的构成示意图;3 is a schematic structural diagram of storage service configuration parameters according to an embodiment of the present invention;
图4a是现有技术分布式存储系统中存储服务过程示意图;4a is a schematic diagram of a storage service process in a prior art distributed storage system;
图4b是本发明一种实施例的软件定义存储系统在一种情形下的存储服务过程示意图;4b is a schematic diagram of a storage service process in a scenario of a software-defined storage system according to an embodiment of the present invention;
图4c是本发明一种实施例的软件定义存储系统在另种情形下的存储服务过程示意图;4c is a schematic diagram of a storage service process of a software-defined storage system in another scenario according to an embodiment of the present invention;
图5是本发明一种实施例的软件定义存储系统的组成示意图;FIG. 5 is a schematic diagram of the composition of a software defined storage system according to an embodiment of the present invention; FIG.
图6是本发明一种实施例的集中控制设备的组成示意图;6 is a schematic diagram of the composition of a centralized control device according to an embodiment of the present invention;
图7是本发明一种实施例的存储服务单元的组成示意图;7 is a schematic diagram of the composition of a storage service unit according to an embodiment of the present invention;
图8是本发明一种实施例的软件定义存储的总体流程示意图;FIG. 8 is a schematic overall flow chart of software definition storage according to an embodiment of the present invention; FIG.
图9是本发明一种实施例的存储服务配置单元提供存储服务配置的流程示意图。FIG. 9 is a schematic flowchart of a storage service configuration unit providing a storage service configuration according to an embodiment of the present invention.
【具体实施方式】【detailed description】
以下对发明的较佳实施例作进一步详细说明。Preferred embodiments of the invention are described in further detail below.
如图2所示,一种实施例的软件定义存储系统的系统构架,可以称为集中分布式 存储系统构架,包括存储服务配置集群(或者称为控制集群)、集中控制设备204、分布式存储服务集群和计算集群,其中,存储服务配置集群包括多个存储服务配置单元,计算集群包括多个虚拟机,分布式存储服务集群包括多个存储服务单元,集中控制设备分别与存储服务配置单元、分布式存储服务单元(集群)和虚拟机(集群)连接。As shown in FIG. 2, the system architecture of a software-defined storage system of an embodiment may be referred to as centralized distribution. The storage system architecture includes a storage service configuration cluster (or a control cluster), a centralized control device 204, a distributed storage service cluster, and a computing cluster, where the storage service configuration cluster includes multiple storage service configuration units, and the computing cluster includes multiple The virtual machine, the distributed storage service cluster includes a plurality of storage service units, and the centralized control devices are respectively connected to the storage service configuration unit, the distributed storage service unit (cluster), and the virtual machine (cluster).
其中,存储服务配置单元产生存储服务配置参数(或者称为软件定义存储需求),存储服务配置单元将存储服务配置参数发送给集中控制设备204,集中控制设备204接收存储服务配置参数,并根据这些参数,来控制虚拟机对分布式存储服务集群的访问,或者对虚拟机发送过来的存储服务请求,依据存储服务配置参数而做出相应的处理;也可以对从存储服务配置单元发送过来的存储服务请求,依据存储服务配置参数进行相应处理。若虚拟机发送来的存储服务请求符合存储服务配置参数,集中控制设备可以将该存储服务请求发送给分布式存储服务集群,而分布式存储服务集群中的存储服务单元具有完成所述存储服务请求对应的具体存储服务的计算能力,集中控制设备204本身并不需要提供复杂的存储服务计算,因此,集中控制设备204难以成为整个软件定义存储系统的性能瓶颈节点。The storage service configuration unit generates storage service configuration parameters (or software-defined storage requirements), the storage service configuration unit sends the storage service configuration parameters to the centralized control device 204, and the centralized control device 204 receives the storage service configuration parameters, and according to these Parameters to control the virtual machine's access to the distributed storage service cluster, or the storage service request sent by the virtual machine, corresponding processing according to the storage service configuration parameters; or the storage sent from the storage service configuration unit The service request is processed according to the storage service configuration parameters. If the storage service request sent by the virtual machine meets the storage service configuration parameter, the centralized control device may send the storage service request to the distributed storage service cluster, and the storage service unit in the distributed storage service cluster has the storage service request completed. Corresponding to the computing power of the specific storage service, the centralized control device 204 itself does not need to provide complex storage service calculations. Therefore, the centralized control device 204 is difficult to become a performance bottleneck node of the entire software-defined storage system.
存储服务配置参数可以分为用户权限参数和存储服务质量参数,权限可以是拥有虚拟机和逻辑盘的多少,访问某个虚拟机或逻辑盘的权限、克隆(例如克隆一个虚拟机)、对虚拟机、逻辑盘存储的快照(例如数量、名字)等,例如,基本的用户权限包括具有一个虚拟机和一个逻辑盘,较高级的用户权限为多个虚拟机(虚拟机组)和多个逻辑盘(逻辑盘组),具有多个虚拟机和多个逻辑盘的用户权限可以称为一个租户。The storage service configuration parameters can be divided into user permission parameters and storage quality of service parameters. The permissions can be the number of virtual machines and logical disks, access to a virtual machine or logical disk, clone (for example, clone a virtual machine), and virtual Snapshots (such as number, name) stored by the machine, logical disk, etc., for example, basic user rights include having one virtual machine and one logical disk, and higher-level user rights are multiple virtual machines (virtual units) and multiple logical disks. (Logical disk group), user rights with multiple virtual machines and multiple logical disks can be referred to as a tenant.
存储服务质量参数可以包括但不限于:存储的容量或数据分层,所述虚拟机与所述分布式存储服务集群之间的带宽、每秒读写操作次数(IOPS),延时(例如数据从虚拟机至存储服务单元之间的延时),备份级别(例如逻辑盘内数据备份的数量),存储数据加密、数据去重、数据压缩、物理隔离等。所述集中控制设备可以根据所述存储服务质量参数,在同一个租户下的多个虚拟机之间动态分配存储服务质量,以提高租户某个时刻的存储服务质量的利用效率。The storage quality of service parameters may include, but are not limited to, storage capacity or data tiering, bandwidth between the virtual machine and the distributed storage service cluster, number of read and write operations per second (IOPS), latency (eg, data) The delay from the virtual machine to the storage service unit), the backup level (such as the number of data backups in the logical disk), storage data encryption, data deduplication, data compression, physical isolation, and so on. The centralized control device can dynamically allocate the storage service quality between the multiple virtual machines under the same tenant according to the storage service quality parameter, so as to improve the utilization efficiency of the storage service quality of the tenant at a certain moment.
如图3所示,是存储服务配置参数一种分类方法,其包括存储服务级别和存储服务选项。存储服务级别主要依据具有虚拟机和逻辑盘来进行划分,存储服务选项包括但不限于容量、性能(例如IOPS和带宽)、延迟、备份级别、加密、快照、克隆、去重、压缩和物理隔离。儿个具体的存储服务配置参数的例子如下:例一,租户A的容量为100T,性能为500KIOPS,2GB/s的带宽,三备份,加密选项关闭,快照选项打开,克 隆选项关闭,去重选项关闭,压缩选项关闭,物理隔离选项打开;例二,属于租户B的虚拟机I的性能为100KIOPS,3备份,加密选项打开,快照选项打开,克隆选项关闭,去重选项关闭,压缩选项打开。As shown in FIG. 3, it is a classification method for storing service configuration parameters, which includes a storage service level and a storage service option. Storage service levels are primarily based on having virtual machines and logical disks, including but not limited to capacity, performance (such as IOPS and bandwidth), latency, backup levels, encryption, snapshots, cloning, deduplication, compression, and physical isolation. . An example of a specific storage service configuration parameter is as follows: Example 1, tenant A has a capacity of 100T, performance is 500KIOPS, 2GB/s bandwidth, three backups, encryption option is off, snapshot option is on, g The option is off, the option is off, the compression option is off, the physical isolation option is turned on; for example, the performance of virtual machine I belonging to tenant B is 100KIOPS, 3 backup, encryption option is on, snapshot option is on, clone option is off, deduplication The option is turned off and the compression option is turned on.
在一个实施例中,集中控制设备可以根据从存储服务配置单元发送的存储服务配置参数,对用户的存储服务请求进行判断是否合法,若不合法,则阻止对分布式存储服务集群进行数据操作,或者对集中控制设备附加的缓存中的相应数据进行操作。例如,用户通过存储服务配置单元,向集中控制设备发送克隆某个虚拟机的存储服务请求,若集中控制设备判断出该用户具有该权限,则将克隆服务请求发送给分布式存储服务集群,并由分布式存储服务集群完成克隆虚拟机的服务;若判断出该用户并不具有该权限,则集中控制设备不向分布式存储服务集群发送对应请求,并可以向存储服务配置单元反馈相关信息,例如警告。In an embodiment, the centralized control device may determine whether the storage service request of the user is legal according to the storage service configuration parameter sent from the storage service configuration unit, and if not, prevent data operation on the distributed storage service cluster. Or operate on the corresponding data in the cache attached to the centralized control device. For example, the user sends a storage service request for cloning a virtual machine to the centralized control device through the storage service configuration unit, and if the centralized control device determines that the user has the permission, sends the clone service request to the distributed storage service cluster, and The service of cloning the virtual machine is completed by the distributed storage service cluster; if it is determined that the user does not have the privilege, the centralized control device does not send a corresponding request to the distributed storage service cluster, and may feed back related information to the storage service configuration unit. For example, a warning.
在一个实施例中,集中控制设备还可以根据存储服务质量参数,对所述虚拟机与所述分布式存储服务集群之间的存储服务的质量进行控制。例如,虚拟机A向集中控制设备发送存储服务请求,集中控制设备查询到虚拟机A的相关服务质量参数,然后给虚拟机A分配相应的服务质量,例如对应的IOPS,在存储容量等。In an embodiment, the centralized control device may further control the quality of the storage service between the virtual machine and the distributed storage service cluster according to the storage quality of service parameter. For example, the virtual machine A sends a storage service request to the centralized control device, and the centralized control device queries the relevant service quality parameter of the virtual machine A, and then allocates the corresponding service quality to the virtual machine A, for example, the corresponding IOPS, the storage capacity, and the like.
在一个实施例中,集中控制设备还可以根据存储服务质量参数,对多个虚拟机的存储服务质量(包括IOPS、带宽、容量等等)进行动态调整、分配,尽可能保证多个虚拟机整体的存储服务质量不会下降。In an embodiment, the centralized control device may dynamically adjust and allocate storage quality (including IOPS, bandwidth, capacity, and the like) of multiple virtual machines according to storage quality of service parameters, and ensure multiple virtual machines as a whole as possible. The quality of storage services will not decline.
例如,某个租户具有两个虚拟机,该租户拥有一个设定的总IOPS(即任意时刻两个虚拟机的总IOPS上限),当两个虚拟机分别向集中控制设备发送存储服务请求,且两者需要对应的IOPS时,集中控制设备根据该总IOPS,分配相应的IOPS给对应的虚拟机,以避免租户浪费IOPS,提高该租户整体的IOPS利用率。集中控制设备可以根据不同时刻两个虚拟机的不同存储服务质量需求,从而动态调整分配相应的IOPS给对应的虚拟机。For example, a tenant has two virtual machines, and the tenant has a total IOPS set (ie, the total IOPS limit of two virtual machines at any time), when two virtual machines respectively send storage service requests to the centralized control device, and When the corresponding IOPS is required, the centralized control device allocates the corresponding IOPS to the corresponding virtual machine according to the total IOPS, so as to avoid the waste of IOPS by the tenant and improve the overall IOPS utilization of the tenant. The centralized control device can dynamically adjust and allocate the corresponding IOPS to the corresponding virtual machine according to different storage service quality requirements of the two virtual machines at different times.
如图4a至4c所示,给出了一个IO访问在分布式存储系统和本软件定义存储系统上的应用对比示意图。如图4a所示,是分布式存储系统中虚拟机与存储服务单元之间的IO访问,虚拟机A和虚拟机B都是租户NetBric的子账户,在物理服务器A上的虚拟机A经过计算或查表,需要访问的内容在存储服务单元A上,虚拟机A直接向存储服务单元A发起IO请求;在物理服务器B上的虚拟机B经过计算或查表,需要访问的内容在存储服务单元B上,虚拟机B直接向存储服务单元B发起IO请求。如果租户NetBric总的IOPS额度为500K,那么虚拟机A和虚拟机B各自的IOPS只能做静 态的分配,例如虚拟机A分配为300K IOPS,虚拟机B分配为200K IOPS,在某一时刻,虚拟机B的IOPS需求只有100K,而虚拟机A的IOPS需求为400K时,虚拟机A实际只能分配300K IOPS,因此租户NetBric能够实现的IOPS仅为400K,相比500K IOPS的总量,有100K被闲置浪费了。As shown in Figures 4a to 4c, a comparison of the application of an IO access on the distributed storage system and the software-defined storage system is given. As shown in Figure 4a, it is the IO access between the virtual machine and the storage service unit in the distributed storage system. Both virtual machine A and virtual machine B are sub-accounts of the tenant NetBric, and the virtual machine A on the physical server A is calculated. Or look up the table, the content that needs to be accessed is on the storage service unit A, the virtual machine A directly issues an IO request to the storage service unit A; the virtual machine B on the physical server B undergoes calculation or table lookup, and the content to be accessed is in the storage service. On unit B, virtual machine B initiates an IO request directly to storage service unit B. If the total IOPS quota of the tenant NetBric is 500K, then the virtual IOPS of virtual machine A and virtual machine B can only be static. State allocation, for example, virtual machine A is allocated 300K IOPS, virtual machine B is allocated 200K IOPS, at some point, virtual machine B's IOPS demand is only 100K, and virtual machine A's IOPS demand is 400K, virtual machine A is actually Only 300K IOPS can be allocated, so the tenant NetBric can achieve only IOPS of 400K. Compared with the total amount of 500K IOPS, 100K is wasted idle.
如图4b所示,是在本实施例的软件定义存储系统中的IO访问,假设虚拟机A和虚拟机B也都是租户NetBric的子账户,租户NetBric总的IOPS额度为500K,虚拟机A和虚拟机B的IO请求都送到了集中控制设备,集中控制设备再将IO请求分发到对应的存储服务单元A和存储服务单元B,集中控制设备经过判断,可以在总的500K IOPS范围内动态的调整虚拟机A和虚拟机B的IOPS分配,在虚拟机B的IOPS只有100K的时候,允许虚拟机A的IOPS达到400K,在虚拟机B的IOPS为200K时,限制虚拟机A的IOPS为300K。从而实现了在同一个租户下的多个虚拟机之间动态分配存储服务质量,提高了租户某个时刻的存储服务质量的利用效率。As shown in FIG. 4b, it is the IO access in the software-defined storage system of this embodiment. It is assumed that the virtual machine A and the virtual machine B are also sub-accounts of the tenant NetBric, and the total IOPS quota of the tenant NetBric is 500K, and the virtual machine A The IO request with the virtual machine B is sent to the centralized control device, and the centralized control device distributes the IO request to the corresponding storage service unit A and storage service unit B. The centralized control device can be dynamically updated within a total range of 500K IOPS. Adjust the IOPS allocation of virtual machine A and virtual machine B. When virtual machine B's IOPS is only 100K, allow virtual machine A's IOPS to reach 400K. When virtual machine B's IOPS is 200K, limit virtual machine A's IOPS to 300K. Therefore, the storage service quality is dynamically allocated between multiple virtual machines under the same tenant, and the utilization efficiency of the storage service quality of the tenant at a certain moment is improved.
如果租户NetBric将自己总IOPS额度升级为5M,并且分配给虚拟机A的IOPS为1M时,集中控制设备经过统计判断,发现后端分布式存储服务集群不能提供1M IOPS给虚拟机A时,IO访问路径可以如图4c所示,集中控制设备会通过相应的算法,加速虚拟机A的访问,尽量保证虚拟机A的IO访问内容在集中控制设备中的缓存中可以找到,从而对虚拟机A的IO访问提供加速。If the tenant NetBric upgrades its total IOPS quota to 5M and the IOPS assigned to virtual machine A is 1M, the centralized control device judges that the back-end distributed storage service cluster cannot provide 1M IOPS to virtual machine A. The access path can be as shown in Figure 4c. The centralized control device accelerates the access of the virtual machine A through the corresponding algorithm, and tries to ensure that the IO access content of the virtual machine A can be found in the cache in the centralized control device, thereby The IO access provides acceleration.
在一个实施例中,集中控制设备还可以包括缓存,集中控制设备的控制单元可以根据所述存储服务配置参数决定,是否将虚拟机完成存储服务所需的数据存储到所述缓存;例如,某租户的权限较高或者服务质量较高时,则需要集中控制设备缓存相关数据,以减少延时。例如,某租户的延时参数较低,当某一次集中控制设备完成向某租户的虚拟机转发相关数据后,将这些相关数据存储到所述缓存中,以备下次使用。In an embodiment, the centralized control device may further include a cache, and the control unit of the centralized control device may determine, according to the storage service configuration parameter, whether to store data required by the virtual machine to complete the storage service to the cache; for example, When the tenant's authority is high or the quality of service is high, you need to centrally control the device to cache related data to reduce the delay. For example, a tenant has a lower delay parameter. When a centralized control device finishes forwarding data to a tenant's virtual machine, the related data is stored in the cache for use in the next use.
在一个实施例中,集中控制设备的控制单元可以根据所述存储服务配置参数进一步决定,所述缓存存储的所述虚拟机完成存储服务所需的数据的老化速度;例如,某租户的权限较高或者服务质量较高时,相关数据的老化速度较慢,反之老化速度可以较快,以在减少存储服务时延的同时,保证缓存的剩余空间。In an embodiment, the control unit of the centralized control device may further determine, according to the storage service configuration parameter, that the cache stores the aging speed of data required by the virtual machine to complete the storage service; for example, the rights of a tenant are compared. When the service quality is high or the service quality is high, the aging speed of the related data is slower. Otherwise, the aging speed can be faster, so as to reduce the storage service delay and ensure the remaining space of the cache.
在一个实施例中,集中控制设备的控制单元可以根据所述存储服务配置参数进一步决定,是否将所述缓存的部分空间作为固定的分层存储空间,以存储所述虚拟机完成存储服务所需的数据。例如,某租户的权限较高或者服务质量较高时,可以在所述缓存中开辟一部分空间作为固定的分层存储空间,以供缓存该租户的虚拟机进行存储服务产生的数据。 In an embodiment, the control unit of the centralized control device may further determine, according to the storage service configuration parameter, whether the cached partial space is used as a fixed tiered storage space to store the virtual machine required to complete the storage service. The data. For example, when a tenant has a high authority or a high quality of service, a part of the space may be opened in the cache as a fixed hierarchical storage space for buffering the virtual machine of the tenant to perform data generated by the storage service.
如图5所示,是一个实施例的软件定义存储系统的组成示意图。如图6所示,是一个实施例的集中控制设备的结构示意图。存储服务客户端用于给虚拟机提供数据接口,虚拟机将数据发送给存储服务客户端,存储服务客户端与集中控制设备之间通过S5协议完成数据交换,集中控制设备与存储服务单元之间通过S5协议完成数据交换,存储服务配置单元通过软件定义存储协议,将存储服务配置参数发送给集中控制设备。As shown in FIG. 5, it is a schematic diagram of the composition of a software-defined storage system of one embodiment. As shown in FIG. 6, it is a schematic structural diagram of a centralized control device of an embodiment. The storage service client is used to provide a data interface to the virtual machine, and the virtual machine sends the data to the storage service client. The storage service client and the centralized control device exchange data through the S5 protocol, and between the centralized control device and the storage service unit. The data exchange is completed through the S5 protocol, and the storage service configuration unit sends the storage service configuration parameters to the centralized control device through a software-defined storage protocol.
集中控制设备的功能包括但不限于提供高性能(高IOPS和高带宽)的数据存储服务,根据存储服务配置参数进行存储服务质量控制,根据存储服务配置参数及具体的存储服务请求分发具体的存储操作到后端分布式存储服务集群。The functions of the centralized control device include, but are not limited to, providing high performance (high IOPS and high bandwidth) data storage services, performing storage quality control according to storage service configuration parameters, and distributing specific storage according to storage service configuration parameters and specific storage service requests. Operate to the backend distributed storage service cluster.
本集中控制设备可以包括:计算和总控制模块801、前端接口模块802、后端接口模块803、加速模块804、服务质量(QoS)控制模块805、存储控制交换模块806、MegaNAND控制模块807、NANDFlash模组模块808。The centralized control device may include: a computing and total control module 801, a front end interface module 802, a backend interface module 803, an acceleration module 804, a quality of service (QoS) control module 805, a storage control switching module 806, a MegaNAND control module 807, and a NANDFlash. Module module 808.
计算和总控制模块801和存储服务配置单元通过软件定义存储协议进行信息交换,接收来自存储配置单元配置的存储服务配置参数,通过计算将生成的控制参数发送到集中控制单元内部的相应模块。此模块运行有集中控制设备的守护软件,负责监控集中控制设备的状态,及处理集中控制设备发向后端分布式存储服务集群的数据处理请求。同时此模块运行有分布式存储系统的客户端软件。The calculation and total control module 801 and the storage service configuration unit exchange information through a software-defined storage protocol, receive storage service configuration parameters from the storage configuration unit configuration, and send the generated control parameters to corresponding modules within the centralized control unit through calculation. This module runs the daemon software of the centralized control device, which is responsible for monitoring the state of the centralized control device and processing the data processing request sent by the centralized control device to the back-end distributed storage service cluster. At the same time, this module runs client software with a distributed storage system.
前端接口模块802可以通过以太网口、FC网口、iSCSI网口等接口和存储服务客户端集群相互通信,接收来自于存储服务客户端的存储服务请求。前端接口模块可以实现硬件解析TCP/IP,FC,iSCSI等协议,并且将解析出来的存储服务协议包传递给加速模块804。The front-end interface module 802 can communicate with the storage service client cluster through interfaces such as an Ethernet port, an FC network port, and an iSCSI network port, and receive a storage service request from the storage service client. The front-end interface module can implement hardware resolution protocols such as TCP/IP, FC, and iSCSI, and deliver the parsed storage service protocol package to the acceleration module 804.
后端接口模块803可以通过以太网口、FC网口、iSCSI网口等和存储服务单元集群相互通信。后端接口模块可以实现硬件解析TCP/IP,FC,iSCSI等协议,并且将解析出来的存储服务协议包传递给加速模块804。The back-end interface module 803 can communicate with the storage service unit cluster through an Ethernet port, an FC network port, an iSCSI network port, and the like. The back-end interface module can implement hardware parsing protocols such as TCP/IP, FC, iSCSI, and pass the parsed storage service protocol package to the acceleration module 804.
加速模块804负责硬件解析S5协议包,生成相应的硬件操作控制指令,送入后续模块。The acceleration module 804 is responsible for hardware parsing the S5 protocol packet, generating corresponding hardware operation control instructions, and sending the subsequent modules.
服务质量(QoS)控制模块805负责根据来自于计算和总控制模块801的控制参数,服务质量(QoS)控制模块805产生的统计信息,及S5协议包中包含的信息(例如身份ID),调整对来自于不同服务级别的存储服务的服务质量。服务质量包括但不限于IOPS,数据带宽(Bandwidth),容量和数据分层处理等。The quality of service (QoS) control module 805 is responsible for adjusting the statistics generated by the quality of service (QoS) control module 805 based on the control parameters from the computing and total control module 801, and the information (eg, identity ID) contained in the S5 protocol packet. Quality of service for storage services from different service levels. Quality of service includes but is not limited to IOPS, data bandwidth (Bandwidth), capacity and data layering.
存储控制交换模块806接收来自于服务质量(QoS)控制模块805和加速模块804的硬件控制指令,产生相应的动作,或将数据直接传递给后端分布式存储服务集群, 或产生对MegaNAND控制模块807的硬件操作请求。The storage control switch module 806 receives hardware control instructions from the quality of service (QoS) control module 805 and the acceleration module 804, generates corresponding actions, or passes the data directly to the backend distributed storage service cluster. Or generate a hardware operation request to the MegaNAND control module 807.
MegaNAND控制模块807将大量NANDFlash模组模块808(例如上百TB)虚拟化为NAND Flash的存储资源池,作为后端存储服务单元集群的智能缓存使用,并完成数据冗余,去重,加密等操作。此模块是提高集中控制设备IOPS和数据带宽的主要模块。智能缓存的特性包括:根据服务质量控制模块的信息决定是否要缓存相关数据;根据服务质量控制模块的信息决定被缓存的数据的老化速度;根据服务质量控制模块的信息决定是否将部分缓存空间作为固定的分层存储空间使用。The MegaNAND control module 807 virtualizes a large number of NANDFlash module modules 808 (for example, hundreds of terabytes) into a storage resource pool of NAND Flash, and uses it as a smart cache of the back-end storage service unit cluster, and completes data redundancy, deduplication, encryption, and the like. operating. This module is the main module to improve the centralized control device IOPS and data bandwidth. The characteristics of the intelligent cache include: determining whether to cache relevant data according to the information of the quality of service control module; determining the aging speed of the cached data according to the information of the quality of service control module; determining whether to use part of the cache space according to the information of the quality of service control module Fixed tiered storage space to use.
NANDFlash模组模块808负责将NANDFlash器件组织为基本的NANDFlash存储功能单元,提供基本的NANDFlash存储服务。The NANDFlash module module 808 is responsible for organizing the NANDFlash device into a basic NANDFlash memory function unit, providing basic NANDFlash memory services.
图8是本发明一种实施例的存储服务单元组成结构,包括网络接口901、计算单元902和存储媒介903。网络接口901实现计算存储服务单元和网络的连接;计算单元902可以是x86 CPU也可以是ARM CPU,运行简单的计算;存储媒介903可以是SSD,也可以是HDD等。大量存储服务单元组成存储服务单元集群,通过运行在计算单元902的软件组成分布式的存储服务集群(系统)。此分布式的存储服务集群完成具体的数据存储服务。FIG. 8 is a block diagram of a storage service unit according to an embodiment of the present invention, including a network interface 901, a computing unit 902, and a storage medium 903. The network interface 901 implements a connection between the computing storage service unit and the network; the computing unit 902 can be an x86 CPU or an ARM CPU, and runs simple calculations; the storage medium 903 can be an SSD or an HDD. A plurality of storage service units constitute a cluster of storage service units, and a distributed storage service cluster (system) is composed of software running on the computing unit 902. This distributed storage service cluster completes a specific data storage service.
如图9所示,是本发明一种实施例的软件定义存储系统的工作流程,包括如下步骤:As shown in FIG. 9, the workflow of the software-defined storage system according to an embodiment of the present invention includes the following steps:
步骤501:管理账户在存储服务配置单元上配置存储服务配置参数(软件定义存储需求)。Step 501: The management account configures a storage service configuration parameter (software defined storage requirement) on the storage service configuration unit.
步骤502:存储服务配置单元通过软件定义存储协议将存储服务配置参数发送给集中控制设备。本步骤使用的是软件定义存储协议中的一部分。软件定义存储协议用于在存储服务配置单元(例如Openstack的控制台,VMWare控制台)和本发明公开的集中控制设备之间的消息传输。软件定义存储协议包括但不限于以下内容:Step 502: The storage service configuration unit sends the storage service configuration parameter to the centralized control device through a software-defined storage protocol. This step uses a portion of the software-defined storage protocol. A software defined storage protocol is used for message transfer between a storage service hive (eg, Openstack's console, VMWare console) and the centralized control device disclosed herein. Software-defined storage protocols include, but are not limited to, the following:
设置性能、延迟、服务等级、加密、压缩、去重、备份数量、物理位置分布相关参数。Set performance, delay, service level, encryption, compression, deduplication, number of backups, and physical location distribution related parameters.
查询存储服务配置单元或集中控制设备当前的设置状态,即上面设置的各个参数状态。Query the current setting status of the storage service configuration unit or centralized control device, that is, the status of each parameter set above.
查询当前统计信息,例如基于虚拟机的IOPS,带宽(Bandwidth),延时(Latency),对虚拟机访问加速的命中率(Hit rate)(对于存储服务质量较高的用户的虚拟机,集中 控制设备可以给虚拟机提供加速访问,集中控制设备可以统计对该虚拟机加速成功的比例,也就是上述的命中率)等。Query current statistics, such as virtual machine-based IOPS, bandwidth (width), latency (Latency), and hit rate for virtual machine access acceleration (for virtual machines that store users with higher quality of service, concentrate) The control device can provide accelerated access to the virtual machine, and the centralized control device can count the proportion of the successful acceleration of the virtual machine, that is, the hit rate mentioned above.
对租户以及租户的子账户进行管理,以便进行计费。Manage tenants and sub-accounts of tenants for billing purposes.
查询系统的运行状态,包括整个系统各个节点的CPU、内存、磁盘负载情况、健康情况。Query the running status of the system, including the CPU, memory, disk load status, and health status of each node of the entire system.
按租户以及租户的子账户的资源占用数量进行统计查询,以进行计费。The statistics are queried by the number of resources occupied by the tenant and the sub-account of the tenant for billing.
虚拟磁盘操作,包括建立虚拟磁盘,删除虚拟磁盘,设置虚拟磁盘的参数,执行快照,克隆,复制等动作。Virtual disk operations, including creating virtual disks, deleting virtual disks, setting parameters of virtual disks, performing snapshots, cloning, and copying.
软件定义存储协议使用TCP/HTTP网络协议作为传输协议,在存储服务配置单元和集中控制设备之间进行传输。可以使用XML作为基础描述格式。The software-defined storage protocol uses the TCP/HTTP network protocol as the transport protocol to transport between the storage service configuration unit and the centralized control device. You can use XML as the base description format.
步骤503:集中控制设备根据存储服务配置参数生成相对应的软件和硬件控制参数。此步骤可以由计算和总控制模块801计算生成。Step 503: The centralized control device generates corresponding software and hardware control parameters according to the storage service configuration parameter. This step can be calculated and generated by the calculation and total control module 801.
步骤504:存储服务客户端或存储服务配置单元通过S5协议向集中控制设备发出存储服务请求。在一些实施例中,具体的存储服务请求可以通过本发明公开的客户端代理软件或本发明公开的存储服务应用程序接口(API)完成。存储服务客户端代理软件或应用程序接口可以提供基于块设备(block)、对象(object)和文件(file)的存储服务。存储配置单元代理软件或应用程序接口(API)可以提供克隆、快照等存储服务请求。Step 504: The storage service client or the storage service configuration unit issues a storage service request to the centralized control device through the S5 protocol. In some embodiments, a particular storage service request may be accomplished by the client agent software disclosed herein or by the storage service application interface (API) disclosed herein. The storage service client agent software or application interface can provide storage services based on block, object, and file. The storage hive agent software or application programming interface (API) can provide storage service requests such as clones, snapshots, and so on.
步骤505:集中控制设备查询存储服务策略生成的软件和硬件控制参数,确定存储服务请求的合法性与合理性,并进行服务质量控制。此步骤可以由服务质量(QoS)控制模块805来完成。Step 505: The centralized control device queries the software and hardware control parameters generated by the storage service policy, determines the legality and rationality of the storage service request, and performs service quality control. This step can be done by quality of service (QoS) control module 805.
步骤506:集中控制设备根据存储服务请求产生相应的数据处理请求。Step 506: The centralized control device generates a corresponding data processing request according to the storage service request.
步骤507:集中控制设备确认此次存储服务请求是否会产生和后端分布式存储服务集群之间的数据处理请求。Step 507: The centralized control device confirms whether the storage service request will generate a data processing request with the backend distributed storage service cluster.
步骤508:集中控制设备通过S5协议和后端分布式存储服务集群完成数据处理操作。Step 508: The centralized control device completes the data processing operation through the S5 protocol and the backend distributed storage service cluster.
步骤509:集中控制设备向存储服务客户端返回存储服务响应,包括但不限于非法请求、延迟重试、正常完成等。Step 509: The centralized control device returns a storage service response to the storage service client, including but not limited to an illegal request, delayed retry, normal completion, and the like.
其中步骤501,步骤502,步骤503是非经常性步骤,这些步骤通常是在用户的账户设立,或者存储服务配置参数改变的时候进行。步骤504,步骤505,步骤506,步骤507,步骤508,步骤509是经常性步骤,这些步骤通常在用户每次进行存储服务操作时进行。 Step 501, step 502, and step 503 are non-recurring steps, which are usually performed when the user's account is set up or the storage service configuration parameter is changed. Step 504, step 505, step 506, step 507, step 508, step 509 are recurring steps that are typically performed each time the user performs a storage service operation.
在一些实施例中,S5协议是集中控制设备和存储服务客户端及分布式存储服务集群之间使用的协议。协议内容包括但不限于:In some embodiments, the S5 protocol is a protocol used between a centralized control device and a storage service client and a distributed storage service cluster. The contents of the agreement include but are not limited to:
具体的读写操作指令,用于指示集中控制设备进行加速的指令,用于检查网络的心跳指令,用于指示逻辑盘操作的指令。The specific read/write operation instruction is used to instruct the centralized control device to perform acceleration, and is used to check a heartbeat command of the network, and is used to instruct an instruction of the logical disk operation.
用于获取快照、统计、数据长度、数据位置、数据用途等信息的指令。Instructions for obtaining information such as snapshots, statistics, data lengths, data locations, data usage, and more.
用于确定数据身份的信息(包括但不限于传输ID,用户ID,资源池ID,Image ID)的指令。An instruction for determining data identity (including but not limited to transport ID, user ID, resource pool ID, Image ID).
用于确定数据版本、修改时间等信息的指令。An instruction for determining information such as data version, modification time, and the like.
用于建立会话的相关信息(例如状态,监听端口等)的指令。An instruction to establish information about a session (such as status, listening port, etc.).
用于提高传输可靠性的检验信息的指令。An instruction for verifying information for improving transmission reliability.
如图9所示,本发明一种实施例的存储服务配置参数配置流程。整个配置过程由运行在存储服务配置单元上的软件(属于本发明公开的软件定义存储系统的一部分)提供。As shown in FIG. 9, a storage service configuration parameter configuration process according to an embodiment of the present invention. The entire configuration process is provided by software running on the storage service configuration unit, which is part of the software defined storage system disclosed herein.
步骤701:超级管理员(例如S5管理员)根据租户需求,创建租户账户,并设置租户需要存储服务配置参数,例如权限参数和存储服务质量参数,例如容量,IOPS,带宽,加密,去重,压缩。Step 701: The super administrator (for example, the S5 administrator) creates a tenant account according to the tenant requirement, and sets the tenant to store service configuration parameters, such as a permission parameter and a storage quality of service parameter, such as capacity, IOPS, bandwidth, encryption, deduplication, compression.
步骤702:租户账户根据需要创建具有不同管理权限管理账户。不同权限包括但不限于是否可以创建逻辑盘,是否可以设置备份属性等。步骤702不是必须步骤。Step 702: The tenant account creates a management account with different management rights as needed. Different permissions include but are not limited to whether you can create a logical disk, whether you can set backup properties, and so on. Step 702 is not a required step.
步骤703:租户账户或租户的管理账户根据租户内部需求,创建不同的虚拟机和逻辑盘,可以设定某些虚拟机和逻辑盘只能由一个租户中的某些账户使用。Step 703: The tenant account or the tenant's management account creates different virtual machines and logical disks according to the internal requirements of the tenant. It can be set that some virtual machines and logical disks can only be used by some accounts of one tenant.
步骤704:租户账户或租户的管理账户根据租户内部需求种类,创建不同的服务选项集。包括但不限于IOPS,带宽,备份数,是否物理隔离。可供选择的服务选型的种类受到租户账户的存储服务选项的限制。Step 704: The tenant account or the tenant's management account creates different service option sets according to the tenant internal demand categories. Including but not limited to IOPS, bandwidth, number of backups, physical isolation. The type of service selection available is limited by the storage service options of the tenant account.
步骤705:租户账户或租户的管理账户将步骤704配置的存储服务选项集和步骤703配置的虚拟机、虚拟机组、逻辑盘、逻辑盘组等关联起来,形成完整的存储服务配置参数。Step 705: The tenant account or the tenant's management account associates the storage service option set configured in step 704 with the virtual machine, virtual machine group, logical disk, logical disk group, and the like configured in step 703 to form a complete storage service configuration parameter.
运行在存储服务配置单元上的软件还提供统计结果以及状态信息。例如当前容量消耗,IOPS消耗等。Software running on the storage service hive also provides statistical results as well as status information. For example, current capacity consumption, IOPS consumption, and the like.
在一个实施例中,软件定义存储系统在图4c的应用流程如下。In one embodiment, the application flow of the software defined storage system in Figure 4c is as follows.
数据中心供应商通过存储配置单元创建租户NetBric账户,关联的软件定义存储选项为,500K IOPS,2GB/s带宽,100T容量,最多允许3备份,允许数据加密,允许快照,允许克隆,允许去重,允许压缩,允许物理隔离。NetBric账户通过存储服务配置 单元创建虚拟机A和虚拟机B,虚拟机A关联的软件定义存储选项为400KIOPS,1GB/s带宽,20T容量,3备份,数据加密,快照,去重,压缩,物理隔离。NetBric账户试图给虚拟机B关联的软件定义选项为300K IOPS,1GB/s带宽,20T容量,4备份,数据加密,快照,去重,压缩,不做物理隔离,存储服务配置单元查询NetBrick的软件定义存储选项后,建议将虚拟机B非法的软件定义存储选项300K IOPS,4备份修改为100K IOPS,3备份,并给出警告。在NetBric账户确认后,存储配置单元通过软件定义存储协议将软件定义存储需求发送给集中控制设备。计算和总控制模块801接收到租户NetBric的软件定义存储需求后,产生相应的控制参数(例如IOPS配额,身份标识信息,带宽配额)。The data center provider creates a tenant NetBric account through the storage configuration unit. The associated software-defined storage options are 500K IOPS, 2GB/s bandwidth, 100T capacity, up to 3 backups, data encryption allowed, snapshots allowed, clone allowed, and deduplication allowed. Allow compression and allow physical isolation. NetBric accounts are configured through storage services The unit creates virtual machine A and virtual machine B. The software defined storage option associated with virtual machine A is 400KIOPS, 1GB/s bandwidth, 20T capacity, 3 backup, data encryption, snapshot, deduplication, compression, and physical isolation. The NetBric account attempts to associate virtual machine B with software-defined options of 300K IOPS, 1GB/s bandwidth, 20T capacity, 4 backups, data encryption, snapshots, deduplication, compression, no physical isolation, and storage service hive queries for NetBrick software. After defining the storage options, it is recommended to modify the virtual machine B's illegal software-defined storage option 300K IOPS, 4 backup to 100K IOPS, 3 backup, and give a warning. After the NetBric account is confirmed, the storage hive sends the software-defined storage requirements to the centralized control device through the software-defined storage protocol. After receiving the software-defined storage requirements of the tenant NetBric, the computing and total control module 801 generates corresponding control parameters (eg, IOPS quota, identity information, bandwidth quota).
虚拟机A的读数据请求和虚拟机B的写数据请求经过前端接口模块802和加速模块804的处理,最终到达服务质量(QoS)控制模块805。服务质量(QoS)控制模块805检查之前的统计结果以及相应的控制参数,确认虚拟机B的IOPS额度没有耗尽,并且后端分布式存储服务集群能够满足虚拟机B 100K IOPS的服务要求,NANDFlash模组模块808中没有虚拟机B需要的数据。服务质量(QoS)控制模块805产生控制指令给存储控制交换模块806和后端接口模块803,将虚拟机B的写数据请求及部分软件定义存储选项(包括不限于3备份,数据加密,快照序列号,压缩)分发到后端分布式存储系统,由后端分布式存储系统完成相对应的数据加密,压缩,主数据更新及备份数据更新。针对虚拟机A的读数据请求,服务质量(QoS)控制模块805检查之前的统计结果以及相应的控制参数,确认虚拟机A的IOPS额度没有耗尽,并且NANDFlash模组模块808中已经存有虚拟机A这次读数据请求相关的数据,服务质量(QoS)控制模块805会产生相应的控制指令给存储控制交换模块806,由存储控制交换模块806、MegaNAND控制模块807、NANDFlash模组模块808共同完成读数据的搬移,返回给虚拟机A。The read data request of virtual machine A and the write data request of virtual machine B are processed by front end interface module 802 and acceleration module 804, and finally arrive at quality of service (QoS) control module 805. The quality of service (QoS) control module 805 checks the previous statistics and the corresponding control parameters to confirm that the virtual machine B's IOPS quota is not exhausted, and the backend distributed storage service cluster can meet the virtual machine B 100K IOPS service requirements, NANDFlash There is no data required by virtual machine B in module module 808. The quality of service (QoS) control module 805 generates control instructions to the storage control switching module 806 and the backend interface module 803, and writes data requests and partial software defined storage options of the virtual machine B (including not limited to 3 backups, data encryption, snapshot sequences). Number, compression) is distributed to the back-end distributed storage system, and the corresponding data encryption, compression, main data update and backup data update are completed by the back-end distributed storage system. For the read data request of the virtual machine A, the quality of service (QoS) control module 805 checks the previous statistical result and the corresponding control parameters, and confirms that the IOPS quota of the virtual machine A is not exhausted, and the NANDFlash module module 808 already has the virtual The machine A reads the data request related data, and the quality of service (QoS) control module 805 generates a corresponding control command to the storage control switch module 806, which is shared by the storage control switch module 806, the MegaNAND control module 807, and the NANDFlash module module 808. The reading of the read data is completed and returned to the virtual machine A.
租户账户NetBric也可以通过存储服务配置单元发出克隆虚拟机A的存储服务请求到集中控制器的计算和总控制模块801,计算和总控制模块801通过加速模块804和后端接口模块803将克隆服务请求发送给后端分布式存储服务集群,由后端分布式存储服务集群完成克隆服务。The tenant account NetBric can also issue a storage service request for cloning virtual machine A to the centralized controller's computing and total control module 801 through the storage service configuration unit, and the computing and total control module 801 will clone the service through the acceleration module 804 and the backend interface module 803. The request is sent to the back-end distributed storage service cluster, and the clone service is completed by the back-end distributed storage service cluster.
本发明公开的软件定义存储服务不限于上述实例,本发明公开的软件定义存储需求中存储服务级别和存储服务选项的任意组合都包含在本发明公开的软件定义存储服务的范围之内。The software defined storage service disclosed by the present invention is not limited to the above examples, and any combination of the storage service level and the storage service option in the software defined storage requirements disclosed in the present invention is included in the scope of the software defined storage service disclosed by the present invention.
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说, 在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明由所提交的权利要求书确定的专利保护范围。 The above is a further detailed description of the present invention in connection with the specific preferred embodiments, and the specific embodiments of the present invention are not limited to the description. For those of ordinary skill in the art to which the present invention pertains, A number of simple derivations or substitutions may be made without departing from the spirit of the invention, and should be considered as belonging to the scope of the invention as defined by the appended claims.

Claims (13)

  1. 一种软件定义存储系统的集中控制设备,其特征是,包括:控制单元、与前端虚拟机连接的前端接口、以及与后端分布式的存储服务单元连接的后端接口,所述控制单元用于根据存储服务配置单元发送的用户存储服务配置参数进行如下处理:A centralized control device for a software-defined storage system, comprising: a control unit, a front-end interface connected to the front-end virtual machine, and a back-end interface connected to the back-end distributed storage service unit, wherein the control unit uses Perform the following processing on the user storage service configuration parameters sent according to the storage service configuration unit:
    将所述存储服务配置单元发送给所述集中控制设备的对所述存储服务单元的存储服务请求进行相应处理;Transmitting, by the storage service configuration unit, the storage service request of the storage service unit to the centralized control device for corresponding processing;
    和/或将所述虚拟机发送给所述集中控制设备的对所述存储服务单元的存储服务请求进行相应处理;And/or performing corresponding processing on the storage service request of the storage service unit by sending the virtual machine to the centralized control device;
    其中,所述存储服务单元具有计算单元,所述计算单元用于完成所述集中控制设备转发的与所述存储服务请求对应的存储服务。The storage service unit has a computing unit, and the computing unit is configured to complete a storage service corresponding to the storage service request forwarded by the centralized control device.
  2. 如权利要求1所述的集中控制设备,其特征是,所述存储服务配置参数包括用户权限参数,所述控制单元用于根据所述用户权限参数,将所述存储服务配置单元发送给所述集中控制设备的对所述存储服务单元的存储服务请求进行相应处理。The centralized control device according to claim 1, wherein the storage service configuration parameter comprises a user permission parameter, and the control unit is configured to send the storage service configuration unit to the user according to the user permission parameter. The centralized control device performs corresponding processing on the storage service request of the storage service unit.
  3. 如权利要求1所述的集中控制设备,其特征是,所述存储服务配置参数包括存储服务质量参数,所述控制单元根据所述存储服务质量参数,对所述虚拟机与所述存储服务单元之间的存储服务的质量进行控制。The centralized control device according to claim 1, wherein the storage service configuration parameter comprises a storage quality of service parameter, and the control unit compares the virtual machine and the storage service unit according to the storage quality of service parameter The quality of the storage service is controlled between.
  4. 如权利要求3所述的集中控制设备,其特征是,所述存储服务质量参数包括:所述虚拟机与所述存储服务单元之间的带宽、每秒读写操作次数,存储服务单元的容量或数据分层,数据加密、去重、压缩和物理隔离。The centralized control device according to claim 3, wherein the storage quality of service parameter comprises: a bandwidth between the virtual machine and the storage service unit, a number of read/write operations per second, and a capacity of a storage service unit. Or data tiering, data encryption, deduplication, compression, and physical isolation.
  5. 如权利要求3所述的集中控制设备,其特征是,所述控制单元还用于根据所述存储服务质量参数,在多个虚拟机之间动态分配存储服务质量。The centralized control device according to claim 3, wherein the control unit is further configured to dynamically allocate the storage quality of service among the plurality of virtual machines according to the storage quality of service parameter.
  6. 如权利要求1所述的集中控制设备,其特征是,还包括缓存,所述控制单元还用于根据所述存储服务配置参数决定:The centralized control device according to claim 1, further comprising a cache, wherein the control unit is further configured to: according to the storage service configuration parameter:
    是否将所述虚拟机完成存储服务所需的数据存储到所述缓存;Whether to store data required by the virtual machine to complete the storage service to the cache;
    或者所述缓存存储的所述虚拟机完成存储服务所需的数据的老化速度;Or the aging speed of the data required by the cached virtual machine to complete the storage service;
    或者是否将所述缓存的部分空间作为固定的分层存储空间,以存储所述虚拟机完成存储服务所需的数据。Or whether the cached partial space is used as a fixed hierarchical storage space to store data required by the virtual machine to complete the storage service.
  7. 如权利要求6所述的集中控制设备,其特征是,所述控制单元利用所述缓存中的所述虚拟机完成存储服务所需的数据,提高所述虚拟机与所述存储服务单元之间的每秒读写操作次数。 The centralized control device according to claim 6, wherein the control unit uses the virtual machine in the cache to complete data required for storing a service, and improves between the virtual machine and the storage service unit. The number of read and write operations per second.
  8. 一种软件定义存储系统,包括虚拟机,其特征是,还包括分布式的存储服务单元、存储服务配置单元、以及如权利要求1至7任一所述的集中控制设备;A software-defined storage system, comprising a virtual machine, characterized by further comprising: a distributed storage service unit, a storage service configuration unit, and the centralized control device according to any one of claims 1 to 7;
    所述存储服务配置单元用于,产生用户的存储服务配置参数,并将所述存储服务配置参数发送给所述集中控制设备;The storage service configuration unit is configured to generate a storage service configuration parameter of the user, and send the storage service configuration parameter to the centralized control device;
    所述虚拟机用于,向所述集中控制设备发送存储服务请求;The virtual machine is configured to send a storage service request to the centralized control device;
    所述存储服务单元用于,接收所述集中控制设备发送的与所述存储服务请求对应的存储服务任务,完成所述存储服务任务。The storage service unit is configured to receive a storage service task corresponding to the storage service request sent by the centralized control device, and complete the storage service task.
  9. 如权利要求8所述的软件定义存储系统,其特征是,A software defined storage system according to claim 8 wherein:
    所述存储服务配置单元还用于,向所述集中控制设备查询当前存储服务配置参数和运行信息。The storage service configuration unit is further configured to query the centralized control device for current storage service configuration parameters and operation information.
  10. 如权利要求8所述的软件定义存储系统,其特征是,所述存储服务配置参数包括用户权限参数,所述控制单元用于根据所述用户权限参数,将所述存储服务配置单元发送给所述集中控制设备的对所述存储服务单元的存储服务请求进行相应处理。The software-defined storage system according to claim 8, wherein the storage service configuration parameter comprises a user permission parameter, and the control unit is configured to send the storage service configuration unit to the user according to the user permission parameter. The centralized control device performs corresponding processing on the storage service request of the storage service unit.
  11. 如权利要求8所述的软件定义存储系统,其特征是,所述存储服务配置参数包括存储服务质量参数,所述控制单元根据所述存储服务质量参数,对所述虚拟机与所述存储服务单元之间的存储服务的质量进行控制。A software-defined storage system according to claim 8, wherein said storage service configuration parameter comprises a storage quality of service parameter, said control unit, said virtual machine and said storage service according to said storage quality of service parameter The quality of the storage service between the units is controlled.
  12. 如权利要求11所述的定义存储系统,其特征是,所述控制单元还用于根据所述存储服务质量参数,在多个虚拟机之间动态分配存储服务质量。The defined storage system of claim 11, wherein the control unit is further configured to dynamically allocate the storage quality of service among the plurality of virtual machines according to the storage quality of service parameter.
  13. 一种软件定义存储方法,其特征是,包括如下步骤:A software defined storage method, comprising the steps of:
    集中控制设备接收存储服务配置单元产生的用户存储服务配置参数;The centralized control device receives the user storage service configuration parameter generated by the storage service configuration unit;
    所述集中控制设备根据所述存储服务配置参数,生成对应的服务控制参数;The centralized control device generates a corresponding service control parameter according to the storage service configuration parameter;
    所述集中控制设备接收虚拟机或存储服务配置单元发送的存储服务请求;Receiving, by the centralized control device, a storage service request sent by a virtual machine or a storage service configuration unit;
    所述集中控制设备根据所述服务控制参数对所述存储服务请求进行相应处理;The centralized control device performs corresponding processing on the storage service request according to the service control parameter;
    若所述存储服务请求合法,所述集中控制设备将所述存储服务请求对应的存储服务转发给存储服务单元,其中,所述存储服务单元具有计算单元,所述计算单元用于完成所述集中控制设备转发的与所述存储服务请求对应的存储服务。 And if the storage service request is legal, the centralized control device forwards the storage service corresponding to the storage service request to a storage service unit, where the storage service unit has a calculation unit, and the calculation unit is configured to complete the concentration Controlling, by the device, a storage service corresponding to the storage service request.
PCT/CN2014/089799 2014-10-29 2014-10-29 Software-defined storage system and method, and centralized control device thereof WO2016065556A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/089799 WO2016065556A1 (en) 2014-10-29 2014-10-29 Software-defined storage system and method, and centralized control device thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/089799 WO2016065556A1 (en) 2014-10-29 2014-10-29 Software-defined storage system and method, and centralized control device thereof

Publications (1)

Publication Number Publication Date
WO2016065556A1 true WO2016065556A1 (en) 2016-05-06

Family

ID=55856376

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/089799 WO2016065556A1 (en) 2014-10-29 2014-10-29 Software-defined storage system and method, and centralized control device thereof

Country Status (1)

Country Link
WO (1) WO2016065556A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101316273A (en) * 2008-05-12 2008-12-03 华中科技大学 Distributed safety memory system
CN103414764A (en) * 2013-07-24 2013-11-27 广东电子工业研究院有限公司 Cloud platform elastic storage system and elastic storage achieving method thereof
CN103617004A (en) * 2013-11-20 2014-03-05 浪潮电子信息产业股份有限公司 Tool and method for performing read-write tests on distributed file system
CN104301430A (en) * 2014-10-29 2015-01-21 北京麓柏科技有限公司 Software definition storage system and method and centralized control equipment of software definition storage system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101316273A (en) * 2008-05-12 2008-12-03 华中科技大学 Distributed safety memory system
CN103414764A (en) * 2013-07-24 2013-11-27 广东电子工业研究院有限公司 Cloud platform elastic storage system and elastic storage achieving method thereof
CN103617004A (en) * 2013-11-20 2014-03-05 浪潮电子信息产业股份有限公司 Tool and method for performing read-write tests on distributed file system
CN104301430A (en) * 2014-10-29 2015-01-21 北京麓柏科技有限公司 Software definition storage system and method and centralized control equipment of software definition storage system

Similar Documents

Publication Publication Date Title
CN104301430B (en) Software definition storage system, method and common control equipment thereof
US10140236B2 (en) Receiving buffer credits by a plurality of channels of one or more host computational devices for transmitting data to a control unit
US10289591B2 (en) Adjustment of buffer credits and other parameters in a startup phase of communications between a plurality of channels and a control unit
CA3078936C (en) Method to track ssl session states for ssl optimization of saas based applications
US9998532B2 (en) Computer-based, balanced provisioning and optimization of data transfer resources for products and services
US20210243227A1 (en) Detecting attacks using handshake requests systems and methods
US11843527B2 (en) Real-time scalable virtual session and network analytics
CA3142506A1 (en) Systems and method updating adc configuration with intended state using desired state api
US11379405B2 (en) Internet small computer interface systems extension for remote direct memory access (RDMA) for distributed hyper-converged storage systems
US10157150B2 (en) Adjustments of buffer credits for optimizing the number of retry operations and transfer ready operations
US10599356B2 (en) Aggregating memory to create a network addressable storage volume for storing virtual machine files
WO2021073546A1 (en) Data access method, device, and first computer device
US20210368009A1 (en) Systems and methods to retain existing connections so that there is no connection loss when nodes are added to a cluster for capacity or when a node is taken out from the cluster for maintenance
US7581056B2 (en) Load balancing using distributed front end and back end virtualization engines
US11675501B2 (en) Streaming data service with isolated read channels
US20230168934A1 (en) Predictable and adaptive quality of service for storage
US10798026B2 (en) Bufferbloat recovery and avoidance systems and methods
WO2016065556A1 (en) Software-defined storage system and method, and centralized control device thereof
KR101432745B1 (en) Distributed file system of cluster in the virtualized cloud environment and data replication method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14904774

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205 DATED 17/10/2017)

122 Ep: pct application non-entry in european phase

Ref document number: 14904774

Country of ref document: EP

Kind code of ref document: A1