none
How to view the LDM database size RRS feed

  • Question

  • I suspect that I'll soon reach the 300 datasources limit on one of my DPM servers, but would like to get this confirmed. Is is possible to see this somewhere, or perhaps there is a powershell command for this? Does anybody know if this limit is increased in Windows Server 2012?

    Amir

    Tuesday, January 22, 2013 6:55 PM

Answers

  • Hi,

    The limit for LDM records has not changed in Windows server 2012.  To see how close you are to the LDM record limit, you can run these on the DPM Server.

    C:\Program Files\Microsoft System Center 2012\DPM\DPM\Temp>find /i "CheckLdmOccupancy" msdpm*.errlog

    ---------- MSDPM73.ERRLOG
    1198    0BB8    01/16   23:29:04.487    16      engineservices.cpp(463)         6837C0A9-618B-4535-B50F-2B6EF3EA0630    NORMAL  CEngineServices::CheckLdmOccupan
    cyAndAlert called with arguments (6, 1)
    1198    0BB8    01/16   23:29:04.518    13      ReplicaAreaSetManager.cs(245)                   NORMAL  CheckLdmOccupancy returned [LdmOccupancyWithinLimits]; C
    urrentOccupancy=[0%], LdmWarningThreshold=[75%], LdmErrorThreshold=[90%]

    C:\Program Files\Microsoft System Center 2012\DPM\DPM\Temp>find /i "CurrLdmEntries" msdpm*.errlog

    ---------- MSDPM72.ERRLOG
    1198    0484    01/15   23:50:09.872    13      ReplicaAreaSetManager.cs(94)                    NORMAL  Updated LDM cache; nMaxLdmEntries=[2960], nCurrLdmEntrie
    s=[62]
    1198    0EA8    01/16   02:04:55.441    13      ReplicaAreaSetManager.cs(94)                    NORMAL  Updated LDM cache; nMaxLdmEntries=[2960], nCurrLdmEntrie
    s=[68]


    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, January 22, 2013 7:20 PM
    Moderator
  • Hi,

    DPM co-location has not changed since it was first introduced in DPM 2010.  Read these to help understand some if the limitations / gotcha's.

    BLOG-About DPM2010 scalability and new features
    http://blogs.technet.com/b/dpm/archive/2010/02/26/about-dpm2010-scalability-and-new-features.aspx

    Moving Between Co-Located and Non-Co-Located Protection Groups
    http://technet.microsoft.com/en-us/library/ff399045.aspx

    Protect, Unprotect, Protect, Unprotect – Understanding how DPM 2010 retention works
    http://blogs.technet.com/b/dpm/archive/2010/11/03/protect-unprotect-protect-unprotect-understanding-how-dpm-2010-retention-works.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.

    • Marked as answer by Jaan Meijer Tuesday, February 12, 2013 7:42 AM
    Monday, February 11, 2013 6:00 PM
    Moderator
  • Any time you add, remove, or change data sources, the ldm occupancy will be calculated. The most recent log is always *curr.errlog, so that would represent the most current number.

    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.


    Saturday, March 16, 2013 2:09 PM
    Moderator

All replies

  • Hi,

    The limit for LDM records has not changed in Windows server 2012.  To see how close you are to the LDM record limit, you can run these on the DPM Server.

    C:\Program Files\Microsoft System Center 2012\DPM\DPM\Temp>find /i "CheckLdmOccupancy" msdpm*.errlog

    ---------- MSDPM73.ERRLOG
    1198    0BB8    01/16   23:29:04.487    16      engineservices.cpp(463)         6837C0A9-618B-4535-B50F-2B6EF3EA0630    NORMAL  CEngineServices::CheckLdmOccupan
    cyAndAlert called with arguments (6, 1)
    1198    0BB8    01/16   23:29:04.518    13      ReplicaAreaSetManager.cs(245)                   NORMAL  CheckLdmOccupancy returned [LdmOccupancyWithinLimits]; C
    urrentOccupancy=[0%], LdmWarningThreshold=[75%], LdmErrorThreshold=[90%]

    C:\Program Files\Microsoft System Center 2012\DPM\DPM\Temp>find /i "CurrLdmEntries" msdpm*.errlog

    ---------- MSDPM72.ERRLOG
    1198    0484    01/15   23:50:09.872    13      ReplicaAreaSetManager.cs(94)                    NORMAL  Updated LDM cache; nMaxLdmEntries=[2960], nCurrLdmEntrie
    s=[62]
    1198    0EA8    01/16   02:04:55.441    13      ReplicaAreaSetManager.cs(94)                    NORMAL  Updated LDM cache; nMaxLdmEntries=[2960], nCurrLdmEntrie
    s=[68]


    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, January 22, 2013 7:20 PM
    Moderator
  • Hello Mike,

    Thank you for the information. Helpful as always! :) Just another question, the "nMaxLdmEntries" value is 2960 according to above, but I thought the max. value was 300? I suppose the "ReplicaAreaSetManager.cs" value is the current no. of both replica/recovery point volumes in the LDM?

    Amir


    • Edited by Jaan Meijer Wednesday, January 23, 2013 8:48 AM
    Wednesday, January 23, 2013 8:28 AM
  • Hi,

    Those are LDM records, each volume created takes minimum of 3 LDM records.  So 300 datasources = 600 volumes * 3 = 1800 LDM records.


    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, January 23, 2013 2:52 PM
    Moderator
  • Hello Mike,

    This server currently holds a lot of SQL data, but as far as I can see it's not co-located on disk. I guess co-locating the SQL volumes would improve the entire situation? The server will also be upgraded from DPM 2010 to DPM 2012 SP1 soon - any improvements regarding the co-location feature? Is there any disadvantages by co-locating data generally?

    /Amir

    Monday, February 11, 2013 10:46 AM
  • Hi,

    DPM co-location has not changed since it was first introduced in DPM 2010.  Read these to help understand some if the limitations / gotcha's.

    BLOG-About DPM2010 scalability and new features
    http://blogs.technet.com/b/dpm/archive/2010/02/26/about-dpm2010-scalability-and-new-features.aspx

    Moving Between Co-Located and Non-Co-Located Protection Groups
    http://technet.microsoft.com/en-us/library/ff399045.aspx

    Protect, Unprotect, Protect, Unprotect – Understanding how DPM 2010 retention works
    http://blogs.technet.com/b/dpm/archive/2010/11/03/protect-unprotect-protect-unprotect-understanding-how-dpm-2010-retention-works.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.

    • Marked as answer by Jaan Meijer Tuesday, February 12, 2013 7:42 AM
    Monday, February 11, 2013 6:00 PM
    Moderator
  • Hello Mike,

    This is a bit strange...I've recently cleared hundreds of non-colocated SQL databases from the DPM-server, but in spite of this the LDM entries seems to be exactly as many as before the removal of these databases. Also the size of the LDM database is unchanged. How come?

    /Amir

    Thursday, March 14, 2013 12:52 PM
  • Hi,

    If the DB's were not all co-located on the same replica volume, and only one SQL DB remains on a replica, then we cannot remove the replica volume to free up the LDM records.

    These two powershell scripts will give you a better sense of what volumes consume the most LDM records and what data sources are co-located together on the same replica so you know what needs to be dome to free some up.

    http://blogs.technet.com/b/dpm/archive/2010/03/30/what-volume-to-migrate-first.aspx

    Also run the following to list co-located data sources.

    # Get datasource path for co-located data sources
    # Where protectiongroupname = the protection group you want to get information for.
    # DataSources on the same replicaPath (volume GUID) are co-located.


    $pg = get-protectiongroup (&hostname) | ? { $_.friendlyname -eq '<protectiongroupname>'}
    get-datasource $pg  | sort-object -property replicapath | ft replicapath, name, diskallocation -AutoSize


    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.

    Thursday, March 14, 2013 2:49 PM
    Moderator
  • OK, I've run the script above and after moving one of the volumes, it seems as if the LDM entries decreased with almost 25%. Another question about the find /i "CurrLdmEntries" msdpm*.errlog": I have plenty of errorlogs in the Temp directory, and I guess it's the msdpmcurr.errlog that contains the most recent info about the LDM entries? Is it safe to delete the other error logs? I also run find /i "CheckLdmOccupancy" msdpm*.errlog in order to view the current LDM database size, but it shows 0% for some reason:

    ---------- MSDPMCURR.ERRLOG
    1AC8    1AF4    03/15   09:10:08.736    16      engineservices.cpp(462)
    5B8CD7BB-74FE-42EA-9160-845853ECA242    NORMAL  CEngineServices::CheckLdmOccupan
    cyAndAlert called with arguments (0, 0)
    1AC8    1AF4    03/15   09:10:09.139    13      ReplicaAreaSetManager.cs(245)
                    NORMAL  CheckLdmOccupancy returned [LdmOccupancyWithinLimits]; C
    urrentOccupancy=[0%], LdmWarningThreshold=[75%], LdmErrorThreshold=[90%]
    1AC8    1AF4    03/15   09:15:40.785    16      engineservices.cpp(462)
    AC7A881E-008E-4A2B-9356-2B26E3BD9159    NORMAL  CEngineServices::CheckLdmOccupan
    cyAndAlert called with arguments (0, 0)
    1AC8    1AF4    03/15   09:15:41.176    13      ReplicaAreaSetManager.cs(245)
                    NORMAL  CheckLdmOccupancy returned [LdmOccupancyWithinLimits]; C
    urrentOccupancy=[0%], LdmWarningThreshold=[75%], LdmErrorThreshold=[90%]
    1FA0    1E50    03/15   10:40:01.815    16      engineservices.cpp(462)
    7ADA87A0-DCFC-4BA6-AD67-C6AF13630B60    NORMAL  CEngineServices::CheckLdmOccupan
    cyAndAlert called with arguments (0, 0)
    1FA0    1E50    03/15   10:40:02.136    13      ReplicaAreaSetManager.cs(245)
                    NORMAL  CheckLdmOccupancy returned [LdmOccupancyWithinLimits]; C
    urrentOccupancy=[0%], LdmWarningThreshold=[75%], LdmErrorThreshold=[90%]

    /Amir

    Friday, March 15, 2013 12:11 PM
  • Hi,

    It seems that the CurrentOccupancy is very low from a percentage point of view, thus the 0%, so use this query to get the absolute number of records in use.

    find /i "nCurrLdmEntries" msdpm*.errlog


    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.

    Friday, March 15, 2013 2:44 PM
    Moderator
  • Thank you for your reply. However, this doesn't make any sense to me as there are plenty 80-90 msdpm*.errlog files, and each of them report a different number of LDM entries. How do I know which one of the log files that reports the real value?

    /Amir

    Saturday, March 16, 2013 8:26 AM
  • Any time you add, remove, or change data sources, the ldm occupancy will be calculated. The most recent log is always *curr.errlog, so that would represent the most current number.

    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.


    Saturday, March 16, 2013 2:09 PM
    Moderator
  • Great Mike, that confirms my thoughts about this. All these logs - could I safely delete them or should I just let them be?

    /Amir

    Sunday, March 17, 2013 3:02 PM
  • Hi,

    They should be overwritten, but you can delete all the .errlog files, however they will accumulate again.


    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.

    Sunday, March 17, 2013 9:03 PM
    Moderator