CN103443758B - The optimization reduction of virtual disk - Google Patents

The optimization reduction of virtual disk Download PDF

Info

Publication number
CN103443758B
CN103443758B CN201280010562.3A CN201280010562A CN103443758B CN 103443758 B CN103443758 B CN 103443758B CN 201280010562 A CN201280010562 A CN 201280010562A CN 103443758 B CN103443758 B CN 103443758B
Authority
CN
China
Prior art keywords
memory element
virtual machine
list
group
virtual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201280010562.3A
Other languages
Chinese (zh)
Other versions
CN103443758A (en
Inventor
W·E·曹贝乐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NortonLifeLock Inc
Original Assignee
Symantec Corp
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
Priority claimed from US13/048,413 external-priority patent/US8904136B2/en
Application filed by Symantec Corp filed Critical Symantec Corp
Publication of CN103443758A publication Critical patent/CN103443758A/en
Application granted granted Critical
Publication of CN103443758B publication Critical patent/CN103443758B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

There is disclosed herein the various system and methods of reduction one storage object.Such as, a kind of method can include receiving a request to reduce this storage object.This storage object can include multiple memory element.The method can also include receiving first list identifying one group of memory element.This list can produce in response to the request reducing this storage object.The method can also include one group of memory element in this storage object Unidentified the list received to read data, and by read data from this first storage object tools to second storage object.

Description

The optimization reduction of virtual disk
William's E rope primary
Technical field
The present invention relates to data storage, and relate more specifically to readjust the capacity of virtual disk.
Background technology
Virtual disk is directly or indirectly to be formed from the internal memory of one or more bottom physical storage devices Storage object.Virtual disk is construed to physical storage device by virtual machine, such as hard disk.One type Virtual disk be dynamic virtual disk.Dynamic virtual disk can be from relatively small initial on capacity Capacity (in this situation, dynamic virtual disk uses less amount of memory space) changes to certain heap(ed) capacity (wherein dynamic virtual disk uses more substantial memory space).When virtual machine storage additional data, Virtual disk capacity becomes big.Dynamic virtual disk utilizes the space of bottom physical storage device efficiently, because of Only consume memory space when virtual machine is actually needed memory space for dynamic virtual disk.
But when virtual machine is not in use by memory space a part of, untapped memory space can be reclaimed. Such as, if virtual machine stores a file on virtual disk, but it is appointed as deleting by this document subsequently Removing, the memory space comprising this document in bottom physical storage device is the most no longer made on one's own initiative by virtual machine With.This memory space can such as be reclaimed by the file system of management bottom physical storage device.This It is referred to as " reduction " virtual disk.But, the conventional method of reduction virtual disk typically requires substantial amounts of defeated Entering and export (I/O) operation, these operations may negatively affect performance.
Summary of the invention
There is disclosed herein the various system and methods of reduction one storage object.Such as, a kind of method is permissible Including receiving the request reducing this storage object.This storage object can include multiple memory element. The method can also include receiving the list identifying one group of memory element.This list can be in response to contracting Subtract the request of this storage object and produce.The method also includes one group of memory element from this storage object (not being identified in the list received) reads data, and include by the data that read from this One storage object tools to second storage object.In one embodiment, this first and second storage To liking dynamic virtual disk.
In one embodiment, the method includes creating one in response to the request reducing this storage object File.Create this document to complete in the case of not performing any I/O operation.This situation is permissible Detected by the value checking the attribute being associated with this document.This list identification is included in this document In storage object some.Once complete reduction operation, it is possible to delete this document.At one In embodiment, these parts identified in the list are this storages untapped before creating this document The some of object.
In one embodiment, the method include receiving second list and by this second list with this One list merges.Each list corresponds to a subregion of this storage object and identifies dividing of these correspondences Multiple unused portions in district.
The example of a kind of system can include one or more processor and be connected to this one or more places The internal memory of reason device.The a plurality of programmed instruction of this memory storage, these programmed instruction can be used for performing as above-mentioned side A kind of method of method.Similarly, these programmed instruction can be stored in a computer-readable recording medium On.
Foregoing teachings is a general introduction, the most inevitably comprises the simplification of details, summarizes and omit; Thus it would be recognized by those skilled in the art that general introduction is merely illustrative and under any circumstance need not In restriction.As the uniquely defined other aspects of the present invention of claim, inventive features and advantage with The non-limiting detailed description of lower offer will be apparent from.
Accompanying drawing explanation
By with reference to accompanying drawing, the present invention can be better understood, and its numerous targets, feature with And advantage will be apparent to those skilled in the art.
Fig. 1 is the block diagram of a kind of system reducing dynamic virtual disk according to an embodiment.
Fig. 2 A is the diagram of the dynamic virtual disk according to an embodiment.
Fig. 2 B is the diagram of the dynamic virtual disk according to an embodiment.
Fig. 2 C is the diagram of the dynamic virtual disk according to an embodiment.
Fig. 3 is the stream of a kind of method performing the reduction operation of dynamic virtual disk according to an embodiment Cheng Tu.
The flow chart of Fig. 4 A illustrates a kind of dynamic virtual disk that performs according to an embodiment and reduces operation Multiple additional aspect of method.
The flow chart of Fig. 4 B illustrates a kind of dynamic virtual disk that performs according to an embodiment and reduces operation Multiple additional aspect of method.
Fig. 5 is a kind of block diagram calculating device according to an embodiment, and how this block diagram shows is soft Part is implemented a capacity and adjusts manager.
Fig. 6 is the block diagram of a kind of network system according to an embodiment, the various calculating of this block diagram shows How device is communicated by network.
Although be prone to the present invention is carried out various amendment and replacement, but by this in drawings and detailed description Bright specific embodiment provides as example.It should be appreciated that drawings and detailed description be not used in by The present invention is limited to disclosed concrete form.On the contrary, the present invention should contain to fall in claims All modifications form, equivalents and alternative form within the spirit and scope of the present invention of definition.
Detailed description of the invention
In using virtualized system, host apparatus arranges one or more virtual machine.This master Machine is provided with a master operating system, and this master operating system provides the access of the resource to host apparatus And manage them, such as processor cycle, memory space and the network bandwidth.These resources of host assignment To use in this or these virtual machine.Each virtual machine or guest can run the operation of its own System and application program.
Run virtual machine on an operating system and one or more application program generally uses some to deposit Storage space.Main frame generally distributes one or more virtual disk to virtual machine.A type of virtual disk It it is dynamic virtual disk.When such as creating dynamic virtual disk by master operating system, main frame arranges void Intend the heap(ed) capacity of disk, such as 100 GB (Gb).This virtual disk is referred to as 100Gb Virtual disk, and be associated with virtual machine once this virtual disk, virtual machine is just by this virtual disk Regard that 100Gb stores device as.
When main frame creates a dynamic virtual disk first, this virtual disk substantially consumes zero physics and deposits Storage space, because virtual machine writes any data to virtual disk not yet.It is to say, main frame to This magnetic disk of virtual machine is assigned with the memory space of 100Gb, but this virtual disk does not uses these to store yet Any one part in space.Host assignment 100Gb is to promise to undertake the amount of physical memory pair of 100Gb and be somebody's turn to do The virtual machine that virtual disk is associated is available.Dynamically distribution virtual disk means until virtual machine When write operation is pointed to virtual machine, the file system of main frame the most just needs to distribute bottom to virtual disk The concrete physical storage of physical storage device.Until virtual machine is when being written to memory space, finally can be by The memory space that virtual disk utilizes just can be used for other purposes, such as temporary memory.
The another type of virtual disk that main frame can create is fixed disk.In fixed disk situation, When creating fixed disk, the file system of main frame has reserved the physical storage corresponding with the space distributed. In this example, if main frame is to fixing virtual disk distribution 100Gb, file system is just at bottom thing Reason stores the amount of physical memory of the 100Gb that transfers on device and is labeled as using by this memory space, So this memory space cannot be used for any other purpose.
In the case of dynamic virtual disk, virtual machine virtual disk is regarded as have 100Gb (or Approximation 100Gb) free time or the 100Gb in available space store device, and file system is by void Intend disk and regard the storage object with substantially zeroed capacity as.When creating virtual disk, virtual disk In be actually not zero with space, because some metadata being associated with this virtual disk is generally deposited Storage is in magnetic disk of virtual machine.Such as, magnetic disk of virtual machine can include identifying in virtual disk free space and With the figure in space.Therefore, even if the virtual disk of host assignment 100Gb, virtual machine can will be somebody's turn to do Virtual disk regards initially have the free space less than 100Gb as, and file system can be with should Virtual disk regards that capacity is more than zero as.
When virtual machine writes virtual disk, just consume or employ amount of physical memory.Generally virtual machine It is labeled as using by a part for virtual disk, which reduces virtual machine observed in magnetic disk of virtual machine The capacity of the free space arrived.Virtual machine can directly access bottom physical storage device to write number According to.Alternately, data can be transferred to the file system on main frame, and file system by virtual machine Physical storage device can be carried out the write operation of reality.Write operation is also notified to file system by virtual machine System.In response to the notice of virtual machine, file system is by the bottom physical storage device of storage virtual disk A part is labeled as using.Such as, if the file of virtual machine write 1Gb, file system is by void The capacity of plan disk increases 1Gb and is by the capacity marking of the amount of physical memory equal to 1Gb capacity Using, therefore these spaces are not useable for other purposes.In this way, the capacity of virtual disk can be with The time and increase.
In some cases, virtual machine is no longer desire to store the data being previously written to virtual disk.Consider The example below.In first time point, this software kit is also written to virtual disk by virtual machine download software kit. In this example, this software kit uses the space of 1Gb.It is to say, when virtual machine is by this software kit When being written to virtual disk, the capacity of the free space in virtual disk is decreased 1Gb also by virtual machine And the capacity of virtual disk is added 1Gb by file system.If virtual machine has downloaded this software kit subsequently A more recent version (also using the memory space of 1Gb) and use this newer in virtual disk Version, the capacity of the free space in virtual disk is reduced 1Gb and file system by virtual machine again Again the capacity of virtual disk is added 1Gb.When increasing the capacity of virtual disk files, file system The amount of physical memory of the respective volume on bottom physical storage device is labeled as using by system.Show at this In example, virtual disk stores the software kit of two versions, a more recent version and a legacy version now. Assuming that legacy version is discarded, legacy version can be labeled as deleting by virtual machine.When virtual machine is by legacy version When being labeled as deleting, the free space capacity in virtual disk is increased 1Gb by virtual machine.But, virtual Machine does not generally notify this thing to file system, so file system will distribute to two by amount of physical memory The software kit of version.Although it is to say, the virtual disk of 1Gb is only regarded as storing by virtual machine Newer software kit, but file system still thinks that 2Gb is for storing the software kit of two versions.
Owing to performing to create the operation of free space (such as, as in the example above, by data at virtual machine Be labeled as deleting) time fail to give notice main frame, so file system can't reduce void in response to these operations Intend the capacity of disk.If allowing this situation to develop to its consequent direction, virtual disk files can Can finally rise to its maximum allowable capacity, and virtual machine can not store any in virtual disk Excessive data.This is contingent in some cases, although virtual machine is no longer concerned about in virtual disk The highly important part of data.Such as, virtual machine can be specified be deletion by some data markers. As a result, virtual machine regards these data divisions as free space.But, virtual machine generally will not be by void Those parts of the data that plan machine is no longer concerned about are sent to file system.Therefore, file system is the end of at It is labeled as using on layer physical storage device or disabled physical storage (comprises virtual machine no longer to close The data of the heart).In this case, from the point of view of virtual machine, virtual disk has available space, But from the point of view of main frame, virtual disk can be regarded as full.
A lot of reasons causes this unfavorable condition.In one example, if virtual disk files reaches Its maximum allocated capacity (from the perspective of file system), virtual machine will not be able to perform new number According to write operation.And, memory space is typically shortage, so storing the most useful in the storage device Data may increase the cost not necessarily strategic point request of storage system and obtain extra storage device.Still enter One step ground, increasing the capacity of memory space used in storage device may negatively affect in some cases The performance of storage device.Such as, when storage device fuller be loaded into data time may ratio storage dress Put the most completely to be loaded into take more time and be read or written to store device.
In order to improve above deleterious situation, traditional system can use and reclaim depositing of being no longer necessary to of virtual machine The method in storage space.This way is referred to as reducing virtual disk.One this kind of method of following discussion and with Some restrictions that conventional method is relevant.
A kind of method reducing virtual disk includes that one pattern (such as, complete zero) is written to bottom deposits Storage device is distributed to this virtual disk but comprises the Zone Full of the untapped data of virtual machine.Zero write To physical storage device in those regions store that virtual machine is previously written but virtual machine not in use by Data.In such examples, the operating system of virtual machine be used for organizing bottom physical storage device The file system of data mutually compatible.This allows virtual machine specifies which thing in bottom physical storage device Reason memory space should cover with zero.
When virtual machine receives the request of reduction virtual disk, first virtual machine identifies in virtual disk empty Plan machine previously used but at present not in use by those parts.Then virtual machine is to those of magnetic disk of virtual machine Partial write complete zero.In one example, virtual machine safeguards a figure of virtual disk, this figure instruction void Which part of plan disk comprises use or effective data and which part does not comprise these numbers According to.This figure instruction virtual machine employs how many spaces in how many spaces and virtual disk in virtual disk Available.
Then main frame stops or stopping the operation of virtual machine.This means that virtual machine is no longer able to be written to void Intend disk.In some cases, virtual machine remains able to read from virtual disk.In reduction operation In situation, virtual disk is referred to as source virtual disk because the data in virtual disk will copy to by It is referred to as the new virtual disk of purpose virtual disk.
Then, main frame creates new (purpose) virtual disk.File system can be to purpose virtual disk The memory space of distribution equivalent.Such as, if main frame previously distributes 100Gb, main frame for source virtual disk For the purpose of can, virtual disk distributes another 100Gb.As mentioned above, main frame is by purpose virtual disk Regard that capacity is with regard to substantially zeroed storage object when creating this purpose virtual disk as.
Then, corresponding to those parts of source virtual disk during main frame reads bottom physical storage device.Main Machine-readable taking by file system marker is all memory spaces used by virtual disk.If it is to say, The capacity of virtual disk files is regarded as 100Gb (this means that file system has been incited somebody to action by file system The memory space of 100Gb is labeled as being used by virtual disk), main frame just reads the data of 100Gb.
For each part in the bottom physical storage device that main frame is read, main frame all determines whether this Part is filled out with complete zero.If it is, main frame thinks that this part of physical storage device is not made by virtual machine With.When this part of physical storage device does not comprises complete zero, main frame thinks that this part is used by virtual machine And will be stored in the data in this part and be written to new virtual disk.Therefore, physical storage device divides Dispensing virtual disk also comprises the arbitrary portion of complete zero and will not copy to purpose virtual magnetic from source virtual disk Dish.As mentioned, those parts comprising complete zero are not used by virtual machine indicated by virtual machine Those parts, so virtual machine is to those partial writes complete zero.
All data that once virtual machine is used are read and copy to purpose virtual disk, and purpose is virtual Disk only comprises the data being labeled as being used by virtual machine, and does not comprise the unconcerned data of virtual machine. Now, main frame can be deleted source virtual disk files and indicate virtual machine to utilize purpose virtual disk to recover behaviour Make.Virtual machine can start write data to purpose virtual disk and read from purpose virtual disk.
From the point of view of main frame, said method can make the capacity of virtual disk substantially reduce.But, this Sample does and needs to be written in physical storage device comprise data by zero (these data are no longer made by virtual machine With) all parts, and read all parts that magnetic disk of virtual machine in physical storage device has used. In some cases, read and write (I/O operation) possible consumption calculate resource in a large number, such as processor week Phase and data transfer bandwidth.
Consider to regard virtual disk as the example of 100Gb, but only include the 32Gb that virtual machine is concerned about Data.Perform above method and include the zero of virtual machine write 68Gb.Then main frame reads 100Gb's This 100Gb and zero is also compared by data.Then, the 32Gb data that virtual machine is concerned about by main frame are write To new virtual disk.This adds up to the I/O operation of 200Gb.
Below for appended diagram, a kind of alternative method reducing dynamic virtual disk is described.This alternative method Decrease the I/O operation amount performing identical reduction, thus breach theoretical minimum value.In the above examples, Alternative method includes only reading 32Gb and being only written 32Gb.The I/O operation reducing 136GB represents The saving of 68%, it means that identical reduction operation can perform in shorter duration and use phase When few calculating resource, such as processor cycle and data transfer bandwidth.
Fig. 1 is a kind of block diagram calculating system.As it can be seen, this calculating system includes being connected by network 30 The calculating device 10 connect and storage device 20, this storage device includes virtual disk 22 and virtual disk 24.Network 30 can include WAN (wide area network) (such as the Internet), one or more LAN (office Territory net) and/or one or more SAN (storage area network).
Calculating device 10 is that such as personal computer, laptop computer, server, individual digital help Such calculating devices such as reason, cell phone.Calculate device 10 and include that operating system 50 (includes file System 60) and virtualization modules 70 (including that capacity adjusts manager 72).Calculate device 10 also to realize Virtual machine 40 (1) (including operating system 42 (1), capacity adjusting module 44 (1) and application program 46 (1)) (operating system 42 (2), capacity adjusting module 44 (2) and application program is included with virtual machine 40 (2) 46(2))。
Operating system 50 can obtain calculating resource, such as processor or storage money by calculating device 10 Source (such as memorizer 20).In one embodiment, memorizer 20 includes being organized into physical cluster Physical storage device.Collection group representation can be read or written to the minimal amount of data of memorizer 20, example Such as 4Kb.Each cluster in physical storage device sequentially (represents the first thing from such as physical cluster 0 Reason cluster) compile to certain maximum number (representing last physical cluster in physical storage device) Number.Storage device 20 can be included in and/or be connected to (such as, by bus, network or other fit The InterWorking Equipment closed) calculate device 10.Storage device 20 provides persistent data to store, and so deposits Storage data on this storage device even still keep storage state after closing storage device.This Storage device can be such as hard disk, laser disc (CD), digital versatile disc (DVD) or other are big Mass storage devices or include storage system (the such as independent disk redundancy battle array of this array of storage devices Row (RAID) system or optical storage jukebox).This storage device can also is that at this kind of physics Virtual or the logical storage devices implemented on storage device and/or storage system.Such as, this kind of storage dress Put the logical volume that can be to implement on RAID storage system.It addition, this kind of storage device can include One or more storage devices.Storage device can also include the storage medium of one or more types, bag Include solid state medium (such as, flash disc drives), light medium (such as, CD and DVD) and magnetizing mediums (such as, hard disk or tape).
Data (data in such as memorizer 20) tissue can be entered file and mesh by file system 60 In record.File system 60 can safeguard the list of the physical location of the file in memorizer 20 and data. Such as, when operating system 50 creates new file, the parameter of this document can be notified by operating system 50 To file system 60, such as size and type, incidence relation and other metadata various.Utilize this letter Breath, file system 60 may determine that such as which cluster will store the data of this document in memorizer 20. Similarly, when carrying out write operation for memorizer 20, file system 60 distributes concrete physical cluster Data with storage write.File system 60 persistently follow the tracks of which physical cluster use, which file In the physical cluster used, store data and which physical cluster does not uses.
In one embodiment, operating system 50 creates virtual disk, such as virtual disk 22.File The data of which the physical cluster storage virtual disk 22 in system 60 designated memory 20.At one In embodiment, operating system 50 specifies virtual disk 22 to be dynamic virtual disk.Dynamic virtual disk is Just there is the actually used memorizer of relatively small amount and (virtual disk is had write access at virtual machine Power) need can increase during more space.File system 60 regards dynamic virtual disk 22 as storage Object, such as file, the initial capacity of this storage object is almost nil.Therefore, virtual when initially establishment During disk 22, any one of the physical cluster in memorizer 20 will not be identified as by file system 60 The data of actual storage virtual disk 22.When more data are written to virtual magnetic by such as virtual machine 40 During dish 22, file system 60 increases the capacity of virtual disk 22 and by the additional physics in memorizer 20 Cluster is identified as storing the data of virtual disk 22.
Operating system 50 can be to one or more distribution virtual disks 22 of virtual machine 40.Operation system System 50 can notify that virtual machine 40 distributes to virtual machine 40 and specifies virtual disk.General and Speech, virtual machine 40 acts as the software configuration of physical computer system.Such as, virtual machine 40 can be transported Row application program (such as application program 46), it is provided that service and process order.Application program 46 Example can include for charging, electrical form, data base, word processing, media consumption, purchase and open Send out, the software of product development etc..Virtual machine can run the operating system of its own, such as operating system 42.Example operating system includes Microsoft Windows and Unix.When application program 46 writes data, behaviour Make system 42 and virtual disk 22 can be carried out write operation.Operating system 42 can preserve a figure, The some used in this figure identification virtual disk 22 and available some.In order to determine In virtual disk 22, where the data of storage are stored in physically, and operating system 42 can be with literary composition Part system 60 communicates.
Some characteristic of virtual disk 22 can also be notified to virtual machine 40, such as by operating system 50 The capacity of free space.It is dynamic that virtual machine 40 requires no knowledge about virtual disk 22.Work as operating system 50 for virtual machine 40 distribute virtual disk 22 time, operating system 50 notifies that virtual machine 40 is at virtual disk Having how many spaces in 22 is available to virtual machine 40.Virtual disk 22 is regarded as by virtual machine 40 One storage object, the capacity of this storage object is specified by operating system 50.Virtual machine 40 can not known Road for store the actual capacity of physical cluster of virtual disk 22 or quantity be initially the least and Can increase when virtual machine 40 writes additional data to virtual disk 22.Such as, operating system 50 Can transfer 100Gb virtual disk 22 is distributed to virtual machine 40 to virtual disk 22.Virtual machine The 40 storage objects that virtual disk 22 regarded as 100Gb.File system 60 is by virtual disk 22 Regard the storage object of 0Gb as.In one embodiment, virtual machine 40 safeguards a figure (such as position Figure), virtual disk 22 is expressed as the order arrangement of Virtual Cluster by this figure.Each Virtual Cluster is permissible There is fixing capacity.Such as, virtual machine 40 can regard virtual disk 22 as a series of 25K Virtual Cluster (the most each Virtual Cluster is 4Kb), this virtual disk is 100GB in this example Virtual disk.Virtual machine 40 can use this figure to identify which Virtual Cluster has used and which Do not use.
The write operation example of virtual disk 22 can be carried out as follows by application program 46.Application program 46 is held Row write operates.Write operation is included in the file that application program 46 uses and preserves data, and storage is from network The file etc. downloaded.Virtual machine 40 detects whether that virtual disk 22 has free space.Such as, virtual It is available to detect which Virtual Cluster (if any) that machine 40 can detect the figure of Virtual Cluster. If virtual machine 40 detects what virtual disk 22 was filled with, or there is no available Virtual Cluster, write behaviour Make unsuccessfully.Otherwise, application program 46 transmits the information relevant to write operation, such as literary composition to virtual machine 40 Part name.Application program 46 can also transmit, to virtual machine 40, the data that will write.Virtual machine 40 is right Virtual disk 22 carries out write operation.For doing so, virtual machine 40 transmits information to file system 60, This information represents needs write operation.This information can identify size and the capacity of the data that will write, with And the filename of the file associated by these data.
File system 60 detects whether that virtual disk 22 is distributed to accommodate data in enough spaces. Such as, if application program 46 is just writing the data of 1Gb, and file system 60 finds 100Gb Distributing to virtual disk 22 and only used 50Gb, file system 60 will detect at virtual disk Enough allocation space are had to accommodate write operation in 22.In this case, file system 60 can be led to Know that virtual machine 40 has enough free spaces and write operation to carry out.Otherwise, file system 60 can Should be able to be failed with instruction write operation.Alternately, file system 60 can be that virtual disk 22 distributes Extra memory space also allows to carry out write operation.
If file system 60 detects that virtual disk 22 has enough allocation space to accommodate write operation, File system 60 distributes one or more physical clusters or the physics of actual storage data in memorizer 20 The scope of cluster.File system 60 can also send the information identifying physical cluster to virtual machine 40.Empty Plan machine 40 sends data to file system 60 and updates Virtual Cluster figure so that the void of data will be distributed to Intend cluster to be identified as using.File system 60 can store data in memorizer 20.Alternative Ground, virtual machine 22 directly can transmit data to memorizer 20.Memorizer 20 stores data in literary composition On those physical clusters specified by part system 60.
When virtual machine 40 is no longer necessary to specific data item, such as, issues when application program 46 and delete literary composition During the order of part, virtual machine 40 can update the Virtual Cluster figure cluster virtual machine with instruction storage data No longer comprise valid data.Data in Virtual Cluster are designated as deletion and Virtual Cluster is marked as Available memory space.
To create virtual machine and management virtual machine and the relevant operation of resources of virtual machine can be by including appearance Amount adjusts the virtualization modules 70 of manager 72 and performs.Such as, (such as empty when reduction virtual disk Intend disk 22) time, capacity adjusts manager 72 can be with capacity adjusting module (such as capacity adjustment mould Block 44) communicate to reduce virtual disk 22.
In one embodiment, operating system 50 can detect the condition that instruction virtual disk should reduce And this information is sent to virtual module 70.Then capacity adjusts manager 72 and can notify that capacity adjusts The reduction of module 44 virtual disk 22 is carried out.Then capacity adjusting module 44 can occupy void The virtual disk 22 of the essentially all free space intending disk 22 creates file.Capacity adjusting module 44 figures that can use the Virtual Cluster that virtual machine 40 safeguarded are so that the virtual magnetic occupied at this document Dish 22 produces Virtual Cluster list.This list is substantially virtual disk 22 in virtual disk 22 The list of untapped all Virtual Clusters, no matter these unit are never written to virtual machine 40 or It is used by store data and being then designated as being deleted by virtual machine 40 through before.
The list of Virtual Cluster can be sent to operating system 50 by virtual machine 40.In one embodiment, First the list of Virtual Cluster is converted to the list of corresponding physical cluster by virtual machine 40.File system 60 provide the virtual machine 40 with physical cluster, when virtual machine 40 writes, these things to physical cluster The data of reason cluster-based storage virtual disk 22.This allow virtual machine 40 physical cluster and Virtual Cluster it Between map.Physical cluster in this list represents some unit, and these unit comprise virtual machine 40 The data being no longer concerned about.
Operating system 50 (can be removed from all unit of the virtual disk 22 that virtual machine 40 has been written to The unit identified in list) read data, and the data of reading are copied to new virtual disk, Such as virtual disk 24.After this duplication has operated, virtual disk 24 only comprises virtual machine 40 and is concerned about Data and also sufficiently large accommodate this data.It is to say, virtual disk 24 is likely less than virtual Disk 22, because virtual disk 24 only has the memory space for virtual machine 40 data interested, Although virtual disk 22 potentially includes the memory space of the data that storage virtual machine 40 is no longer concerned about.
Fig. 2 A is the virtual disk 22 of the diagram of 100Gb virtual disk, such as Fig. 1.Fig. 2 A shows Use space from the virtual disk that file system (such as, the file system 60 of Fig. 1) angle is seen 205 and vacant space 210.Represent one or more physics collection with space 205 and vacant space 210 Group.In one embodiment, virtual disk be from substantially zeroed byte develop into memory space several The dynamic virtual disk being full of.Such as, operating system (operating system 50 of such as Fig. 1) is to virtual Disk is assigned with 100Gb.Operating system can authorize write permission to virtual machine, the virtual machine of such as Fig. 1 40。
Virtual disk is created and to this virtual disk distribution memory space (such as, 100Gb) in operating system Time, this virtual disk is regarded as the space with substantially zeroed byte is used for storing data by file system. Now, physical cluster is not distributed to store the data of virtual disk.When virtual machine writes data into virtual During disk, bottom is stored the specific physics collection in device (memorizer 20 of such as Fig. 1) by file system Group distributes to data and is labeled as being used by these physical clusters (comprising the data of virtual machine write). Changing over time, (file system is by almost zero byte in this case from its initial capacity for virtual disk Memory space be labeled as using) (file system is marked to rise to the memory space of almost 90Gb It is designated as using), as shown in Figure 2 A.When virtual machine is written to virtual disk, file system marker The additional storage space (such as, physical cluster) used, and virtual disk dynamically increases.
Fig. 2 B illustrates the virtual disk of Fig. 2 A from the angle of virtual machine.Fig. 2 B show uses space 215 and vacant space 220.Represent one or more virtual collection with space 215 and vacant space 220 Group.The virtual machine writing virtual disk can also delete data from virtual disk.In one embodiment, One or more deletion actions of virtual machine are directed to some of unused storage space 220 in virtual disk or complete Portion.But, these deletion actions are not transferred to file system, so while file system is by virtual magnetic Dish regards that the 90% of the memory space of virtual disk is distributed in use as, but virtual disk is regarded as by virtual machine It is only employ the memory space distributing to virtual disk 50%, as shown in Figure 2 B.
Fig. 2 C is the virtual disk of Fig. 2 A after file system angle illustrates reduction operation, retouches as following State.Fig. 2 C illustrates with space 225 and vacant space 230.With space 225 and vacant space 230 represent one or more physical cluster.Although it should be noted that and using space 225 at Fig. 2 C In be depicted as the cluster of a series of consecutive tracking, but need not exist for so in bottom physical storage device Arrangement.As shown in Figure 2 A and 2 B, some the physics collection during file system is included within virtual disk Group regards as and is used by virtual disk, even if virtual machine regards corresponding Virtual Cluster as untapped. Reduction operation makes file system regard these regions as untapped.After reduction operation, file Virtual disk is regarded as and is employed general 50% by system, and this is contrary, in this feelings with before reduction operation In condition, file system thinks that virtual disk employs 90%.As it can be seen, reduction operation produces The exceptional space that can be used by file system.
Fig. 3 is the flow chart of a kind of method performing virtual disk reduction operation.In one embodiment, The method is performed by a system (system of such as Fig. 1).Reduction operation starts from 305.Reduction Operation can start in response to user command.Such as, system manager can manually select virtual magnetic The virtual disk 22 of dish, such as Fig. 1, and start the reduction operation of this virtual disk.The virtual magnetic of reduction Dish is referred to as source virtual disk.Alternately, reduction operation can be in response to threshold condition being detected and automatic Start.Such as, operating system (such as, the operating system 50 of Fig. 1) can detect virtual disk or the end The use of layer physical storage device (such as, the memorizer 20 of Fig. 1) has reached certain threshold value, such as 90% is the fullest.Reaching this threshold value in response to detecting, operating system can start the reduction of virtual disk Operation.Operating system can be come by the communication with file system (such as, the file system 60 of Fig. 1) Detection reaches this threshold value, memory space (such as, Fig. 1 that this document system administration virtual disk is used Memorizer 20).Operating system can also periodically or in response to detect from previous reduction operation with The elapsed time amount come starts reduction operation.
Detecting in response to operating system and will perform reduction operation, operating system adjusts manager to capacity (such as, the capacity of Fig. 1 adjusts manager 72) issues order to start reduction.Then capacity adjusts pipe Capacity adjusting module in reason device notice virtual machine (such as, the virtual machine 40 of Fig. 1) is (such as, such as figure Capacity adjusting module 44 shown in 1) carry out reduction operation.Capacity adjusts manager can represent main operation System performs the operation relevant with reducing operation.Capacity adjusting module can represent virtual machine and perform and contracting The operation that reducing is relevant.
310, as further described with reference to Fig. 4 A, produce cluster-list.This list can respond Produce by capacity adjusting module in the notice receiving reduction operation.Void in this list identification virtual disk Untapped unit thought by plan machine.Some in these unit identified in list can be identified as by literary composition Part system uses.From the perspective of file system, the unit that file system is identified as having used contributes to Increase the storage space volume that virtual disk is utilized.List identification virtual machine is seen in the virtual disk Substantially all unused storage space.In an alternative embodiment, list can identify that virtual machine is thought The unit used.
405, capacity adjusting module (such as, the capacity adjusting module 44 of Fig. 1) receives virtual disk The notice that (such as, the virtual disk 22 of Fig. 1) will reduce.In response to notice, adjust at 410 capacity Mould preparation block opens a temporary file.The capacity setting of this document is at virtual machine by capacity adjusting module (virtual machine 40 of such as Fig. 1) is apparently no better than the capacity of virtual disk free space.At one In embodiment, all Virtual Clusters are labeled as free space or unavailable space by virtual machine, and include this Virtual Cluster in temporary file.Virtual machine generally makes small number of Virtual Cluster for the free time.If After reduction operation, any operation makes virtual disk expand, and this remaining space can be used for storing data.
Create file and make Virtual Cluster be labeled as to use also to make bottom physical cluster be marked as Use.This prevents can be in the upper operation of bottom physical storage device (such as, the memorizer 20 of Fig. 1) Any defragmentation operation moves these unit.If moving these unit in reduction operating process, Reduction operation may be failed, or wrong data may be replicated.
Capacity adjusting module arranges an attribute of file, and this attribute is specified and will be deleted when closing this document Except this document.Capacity adjusting module also sets up an attribute of file, and this attribute specifies management this document The file system (such as, the file system 60 of Fig. 1) of memorizer should not divided with zero padding for this document The unused storage space joined, or the unit distributing to this document is performed any write operation.An embodiment In, this attribute is set and is included in the metadata of file labelling is set.When file system is this temporary file During allocation space, file system reads the value of this labelling.
In one embodiment, capacity adjusting module creates multiple temporary files.Such as, capacity adjusts mould Block can be that the Virtual Cluster of each successive range creates a temporary file.In another example, empty Intend disk and can cross over multiple subregions of bottom physical storage device (memorizer 20 of such as Fig. 1).? In this example, one interim literary composition of each partition creating that capacity adjusting module can be crossed over by virtual disk Part.Alternately, during virtual disk can be included in a single part.
415, capacity adjusting module identification is allocated for the virtual of the data included in storage file Cluster also creates the list of these Virtual Clusters.420, capacity adjusting module is by Virtual Cluster identifier Be converted to physical cluster identifier and create a new physical cluster identifier list.An embodiment In, varying in size of Virtual Cluster and physical cluster.In this case, single Virtual Cluster numbering Can correspond to multiple physical cluster numbering, or vice versa as the same.Virtual Cluster numbered list is being converted to After physical cluster numbered list, at 425 capacity adjusting modules, this list is sent to capacity and adjusts management Device.
Returning to Fig. 3, set up a new virtual disk in 315 operating systems, such as Fig. 1's is virtual Disk 24,315.It is virtual that this virtual disk will act as the purpose of the data of storage on the virtual disk of source Disk.Operating system can for the purpose of virtual disk and source virtual disk to distribute the storage of identical capacity empty Between, or operating system can for the purpose of virtual disk distribution different capabilities memory space.Operating system Can specify purpose virtual disk is dynamic virtual disk.Initially, in file system, purpose is virtual Disk is substantially empty, or capacity is zero byte.
320, as further described with reference to Fig. 4 B, operating system is empty to purpose from source virtual disk Intend disk copy data.430, capacity adjusts manager and receives the list that capacity adjusting module produces. 435, operating system stops virtual machine.When stopping virtual machine, virtual machine can not be written to virtual magnetic Dish.While stopping virtual machine, virtual machine still can process the read operation from virtual disk.At one In embodiment, operating system can completely close virtual machine, and so when carrying out reduction operation, virtual machine is not Perform any operation.
The physical cluster of file system maintenance bottom physical storage device is (for storing the number of virtual disk According to) list.440, operating system selects Article 1 item, this Article 1 item in physical cluster list Corresponding to the first physical cluster in physical storage device.445, operating system is by this physical cluster Identifier compared with the bar item in the untapped physical cluster list received from capacity adjusting module, with Determine and be whether the physical cluster used is used by virtual machine by file system marker.If at two row All identifying physical cluster in table, operating system will not be from source virtual disk to purpose virtual disk duplicate Reason cluster in data because from capacity adjusting module receive list identification virtual machine not in use by thing Reason cluster and operating system will not replicate and be identified as the untapped cluster of virtual machine.If physical cluster It is identified as being used by file system and virtual machine that (such as, physical cluster is receiving from capacity adjusting module List in be not identified), in 450 operating systems, this cluster is copied to purpose from source virtual disk Virtual disk.Operating system reads these clusters from some unit of source virtual disk and writes by file system System is assigned to the cluster of purpose virtual disk.The each cluster being written to purpose virtual disk makes file system System dynamically increases the capacity of purpose virtual disk.
455, it is empty that operating system detects whether that the cluster added still copies to purpose from source virtual disk Intend disk.In one embodiment, this includes that traversal is identified as being used by source virtual disk by file system The list of all clusters.If it is, 460 operating systems by file system marker for make Physical cluster list in select next bar item.
The all clusters copying to purpose virtual disk are once needed all to copy to purpose virtual disk, 465 capacity adjusting modules close temporary file, and this causes the deletion of temporary file.
Return to Fig. 3, exchange virtual disk in 325 operating systems.For doing so, operating system is awarded Give the virtual machine write access authority to purpose virtual disk, and cancel virtual machine access originator virtual disk Authority.Then 330, operating system can delete source virtual disk.
Once complete reduction operation, restart virtual machine in 335 operating systems.Virtual when restarting During machine, this virtual machine just can read from purpose virtual machine and be written to it.
Fig. 5 is a kind of block diagram calculating device, and this block diagram shows can implement capacity the most in software Adjust manager 72.Calculating system 510 broadly represents any list being able to carry out computer-readable instruction The calculating device of processor or multiprocessor or system.Multiple examples of calculating system 510 include but do not limit Any one or more in various devices, these devices include work station, personal computer, above-knee Type computer, customer side terminal, server, distributed computing system, hand-held device (such as, individual Digital assistants and mobile phone), the network equipment, storage control (such as, array control unit, tape Drive controller or hard disk drive controller) etc..In the configuration that it is most basic, calculating system 510 can To include at least one processor 514 and an Installed System Memory 516.Realize capacity by execution to adjust The software of manager 72, calculating system 510 becomes a dedicated computing device, and this device is configured to For participating in the reduction operation of dynamic virtual disk.
Processor 514 generally represents and can process data or explanation and perform any class of multiple instruction Type or the processing unit of form.In certain embodiments, processor 514 can be from a software application journey Sequence or module receive instruction.These instructions can make processor 514 perform illustrated by this and/or exhibition One or more function in these embodiments shown.Such as, processor 514 can perform and/or As a kind of means for performing all or some in operation described herein.Processor 514 also may be used To perform and/or to perform explanation and/or any other operation shown, side at this as a kind of means Method or process.
Installed System Memory 516 generally represents and can store appointing of data and/or other computer-readable instructions What type or the volatibility of form or Nonvolatile memory devices or medium.The multiple of Installed System Memory 516 show Example include, but is not limited to random access memory (RAM), read only memory (ROM), flash memory, Or any other suitable storage device.In one embodiment, the program implementing RAM module 135 refers to Order can be loaded in Installed System Memory 516.
In certain embodiments, in addition to processor 514 and Installed System Memory 516, calculate system 510 also One or more assembly or element can be included.Such as, as it is shown in figure 5, calculating system 510 can be wrapped Include Memory Controller Hub 518, input/output (I/O) controller 520 and communication interface 522, they In each can be connected with each other by the communications infrastructure 512.The communications infrastructure 512 is generally Representative can help calculating any type or shape communicated between one or more assemblies of device The infrastructure of formula.The example of the communications infrastructure 512 includes but not limited to communication bus (such as industry Standard architecture (ISA), peripheral assembly interconnection (PCI), third generation bus standard (PCIe), Or similar bus) and network.
Memory Controller Hub 518 generally represents and operates between one or more assemblies of calculating system 510 Internal memory or data or control any type or the device of form of communication.Such as, in certain embodiments, Memory Controller Hub 518 can control processor 514, Installed System Memory 516 by the communications infrastructure 512 And the communication between I/O controller 520.In certain embodiments, Memory Controller Hub 518 can be only On the spot or with other elements perform in combination and/or perform to be described herein and/or open up as a kind of means One or more in the multiple steps shown or feature.
I/O controller 520 generally represent can coordinate and/or control a kind of input calculating device and Any type of output function or the module of form.Such as, I/O controller 520 in certain embodiments Can control or aid in one or more elements of calculating system 510 (in processor 514, system Deposit 516, communication interface 522, display adapter 526, input interface 550 and memory interface 554) Between data transmission.
Communication interface 522 broadly represents and can assist in calculating system 510 and one or more attachment devices Between any type of communicating or the communicator of form or adapter.Such as, in some embodiment In, communication interface 522 can be assisted calculating system 510 and be included the privately owned of multiple additional calculating system Or the communication between public network.The example of communication interface 522 includes but not limited to wired network interface (example Such as NIC), radio network interface (such as wireless network interface card), modem, with And any other suitable interface.In at least one embodiment, communication interface 522 can be by network Directly linking of (such as the Internet) provides being directly connected to of a remote server.Communication interface 522 This connection can also be provided indirectly, such as by LAN (such as Ethernet), PAN (Personal Area Network), Phone or cable net, cell phone connection, satellite data connection or any other suitable connection.
In certain embodiments, communication interface 522 can also represent a kind of host adapter, and this main frame is fitted Orchestration be configurable for by an external bus or communication channel assist calculating system 510 and one or Communication between multiple complementary networks or storage device.The example of host adapter includes but not limited to small-sized Computer system interface (SCSI) host adapter, USB (universal serial bus) (USB) main frame establishing device, Electrical and Electronic Engineering society (IEEE) 1594 host adapter, Serial Advanced Technology Attachment (SATA), Serial attached SCSI (SAS) and outside SATA (eSATA) host adapter, Advanced Technology Attachment (ATA) With Parallel ATA (PATA) host adapter, Fibre Channel port adapters, Ethernet Adaptation Unit etc..
Communication interface 522 can also allow for calculating system 510 and participates in Distributed Calculation or remote computation.Example As, communication interface 522 can receive instruction from a remote-control device or send instruction to a remote-control device For performing.
As it is shown in figure 5, calculating system 510 can also include being connected to communication by display adapter 526 At least one display device 524 of infrastructure 512.Display device 524 generally represents can be visual Ground presents any type or the device of form of the display information that display adapter 526 is forwarded.Similarly, Display adapter 526 generally represents the device of any type or form, these devices be arranged to from The communications infrastructure 512 (or from frame buffer known in the art) forward figure, text and other Data are so that display is in display device 524.
As it is shown in figure 5, calculating system 510 can also include being connected to, by input interface 550, the base that communicates At least one input equipment 528 of Infrastructure 512.Input equipment 528 generally represents can be to calculating System 510 provides any type or the input equipment of form of the input generated by computer or personnel.Defeated Enter the example of device 528 include but not limited to keyboard, positioner, speech recognition equipment or arbitrarily other Input equipment.
As it is shown in figure 5, calculating system 510 also includes that being connected to communication infrastructure by memory interface 534 sets Execute a data storage device 533 of 512.Storage device 533 generally represent can store data and/ Or the storage device of any type of other computer-readable instructions or form or medium.Such as, storage dress Putting 533 can be disc driver (such as, so-called hard disk drive), floppy disk, CD Driver, flash drive or similar device.Memory interface 534 generally represents in storage Any type of data or the interface of form is transmitted between device 533 and other assemblies calculating device 510 Or device.
In certain embodiments, storage device 533 can be configured to read from and/or be written to One removable memory module, this removable memory module is configurable for storing computer software, number According to or other computer-readable information.The example of the removable memory module being suitable for includes but not limited to soft Dish, tape, CD, flash memory device etc..Storage device 533 can also include other similar structures Or device, to allow computer software, data or other computer-readable instructions to download to calculating system 510 In.Such as, storage device 533 is configured for reading or writing software, data or other computers Readable information.It can be maybe by it that storage device 533 is also used as a part for calculating system 510 The device of the separation that his interface system accesses.
A lot of other devices or subsystem can be connected in calculating system 510.On the contrary, in order to implement The embodiment being described herein and/or show, it is not necessary to all component shown in Fig. 5 and device.Above These devices mentioned and subsystem can also be connected with each other in the way of being different from shown in Fig. 5.
Calculating system 510 it be also possible to use the configuration of any number of software, firmware and/or hardware.Example As, one or more in embodiment disclosed here can be encoded as on a kind of computer-readable medium Computer program (also referred to as computer software, software application, computer-readable instruction or meter Calculation machine controls logic).The example of computer-readable recording medium includes that (such as hard disk drives magnetic storage medium Dynamic device and floppy disk), optical storage media (such as, CD or DVD-ROM), electricity storage medium (such as, Solid-state drive and flash memory) etc..Such calculation procedure can also pass through network (such as the Internet or load Body medium) it is transferred to calculating system 510 to be stored in internal memory.
The computer-readable medium comprising computer program can be loaded in calculating system 510.It is stored in Then all or part computer program on computer-readable medium can be stored in Installed System Memory 516 He / or store in the different piece of device 532 and 533.When being performed by processor 514, it is loaded into meter Computer program in calculation system 510 can make processor 514 perform and/or perform as a kind of means One or more function in the embodiment being described herein and/or show.Additionally or alternatively, exist One or more in this illustrated and/or embodiment of showing can implement in firmware and/or hardware. For example, it is possible to calculating system 510 to be configured to a kind of application-specific IC (ASIC), this circuit Be adapted for being implemented in these these disclosed embodiments is one or more.
Fig. 6 is the block diagram of the network architecture 600, FTP client FTP 610,620 and in this network architecture 630 and server 640 and 645 can be connected to network 650.FTP client FTP 610,620 and 630 Generally represent calculating device or the system of any type or form.
Similarly, server 640 and 645 generally represents the data base being configurable for providing different Service and/or run calculating device or the system of some software application, such as, calculate device (example Calculating system 510 as in Fig. 5) go up the apps server or database server implemented.Network 650 generally represent any telecommunications or computer network, such as, include: in-house network, wide area network (WAN), LAN (LAN), personal area network (PAN) or the Internet.In one example, server 640 And/or 645 RAM module 135 that can include as shown in Figure 1.
As shown in Figure 6, one or more storage device 660 (1)-(N) can be attached directly to server 640.Similarly, one or more storage device 670 (1)-(N) can be attached directly to server 645. Storage device 660 (1)-(N) and store device 670 (1)-(N) generally represent can store data and/or Any type of other computer-readable instructions or the storage device of form or medium.In some embodiment In, storage device 660 (1)-(N) and storage device 670 (1)-(N) can represent the attached storage of network (NAS) device, these devices be configured to, with different agreement (such as NFS (NFS), Server Message Block (SMB) or public internet file system (CIFS)) with server 640 and 645 communicate.
Server 640 and 645 may also connect to storage area network (SAN) structure 680.SAN ties Structure 680 generally represents any type or the calculating of form that can assist in communication between multiple storage device Machine network or architecture.SAN fabric 680 can be with assist server 640 and 645 and multiple storage dresses Put the communication between 690 (1)-(N) and/or intelligence memory array 695.SAN fabric 680 is all right Assist FTP client FTP 610,620 and 630 by network 650 and server 640 and 645 and deposit Communication between storage device 690 (1)-(N) and/or intelligence memory array 695, its mode is device FTP client FTP 610,620 and 630 is rendered as locally attached by 690 (1)-(N) and array 695 Device.As storage device 660 (1)-(N) and storage device 670 (1)-(N), store device 690 (1)-(N) and storage array 695 generally represent and can store data and/or other computer-readables Any type of instruction or the storage device of form or medium.
In certain embodiments, with reference to the calculating system 510 of Fig. 5, communication interface is (in such as Fig. 5 Communication interface 522) can be used at each FTP client FTP 610,620 and 630 and network 650 Between provide connect.FTP client FTP 610,620 and 630 can utilize such as web browser or its His client software accesses the information of server 640 or 645.This software can allow FTP client FTP 610,620 and 630 access by server 640, server 645, storage device 660 (1)-(N), deposit Storage device 670 (1)-(N), storage device 690 (1)-(N) or the number of intelligence memory array 695 management According to.Although Fig. 6 depicts use network (such as the Internet) and exchanges data, but be described herein and/ Or the embodiment shown is not limited to the Internet or the most concrete network environment.
In at least one embodiment, one or more whole in embodiment disclosed here or one Divide and can be encoded as a kind of computer program and by server 640, server 645, storage device 660 (1)-(N), storage device 670 (1)-(N), storage device 690 (1)-(N), intelligent storage array 695 or combination in any in them load and perform.One or more in embodiment disclosed here All or part of can also be coded as a kind of computer program, it is stored in server 640, Run by server 645 and on network 650, be distributed to FTP client FTP 610,620 and 630.
In some instances, in Fig. 1,5 and 6 calculate device all or part of can represent cloud That calculate or the some of network environment.Cloud computing environment can provide various by the Internet Services and applications.(such as, software i.e. services, platform i.e. services, base in these services based on cloud Infrastructure i.e. service etc.) can be conducted interviews by web browser or other remote interface.This institute The difference in functionality stated can be carried by remote desktop environment or any other computing environment based on cloud Supply.
It addition, in these modules described herein one or more can by data, physical unit and / or the expression of physical unit be transformed into another kind of form from a kind of form.Such as, the filing mould in Fig. 1 Block can be with the behavior of conversion calculating apparatus so that calculating device to store and manage the data manipulation in RAM.
Although the present invention has been described in connection with some embodiments, but be not intended to limit the invention to explain herein The concrete form stated.By contrast, the invention is intended to contain and can be reasonably included claims These alternative forms, modification and equivalents in the scope of the invention of definition.

Claims (15)

1. for the method performing reduction operation, including:
Receive one request in case to one first storage object perform one reduction operation, wherein this first Storage object includes the multiple memory element being assigned to a virtual machine;
A file is created, wherein in response to this request
This document includes the first group of memory element not used by this virtual machine;
Produce the information identifying this first group of memory element, wherein
This first group of memory element is the first subset of the plurality of memory element, and
This information is produced in response to the request performing a reduction operation;And
Transmit that information to a main frame, wherein
This main frame is configured to perform this reduction operation, and
This reduction operation includes
Data are read, wherein from second group of memory element
This second group of memory element is the second subset of the plurality of memory element, and
This first group of memory element and second group of memory element are mutually disjoint, and
These data are copied to one second storage object.
2. the method for claim 1, wherein
In response to this request, by this virtual machine creating this document.
3. method as claimed in claim 2, farther includes: detect completing of this reduction operation; And
This document is deleted in response to this detection.
4. the method for claim 1, farther includes:
Producing first list and the second list, wherein this first list is corresponding to this first storage object Multiple unused portions of first subregion, this second list is corresponding to the one of this first storage object Multiple unused portions of individual second subregion, and
This main frame is configured to merge this second list with this first list.
5. the method for claim 1, farther includes:
One attribute of this document is set, wherein the instruction of this attribute create this document need not any input/ Output i.e. I/O operation;And
This first group of memory element is labeled as disabled.
6. the method for claim 1, wherein
It is that this second storage object distribution is certain that this main frame is further configured to receive this request The memory space of amount, wherein
This certain amount of memory space is equal to the first amount of memory distributing to this first storage object.
7. for performing a system for reduction operation, including:
Receive a request one first storage object to be performed the device of a reduction operation, wherein This first storage object includes the multiple memory element being assigned to virtual machine;
The device of a file is created, wherein in response to this request
This document includes the first group of memory element not used by this virtual machine;
Produce the device of the information identifying this first group of memory element, wherein
This first group of memory element is the first subset of the plurality of memory element, and
This information is produced in response to the request performing a reduction operation;And
Transmit that information to the device of a main frame, wherein
This main frame is configured to perform this reduction operation, and
This reduction operation includes
Data are read, wherein from second group of memory element
This second group of memory element is the second subset of the plurality of memory element, and
This first group of memory element and second group of memory element are mutually disjoint, and
These data are copied to one second storage object.
8. system as claimed in claim 7, wherein
In response to this request, by this virtual machine creating this document.
9. system as claimed in claim 8, wherein this system farther includes:
Detect the device completed of this reduction operation;And
The device of this document is deleted in response to this detection.
10. system as claimed in claim 7, wherein this system farther includes:
Producing first list and the device of the second list, wherein this first list first is deposited corresponding to this Multiple unused portions of one the first subregion of storage object, this second list is right corresponding to this first storage Multiple unused portions of one second subregion of elephant, and
This main frame is configured to merge this second list with this first list.
11. systems as claimed in claim 7, wherein this system farther includes:
Arranging the device of an attribute of this document, wherein this attribute instruction establishment this document need not any Input/output i.e. I/O operation;And
This first group of memory element is labeled as disabled device.
12. systems as claimed in claim 7, wherein
It is that this second storage object distribution is certain that this main frame is further configured to receive this request The memory space of amount, and
This certain amount of memory space is equal to the first amount of memory distributing to this first storage object.
13. 1 kinds of systems being used for performing reduction operation, including:
One or more processors;And
It is linked to an internal memory of these one or more processors, a plurality of programmed instruction of this memory storage, is somebody's turn to do Programmed instruction can perform to be used for:
Receive one request in case to one first storage object perform one reduction operation, wherein this first Storage object includes the multiple memory element being assigned to a virtual machine;
A file is created, wherein in response to this request
This document includes the first group of memory element not used by this virtual machine;
Produce the information identifying this first group of memory element, wherein
This first group of memory element is the first subset of the plurality of memory element, and
This information is produced in response to the request performing a reduction operation;And
Transmit that information to a main frame, wherein
This main frame is configured to perform this reduction operation, and
This reduction operation includes:
Data are read, wherein from second group of memory element
This second group of memory element is the second subset of the plurality of memory element, and
This first group of memory element and second group of memory element are mutually disjoint, and
These data are copied to one second storage object.
14. systems as claimed in claim 13, wherein
In response to this request, by this virtual machine creating this document, and
These programmed instruction can perform to be used for further
Detect completing of this reduction operation, and
This document is deleted in response to this detection.
15. systems as claimed in claim 13, wherein these programmed instruction can perform to be used for further:
Producing first list and the second list, wherein this first list is corresponding to this first storage object Multiple unused portions of first subregion, this second list is corresponding to the one of this first storage object Multiple unused portions of individual second subregion, and
This main frame is configured to merge this second list with this first list.
CN201280010562.3A 2011-03-15 2012-03-09 The optimization reduction of virtual disk Active CN103443758B (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US13/048413 2011-03-15
US13/048,413 US8904136B2 (en) 2011-03-15 2011-03-15 Optimized shrinking of virtual disks
US13/048,413 2011-03-15
PCT/US2012/028506 WO2012125462A1 (en) 2011-03-15 2012-03-09 Optimized shrinking of virtual disks

Publications (2)

Publication Number Publication Date
CN103443758A CN103443758A (en) 2013-12-11
CN103443758B true CN103443758B (en) 2016-11-30

Family

ID=

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6247024B1 (en) * 1998-09-25 2001-06-12 International Business Machines Corporation Method and system for performing deferred file removal in a file system
CN1862476A (en) * 2006-04-19 2006-11-15 华中科技大学 Super large capacity virtual magnetic disk storage system
CN101470583A (en) * 2007-12-29 2009-07-01 英业达股份有限公司 System structure for implementing virtual disk service equipment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6247024B1 (en) * 1998-09-25 2001-06-12 International Business Machines Corporation Method and system for performing deferred file removal in a file system
CN1862476A (en) * 2006-04-19 2006-11-15 华中科技大学 Super large capacity virtual magnetic disk storage system
CN101470583A (en) * 2007-12-29 2009-07-01 英业达股份有限公司 System structure for implementing virtual disk service equipment

Similar Documents

Publication Publication Date Title
US11663097B2 (en) Mirroring data to survive storage device failures
US20220035714A1 (en) Managing Disaster Recovery To Cloud Computing Environment
US20220050858A1 (en) Snapshot-Based Hydration Of A Cloud-Based Storage System
CN104380263B (en) Backup image replicates
CN105493043B (en) System and method for virtual machine conversion
DE112019005770T5 (en) Storage management for a cloud-based storage system
US20210303519A1 (en) Optimizing a Transfer of a File System
CN102467455B (en) Storage system, data storage device, user equipment and its data managing method
CN103765372B (en) It is configured to the object storage system of input/output operations
US20230254368A1 (en) Efficient Replication Based On Dataset Versioning
US20210019063A1 (en) Utilizing data views to optimize secure data access in a storage system
DE112019000841T5 (en) Handle I / O operations in a cloud-based storage system
US11714572B2 (en) Optimized data resiliency in a modular storage system
DE112020003423T5 (en) ARCHITECTURE OF VIRTUAL STORAGE SYSTEM
CN106168884A (en) Access the computer system of object storage system
US11662909B2 (en) Metadata management in a storage system
CN104462389B (en) Distributed file system implementation method based on classification storage
US20200174671A1 (en) Bucket views
US20210286546A1 (en) Providing application aware storage
CN104462185B (en) A kind of digital library's cloud storage system based on mixed structure
CN103455577A (en) Multi-backup nearby storage and reading method and system of cloud host mirror image file
US20220075546A1 (en) Intelligent application placement in a hybrid infrastructure
CN105975210A (en) Data storage system and data storage control method
US20220335009A1 (en) Converting Storage Resources to Distributed Persistent Storage for Containerized Applications
DE112020003277T5 (en) GENERATION OF TAGS FOR DATA ASSIGNMENT

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20200103

Address after: California, USA

Patentee after: CA,INC.

Address before: California, USA

Patentee before: Symantec Corporation