Configuring BranchCache on Windows Server
Last updated
Last updated
In order for clients to be able to use BranchCache when downloading content from Configuration Manager distribution points (DPs), BranchCache must be enabled in Windows as well as Configuration Manager.
In the Configuration Manager console, open the Administration workspace and expand Site Configuration and select Servers and Site System Roles. Select which Distribution Points you want to enable and open the Distribution point Properties. Under the "General" tab, choose the option: Enable and configure BranchCache for this distribution point.
Enabling BranchCache on a distribution point will also install the feature in Windows. You can check the status of BranchCache on a given client by running the following PowerShell command:
You can also enable BranchCache on a DP using PowerShell by connecting to PowerShell via the Configuration Manager Console and running the following command:
Note: If you are using more than one DP, the BranchCache 'Server Secret' is the same on each of them. The 'Server Secret' is stored in the registry:
HKLM:\Software\Microsoft\Windows NT\CurrentVersion\PeerDist\SecurityManager\Restricted
Value: Seed
If you have configured BranchCache functionality using the ConfigMgr UI then the same server secret will be automatically seeded across DPs.
BranchCache can be enabled in Windows by using the "Programs and Features" applet in Control Panel or by running the following PowerShell command:
On a CM distribution point you might want to move the location of the local BranchCache cache folder. For example, to change the location of the local cache folder to D:\BranchCache\Localcache, create the folder structure and run the following command:
To change the size of the local cache folder, see the following command:
At this point it is worth mentioning Data Deduplication and its interoperability with BranchCache. Data deduplication is a server operating system feature that can help reduce redundant data and optimize free space. Dedup accomplishes this task by breaking files into chunks and then identifying unique chunks. While this is happening, a hash is created to act as a fingerprint for the chunks of data. Where this gets interesting is that dedup and BranchCache use the same hashing algorithm. This means that on a dedup enabled file server or Distribution Point, the CPU intensive file deduplication and chunk (segment) hash calculations are done by the dedup engine which runs on a scheduled basis. When a client requests the CI’s for a download the BranchCache engine can grab the Segment Hashes and only has to perform the Server Secret calculations before forwarding to the client. This helps to avoid time out issues and allows the CPU intensive workload to be scheduled outside core business hours.
Here at 2Pint Software we strongly recommend that customers enable Data Deduplication not just for the reasons given above but also for the core dedup efficiencies realized through reduced network traffic and storage requirements.
The following PowerShell script can be used to enable Dedup on a distribution point. Please note the $dedupVolume variable should be edited to match the drive letter specific to your DP.