Late last year, I was at a Microsoft Virtualisation User Group meeting where Anthony Tyler, a Storage Technology Architect at Microsoft spoke about System Center Data Protection Manager (SCDPM).
Anthony explained how customers experience what he referred to as “backup pain”: everyone needs better nightly backups but tape storage is inefficient; there is poor support for integrating backups with application-specific requirements; disk-based backups consume huge amounts of space; backing up across the WAN (e.g. for centralised backups) is not feasible; and how remote and branch office data protection is expensive and cumbersome.
Microsoft’s answer is SCDPM, now in it’s second release, which addresses these issues as follows:
- One common approach is to take a full backup at the weekend and then use nightly incrementals but this still involves backing up whole files – SCDPM just backs up the changes in the file (a much smaller volume of data).
- At remote sites, branch staff may change tapes but the backups are not verified – because SCDPM uses less space for backups, remote backups become feasible.
- Whilst SCPDM 2006 was pretty much only any use for Windows file servers, 2007 includes application support for Windows Server (2003 and 2008 – including clusters), Exchange Server (2003 and 2007), SQL Server (2000, 2005 and 2008); SharePoint (2003 and 2007, WSS and MOSS), Virtual Server 2005 R2 SP1 and Hyper-V (with SCDPM 2007 SP1), Windows XP and Windows Vista desktop clients.
- Meanwhile, vendor “ping-pong” is reduced – in the event of problems there is “only one throat to choke”.
SCDPM is intended to be installed on a single-purpose server, running Windows Server 2003 SP1 or later and it relies on SQL Server 2005 and reporting services. Active Directory is also required (for maintenance of access control lists). In essence, SCDPM is just a big VSS engine and, whilst it may be useful to read the TechNet article about how the volume shadow copy service works, the basic principle is a system of requestors that may which to take a snapshot (e.g. SCDPM), writers (which ship with an application and know how best to take a consistent backup – with the onus on the vendor to provide this) and providers (which physically take a snapshot, using hardware or software, although SCDPM is a software solution). The requestors, writers and providers all communicate via the VSS service.
Using a file system filter driver, the SCDPM agent sits in the kernel and watches the file system, tracking block-level changes made to the disk (in a volume map) and writing changes back to the server according to a schedule in order to build snapshots (up to 512 of them). Whilst SCDPM can back up to tape, Microsoft’s view is that the real value for customers is at the application level, with Exchange or SQL admins backing up their application to disk and handing off the offline tape backups to the storage team.
Having set the scene, Anthony’s demonstration took us through the product, and the following were some of the key points I picked up:
- Administratively, SCDPM is arranged around five context-sensitive menus with actions:
- Monitoring – (of alerts and scheduled jobs) with a MOM/SCOM management pack available for centralised reporting.
- Protection – setting up groups to enforce data protection policies.
- Recovery – browsing and searching for the appropriate recovery point.
- Reporting – using SQL reporting services for defined and custom queries.
- Management – of agents, disks and libraries (e.g. tape).
- The SCDPM Management Shell (built on Windows PowerShell) may be used to script operations (everything in the GUI and more).
- SCDPM should be allocated raw disks (i.e. unformatted – or else it sees the disk as full!). LUNs can be extended as Windows only cares about what storage is being provided) but disks need to be visible in Disk Management so NAS (which uses an SMB redirector) and removable volumes cannot be used with SCDPM (effectively, direct-attached, iSCSI and fibre channel-attached disks are the available options).
- SQL Server is only used to store the SCDPM configuration – the backup data itself is not stored in SQL.
SCDPM works on the principle of protection groups – groups of objects to be backed up, and the wizard that is used to create a protection group asks how long backups should be retained for and the interval at which backups should be taken, from which it calculates the necessary disk and tape requirements. Optionally data can be compressed, or encrypted (256-bit AES, certificate-based) and, once the initial replica has been taken, backups consist of just the block-level changes to the data. The initial replication can be scheduled (e.g. to run out of hours) or there is the option to replicate on removable media (whereby the replica is restored to the SCDPM server, a consistency check is run, and the block level differences are pulled across the network) although it’s still advisable to transfer the removable media as soon as possible to to avoid another large transfer following the consistency check.
SCDPM maintains an in-memory representation of the file system (a volume map) to monitor disk block usage in a way that allows SCDPM to monitor 127GB of disk space using just 1MB of RAM. Each time SCDPM needs to take a backup, VSS takes a snapshot (literally a picture), then the application moves on whilst the snapshot is streamed to the SCDPM server as a background task. If the server goes offline and the bitmap is lost, then a consistency check will allow SCDPM to work out the differences.
Recovery is as simple as selecting the data to be recovered, the date and time of the recovery point, and where to put it. SCDPM also supports bare-metal recovery so that an image of a server so can be restored to identical hardware; or it can use PXE to rebuild a server from a backup image, install the application, and then restore the data.
A hierarchy of SCDPM servers can be created so that a SCDPM server can be backed up to another DPM server (e.g. in a separate datacentre) or to a centralised tape backup library. Because the data is stored natively, restoration is possible from the secondary server (even if the primary SCDPM server is unavailable).
One of the benefits of DPM is its application-awareness – for example it knows that a database also needs transaction logs, etc. but it hides that complexity from the administrators. Even complex environments such as SharePoint (with many databases, front end servers, and indices) can be kept consistent with SCDPM backups, even supporting single item recovery. Similarly for Exchange Server, SCDPM can invoke
eseutil.exe to make the database consistent and handle log file truncation. On a Virtual Server or Hyper-V host (where the host and guest are both running Windows Server 2003 SP1 or later), SCDPM can snapshot a VHD and take a backup in seconds. Even where online backups are not supported, SCDPM allows the virtual machine to be paused, snapshotted and restarted in a few minutes, because only the changes are backed up. As long as the previous versions client is installed, users can even restore their own data from within Windows explorer by right clicking a folder as the VSS copies on the SCDPM server and the local disk are combined into a single view. Whilst it’s fair to note that the level of recovery support is application dependant and SCDPM 2007 only recognises key Microsoft applications, if third party software companies can provide a VSS writer and an XML descriptor then SCDPM should be able to back them up.
Traditionally, Microsoft products only start to gain some traction at their third release. SCDPM isn’t quite there yet (2007 is the second release) but it really is a great solution for backup and restoration of critical infrastructure, allowing application stakeholders (e.g. the SQL DBA, Exchange Administrator, SharePoint administrator or virtualisation administrator) to drive their own backup and restoration process. The third release is in development and SCDPM v3 will include improved support for client and cloud-based scenarios, as well as new data sources and a number of other improvements – indeed, in a webcast yesterday, Jason Buffington (Senior Technical Product Manager for Windows Storage Solutions and Data Protection) described SCDPM v3 as:
“[delivering] unified data protection for Windows servers and clients as a best-of-breed backup and recovery solution from Microsoft for Windows environments […providing] the best protection and most supportable restore scenarios from disk, tape and cloud in a scalable, reliable, managable and cost-effective way.”
Details of SCDPM are available on the Microsoft website and the SCDPM product team has a blog with further information.