none
Strange behavior with DPM 2012 End-User-Recovery RRS feed

  • Question

  • Hello everyone one,

    I've got a DPM 2012 R2 server (build 4.2.1473.0) running on the Windows server 2012 R2

    I've enabled End-User-Recovery on our file server in order to people to be able to restore files from previous versions.

    However, I've seen a strange yet annoying behaviors with a  "There are no previous versions available" when trying to restore a folder or file:

    I had an issue recently with this DPM feature when you right click on a folder from the file server and select "Restore previous versions" and go into the previous versions tab

    Some shares on the file server (Under 2008 R2) that are been backup do show all the previous versions for a given folder.

    but some other shares simply display nothing, as on the screenshot here

    On the left are the recovery points avalable from the DPM console on the DPM server

    On the right, it is the Windows displayed when I right click previous versions directly on the folder.

    I can't explain why no prévious versions come up!

    For other folders on the same file server, it does work well. AD and shares permissions are striclty the same on both folders.

    For example, on this folders, I do have the folder versions available: (left Windows are the recovery points from the dom console, on the right, the previous version available)

    If anyone have a piece of information on how to troubleshoot that, I'll take it.

    Thanks for your feedback


    • Edited by Evan BR Monday, December 19, 2016 12:25 PM
    Monday, December 19, 2016 11:04 AM

Answers

  • Hi,

    Juste to give an update as I found the solution!

    The problem was due to the facts I had a double entry MS-ShareMapConfiguration object for my production servers

    As you know, for each protected production server, there is an entry MS-ShareMapConfiguration container in the OU   DC=X, CN=System, CN=MS-ShareMapConfiguration

    where it defines the couple ms-production servers and backup-server to user for previous version recover

    So I had one object with the following attributs  like this for DPM2012R2

    and another one for DPM2010:

    So when looking for previous version on the share of a fileServer, it was looking for the snpashots on the  \\DPM2010-Server\Share instead of the snapshots on \\DPM2012R2-Server\Share

    To summarize, I had a DPM2010 server on my infrastructure that was decommisionned and a new DPM2012 R2 server was installed.

    Although DPM2010 was properly uninstalled, the old MS-ShareMapConfiguration objects linked to DPM2010 were still present

    Even if DPM2012R2 creates new objects MS-ShareMapConfiguration, it keeps the old entries of the previous dpm server unless you deleted them prior to the installation (which I did not do )

    In my case, i had to remove all entries pointing to the old dpm2010 server in CN=MS-ShareMapConfiguration,CN=System with that simple script

    import-Module ActiveDirectory
    
    $msShareMapobjList = Get-ChildItem "AD:\CN=MS-ShareMapConfiguration,CN=System,DC=X"
    $OldDPMServer = 'DPM2010Serverfqdn'
    
    
    foreach ($ADObj in $msShareMapobjList)
    {
    
     $ADObjExtAttribut = Get-ADObject $ADObj.distinguishedName -Properties * 
    
     $BackupServer  = $ADObjExtAttribut.'ms-backupSrvShare'
    
    
    # ms-backupSrvShare is named with the format \\DPMServerName\protectedServerName_Share
    # We just need to extract the DPMServerName for the attribut ms-backupSrvShare
    $BackupServer = $ADObjExtAttribut.'ms-backupSrvShare'.Split("\,")
    
        
    
        if ($BackupServer -eq $OldDPMServer )
        {
    
            write-host "msbackupSrvShare is " $ADObjExtAttribut.'ms-backupSrvShare' 
            write-host "ms-productionSrvShare is " $ADObjExtAttribut.'ms-productionSrvShare'
            write-host "name is " $ADObjExtAttribut.name
            write-host "Distinguishedname is " $ADObjExtAttribut.DistinguishedName
            write-host "----next"-ForegroundColor yellow
            write-host "  "
    
            Remove-ADObject -identity $ADObjExtAttribut.DistinguishedName
    
    
        }
    }


    • Edited by Evan BR Monday, March 20, 2017 10:29 AM update
    • Marked as answer by Evan BR Monday, March 20, 2017 10:29 AM
    Monday, March 20, 2017 10:27 AM

All replies

  • Hi,

    A couple of things to check.  The shares on the protected server should also be present on the DPM Server in the form of FQDN-PROTECTED-SERVER_SHARENAME.  On the protected server, run NET VIEW \\DPMSERVERNAME and see if the shares in question are listed.  If so, from windows explorer type \\DPMSERVERNAME to also list the shares, then right-click the share and look at properties, then previous versions.  It should list the previous versions for that share.  If the share on the DPM Server is missing, then that is something we have to investigate. 


    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, December 19, 2016 5:39 PM
    Moderator
  • Hi Mike,

    Ok, I've checked on the DPM server and shares are well listed.

    Right-cliking on a given share on DPM server does allow me to see all the previous versions available for the protected server.

    So on that screenshot, all previous versions are available on the \\DpmServer\FQDNProtectedServerName_ShareNAME

    However, If I go directly on the share of that server\ProtectedServerName\ShareNAME  , I don't see any versions available.

    So still blocked at the same point

    Regards

    PS: No volume Shadow Copy is activated on the File Server.


    • Edited by Evan BR Tuesday, December 20, 2016 2:31 PM
    Tuesday, December 20, 2016 2:25 PM
  • Hi,

    OK, this helps, it looks like the problem is in active directory.

    When a client machine accesses files under a protected share and looks for previous versions, the Client redirector looks for local shadow copies and if it finds any, populates previous versions from local disk.   If shadow copies are not enabled locally, the client then goes to active directory to see if there is a mapping for that share to a DPM share.  If not, no previous versions is shown.  If the AD mapping is present, the client is redirected to the DPM share, and gets a list of previous versions based on snapshots on the DPM Server.

      So, we have three things to check.

      1) DPM Share is created - Checked and is OK.
      2) AD entry for share mapping - Need to Check.

      Use the following cmdline to list the DPM Share to production server share mapping and see if the shares are listed properly.

      Replace the highlighted for your domain. The example is for domain X.Y

      dsquery  * cn=ms-sharemapconfiguration,cn=system,dc=X,dc=Y -attr ms-backupSrvShare ms-productionSrvShare

      3)  AD has proper permissions - need to check.

      Run AdsiEdit.msc

      You should check for the security settings under
      DC=X, CN=System, CN=MS-ShareMapConfiguration

      Right click on the MS-ShareMapConfiguration container and select properties (goto security tab).
      Ensure that the local system account for all DPM servers have been added


    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.

    Tuesday, December 20, 2016 5:36 PM
    Moderator
  • Hi Mike,

    Thanks for the feedback.

    However, when you mention: "Ensure that the local system account for all DPM servers have been added"

    What system account are you talking about? It is just the SYSTEM account? or a specific account?

    In the security tab of the MS-ShareMapConfiguration, I can see a account name "DPMSERVERNAME$" in it with special permissions?

    Is this the account you are talking about?

    Regards,

    Wednesday, December 21, 2016 4:52 PM
  • Hi,

    Juste to give an update as I found the solution!

    The problem was due to the facts I had a double entry MS-ShareMapConfiguration object for my production servers

    As you know, for each protected production server, there is an entry MS-ShareMapConfiguration container in the OU   DC=X, CN=System, CN=MS-ShareMapConfiguration

    where it defines the couple ms-production servers and backup-server to user for previous version recover

    So I had one object with the following attributs  like this for DPM2012R2

    and another one for DPM2010:

    So when looking for previous version on the share of a fileServer, it was looking for the snpashots on the  \\DPM2010-Server\Share instead of the snapshots on \\DPM2012R2-Server\Share

    To summarize, I had a DPM2010 server on my infrastructure that was decommisionned and a new DPM2012 R2 server was installed.

    Although DPM2010 was properly uninstalled, the old MS-ShareMapConfiguration objects linked to DPM2010 were still present

    Even if DPM2012R2 creates new objects MS-ShareMapConfiguration, it keeps the old entries of the previous dpm server unless you deleted them prior to the installation (which I did not do )

    In my case, i had to remove all entries pointing to the old dpm2010 server in CN=MS-ShareMapConfiguration,CN=System with that simple script

    import-Module ActiveDirectory
    
    $msShareMapobjList = Get-ChildItem "AD:\CN=MS-ShareMapConfiguration,CN=System,DC=X"
    $OldDPMServer = 'DPM2010Serverfqdn'
    
    
    foreach ($ADObj in $msShareMapobjList)
    {
    
     $ADObjExtAttribut = Get-ADObject $ADObj.distinguishedName -Properties * 
    
     $BackupServer  = $ADObjExtAttribut.'ms-backupSrvShare'
    
    
    # ms-backupSrvShare is named with the format \\DPMServerName\protectedServerName_Share
    # We just need to extract the DPMServerName for the attribut ms-backupSrvShare
    $BackupServer = $ADObjExtAttribut.'ms-backupSrvShare'.Split("\,")
    
        
    
        if ($BackupServer -eq $OldDPMServer )
        {
    
            write-host "msbackupSrvShare is " $ADObjExtAttribut.'ms-backupSrvShare' 
            write-host "ms-productionSrvShare is " $ADObjExtAttribut.'ms-productionSrvShare'
            write-host "name is " $ADObjExtAttribut.name
            write-host "Distinguishedname is " $ADObjExtAttribut.DistinguishedName
            write-host "----next"-ForegroundColor yellow
            write-host "  "
    
            Remove-ADObject -identity $ADObjExtAttribut.DistinguishedName
    
    
        }
    }


    • Edited by Evan BR Monday, March 20, 2017 10:29 AM update
    • Marked as answer by Evan BR Monday, March 20, 2017 10:29 AM
    Monday, March 20, 2017 10:27 AM