Disclosure of Invention
In order to solve the above technical problems, the present invention provides a virtualized block storage system and a data storage method, which can be operated in a computing instance, thereby enabling more flexible and efficient use of a limited capacity, and reducing a time delay.
In order to achieve the purpose, the invention adopts the following technical scheme:
a virtualized block storage system comprises a data center local area network and a plurality of branch local area networks; the data center local area network and the branch local area network are communicated through a generalized network;
the data center local area network comprises a data center block storage device interface, and a data center virtual storage array interface and a physical data storage array device which are respectively connected with the data center block storage device interface;
the branch local area network comprises a branch block storage device interface and a branch virtual array interface connected with the branch block storage device interface;
virtualizing a first logic memory in the physical data storage array device, and establishing address mapping between the first logic memory and a branch block storage device interface; the data center virtual storage array interface communicates with a branch virtual array interface through the first logical storage.
Furthermore, the data center local area network also comprises a physical storage network interface connected with the data center block storage device interface;
the data center virtual storage array interface also accesses a physical storage network interface and physical data storage array equipment inside the data center local area network.
Furthermore, the branch virtual array interfaces are communicated with each other through a generalized network.
Further, the branched local area network includes one or more clients; the client includes one or more application servers for providing applications or application functionality to the client.
Furthermore, the branch virtual array interface is an independent computer system or network equipment; or embedded as hardware and/or software in other computer systems or network devices.
Further, the data center local area network further comprises a data center switching device; the data center block storage device interface is connected with the data center switching device; the branch local area network further comprises branch switching equipment; the branch block storage device interface is connected with the branch switching device;
and the data center switching equipment of the data center local area network and the branch switching equipment of the branch local area network are communicated through a generalized network.
The invention also provides a data storage method which is realized based on a virtual block storage system and comprises the following steps:
configuring a branch block storage device interface of a branch local area network and a physical data storage array device for accessing a data center local area network, virtualizing a first logic memory in the physical data storage array device, and establishing address mapping between the first logic memory and the branch block storage device interface;
a memory block is retrieved from a first logical memory in a physical data storage array device, providing block storage access to the client via a branching block storage device interface.
Further, said retrieving a memory block from a first logical memory in a physical data storage array device, providing block storage access to said client via a branching block storage device interface, further comprises: block memory accesses to the guest are prohibited to prevent the guest from accessing the memory block from the first logical memory virtualized from the physical data storage array device.
Further, the storage method further comprises: executing the client through the branched virtual array interface;
the execution client through the branch virtual array interface is as follows: and performing block storage access operation between the branch local area networks through the generalized network.
Further, the storage method further comprises: and executing block storage access operation on the branched local area network through the data center virtual storage array interface.
The effect provided in the summary of the invention is only the effect of the embodiment, not all the effects of the invention, and one of the above technical solutions has the following advantages or beneficial effects:
the invention provides a virtualized block storage system and a data storage method, wherein the system comprises a data center local area network and a plurality of branch local area networks; the data center local area network and the branch local area network are communicated through a generalized network; the data center local area network comprises a data center block storage device interface, and a data center virtual storage array interface and a physical data storage array device which are respectively connected with the data center block storage device interface; the branch local area network comprises a branch block storage device interface and a branch virtual array interface connected with the branch block storage device interface; virtualizing a first logic memory in the physical data storage array device, and establishing address mapping of an interface between the first logic memory and the branch block storage device; the data center virtual storage array interface communicates with the branch virtual array interface through a first logical storage. The invention also provides a data storage method based on the virtualized block storage system. The invention can be run within a computing instance, thereby enabling more flexible and efficient use of limited capacity and reducing time delay.
Because existing branch lan data stores cannot be located in a data center, memory access by clients and application servers is particularly slow because the inserted generalized network is too slow and requires a long latency. The present invention allows for storage of merged branch LAN-specific data stores at a data center LAN connected to the branch LAN via a wide area network, overcoming the bandwidth and latency limitations of the wide area network between the branch LAN and the data center LAN. Because the data storage of a plurality of branch local area networks is combined in the data center local area network, the efficiency, the reliability, the cost benefit and the performance of the data storage are improved. Access to their data stores at the data center local area network may be managed and controlled instead of at a number of separate branch local area networks, improving reliability and performance of data storage, and reducing the personnel required by the branch to provide, maintain, and back up data storage. It also enables a more efficient backup system for its data storage, planning storage growth more efficiently by consolidating their storage expansion for multiple branch lans and reducing excess unused storage.
The present invention bifurcated virtual storage array interface retrieves requested storage blocks from a virtual storage array cache rather than from physical storage devices located in a data center local area network via a generalized network. This storage block prediction reduces the amount of application data and results that must be transferred over long distances, reducing the bandwidth and latency of the generalized network, making the virtual storage array look as if it were a local storage device.
Detailed Description
In order to clearly explain the technical features of the present invention, the following detailed description of the present invention is provided with reference to the accompanying drawings. The following disclosure provides many different embodiments, or examples, for implementing different features of the invention. To simplify the disclosure of the present invention, the components and arrangements of specific examples are described below. Furthermore, the present invention may repeat reference numerals and/or letters in the various examples. This repetition is for the purpose of simplicity and clarity and does not in itself dictate a relationship between the various embodiments and/or configurations discussed. It should be noted that the components illustrated in the figures are not necessarily drawn to scale. Descriptions of well-known components and processing techniques and procedures are omitted so as to not unnecessarily limit the invention.
Example 1
The embodiment 1 of the invention provides a virtualized block storage system, which comprises a data center local area network and a plurality of branch local area networks; the data center local area network and the branch local area network are communicated through a generalized network;
the data center local area network comprises a data center block storage device interface, and a data center virtual storage array interface and a physical data storage array device which are respectively connected with the data center block storage device interface;
the branch local area network comprises a branch block storage device interface and a branch virtual array interface connected with the branch block storage device interface;
the data center virtual storage array interface is in communication with one or more branch virtual array interfaces.
The data center virtual storage array interface also accesses the physical storage network interface and the physical data storage array device within the data center local area network.
The branched virtual array interfaces also communicate with each other through a generalized network.
Fig. 2 is a schematic diagram of a virtualized block storage system according to embodiment 1 of the present invention; the system includes a data center local area network and two branch local area networks, and the scope of the present invention is not limited to the number listed in example 1.
Two branch LANs 101A and 101B, respectively, the branch LAN 101A having its own branch LAN, the branch LAN 101B having its own branch LAN, and the data center LAN having its own branch LAN 200. The two branch local area networks 101A and 101B, respectively, and the data center network 200 are connected by one or more wide area networks 160 (WANs), such as the internet.
The data center local area network comprises a data center block storage device interface 12, and a data center virtual storage array interface 123, a physical storage network interface 124 and a physical data storage array device 125A which are respectively connected with the data center block storage device interface 12; the data center block storage device interface 120 is also coupled to both the data backup device 125B and the data center switching device.
The tributary local area network 101A includes a first tributary block storage device interface 11A, and a first tributary virtual array interface 121A connected to the first tributary block storage device interface 11A;
first tributary block storage device interface 11A is also connected to client 141A and application server 111A, respectively; the first branch virtual array interface 121A is connected to the first virtual storage array cache 122A; client 141A has one or more application servers 111A, and application servers 111A provide applications and application functions to the client system.
Implementing a virtual storage array at a first branch LAN uses a first branch virtual storage array interface 121A, and any branch virtual storage array interface 121A may be a stand-alone computer system or network device, or embedded as hardware and/or software in other computer systems or network devices.
The first branch virtual storage array interface 121A includes a first virtual storage array cache 122A that may optimize virtual storage array data access including data reads and data writes to minimize the impact of WAN bandwidth limitations and latency.
The tributary local area network 101B includes a second tributary block storage device interface 11B, and a second tributary virtual array interface 121B connected to the second tributary block storage device interface 11B;
second tributary block storage device interface 11B is also connected to client 141B and application server 111B, respectively; the second branch virtual array interface 121B is connected to the second virtual storage array cache 122B; client 141B is provided with one or more application servers 111B, application servers 111B providing applications and application functionality to the client system.
Implementing a virtual storage array at a second branch LAN uses a second branch virtual storage array interface 121B, and any branch virtual storage array interface 121B may be a stand-alone computer system or network device, or embedded as hardware and/or software in other computer systems or network devices.
The second branch virtual storage array interface 121B includes a second virtual storage array cache 122B that can optimize virtual storage array data access including data reads and data writes to minimize the effects of WAN bandwidth limitations and latency.
The data center virtual storage array interface communicates with one or more branch virtual array interfaces. That is, data center virtual storage array interface 123 communicates with one or more branch virtual storage interfaces 121 via data center local area network 200, wide area network 160, and their respective branch local area networks 101. Data communication between the breakout virtual storage interface 121 and the data center virtual storage array interface 123 may be in any form and/or protocol for communicating data over wired and wireless data communication networks, including TCP/IP.
Data center virtual storage array interface 123 translates data communications from branch virtual storage array interface 121 into storage accesses of the physical storage array network. To this end, the data center virtual storage array interface 123 accesses the physical storage array network interface 124 and the physical data storage devices 125 in sequence across the storage array network.
The bifurcated virtual array interfaces 121A and 121B of the present invention also communicate therebetween via a generalized network WAN 160.
Fig. 1 is a block diagram illustrating an exemplary computer system implementing a virtual storage array interface of a virtualized block storage system according to embodiment 1 of the present invention. As any branch virtual storage array interface 121A or 121B may be a stand-alone computer system or network device or embedded as hardware and/or software in another computer system or network device. FIG. 1 therefore illustrates an exemplary computer system with a virtual storage array interface.
Computer system 100 includes a Central Processing Unit (CPU)110 for running software applications and optionally an operating system. The central processor 110 may include one or more processing cores. The memory 130 stores applications and data used by the CPU. Memory 150 includes both dynamic and static random access memory. The memory 130 provides non-volatile storage for applications and data, and may include a fixed or removable hard drive, flash memory devices, ROM memory, and CD-ROM, DVD-ROM, Blu-ray, HD-DVD, or other magnetic, optical, or solid state storage devices. CPU110 may execute virtual machine software applications to create one or more virtual processors capable of executing additional software applications and optionally additional operating systems.
User input devices 140 communicate user inputs from one or more users to computer system 100 and may include a keyboard, mouse, joystick, digitizer pad, touchpad, touch screen, still or video camera, and/or microphone. In one embodiment, the user input device may be omitted and the computer system 100 may present a user interface to the user over a network, for example using a web page or a network management protocol and a network management software application.
Existing branch data stores cannot be located in a data center because the inserted WAN is too slow and requires a long latency, making memory access for client systems and application servers particularly slow. The present invention allows for the storage of merged branch local area network specific data stores at a data center local area network connected to the branch local area network via a wide area network. The virtualized block storage system provided by the invention overcomes the bandwidth and latency limitations of the wide area network between the branch local area network and the data center local area network. To this end, embodiments of the invention include a virtual storage array. For branch users, such as branch client systems and branch application servers, the virtual storage array appears as a storage array connected to the local area network of the branch. The virtual storage array may serve the same purpose as a local area network or other data storage device.
Example 2
Based on the virtualized block storage system provided in embodiment 1 of the present invention, embodiment 2 of the present invention further provides a data storage method. The method comprises the following steps:
configuring a branch block storage device interface of a branch local area network and a physical data storage array device for accessing a data center local area network, virtualizing a first logic memory in the physical data storage array device, and establishing address mapping between the first logic memory and the branch block storage device interface;
a memory block is retrieved from a first logical memory in a physical data storage array device, providing block storage access to the client via a branching block storage device interface.
Block memory accesses to the guest are prohibited to prevent the guest from accessing the memory block from the first logical memory virtualized from the physical data storage array device.
Executing the client through the branched virtual array interface; executing the client through the branched virtual array interface as follows: and performing block storage access operation between the branch local area networks through the generalized network.
And executing block storage access operation on the branched local area network through the data center virtual storage array interface.
Fig. 3 is a flowchart of a data storage method according to embodiment 1 of the present invention, where the data storage method is implemented based on two branched local area networks. The scope of the invention of embodiment 2 is not limited to two branched local area networks.
In step S100, the first branch local area network 101A is executed by the first branch virtual array interface 121A, the first branch block storage device interface 11A at the first branch local area network 101A is configured, and the physical data storage array device 125A at the data center local area network is accessed, the first logical storage is virtualized in the physical data storage array device 125A, and an address mapping between the first branch virtual array interface 121A and the first logical storage is established.
The invention improves the data reading performance of the virtual storage array by prefetching the data of the virtual storage array. A Branch LAN or data center LAN virtual storage array interface analyzes read and write accesses to the branched virtual storage array to predict which storage blocks may be accessed in the future. The branch local area network or data center virtual storage array interface then retrieves some or all of these prediction storage blocks and stores them in the branch's virtual storage array cache. If a storage client, such as an application server, file server, or client system, subsequently requests access to one or more cached storage blocks, the bifurcated virtual storage array interface retrieves the requested storage blocks from the virtual storage array cache, rather than retrieving the storage blocks from physical storage devices located in the data center LAN via the WAN. The storage block pre-hides the bandwidth and latency of the WAN from the storage clients so that the virtual storage array appears as if it is a local storage device. The storage client is executed by one or more processors of the computer system.
Wherein the data center network location is connected to the first branch network location via a wide area network and the transmission of the information is sent via a secure virtual network that uses keys to encrypt and decrypt traffic sent via the virtual network.
In step S200, providing block storage access to a client 141A at a first branch LAN location via a first branch block storage device interface 11A by retrieving a storage block from a first logical storage in a physical data storage array device 125A via a wide area network;
in S300, block memory access to client 141A is disabled to prevent client 141A from accessing a memory block from the first logical memory in physical data storage array device 125A.
Among other things, disabling block storage access to client 141A includes suspending a first block storage server virtual machine 101A executing at a first branch LAN location using virtual machine data stored in a first logical storage of a physical data storage array device 125A at a data center LAN location, and restarting the suspended first block storage server virtual machine 101A at a second branch LAN location using virtual machine data stored in the first logical storage in the physical data storage array device 125A at the data center LAN location.
For example, a storage block read request is received from a storage client, such as a client system or application server, which may be received by a branch location virtual data storage array interface. The storage block read request may be received using a storage area network protocol such as iSCSI.
In response to a received memory block read request, a decision is made to determine whether the requested memory block has been previously retrieved and stored in the memory block read cache at the branch location. If so, the requested memory block is retrieved from the memory block read cache and returned to the requesting client. If the system includes a data center virtual storage array interface, a storage block read request is also forwarded back to the data center virtual storage array interface for identifying additional storage blocks that may be requested by the storage client in the future.
After the storage client receives the write request, the client considers its storage block write request to be complete and may continue normal operation. However, the virtual storage array interface will transfer the queued write storage blocks over the WAN to the physical storage array at the data center LAN.
While a storage block write request is queued and waiting to be transmitted to the data center, a storage client may wish to access the storage block for reading or writing. In this case, the virtual storage array interface intercepts the storage block access request. In the case of a storage block read, the virtual storage array interface provides the queued storage block to the storage client. In the case of a storage block write, the virtual storage array interface will update the queued storage block data and send a write acknowledgement to the storage client for the additional storage block access.
Instead, the decision block determines that the virtual storage array cache cannot accept additional storage block write requests, and then performs an immediate transfer of the storage block to a physical storage array at the data center LAN via the WAN. After the transfer is completed, a write acknowledgement is received from the data center virtual storage array interface or the physical data storage array itself. A write acknowledgement is then sent to the storage client, allowing the storage client to resume normal operation.
In another embodiment, the virtual storage array interface may limit storage block read and/or write requests from clients to prevent the virtual storage array cache from being populated under typical usage conditions.
In step S400, the first branch local area network 101B is executed by the second branch virtual array interface 121B, the second branch block storage device interface 11B at the second branch local area network 101B is configured, and the physical data storage array device 125A at the data center local area network is accessed, the first logical storage is virtualized in the physical data storage array device 125A, and an address mapping between the second branch virtual array interface 121B and the first logical storage is established.
Application servers such as database applications or email servers and their associated data stores implemented using virtual storage arrays may be moved together between branches of a virtual storage array system if a client system needs to write or modify a block of storage in the virtual storage array. Because the application server is implemented within the virtual machine, this migration between branches may be seamless from the application server perspective. Moreover, because the virtual storage array concentrates data storage in the data center, not the branch location, no matter which branch virtual storage array interface is used, migration of the virtual machine and the application program need not transfer any virtual machine state and data to the destination branch location before the virtual machine is reactivated. Once the virtual machine is reactivated at the destination branch location, the virtual storage array interface for that branch location only needs the storage blocks that are requested directly by the virtual machine or its application, rather than in its storage block cache, and that are prefetched in anticipation of the virtual machine or application request. The storage block write data is directed directly to the active branch virtual storage array interface.
In step S500, providing block storage access to a client 141B at a second branch LAN location via a second branch block storage device interface 11B by retrieving a storage block from a first logical storage in a physical data storage array device 125A via a wide area network;
the virtual storage array provided by the bifurcated virtual storage interface allows a storage client to access a block of storage by its unique storage address within the virtual storage array. However, because the one or more virtual storage arrays actually store their data in the physical storage arrays, e.g., implemented as a physical storage area network, embodiments of the present invention allow for arbitrary mapping between unique storage addresses of storage blocks in the virtual storage arrays and corresponding unique storage addresses in the one or more physical storage arrays.
In step S600, a block memory access operation is performed between the branched lans through the generalized network, and the client 141A in the first branched lan 101A is executed by the first branched virtual array interface 121A, and the client 141B in the first branched lan 101B is executed by the second branched virtual array interface 121B.
I.e., receiving a first block storage operation to the physical data storage array device 125A from the second block storage server virtual machine 101B; and sending a message to the first block storage server virtual machine 101A to cause the first block storage server virtual machine 101A to perform the first block storage operation, wherein 101A and 101B communicate over a wide-sense network of a carrier.
In step S700, a block storage access operation is performed on the branched local area network through the data center virtual storage array interface.
In the data storage method provided by the invention, the virtual storage arrays store the data thereof in the data center local area network connected with the branch local area network through the wide area network, and a plurality of independent virtual storage arrays from different branches can store the data thereof in the same data center. Each virtual storage array cache may implement storage of predicted virtual storage array network data and virtual storage array write data for its corresponding virtual storage array of the branch local area network. Redundant data within a single branch of virtual storage array data within a physical storage array network of a data center local area network may be compressed or de-duplicated to reduce storage data. If two or more of the branched virtual storage arrays include the same or similar data, compression or data deduplication may be applied across all of these virtual storage arrays, such that only a single copy of the redundant data needs to be stored in the physical storage area network.
The present invention allows for the storage of merged branch local area network specific data stores at a data center local area network connected to the branch local area network via a wide area network. The virtualized block storage system provided by the invention overcomes the bandwidth and latency limitations of the wide area network between the branch local area network and the data center local area network. To this end, embodiments of the invention include a virtual storage array. For branch users, such as branch client systems and branch application servers, the virtual storage array appears as a storage array connected to the local area network of the branch. The virtual storage array may serve the same purpose as a local area network or other data storage device.
Although the embodiments of the present invention have been described with reference to the accompanying drawings, the scope of the present invention is not limited thereto. Various modifications and alterations will occur to those skilled in the art based on the foregoing description. And are neither required nor exhaustive of all embodiments. On the basis of the technical scheme of the invention, various modifications or changes which can be made by a person skilled in the art without creative efforts are still within the protection scope of the invention.