Tuesday, February 09, 2010

Understanding VSS implementation in Vmware Backup and Replication products

VSS can be nightmare to fully get to grips with in Vmware backups, Scott Lowe wrote a great interpretation in his blog here.

http://blog.scottlowe.org/2010/02/09/partner-exchange-2010-session-techbc0320/trackback/ 

I would like to think I have good understanding of this so here is my view of VSS and VMware in a simplistic form.

In this example I will use Veeam utilizing the Vmware VSS provider backup on Windows 2003 running Microsoft Exchange. Ok so what is a VSS?  VSS is simply a framework that Microsoft introduced from Windows 2003/XP onwards that can coordinate with backup applications to produce a consistent and reliable copy of data, a VSS backup will be application consistent as opposed to Crash consistent, a good analogy would be to think of application consistent backup as a manual shut down of all services and then a copy and a crash consistent backup as simply to press the power off button on your server (good luck), The framework consists of 3 main components as below.
  1. Requester  Backup application (Veeam)
  2. Provider     Vmware Tools
  3. Writer        Application (Exchange)
OK so how does this fit together in the above scenario?
  1. Veeam Kicks of a backup and sends a message via the Virtual centre SDK to locate the machine and prepare for a snapshot.
  2. Virtual Center locates the machine and sends a message via the VSS provider component in Vmware tools to start the Microsoft Volume Shadow copy service. 
  3. The Microsoft Volume service will enumerate it's VSS writers and ask them to prepare for a copy backup.
  4. The Exchange VSS writer coordinate with Exchange core components and will halt I/O flush any transactions in memory and then notify the VSS provider that all is OK.
  5. Virtual Center will proceed and create a snapshot.
  6. Veeam will now have access to read only copy of the VMDK and all writes will directed to the newly created delta file.
The VSS writer is a crucial part of this framework as it crucially deals with making the data consistent, another analogy would to think of the writer as a airline pilot going though a checklists that a plane is safe to take off if anything is not OK the plane will not take off (sorry but i do like an analogy!)
so in essence if it the writer cannot hold of the I/O or quiesce the data the backup will fail.

As Scott points out in his blog the you will notice the Vmware Tools VSS provider has rightly or wrongly it has limitations in that it can only call on the VSS Copy function of the backup and this is only limited to application level in Windows 2003 as we speak, so if you run an application with a VSS writer like Exchange, AD or SQL in 2008 you will limited to a simple OS level data quiesce, and this backup will be only crash consistent at application level. This is a issue if your backup application or San based replication can only leverage the Vmware VSS provider via Virtual Centre (most do).

Some people will argue that they will run guest based backups in conjunction with image based whereby the Guest backup will have full backup VSS functionally and will also deal with tasks such as database maintenance, this is a sensible as you can also run something like Eseutil as a option, it also should be noted that if you run something like CCR or Microsoft Data Protection manager that uses log shipping, a full VSS copy backup that truncates logs will cause issues as it will fall out of sync.
So it's very much six of one and half a dozen of the other, and it is something you should give a lot of thought as with the new VStorage API's, Changed block tracking and greatly improved backup speed and functionality around Vsphere there will be a lot of focus on moving towards Image based backups.

The good news is that if you use a backup or replication application that has a propriety backup agent that can be installed within the VM and have some synergy with Virtual Center you can leverage the full VSS functionally at different levels, this will cover Windows 2008 application level quiesce and you will also be able to perform tasks such as truncation of logs, good examples of this are Veeam, Falconstor and Backup Exec 2010 and also from a SAN replication perspective NetApp and the upcoming HP Lefthand SAN/IQ 8.5.

So to sumise I think it is prudent to fully look into any solution on a ongoing basis and trial any products on POC basis if you can...you will sleep better at night!

5 comments:

Scott Lowe said...

Based on the discussion in the session, VMware Tools is the requestor, not the provider. The provider will be supplied by the OS vendor or another third-party, as will the writer. Now, Veeam may have its own requestor, but I don't know that for certain.

Do you have any URLs to document that further explain the comment abou the lack of application quiescing with the use of the Copy VSS enumeration? The presenter in the session stated that the Copy enumeration *does* provide application quiescing, so I'm interested to delve a bit deeper and get more information. Any URLs or links you can provide would be greatly appreciated. Thanks!

Didier Pironet said...

@Scot Lowe, regarding your link request, have a read at http://deinoscloud.wordpress.com/2010/01/11/vdr-and-quiescing-mechanisms/

@Alfredo I agree with you and I would add that backup is crucial and cannot mess around...
Most of the enterprises just leverage their existing backup infratsructure using application consistency quiescing along with VSS.

Now does Vmware want to become a major player in the backup world with its vDR appliance?

In that case I think VMware should quickly support application consistency quiescing to Windows 2008 and up.

Stuart said...

Hi Scott, when you install the Vmware tools VSS component in a Interactive install you see it registered as a VSS provider for the Com+ side of things. Regarding the VSS quiesce in Windows 2008 this is the official line from Vmware

http://pubs.vmware.com/vi3i_i35u2/backup/wwhelp/wwhimpl/common/html/wwhelp.htm?context=backup&file=vm_bug_vcb.4.18.htm
also

http://www.backupcentral.com/index.php?option=com_content&task=view&id=287&Itemid=47

I believe that if you was to run for example Exchange 2007 in Windows 2008 the Vmware VSS provider would only quiesce at Windows system level and the Copy function would not be touched at all as it has no synergy with the Exchange VSS writer

I will try and dig a bit bit deeper on the mechanics of this but it could be that Vmware may be taking the safe option as for example Exchange 2007 has two VSS writers and there may be some complexity around this

Anonymous said...

منحة لتعليم
CCNA
احصل على الامتحان الدولي
رقم 640-802 مجاناً و 7 شهادات دولية
و IT Essentials
مع التدريب العملي على أجهزة سيسكو الأصلية
مدربين معتمدين من سيسكو
فقط 1500 جنيه
العنوان : 383 ش الملك فيصل بجوار كلية التربيه الرياضية - الجيزة
www.itacademy-eg.com
info@itacademy-eg.com
Tel.:0020113447260
Tel.:0020196413552



With Our Course in CCNA
only 1500 LE.

generic cialis said...

In principle, a good happen, support the views of the author

Post a Comment

 
Copyright 2009 Virtually Anything. Powered by Blogger Blogger Templates create by Deluxe Templates. WP by Masterplan