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:

6 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.

  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.

  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

Leave a Comment

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