Move the content library to a remote location

This week is all about moving the content library to a remote location in Configuration Manager, version 1806. Moving the content library to a remote location is an important step in making a Configuration Manager hierarchy high available. Configuration Manager, version 1806, introduced site server high availability for a standalone primary site server role by installing an additional site server in passive mode. To complete that high available configuration it’s also smart to move the content library to a remote location. That will make sure that the content library is still available when the active site server went down. This post will provide the prerequisites for moving the content library, the steps to move the content library and the flow when moving the content library.

Prerequisites

Before actually moving the content library to a remote location, make sure that the following prerequisites are in place:

  • Create a folder on a network share that will be used as the location for the content library;
  • Provide the site server account with read and write permissions to the created folder;
  • Make sure that the site server doesn’t have the distribution point role.

Move content library

Now let’s have a look at actually moving the content library. This action is actually relatively simply and can be achieved by performing the following four steps.

1 Open the Configuration Manager administration console and navigate to Administration > Overview > Site Configuration > Sites;
2

Select the site and click Manage Content Library on the Site section of the Home tab, to open the Manage Content Library dialog box;

Note: The option will be grayed out when the site server has the distribution point role.

3

CM_MCL-NewLocationOn the Manage Content Library dialog box, provide the just created new folder and click Move;

Note: The Current Location will be empty when the current content library is divided on multiple disks.

Important to mention is that this action actually only copies the content library to the specified remote location. It doesn’t remove the content library from the old location. That would be a manual action.

Follow the flow

Let’s end this post by following the flow through the main log files and the Configuration Manager administration console. In my opinion always the most interesting part. I would like to divide this into three sections, 1) the actual trigger of the move content library action, 2) the start of the copy content action and 3) the end of the copy content action.

The trigger

The trigger of the action to move the content library to a remote location is logged in SMSProv.log. That log file shows the execution of the SetContentLibraryLocation method of the SMS_Site class. That method can also be used for automation with PowerShell. CM-MCL-SMSProvlog

The start

CM_MCL-StatusPercentage

The actual start of the action to move the content library to a remote location is logged in distmgr.log. That log file shows the source and destination location followed by the status of the action. It also shows that it will update the information in the Configuration Manager administration console, which is also shown above. At this point the location in the console is still the current location.

CM-MCL-distmgrlog

The end

CM_MCL-StatusPercentage-done

The end of the action to move the content to a remote location is also logged in distmgr.log. That log file shows that after the content is copied, the content will also be validated and once that’s completed it will state that the action is completed. It also shows that it updated the information in the Configuration Manager administration console, which is also shown above. At this point the location in the console is the new location.

CM-MCL-distmgrlog-done

More information

More information about the content library and the flowchart for managing content, please refer to the following articles:

25 thoughts on “Move the content library to a remote location”

  1. There is an issue with the permissions when you move your content library to a remote share, when you create any new packages/applications/etc, it successfully creates a folder and .ini file inside the DataLib directory, however it strips off the permissions of the actual .ini file inside the reference folder.
    This file has inheritance turned on, but only has the remote servers ‘Administrators’ and ‘Users’ group as rights. This would normally be fine when the content was stored locally on the primary site, however now that it is on a remote storage, this will result in the configmgr instance failing to gather and deploy content from this location.
    The potential work around is to ensure your primary site computer account is included in the remote server being used for the shares local groups. But beware situations where this is not possible.

    Reply
  2. In addition to my comment above, after logging a premiere support ticket with Microsoft over the issue, it appears the permissions being set on the file is by design for legacy reasons for content on the distribution points, however it is applying to the primary site content library as well. There is a setting within the admin console that allows you to add an AD group to the permissions, however it is a setting PER app/package/driver/etc, which is not feasible to manage large scale. There is a ticket in for this to be fixed, or the ability to set it globally in a hotfix.

    Reply
  3. G’day Peter,

    Well written article!
    I haven’t had luck moving content library to DFS Namespace with replication enabled. Do know if this is supported? Any suggestions is appreciated. I would like to move content library to DFS for high availability too.

    Thanks,
    Chris

    Reply
  4. Hi Peter,
    Nice organized article,
    When I try “Manage Content Library” I find Current Location is empty, although Content Library is located on single Disk where SCCM installed,
    What can be the issue and how to troubleshoot it?

    Reply
  5. Does anyone know what ports are required to be open between the site server and the remote content library and remote package share? I am in the process of configuring this however I need to document the ports required. Any help is appreciated?

    Reply
  6. Hi Peter,

    You say for the content library to be moved you have to make sure the site server does not have the distribution point role installed. But in a single server hierarchy the primary site server always has that role installed. How are you to perform this process in that case?

    Regards,
    Eha

    Reply
  7. Hi Peter,
    Perfect article,
    When I try “Manage Content Library” I have Current Location is empty and “Invalid location” error for any path in New Location.
    Content Library is located on single Disk where SCCM installed. No DP on site server.
    What can be the issue and how to troubleshoot it?

    Reply
  8. I have the exact same issue as Andrew:

    ‘When I try “Manage Content Library” I have Current Location is empty and “Invalid location” error for any path in New Location.
    Content Library is located on single Disk where SCCM installed. No DP on site server.’

    I have two servers: primary site server without DP role, and a DP server. My primary site server’s Content Library is using 750 GB of space, while the sum of all my content is only about 400 GB. All my content is on the DP server.

    Peter, does this issue make sense to you? I think my site server used to have the DP role on it, but it does not any more. Any idea how to go about cleaning up the content library on the site server without the DP role installed? It seems to me the Content Library Cleanup/Transfer tools won’t help and I am out of ideas!

    Reply
  9. Hi Peter

    Thank you for your article, I found that the level of detail provided was very useful.

    I had the same issue as Paul and found that the New Location required a sub-folder after the share name before it would allow me to proceed, the Current Location remained greyed out.

    Reply
  10. Hi Peter,
    thank you for the informative article.
    One additional question, is it possible to do this action during the normal working time or do we have to plan a downtime? I tried it already on our test environment and the copy action lasted 2 hours. If we scale the size of this contentlib to the one of our productive environment we would need something about 8 hours oO.
    Regards, Marc

    Reply
  11. Hey. I made a mistake in typing the destination.
    in distrmgr.log it said it could not reach the destination and it would try in an hour.
    I filled in the correct destination, by moving it again and after an hour it went to the correct one.

    Just leaving this here for people with the same issue 🙂

    Reply
    • thank you Peter van der Woude for the write up on informative article on – transferring ContentLibrary to remote server.

      Thank you for this confirmation Martijn. In my case, I provided the new path initially (which was wrong UNC Path – a NAS server). More than a day passed, then, later I provided the correct UNC Path (a regular server file share), more than a day passed, but the logs are still showing the old wrong UNC path (the NAS server) being used by the “Manage Content Library” transfer process. It is not switching to the new provided correct UNC path – (a regular server file share). Don’t know why or how long will I have to wait.

      Reply

Leave a Reply to Paul Cancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.