CN103443758B - The optimization reduction of virtual disk - Google Patents
The optimization reduction of virtual disk Download PDFInfo
- 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
Links
- 238000005457 optimization Methods 0.000 title description 2
- 238000003860 storage Methods 0.000 claims abstract description 173
- 230000004044 response Effects 0.000 claims abstract description 23
- 230000000875 corresponding Effects 0.000 claims description 11
- 238000009826 distribution Methods 0.000 claims description 8
- 238000001514 detection method Methods 0.000 claims description 4
- 230000005055 memory storage Effects 0.000 claims description 2
- 241000406668 Loxodonta cyclotis Species 0.000 claims 1
- 238000004891 communication Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 14
- 239000011800 void material Substances 0.000 description 10
- 239000000203 mixture Substances 0.000 description 8
- 238000004590 computer program Methods 0.000 description 6
- 238000000034 method Methods 0.000 description 6
- 230000006399 behavior Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 239000003550 marker Substances 0.000 description 4
- 230000000712 assembly Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006011 modification reaction Methods 0.000 description 2
- 230000003287 optical Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000295 complement Effects 0.000 description 1
- 230000003247 decreasing Effects 0.000 description 1
- 230000002939 deleterious Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000004301 light adaptation Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002093 peripheral Effects 0.000 description 1
- 230000002085 persistent Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 239000002965 rope Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 210000001519 tissues Anatomy 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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
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.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/048,413 | 2011-03-15 | ||
US13/048,413 US8904136B2 (en) | 2011-03-15 | 2011-03-15 | Optimized shrinking of virtual disks |
US13/048413 | 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)
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)
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 |
---|---|---|
US20220035714A1 (en) | Managing Disaster Recovery To Cloud Computing Environment | |
US20230267054A1 (en) | Using Mirrored Copies For Data Availability | |
US20220019367A1 (en) | Migrating Data In And Out Of Cloud Environments | |
US20220050858A1 (en) | Snapshot-Based Hydration Of A Cloud-Based Storage System | |
US12001688B2 (en) | Utilizing data views to optimize secure data access in a storage system | |
CN104380263B (en) | Backup image replicates | |
CN105493043B (en) | System and method for virtual machine conversion | |
US11995336B2 (en) | Bucket views | |
US20230254368A1 (en) | Efficient Replication Based On Dataset Versioning | |
DE112019005770T5 (en) | Storage management for a cloud-based storage 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 | |
DE112019000841T5 (en) | Handle I / O operations in a cloud-based storage system | |
DE112020003423T5 (en) | ARCHITECTURE OF VIRTUAL STORAGE SYSTEM | |
CN106168884A (en) | Access the computer system of object storage system | |
US20210286546A1 (en) | Providing application aware storage | |
US11714572B2 (en) | Optimized data resiliency in a modular storage system | |
US20220335009A1 (en) | Converting Storage Resources to Distributed Persistent Storage for Containerized Applications | |
US20220075546A1 (en) | Intelligent application placement in a hybrid infrastructure | |
CN104462389B (en) | Distributed file system implementation method based on classification 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 | |
CN105975210A (en) | Data storage system and data storage control method | |
DE112020003277T5 (en) | GENERATION OF TAGS FOR DATA ASSIGNMENT | |
US20230080046A1 (en) | Online Resize of a Volume of a Distributed Storage System |
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 |