none
Question on DPM consistency checks RRS feed

  • Question

  • Hi

    I have some general questions regarding DPM consistency checks.

    I understand the concept of initial replications in order to obtain a copy of the data to be protected on the DPM server.

    I also understand the concept of synchronization to the replica. Data that has changed on the protected member needs to be "updated" on the DPM's replica - that is where synchronization frequencies come in place.

    I am however a tad confused as to how consistency checks fits into the picture. To my understanding, DPM checks the source data of the protected member and compares it to its replica to ensure they are matched (correct?). How is this different to a normal synchronization then? I mean a normal synchronization surely also checks the source and replica and transfers only the changed blocks over to the replica to make the replica "consistent"? Or is this a case of that consistency checks are "verifying" that synchronizations are done correctly and that everything is OK (double-checking it basically)?

    When creating a protection group, I am presented with one of two options:

    (1.) Run a consistency check if a replica becomes inconsistent

    (2.) Run a daily consistency check to the following schedule

    The 1st options says: "Run a consistency check if a replica becomes inconsistent". If I understanding it the description correctly, it is telling DPM to ONLY run a consistency check, once it realizes/determines that the replica is inconsistent. How does DPM then know that the replica is inconsistent in the 1st place?

    Lastly, If one were to run a consistency check on a schedule:

    * What would be a good indicator or average of what I need to set this to?

    * As this consistency check uses resources (CPU & RAM) of the protected member, it obviously should not run during business hours. But if you run it after-hours, won't it clash with backup jobs that may be running? Should one try to schedule them to run just before and/or after backup jobs then instead?

    Many thanks.

    Regards,

    CTV

    Tuesday, May 22, 2012 3:53 PM

Answers

  • Hi,

    A synchronization only brings over changed blocked between sync times.  I has no knowledge of any blocks that may be different in blocks it's not transferring.  CC checks every file in a 2 steps process.  A lightweight comparison of file metadata to see what files may be different, then a heavyweight comparison of the files data to correct differences.

    Inconsistencies occur for two reasons.  The filter driver on the protected server loses track of block level changes (maybe a system crash, or unexpected cluster failover) or a Sync failed in the middle and we could not update the replica.

    The first CC option will run an immediate CC when we detect the replica is inconsistent.
    The second option will check to see if a replica is inconsistent at a certain time, and only run a CC if it is inconsistent.

    There is no downside to selecting both because if option 1 fails the CC, let’s say the machine went down for an hour, and the auto-CC also failed, we will not retry another CC until the scheduled one later in the day or night. In the meantime all Synchronizations will fail.

    You can tweak auto CC to retry more than once.

    BLOG-How to use and troubleshoot the Auto-heal features in DPM 2010
    http://blogs.technet.com/b/dpm/archive/2011/06/06/how-to-use-and-troubleshoot-the-auto-heal-features-in-dpm-2010.aspx


    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread. Regards, Mike J. [MSFT] This posting is provided "AS IS" with no warranties, and confers no rights.

    Wednesday, May 23, 2012 4:12 PM
    Moderator

All replies

  • Hi,

    A synchronization only brings over changed blocked between sync times.  I has no knowledge of any blocks that may be different in blocks it's not transferring.  CC checks every file in a 2 steps process.  A lightweight comparison of file metadata to see what files may be different, then a heavyweight comparison of the files data to correct differences.

    Inconsistencies occur for two reasons.  The filter driver on the protected server loses track of block level changes (maybe a system crash, or unexpected cluster failover) or a Sync failed in the middle and we could not update the replica.

    The first CC option will run an immediate CC when we detect the replica is inconsistent.
    The second option will check to see if a replica is inconsistent at a certain time, and only run a CC if it is inconsistent.

    There is no downside to selecting both because if option 1 fails the CC, let’s say the machine went down for an hour, and the auto-CC also failed, we will not retry another CC until the scheduled one later in the day or night. In the meantime all Synchronizations will fail.

    You can tweak auto CC to retry more than once.

    BLOG-How to use and troubleshoot the Auto-heal features in DPM 2010
    http://blogs.technet.com/b/dpm/archive/2011/06/06/how-to-use-and-troubleshoot-the-auto-heal-features-in-dpm-2010.aspx


    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread. Regards, Mike J. [MSFT] This posting is provided "AS IS" with no warranties, and confers no rights.

    Wednesday, May 23, 2012 4:12 PM
    Moderator
  • Hi, Mike (or whoever can help!),

    I have the same question as CTV.  I understand the difference between "run a consistency check if a replica becomes inconsistent" and "run a daily consistency check according to the following schedule".  But my question is -- when/how does DPM determine if a replica becomes inconsistent in the first place?  If, for a protection group, I have 3 recovery points per day and synchronization every 15 minutes, how often/when/how will DPM be checking for inconsistent replicas?

    Thanks,
    Casie

    Tuesday, August 13, 2013 10:57 PM
  • Hi,

    For the two options:

    "run a consistency check if a replica becomes inconsistent" 

    A replica can only become inconsistent if a synchronization, or express full job fails, or if block level tracking fails on the protected server. When one of these occur and a replica is marked inconsistent, an alert is raised and DPM Access Manager service will schedule a CC if you have this option checked.  

    If you create a custom filter and look at just synchronization and recovery point jobs, you will see that inconsistent replica can only occurs after one of these jobs fails.

    "run a daily consistency check according to the following schedule"

    DPM simply runs a query at the time you specified looking to see if any replica volumes are marked inconsistent and schedules a CC. 


    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread. Regards, Mike J. [MSFT] This posting is provided "AS IS" with no warranties, and confers no rights.

    • Proposed as answer by Casie Owen Thursday, August 15, 2013 4:36 PM
    Tuesday, August 13, 2013 11:39 PM
    Moderator
  • Mike,

    Since your response was so helpful, I have another question for you. 

    We have

    DPM 1 and DPM 2 in different regions in the world, but in the same AD domain.  Each DPM server is pulling backups from servers in its own region.  DPM 2 is DPM1's chained server (so, in addition to pulling backups from it's own region's servers, it is also backing up DPM 1).  I'm now trying to set up a chained / backup server for DPM 1.  Ideally, I would like to set DPM 2 up to do that, but when I go to configure a protection group on DPM1 (to include DPM2), DPM 2 is not in the list of available servers, and I don't see a way to add it manually.  I tried a manual install of the DPM protection agent ON DPM 2 (net use on dpm 1, browse to DpmAgentInstaller_x64.exe, then run that with the <servername> qualifier), but I get "Protection agent cannot be installed on machine where DPM is installed." 

    Any thoughts?  Obviously, I could use another server entirely, but would like to avoid that.

    Also, this is all DPM 2010.

    Thanks in advance!

    Monday, September 9, 2013 9:48 PM
  • Hi,

    You just use the DPM GUI and install the agent from DPM1 to DPM2.   Each DPM Server already has a DPM agent physically installed, so installing VIA the GUI just tweaks some SQL DB tables and updates DCOM to allow the DPM Servers to communicate.  Once the agent installation completes, you will see the DPM server when you make a new PG.

    Setting up DPM Chaining
    http://technet.microsoft.com/en-us/library/gg410636.aspx


    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread. Regards, Mike J. [MSFT] This posting is provided "AS IS" with no warranties, and confers no rights.

    Monday, September 9, 2013 10:15 PM
    Moderator