VMware virtualized storage assignment methods and systemTechnical field
The present invention relates to a kind of VMware(Prestige is farsighted, is a kind of software virtual machine)Virtualized storage assignment method and system,More particularly to a kind of VMware virtualized storage assignment methods and system based on cirqueue algorithm.
Background technology
Intel Virtualization Technology exactly shields physics equipment complexity from broadly by mapping or abstract mode, increasesPlus a management layer, activate a kind of resource and be allowed to be easier to transparent control.It can effectively simplify the management of infrastructure,Increase the utilization rate and ability of IT resources, such as server, network or storage.
Storage Virtualization is a kind of through whole IT environment, for simplified underlying basis that originally may be relative complexThe technology of framework.The thought of Storage Virtualization is to separate the logical image of resource and physical store, so as to be systems and managementMember provides width simplification, seamless resource virtual view.
For a user, the storage resource of virtualization is like huge " storage pool ", and user not can be appreciated that toolThe disk or tape of body, need not also be concerned about which specific storage device is the data of oneself lead to by which paths.
From from the perspective of management, storage pool is the management for taking centralization, and according to specific demand storageResource is dynamically assigned to each application.It is worth it is emphasized that using Intel Virtualization Technology, magnetic can be simulated with disk arrayTape pool, is using the storage resource that speed is fast as disk, capacity is but big as tape library is provided, here it is current applicationMore and more extensive VTL(VTL, Virtual Tape Library), play more in current enterprise storage systemCarry out more important role.
By by one or more targets(Target)Services or functionalities are integrated with other additional functions, and unification is provided withFull functionality service.Typical virtualization includes the following situation:The complexity of shielding harness, increases or integrated newFunction, emulates, integrates or decomposes existing service function etc..Virtualization acts on one or more physically, and thisA little entities are then for providing storage resource and service.
With developing rapidly for big data and cloud computing, increasing enterprise and company start to buy server, buildMeet the VMware Storage Virtualization cluster environment of self-demand, so as to meet the development of own service demand.Only possess oneIndividual good VMware Storage Virtualization clusters, can tackle ever-increasing data volume and require higher and higher computationalEnergy.
In VMware Storage Virtualization cluster environment build processes, with the continuous increase of memory data output, serverThe not foot phenomenon of storage resource can frequently occur.For this problem, the solution of enterprise typically has two kinds:First, deleteHash or stale data, carry out data cover;Second, server stores resources are bought, expand memory space.But forThe operation of server stores resources is deleted and added to data, is all often to be processed using manually-operated mode, i.e., manuallyCarry out the operations such as data deletion and Data Migration.Not only waste a large amount of human costs, and server stores resources utilization rateAlso it is not high.
The content of the invention
The technical problem to be solved in the present invention is that memory data output in the prior art constantly increases, server is deposited in order to overcomeOften processed using manual mode of operation during storage inadequate resource, cause human cost high and the low defect of utilization ratio of storage resources,A kind of VMware virtualized storage assignment methods and system based on cirqueue algorithm are provided, sequence is carried out to cluster-based storage resourceRowization treatment, is combined into a storage queue, and so as to realize cluster-based storage resource automatic management mechanism, not only system storage is providedThe utilization rate in source can largely be lifted and is largely reduced with management complexity, but also can be savedSubstantial amounts of cost of human resources.
The present invention is to solve above-mentioned technical problem by following technical proposals:
The present invention provides a kind of VMware virtualized storage assignment methods, and its feature is that it is comprised the following steps:
S1, the storage management platform for building the VMware Storage Virtualizations that SAN is applied, by the server in cluster, storage resourceVirtualization integration treatment is carried out with service;
S2, in the cluster-based storage resource virtualizing administration interface of the storage management platform, by memory space resource according to physicsBlock independence is divided into multiple memory blocks, and carries out serializing treatment to those memory blocks;
S3, to serializing memory space set up circulation storage queue, wherein, Head points to depositing for the head of the queue of the circulation storage queueFirst position of data in storage block, Rear points to the position of last data in the memory block of the tail of the queue of the circulation storage queuePut, the total length len of the circulation storage queue is equal to the sum of those memory blocks;
S4, based on cirqueue algorithm to serializing memory space perform data manipulation, the data manipulation include import data, releaseData are put, increase memory space and deletes memory space.
It is preferred that the importing data in step S4 are comprised the following steps:
When there are data to need to import, judge whether (Rear+1) %len=Head, if true then shows the storage of a memory blockInsufficient space early warning information, determines whether to delete head of the queue data or newly-increased memory space to sound all clear by user, otherwise forFalse then stores data into the remaining space of the memory block of Rear pointers sensing, if the residue of the memory block pointed by RearInsufficient space then performs Rear->Rear.next is operated, and remaining data is imported into the memory block pointed by Rear till now;
Wherein, for deleting head of the queue data manipulation, if head of the queue data are all deleted, head->head.next.
It is preferred that release data in step S4 include release with the continuous data of head of the queue Data Start and release Head andData between Rear;
Wherein, release is comprised the following steps with the continuous data of head of the queue Data Start:
At directly mobile Head pointers to next position of last data for deleting data;
Data between release Head and Rear are comprised the following steps:
The data between Head and Rear are deleted, data migration operation is carried out, data storage location is carried out into compact operation, whileRear pointers move to last Data Position of compact rear data.
It is preferred that the increase memory space in step S4 is comprised the following steps:
It is P that mark needs the memory block of increased memory space, first carries out P=Rear.next, and Rear=P is performed afterwards, then add PTo between Rear and Rear.next, serializing sorting operation then is re-started to whole queue.
It is preferred that the deletion memory space in step S4 includes deleting that the memory space of no data and deletion have significant figureAccording to memory space;
Wherein, the memory space for deleting no data is comprised the following steps:
The memory block of the memory space that mark need to be deleted is P, performs Rear.next=P.next, P memory blocks is deleted, then to wholeIndividual queue re-starts serializing sorting operation;
The memory space that deletion has valid data is comprised the following steps:
Rear.next=Replace_Store.next operations are performed, by the memory block of Replace_Store sensings from the circulationTaken out in storage queue;
By in the data copy in Del_Store data blocks to Replace_Store memory blocks;
Del_Front=Replace_Store are performed, Replace_Store=Del_Stroe.next is then performed, willReplace_Store memory blocks are substituted into the position of Del_Store;
Round-robin queue is serialized again, while deleting Del_Store memory blocks;
Wherein, Del_Stroe is the memory block to be deleted, and Del_Front is the previous memory node of Del_Stroe,Replace_Store=Rear.next is the memory block that data will migrate into.
The present invention also provides a kind of VMware virtualization storages distribution system, and its feature is that it includes:
One builds module, the storage management platform of the VMware Storage Virtualizations for building SAN applications, by the service in clusterDevice, storage resource and service carry out virtualization integration treatment;
One processing module, in the cluster-based storage resource virtualizing administration interface of the storage management platform, by memory spaceResource is divided into multiple memory blocks according to physical block independence, and carries out serializing treatment to those memory blocks;
One sets up module, for setting up circulation storage queue to serializing memory space, wherein, Head points to circulation storage teamFirst position of data in the memory block of the head of the queue of row, Rear points to last in the memory block of the tail of the queue of the circulation storage queueOne position of data, the total length len of the circulation storage queue is equal to the sum of those memory blocks;
One performing module, for performing data manipulation, the data manipulation bag to serializing memory space based on cirqueue algorithmImporting data, release data are included, is increased memory space and is deleted memory space.
It is preferred that when there is data to need to import, the performing module is used to judge whether (Rear+1) %len=Head, ifThe memory space inadequate early warning information of a memory block is then shown for true, determines whether to delete head of the queue data or increase newly by user to depositStorage space otherwise then stores data into the remaining space of the memory block of Rear pointers sensing to sound all clear for false, ifThe remaining space deficiency of the memory block pointed by Rear then performs Rear->Rear.next is operated, and remaining data is imported intoMemory block pointed by present Rear;
Wherein, for deleting head of the queue data manipulation, if head of the queue data are all deleted, head->head.next.
It is preferred that release data include release between the continuous data of head of the queue Data Start and release Head and RearData;
Wherein, release is included with the continuous data of head of the queue Data Start:
The performing module is used at directly mobile Head pointers to next position of last data for deleting data;
Data between release Head and Rear include:
The performing module is used to delete the data between Head and Rear, carries out data migration operation, and data storage location is enteredThe compact operation of row, while Rear pointers move to last Data Position of compact rear data.
It is preferred that it is P that mark needs the memory block of increased memory space, the performing module is used to first carry out P=Rear.next, performs Rear=P afterwards, then P is added between Rear and Rear.next, and then whole queue is re-startedSerializing sorting operation.
It is preferred that deleting memory space includes that the memory space for deleting no data is empty with the storage that deletion has valid dataBetween;
Wherein, the memory space for deleting no data includes:
The memory block of the memory space that mark need to be deleted is P, and the performing module is used to perform Rear.next=P.next, deletes PMemory block, then re-starts serializing sorting operation to whole queue;
The memory space that deletion has valid data includes:
The performing module is used to perform Rear.next=Replace_Store.next operations, and Replace_Store is pointed toMemory block is taken out from the circulation storage queue;
By in the data copy in Del_Store data blocks to Replace_Store memory blocks;
Del_Front=Replace_Store are performed, Replace_Store=Del_Stroe.next is then performed, willReplace_Store memory blocks are substituted into the position of Del_Store;
Round-robin queue is serialized again, while deleting Del_Store memory blocks;
Wherein, Del_Stroe is the memory block to be deleted, and Del_Front is the previous memory node of Del_Stroe,Replace_Store=Rear.next is the memory block that data will migrate into.
On the basis of common sense in the field is met, above-mentioned each optimum condition can be combined, and obtain final product each preferable reality of the present inventionExample.
Positive effect of the invention is:
The present invention by VMware virtualization storage technologies, integrate, by system bottom by resource and function to server clusterThe complex operations of layer carry out virtualization process, and so as to provide the user a unification and comprehensive function services platform, simplification is rightFor providing the management of the entity of service and storage.Then by using cirqueue algorithm, the storage resource of entity is carried outSerializing is processed, and is combined into a round-robin queue, so as to realize the automatic management of storage resource, improves system memory resourcesUtilization rate and the complexity of management, while saving substantial amounts of human cost.
Brief description of the drawings
Fig. 1 is the flow chart of the VMware virtualized storage assignment methods of present pre-ferred embodiments
Fig. 2 is the VMware Storage Virtualization physical structure figures of present pre-ferred embodiments.
Fig. 3 is the cluster-based storage virtualization storage region division and serialization process of present pre-ferred embodiments.
Fig. 4 is the structural representation of round-robin queue's pointer of present pre-ferred embodiments.
Fig. 5 is the structured flowchart of the VMware virtualization storage distribution systems of present pre-ferred embodiments.
Fig. 6 is the schematic diagram of the data import operation process of present pre-ferred embodiments.
Fig. 7 is the release of present pre-ferred embodiments with the signal of the operating process of the continuous data of head of the queue Data StartFigure.
Fig. 8 is the schematic diagram of the operating process of the data between the release Head and Rear of present pre-ferred embodiments.
Fig. 9 is the schematic diagram of the operating process of the increase memory space of present pre-ferred embodiments.
Figure 10 is the schematic diagram of the operating process of the deletion memory space of present pre-ferred embodiments.
Specific embodiment
Provide present pre-ferred embodiments below in conjunction with the accompanying drawings, to describe technical scheme in detail, but not becauseThis is limited the present invention among described scope of embodiments.
The present embodiment proposes VMware virtualized storage assignment methods and system based on cirqueue algorithm, and cluster is depositedStorage resource carries out serializing treatment, is combined into a storage queue, so as to realize cluster-based storage resource automatic management mechanism, noOnly the utilization rate of system memory resources can largely be lifted and is largely reduced with management complexity, andAnd substantial amounts of cost of human resources can also be saved.
As shown in figure 1, the VMware virtualized storage assignment method concrete implementation processes of cirqueue algorithm should be based onFor:
The first step:Build cluster VMware Storage Virtualization platforms
Build storage area network(SAN)The storage management platform of the VMware Storage Virtualizations of application, by the server in cluster,Storage resource and service carry out virtualization integration treatment.Wherein, VMware Storage Virtualizations physical structure is as shown in Figure 2.
Second step:Storage resource is divided and serialized
It is in the cluster-based storage resource virtualizing administration interface of the storage management platform, memory space resource is only according to physical blockVertical property is divided into multiple memory blocks, and carries out serializing treatment to those memory blocks, and concrete operations are as shown in Figure 3.
3rd step:Circulation storage queue, specific behaviour are set up to the serializing memory space in Fig. 3 based on cirqueue algorithmMake as follows:
After the memory space serializing as a example by such as Fig. 3, round-robin queue's pointer is combined into, wherein, Head(Head pointer)Refer toTo first position of data, Rear in the memory block marked as 0(Tail pointer)Point to memory block last number marked as 4According to position, the memory block sum that whole virtualization storage space divides is the total length of len=5, the i.e. round-robin queue, and this is followedRing queue pointer structure is as shown in Figure 4.
4th step:Can be divided into importing data, release data for the operation of Storage Virtualization memory space, increase storageSpace and deletion four kinds of main operations of memory space.
As shown in figure 5, the VMware virtualization storage distribution systems that the present embodiment is provided, it includes a structure module 1,Processing module 2, one sets up the performing module 4 of module 3 and.
The functional module that the VMware virtualization storage distribution systems include is described above, lower mask body introduces each functionThe function that module possesses:
The structure module 1 is used for the storage management platform of the VMware Storage Virtualizations for building SAN applications, by the service in clusterDevice, storage resource and service carry out virtualization integration treatment.
The processing module 2 is used in the cluster-based storage resource virtualizing administration interface of the storage management platform, will storeSpace resources is divided into multiple memory blocks according to physical block independence, and carries out serializing treatment to those memory blocks.
This sets up module 3 for setting up circulation storage queue to serializing memory space, wherein, Head points to the circulation and depositsFirst position of data in the memory block of the head of the queue for storing up queue, Rear is pointed in the memory block of the tail of the queue of the circulation storage queueThe position of last data, the total length len of the circulation storage queue is equal to the sum of those memory blocks.
The performing module 4 is used to perform serializing memory space data manipulation, data behaviour based on cirqueue algorithmWork includes importing data, release data, increases memory space and delete memory space.
The design of specific each operation is as follows:
Note:Due to being cluster environment, therefore data block total number here should be greater than 1.
(1)Import data
The idiographic flow for importing data is as follows:
When there are data to need to import, (Rear+1) %len=Head is first determined whether, depositing for a memory block is then shown if trueInsufficient space early warning information is stored up, it is necessary to be determined whether to delete head of the queue data or newly-increased memory space by user, is sounded all clear.WhereinFor deleting head of the queue data manipulation, if head of the queue data are all deleted, head->Head.next, i.e. head are pointed under itAt one position.
Otherwise for false representation spaces are sufficient, the remaining space of the memory block of Rear pointers sensing is stored data into, such asThe remaining space deficiency of the memory block pointed by fruit Rear then performs Rear->Rear.next is operated, that is, point to the next of RearIndividual position, and remaining data is imported into the memory space pointed by Rear till now.Data import operation process description such as Fig. 6 institutesShow.
When there is data to need to import, the performing module 4 performs following functions operation:
The performing module 4 is used to judge whether (Rear+1) %len=Head, if true then shows the memory space of a memory blockNot enough early warning information, determines whether to delete head of the queue data or newly-increased memory space to sound all clear, otherwise for false then by userThe remaining space of the memory block of Rear pointers sensing is stored data into, if the remaining space of the memory block pointed by Rear is not enoughThen perform Rear->Rear.next is operated, and remaining data is imported into the memory block pointed by Rear till now.Data import behaviourMake specific as shown in Figure 6.
Wherein, for deleting head of the queue data manipulation, if head of the queue data are all deleted, head->head.next.
(2)Release data
The idiographic flow for discharging data is as follows:
What release data manipulation was divided into release is with the number between the continuous data of head of the queue Data Start and release Head and RearAccording to.
Wherein, in the operation of the continuous data of head of the queue Data Start, then Head pointers to deletion data will directly be movedLast data next position at, specifically describe as shown in Figure 7:
The data between Head and Rear are deleted, then needs to carry out data migration operation, data storage location is carried out into compact behaviourMake, while Rear pointers are also carried out moving to last Data Position of compact rear data, specifically describe as shown in Figure 8.
When data are discharged, the performing module 4 performs following functions operation:
Release data include release with the data between the continuous data of head of the queue Data Start and release Head and Rear.
Wherein, release is included with the continuous data of head of the queue Data Start:
See Fig. 7, the performing module 4 is used for directly mobile Head pointers to next position of last data for deleting dataPut place.
Data between release Head and Rear include:
See Fig. 8, the performing module 4 is used to delete the data between Head and Rear, data migration operation is carried out, by data storagePosition carries out compact operation, while Rear pointers move to last Data Position of compact rear data.
(3)Increase memory space
The idiographic flow for increasing memory space is as follows:
When needing to increase memory space, it is P that mark needs the memory block of increased memory space, first carries out P=Rear.next, afterRear=P is performed, then P is added between Rear and Rear.next, serializing sequence behaviour is then re-started to whole queueMake, detailed process is as shown in Figure 9.
When needing to increase memory space, the performing module 4 performs following functions operation:
It is P that mark needs the memory block of increased memory space.
As shown in figure 9, the performing module 4 is used to first carry out P=Rear.next, Rear=P is performed afterwards, then be added to PBetween Rear and Rear.next, serializing sorting operation then is re-started to whole queue.
(4)Delete memory space
The idiographic flow for deleting memory space is as follows:
Delete memory space and be divided into two kinds of situations:
The first is to delete no data memory space;Second is to delete the memory space that there are valid data.Wherein, the firstSituation is the inverse process for increasing memory space.The memory block of the memory space that mark need to be deleted is P, performs Rear.next=P.next, deletes P memory blocks, then re-starts serializing sorting operation to whole queue.
Second situation needs to carry out memory space pointer replacement, then carries out the migration of data, is transformed into no dataThe deletion action of memory space, specifically describes as shown in Figure 10:
Wherein, Del_Stroe is the memory space to be deleted, and Del_Front is the previous memory node of Del_Stroe,Replace_Store=Rear.next is the memory block that data will migrate into.Whole operation is divided into four steps, this FOUR EASY STEPS toolBody is described down:
The first step:Rear.next=Replace_Store.next operation is performed, will the storages pointed to of Replace_StoreBlock takes out from the circulation storage queue;
Second step:By in the data copy in Del_Store data blocks to Replace_Store memory blocks;
3rd step:Del_Front=Replace_Store are performed, Replace_Store=Del_ is then performedStroe.next, will Replace_Store memory blocks be substituted into the position of Del_Store;
4th step:Round-robin queue is serialized again, while deleting Del_Store memory blocks.
When needing to delete memory space, the performing module 4 performs following functions operation:
Deleting memory space includes deleting the memory space of no data and deletes the memory space that there are valid data;
Wherein, the memory space for deleting no data includes:
The memory block of the memory space that mark need to be deleted is P.
The performing module 4 is used to perform Rear.next=P.next, deletes P memory blocks, and then whole queue is entered againRow serializing sorting operation.
The memory space that deletion has valid data includes:
As shown in Figure 10, the performing module 4 is used to perform Rear.next=Replace_Store.next operations, willThe memory block that Replace_Store is pointed to is taken out from the circulation storage queue;
By in the data copy in Del_Store data blocks to Replace_Store memory blocks;
Del_Front=Replace_Store are performed, Replace_Store=Del_Stroe.next is then performed, willReplace_Store memory blocks are substituted into the position of Del_Store;
Round-robin queue is serialized again, while deleting Del_Store memory blocks;
Wherein, Del_Stroe is the memory block to be deleted, and Del_Front is the previous memory node of Del_Stroe,Replace_Store=Rear.next is the memory block that data will migrate into.
Although the foregoing describing specific embodiment of the invention, it will be appreciated by those of skill in the art that theseIt is merely illustrative of, protection scope of the present invention is defined by the appended claims.Those skilled in the art is not carrying on the backOn the premise of principle of the invention and essence, various changes or modifications can be made to these implementation methods, but these are changedProtection scope of the present invention is each fallen within modification.