DPM provides enhanced backup and recovery capabilities for SharePoint beyond the out of the box features. It allows for item-level recovery of configuration and content databases. DPM uses VSS to take application-aware snapshots and then sends only changed blocks to the DPM server, requiring less storage space for backups over time. Recovery can be performed at the site, list, or item level directly from DPM backups. DPM is more efficient than SQL Server backups alone due to its change block tracking and compression.
4. Agenda
SharePoint Backup/Restore Recap
What Does DPM Give Us?
Protecting SharePoint Data
Under the Hood
Recovering SharePoint Data
DPM vs. SQL Server Backup
Summary
5. SharePoint Backup/Restore Recap
SharePoint backup/restore capabilities
Configuration settings
Service Applications
Unattached content database recovery
SQL Snapshot support
SharePoint backup/restore limitations
In-line item level recovery
Configuration and Central admin database restore
6. What Does DPM Give Us?
DPM capabilities
In-line item level recovery
Configuration and Central Admin database restore
Less storage required for backups
Backup to the cloud
Role based backup and recovery management and
administration
Protection of other Microsoft products e.g. Hyper-V
DPM limitations
Service applications
27. Efficient disk storage without duplication
A B C D E F G
Production Data
H A B C D E F G
DPM Replica
H
Original Data (10:00)
Time = 10:00
28. Efficient disk storage without duplication
Time = 10:15 – Data changes
A B I D E J G
Production Data
H A B C D E F G
DPM Replica
H
Original Data (10:00)
29. Efficient disk storage without duplication
Time = 10:30 – Data is protected
A B I D E J G
Production Data
H A B C D E F G
DPM Replica
H
I J
Original Data (10:00)
1st Express Full Backup (10:30)
30. Efficient disk storage without duplication
Time = 10:30 – Data is protected
A B I D E J G
Production Data
H A B
C
D E
F
G
DPM Replica
HI J
Original Data (10:00)
1st Express Full Backup (10:30)
31. Efficient disk storage without duplication
Time = 10:30 – Data is protected
Production Data DPM Replica
DPM Recovery Point Area
C F
A B I D E J G H A B D E G HI J
Original Data (10:00)
1st Express Full Backup (10:30)
32. Efficient disk storage without duplication
Time = 10:52 – Data changes
Production Data DPM Replica
C F
K B I D E J L H A B D E G HI J
Original Data (10:00)
1st Express Full Backup (10:30)
DPM Recovery Point Area
33. Efficient disk storage without duplication
Time = 11:00 – Data is protected
Production Data DPM Replica
C F
K B I D E J L H A B D E G HI J
K L
Original Data (10:00)
1st Express Full Backup (10:30)
2nd Express Full Backup (11:00)
DPM Recovery Point Area
34. Efficient disk storage without duplication
Time = 11:00 – Data is protected
Production Data DPM Replica
C F
K B I D E J L H
A
B D E
G
HI JK L
Original Data (10:00)
1st Express Full Backup (10:30)
2nd Express Full Backup (11:00)
DPM Recovery Point Area
35. Efficient disk storage without duplication
Time = 11:00 – Data is protected
Production Data DPM Replica
K B I D E J L H B D E HI JK L
AC F G
Original Data (10:00)
1st Express Full Backup (10:30)
2nd Express Full Backup (11:00)
DPM Recovery Point Area
36. Efficient disk storage without duplication
Time = 11:07 – Data changes
Production Data DPM Replica
Original Data (10:00)
1st Express Full Backup (10:30)
2nd Express Full Backup (11:00)
B D E HI JK L
AC F G
K B I D M N O P Q
DPM Recovery Point Area
37. Efficient disk storage without duplication
Time = 11:30 – Data is protected
Production Data DPM Replica
Original Data (10:00)
1st Express Full Backup (10:30)
2nd Express Full Backup (11:00)
3rd Express Full Backup (11:30)
B D E HI JK L
AC F G
K B I D M N O P Q
M N O P Q
DPM Recovery Point Area
38. Efficient disk storage without duplication
Time = 11:30 – Data is protected
Production Data DPM Replica
AC F G
K B I D M N O P Q B D
E H
I
J
K
L
M N O P Q
Original Data (10:00)
1st Express Full Backup (10:30)
2nd Express Full Backup (11:00)
3rd Express Full Backup (11:30)
DPM Recovery Point Area
39. Efficient disk storage without duplication
Time = 11:30 – Data is protected
Production Data DPM Replica
K B I D M N O P Q B DIK M N O P Q
AC EF G HJ L
Original Data (10:00)
1st Express Full Backup (10:30)
2nd Express Full Backup (11:00)
3rd Express Full Backup (11:30)
DPM Recovery Point Area
40. Efficient disk storage without duplication
To recover to: 11:00
Production Data
A
B
C
D
EF G
DPM Replica
H
I
J
K
L
M N O P QK B I D E J L H 8 Blocks Restored
Original Data (10:00)
1st Express Full Backup (10:30)
2nd Express Full Backup (11:00)
3rd Express Full Backup (11:30)
DPM Recovery Point Area
41. Efficient disk storage without duplication
To recover to: 10:00
Original Data (10:00)
1st Express Full Backup (10:30)
2nd Express Full Backup (11:00)
3rd Express Full Backup (11:30)
Production Data
A
B
C
D
EF G
DPM Replica
H
I
J
K
L
M N O P QA B C D E F G H 8 Blocks Restored
DPM Recovery Point Area
48. Recovering SharePoint Data
Recovery farm needed in some cases
Recovery farm web application must be named
“DPMRecoveryWebApplication”
Full farm recovery requires same farm
configuration
Caveats of SharePoint export/import
50. SQL Server Backups
250 GB of SQL Server databases
30
GB
15
GB
12
GB
18
GB
Assume 70%
compression
during backup
For 2 weeks:
75 GB x 14d = ~1 TB
100 GB 50 GB 40 GB 60 GB
51. DPM Backups
For 2 weeks:
250 GB + 375 GB = 625 GB
100 GB 50 GB 40 GB 60 GB
250 GB of SQL Server databases
10
GB
5 GB 4 GB 6 GB
Assume 10%
data change
rate per day
25 GB per day
x 13 days
52. DPM Backups
For 2 weeks:
250 GB + 168 GB = 418 GB
100 GB 50 GB 40 GB 60 GB
250 GB of SQL Server databases
5 GB 2.5
GB
2 GB 3 GB
Assume 5%
data change
rate per day
12.5 GB per
day x 13 days
53. Summary
DPM compliments the out of the box
backup and recovery tools, providing
simple, fast, and automated backup
and recovery
So lets take a look at a high level, the data flow of backups taken:1 – DPM requests backup by communicatingwith its agent which is installed on one of the SharePoint servers in the farm.2 – Agent uses referential SharePoint Writer to snapshot all farm content sources by invoking the SQL Server VSS Writer and other VSS Writers on remote servers.3 – Data is replicated back to the DPM server by using agents on remote servers.4 – We then have the SharePoint cataloguing activity takes place which is where up to dateinformation about SharePoint items is requested by DPM (at a later time) and sent back from SharePoint to enable item level restore.
Adding a DB/instanceImagine the scnarion where we add an additional content database…DPM will automatically detect this topology change when it makes its next request to the SharePoint VSS Writer and protect the new content at the next backup – assuming we had the agent deployed first as part of the server build process or pushed down through software distribution.
DPM identifies blocks that compose files. The DPM filter creates a volume map to monitor which disk blocks contain portions of the files to be protected.Volume bitmap lives in paged pool memory and includes one bit for every block on the protected volume – literally a 0 or 1 for every block on the disk that makes up one of the files that make up the data set. So now we have this volume bitmap and we know which blocks we are actually going to be interested in.
We see in the left hand corner a disk on a production box. Its 10:00 and the DPM agent simply monitors the disk blocks in real time – very efficient.
At 10:01 a disk write happens and 4 different disk blocks get updated. We flip those 4 bits inside our volume bit map so we know they have changed. The DPM agent does the flagging.
A few minutes later, another disk write happens, we flip more bits.
A few minutes later, another disk write happens, we flip more bits and this process will keep on going over and over. Now we know what blocks need to be synchronized to the DPM server at some future point in time.
So now its 10:30 and its time to do an express full backup. An express full is a block level synchronization of all the data that’s on the production server back to the DPM server and replica itself. The VSS writer helps ensure that the data is consistent and ready to be backed up. In addition, VSS provides the ability to have a “frozen” set of disk blocks (a shadow copy) while the production disk continues to service active I/O.This express full operation can be done as often a every 30 minutes (has to be at least once per week). Most customers will do it once per night in place of a traditional backup operation. However – since you can’t do transaction log sync with SharePoint, some customers may wish to do more.VSS is used to snapshot the volume and prevent changes whilst it is being synchronized, which may corrupt the backup. VSS doesn’t stop the snapped volume from running.
Now all it has to do is send those blocks to the DPM server.
In the meantime, File I/O continues.
VSS Snapshot is then released and the volume bitmap is reset ready to start again.
Lets take a look at how DPM recovers SharePoint data, through a number of different scenarios.
In the case of a CONTENT DB only:DBs are pushed straight down to the relevant server (assuming you chose to restore over an existing attached DB). A request to refresh the sitemap will be fired off to the SharePoint server.We can also choose to restore to a folder on one of our servers and not restore in-place in SQL – leaving the database unattached. Useful for example if the backup is old you don’t want version compatibility issues to occur at restore time
2010/2013Recovery at this level can be classed as item level recovery. In essence this is anything in the SharePoint object hierarchy that is stored within a SharePoint content database. Restoration of these items is only possible (in a supported manner) via the SharePoint Object Model. Whilst it is technically possible to extract these objects from content database and insert them into another, this may lead to corruption of the databases and related data and is therefore not supported. The DPM product team worked with the SharePoint product team to ensure this recovery scenario could be implemented in DPM in a way fully supported by SharePoint. As such, DPM uses the SharePoint Object Model when performing item level restores.Due to the unattached content database recovery features in SharePoint 2010 and 2013, we are able to connect to a database that is not part of the farm and export content from it. DPM is able to take advantage of this during it’s restore process. Let’s walk through that.DPM restores a copy of the relevant content database to a SQL Server instance [click], this does not have to be part of the farm – although in out case it is shown as being so. The database name has a random GUID appended to it, so you don’t need to worry about overwriting any production DBs.We then reach into the content database using the unattached content database data recovery functionality [click] and export the content out. A site collection backup if it is a site collection or a CMP package if it’s a web or below. [click] The content is then restored back in to SharePoint in the correct location.
DPM 2012 approachThis is in fact the way DPM 2010 did things – and whilst still there for fall-back, it is not the default in 2013. The problem with this approach is that even for a 10KB Word document, we may need to restore a 200GB content database from the DPM server to a SQL Server instance, before we can start recovery of the item.With DPM 2013, when recovery is initiated, the replica on the DPM server is exposed as a share. The remote SQL Server then remotely mounts the database from the share. There is no restore of the database required. The process for extracting content and importing it back to the production farm is then the same. This approach means DPM 2013 can recover content from large content databases within seconds.
Recovery farm approachThere is also another approach to consider. The previous approaches only apply when restoring content that is from the same SharePoint build that production is currently running. SharePoint does not allow you to import content that is from a different build.This means that if you have taken backups before you apply a SP or CU, recovery of content from these backups will be at a different build number. In order to be able to do a restore we need to get the content to the same build number. We do this by using a recovery farm [click]. The recovery farm approach allows the recovered content database to be upgraded during the attach to the recovery farm (which should be the same build as production at all times). The content will then be the same build.The objects are then exported to a content migration package [click] by using the SharePoint Object Model – the package is then copied over to the production farm automatically and [click] imported back into the correct content database.
70% compression best case scenario – more like 30% to 40% with SharePoint content databases because of the BLOBs