Dirty solution for solving slow cross-region SCCM CMG operating system deployment
3 min read
[This article is related to SCCM 2203]
If you are using SCCM CMG for operating system deployments (OSD) of your internet clients located across the globe, you have probably noticed that downloading the OS images or big packages can be super slow if your client is in a different region than your CMG.
For example, I have CMG placed in Europe but need to deploy OS to clients in Australia and it takes more than 12 hours just to download the OS image! So the chance that the internet connection will be lost or any other problem occurs and the whole OS deployment will fail is quite significant.
To solve problems with slow download speed, you cannot just create a second CMG in a problematic region (for me Australia) because internet SCCM clients choose randomly (Boundary Groups doesn't seem to work in OSD) the CMG to download the content from. Therefore you need to force the clients to use specific CMG 😎. But how?
As far as I know (please correct me in the comments if I am not 🙏) the only way is to distribute the content (OS Images, big packages, etc) just to this specific CMG distribution point.
So for my OSD problem, the solution looks like this:
- I have two CMGs. One in Europe and one in the Australian region
- I have two identical OS image items where the name suffix suggests to which CMG the image should be distributed (TIP: you can use the same OS image source folder for both items)
- Image with
EUsuffix has to be distributed to
- Image with
- I have a task sequence where I use the great UI++ tool for showing GUI with location selection that sets Task Sequence variable
- The variable
CMGLocationis then used for OS image selection. (you can simplify this step by using two Task Sequences)
- The variable
- I have two distribution point groups.
- The main one contains Europe CMG and on-premises distribution points (no Australian CMG there). And is used for almost all content.
- The second one contains just the Australian CMG. Therefore this one in our scenario contains only OS image for Australian clients.
This way Australian internet clients download all task sequence content from my main Europe CMG except the big OS image which goes from the Australian CMG.
The same principle (distribute content just to specific CMG) you can use for any big application, package, etc.
TIP: Other ways to do OSD across the internet
- You have app/package/OS images/Task Sequence duplicities which is always bad for manageability
- More CMGs cost more money
- Beware that any content the CMG hosts can be downloaded by any of your SCCM clients no matter which region they are placed (if you don't limit this using Boundary Groups but this doesn't seem to work during OSD). Therefore if you want to avoid problems with clients downloading content from your "remote and slow" CMG - don't distribute it there :)
Did you find this article valuable?
Support Ondrej Sebela by becoming a sponsor. Any amount is appreciated!