>Should I go for mine own VSS driver implementation or the VSS service at
the user space that comes with Microsoft will do?
That depends on whether you want to take full volume backup everytime
(which will take considerable time depending on the volume size), or you
want to provide teh facility to take one full backup followed by
n-incremental backups, in these incrementals you will only store the
difference in the volume blocks from the time the base was taken.
If you want to give only full backup feature, you do not need any kernel
components, the user mode VSS api is good enough for you.
If you want to give incremental backup, then you might consider writing a
kernel mode WDM/KMDF driver (though that is not the only way to do it).
This kernel mode driver can be a volume filter which attaches itself above
or below the volume (depending on what level of fine tuning you want to
achieve) and will help you track writes to the volume below.
Again, this is not a trivial task, and as mentioned by folks before,
depending on what type of disk configurations you support (simple volume,
snapped volume, CSV, dynamic disks, storage pools etc) your dirver design
might change.
If I need to develop the VSS driver then can I get any help from anywhere
or are there any samples or documentation that I can refer?
If I know correctly, there are no samples available in the WDK for a volume
filter. WDK’s diskperf sample is the closest you can get, but it is a disk
upper filter, and you will need to modify it to attach to the volume stack.
There is an open source project called trucrypt (http://www.truecrypt.org/)
which as a working volume filter driver, you might want to use it as a
reference too, however, the purpose of trucrypt is volume encryption, and
not backup.
AB
On Tue, Oct 9, 2012 at 1:26 PM, wrote:
> Hi,
>
> Thanks for replying. Basically the driver that tracks modification is an
> upper volume filter driver.
> @James Harper: My requirements are almost same as you mentioned, I want to
> take block level backup, so I require a copy on write snapshot for this
> purpose.
> Should I go for mine own VSS driver implementation or the VSS service at
> the user space that comes with Microsoft will do?
> If I need to develop the VSS driver then can I get any help from anywhere
> or are there any samples or documentation that I can refer? Should I
> develop a VSS writer or VSS provider?
> Can I hold the write request and later allow the write request on a
> particular block?
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
–
- ab