You are here:   Research
  |  Login

Welcome to my blog, quickest way to find articles is usually to search for them.

Minimize
Search in All Title Contents
 
     

Setup Delivery Optimization (DO) for ConfigMgr Current Branch

Jun 22 2018

Here is a quick guide on setting up Delivery Optimization (DO) for a ConfigMgr environment.

Note: The setup is almost the same for non-ConfigMgr environments as well, most of the DO configuration is done via Group Policies.

 

Delivery Optimization Background

Delivery Optimization (DO) has been around since the very first versions of Windows 10, but it has not been until recently (ConfigMgr 1802) that you find some integration between DO and ConfigMgr. DO is used whenever Windows 10 updates any of it’s built-in universal apps, or when a user installs an application from either the Microsoft Store, or the Microsoft Store for Business. DO is also used for Software Updates when they are setup to use Express installation files. Phil Wilcock has great post about the Express installation files scenario here: https://2pintsoftware.com/configmgr-express-updates-deep-dive

Delivery Optimization is a peer to peer technology, meaning as soon as one Windows 10 client in a location got the content, it can share the content with other clients. Now, there is a ton of different configuration options for Delivery Optimizations, controlling how the peering works, the cache size allowed, and the bandwidth control. The options vary with the Windows 10 version. In general, as of now, I recommend you to be at least on Windows 10 v1709, but from a core DO point of view, you probably want to be on Windows 10 v1803. Microsoft has all options listed here, and in what version of Windows 10 each option is available: https://docs.microsoft.com/en-us/windows/deployment/update/waas-delivery-optimization

Like the BITS technology, Delivery Optimization also have the concept of foreground and background jobs. Foreground jobs in when a user starts a job, for example by installing an application from the Microsoft store. Background jobs are for example when Windows decides to update an application. In Windows 10 v1709 you can only set one bandwidth limit for both, but in Windows 10 v1803 you can configure bandwidth limits for background and foreground jobs independently.

Some nice features of DO is that is supports a distributed cache, meaning content is stored efficiently across multiple devices. It supports multitasking, as in support downloading from multiple sources, and it supports hybrid which means it can download from http and peer sources in parallel. Pretty cool.

 

Note: AFAIK, there are currently no third party solutions available that can do Delivery Optimization peering, meaning peering universal app downloads. You’re stuck with the native options for now.

 

Scenario

The scenario for this guide is that we have a distributed environment running ConfigMgr Current Branch, in this setup there are two sites connected with a limited WAN link. Internet access is provided via the WAN link to the main office only.

 

 

network
The network topology.

 

Step-by-step guide

For the the scenario in this guide, we want to make sure that no clients in Chicago are reaching over the WAN link for finding peer clients for DO content. The default behavior of DO is that all clients with the same public IP can share content, but since all clients in our environment have the same public IP, we’re using the group mode instead. Only allowing machines in Chicago share content with each other.

Setup the Group Mode

Configuring DO the use group mode is done via Group Policy, but there are two options to set the group ID, e.g. the identifier that we assign to each Chicago client. It can either be set ConfigMgr assuming you are on 1802 or later, and when you do that, you’re simply saying that all clients belonging to the same boundary group, have the same ID.

Note: For the group mode to work, all clients in the group must use the same NAT IP.

1. Configure the ConfigMgr Client Settings to set the Group ID

image
Client settings in ConfigMgr 1802 (or later) to use boundary groups as DO group ID.

 

image
The DO Group ID set to the boundary group in ConfigMgr, this is from one of the clients in the New York office.

  

image
The DO Group ID is set from the GroupGUID in the Boundary Group view.

   

Note: If using older ConfigMgr versions than 1802, or if you boundary groups doesn’t reflect your network topology, you can set the group id directly via group policy instead.

2. Create a GPO that configures the DO settings. In this example the download to the Chicago clients where limited to 256 KB/s (2 mbit)

GPO Settings for Windows 10 v1709:

  • Absolut Max Cache Size: 30
  • Allow uploads while the device is on battery while under set Battery level: 40
  • Download Mode: Group (2)
  • Group ID : <not configured, set via ConfigMgr Client Settings>
  • Max Cache Age: 0
  • Maximum Download Bandwidth (in KB/s): 256 (256 KB/s = 2 mbit)
  • Minimum Peer Caching Content File Size (in MB): 1
  • Minimum RAM (inclusive) allowed to use Peer Caching (in MB): 2

 

GPO Settings for Windows 10 v1803:

  • Absolut Max Cache Size: 30
  • Allow uploads while the device is on battery while under set Battery level: 40
  • Delay background download from http (in secs): 1200 (20 min)
  • Delay foreground download from http (in secs): 60 (1 min)
  • Download Mode: Group (2)
  • Group ID : <not configured, set via ConfigMgr Client Settings>
  • Max Cache Age: 0
  • Maximum Download Bandwidth (in KB/s): 256 (256 KB/s = 2 mbit)
  • Minimum Peer Caching Content File Size (in MB): 1
  • Minimum RAM (inclusive) allowed to use Peer Caching (in MB): 2

 

Note #1: A neat trick for those of you running Windows 10 v1803 or later is that you can set the “Select a method to restrict Peer Selection” group policy to subnet, making sure that only clients on the same subnet will peer content, even if they have the same NAT IP, or the same Group ID as everybody else. You need to set at least one Group ID for this to work. It can’t be blank.

Note #2: Again, If you don’t set the group ID via ConfigMgr, set your group ID directly in this GPO. You can generate a GUID easily via PowerShell: [guid]::NewGuid()

Note #3: Prior to June 20, 2018, DO wouldn’t cache files under 10 MB, even though you set it lower. It has been fixed now.

Note #4: Setting the background delay quite high (20 min) for Windows 10 v1803 seems to improve the P2P ratio quite a bit (only background since you probably don’t want users having to wait 20 minutes for foreground jobs, like when requesting an app from Microsoft store).

  

image    
Group policy used for Windows 10 v1803 clients, restricting the peering to local subnet.

  

Verification

To verify that DO works as expect you can use some of the the DO PowerShell cmdlets. Below you find some of the more useful DO cmdlets for Windows 10.

Windows 10 v1709

  • Get-DeliveryOptimizationPerfSnap
  • Get-DeliveryOptimizationStatus

Windows 10 v1803

  • Get-DeliveryOptimizationLog
  • Get-DeliveryOptimizationPerfSnap
  • Get-DeliveryOptimizationPerfSnapThisMonth
  • Get-DeliveryOptimizationStatus

  

image
Showing DO status for one of the downloaded files.

 

Happy Deployment, / Johan









Deployment News


Happy deployment, and thanks for reading!


What our lawyers makes us say:

This information is provided "AS IS" with no warranties, confers no rights and is not supported by the authors or Deployment Artist.

Copyright © 2017 by Deployment Artist (the company behind deployment research). All rights reserved. No part of the information on this web site may be reproduced or posted in any form or by any means without the prior written permission of the publisher.

Shorthand: Don't pass off our work as yours, it's not nice.

Blog Archive

Minimize




Where you can meet us!

Live Stream Recordings
ConfigMgr 1806 and W10 OSD

Windows 10 OSD Classes (US)
Nov 5, 2018, Phoenix, US
Dec 10, 2018, Chicago, US

Windows 10 OSD Classes (Europe)

Sep 4, 2018, Culemborg, The Netherlands

ConfigMgr CB Classes (US)
Aug 27, 2018, New York, US
Nov 12, 2018, San Diego, US

Video-based trainings
https://online.truesec.com
https://deploymentartist.com/Training/Videos

MDT, Windows 10 and ConfigMgr Books
http://deploymentartist.com/Books

Contact Info
http://deploymentresearch.com/theteam