Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

VSS Free Space Requirement??

Status
Not open for further replies.

tekinfmgr

IS-IT--Management
Nov 6, 2005
31
US
Would anyone be able to send information on a good place to get information on VSS and free space requirements? Does it use the same drive that the data is being VSS? I am trying to make sure that I do not run out of disk space on two volumes that I need to take snapshots on and use a third party VSS provider. I have been to Technet, it seems like endless information. Just want a couple of quick answers.

Thanks in advance.
 
VSS has three parts, the provider, the writer and the requestor. The provider is the piece that actually performs the snapshot. The writer is specific to each application and ensures the application is ready for a snapshot, and the requestor coordinated the activty - typyically what you whould think of as the backup application.

A snapshot is a point in time map off which blocks constitute a volumne. It a copy of a block allocation table, at least at the beginning.

Exactly where the snapshot goes... well that depends on the provider. If you're talking about tne Microsoft Software VSS provider, then at the moment of the snapshot no data is moved anywhere. Once the snapshot is in place, an IO that overwrites a block contained in the snapshot reseults in:

a. the block to be overwritten is read.
b. the block to be overwritten is written to a "difference area" that can be on the same or another volume.
c. the changed data overwrites the original block.

With this type of Copy on Write, or "COW" provider, when a snapshot is in place each overwrite costs 3 IO operations. At the moment the snapshot is taken, the only space consumed is the space use by the snapshot metadata - the allocationtable and the data that describes the snapshot. As time passes and blocks are overwritten, the snapshot grows larger and larger as the changed block are first copied out to the difference area. The rate of change or change delta, and the amount of time the snapshot is kept determine the space needed for the changed blocks.

Another type of snapshot provder is the clone. A clone consumes exactly as much space as the original volume. A clone incurs a heck of a lot of IO when created, but once it is in place, there is no ongoing IO penalty for overwrites.

One last type of Snapshot provider is the Allocate on Write provider. Netapp is the only one I know of that implements this in their hardware VSS provider. At the netapp virtualization layer, blocks are never overwritten; they are coelesced and written to new space all at once, then the old block is deallocated. A netapp AOW snapshot is a copy of the block allocation table. Once a snapshot is in place there is no copying overhead. Instead, when a write occures, the virtualization layer checks the current and all snapshots to make sure there is no reference to a block before it is deallocated.

For COW, the more snapshots you keep on a volume the worse the performance gets. With as few as 5 snapshots in place, the storage gets unresponsive and dies. With clones, all the IO happens at the time of the snapshot, but once the snapshot is taken there is no ongoing penalty. Other than the initial IO (try copying a 100GB file from one drive to another to get an idea of the impact) the downside is each snapshot uses as much space as the original volume. For AOW, the snapshot is only as big as your change delta from the last snapshot and does not grow (the data is already there, it's just not deallocated). The performance penalty with 255 snapshots on a volume is less than 3%.

 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top