I recently published an article on how to install a replica MP in a ConfigMgr 2012 environment. In this post I will be testing what is still operational with the replica MP still running and the site server or site database offline.
Environment
In my environment I have the following site systems:
Configmgr – ConfigMgr primary site server running – MP, DP, Endpoint Protection, DB, Reporting Services roles
ConfigMgr-002 – site system running – App Catalog web service, App Catalog website point, DP, SUP
ConfigMgrRMP – site system running – replica MP
Windows 10 client
Windows 7 client
Unknown Computer
Prior to each test I generated a snapshot from SQL Replication Monitor to ensure that my replica MP was up to date with all polices from the site server DB.
..and double checked that policies count matched on both site server and replica DB.
Since my Site Site and Site Database server ran on the same server I shut down the following to simulate down time:
- Site Server – All SMS Services and the IISAdmin service were stopped
- SQL Server – All SQL based services were stopped.
Scenario One – Software Distribution via Software Center
1) Site Server Offline
Just prior to taking my site server offline, I configured an installation of VLC Player and deployed to a collection containing my Window 10 client. I ensured that replication between the site server and replica MP DB had taken place. Then the site server services were stopped.
Powering up the Windows 10 client I can see that it has moved to my replica MP as the assigned MP in the Configuration Manager control panel applet
and checking the ClientLocation.log I can see the switch of assigned MP.
Policy has been applied according to the PolicyEvaluator.log
VLC Player has appeared as an ‘Available’ application in the Software Center – the application is targeted at my device rather than user remember.
Since my site server was down and I couldn’t access the ConfigMgr Console, I couldn’t amend my boundary group to remove the site server DP from the list of available DP’s. So I had to apply some DNS ‘magic’ to make my remote DP available. Check out WMUG friend and colleague Robert Marshall’s handy tip on how to achieve this if you want to speed things up a little and avoid an 8 hour wait http://wmug.co.uk/wmug/b/r0b/archive/2013/05/16/unsticking-clients-from-unavailable-distribution-points
Prior to adding the DNS change I was seeing the following in my DataTransferService.log, along with a Downloading 0% in the Software Center.
Once the changes had taken effect and retry occurred, the download and install of VLC Player began.
Hey presto! Policy is served, application is deployed and running with the site server down.
2) SQL DB Offline
I created another installation, this time 7-Zip 9.20 x64 and pushed out the deployment. I again checked that policies have replicated between DB & replica DB, to ensure that the number of items in dbo.Policy match. This means I should be have the application available to me if the site database is offline. To replicate this I have stopped the SQL services for my site database.
The Windows 10 device configured to receive the application had been powered off. Once fired up I checked that it connected to my replica MP and policy updated.
7-Zip became available in the Software Center
The application downloaded successfully.
..and also installed with success.
3) Conclusion
Installation of software to devices via the Software Center continues to function with either the Site Server or the Site Database offline. If any new packages were deployed to devices whilst those devices are offline, then they will receive the new deployment so long as site database and replica DB replicated prior to services going offline.
Scenario Two – Software Distribution via the Application Catalog
1) Site Server Offline
To test the Application Catalog functionality with the site server down, I have changed my deployment of VLC Player to be deployed against a user collection and targeted at my user account.
The site server services are made unavailable and the desktop device is picking up policy from the replica MP.
On loading the Application Catalog, the newly configured software is available to me.
After clicking ‘Install’ the application downloads and installs successfully.
2) SQL DB Offline
When the site database is offline the Application Catalog fails to load. The following error appears – ‘Cannot connect to the application server’
The error occurs because the Application Catalog attempts to connect to the site database server. The file web.config in the location \SMS_CCM\CMApplicationCatalogSvc, on the site system containing the App Catalog, contains a Connection String reference to the site database server.
I have changed the values in this config file in an attempt to force the Application Catalog to use the replicated DB on the replica MP server but it seems that either this does not work, or there is insufficient data in the replicated DB to run the App Catalog in this state (the replicated DB is not a full replication of the site database). With this in mind I have raised a feedback request on Connect and the new MS feedback site to see if Microsoft will allow for a change in site DB to the replica, and allow the re-pointing of the App Catalog to use this database.
3) Conclusion
Installation of software to user targeted collections will only work through the Application Catalog with the site server down. If the site server database goes offline then the Application Catalog goes down and no functionality exists. Therefore user centric deployments are impaired even with replica MP and DB in place.
Scenario Three – Operating System Deployment to Unknown Computer
1) Site Server Offline
With the site server online I have created boot media for my Task Sequence that will use the site systems with the roles offloaded from the site server – namely the DP and replica MP.
With the site server still online I have booted an unknown computer VM and ensured that it is being served policy by the replica MP. Indeed all deployments targeted at ‘All Unknown Computers’ are listed.
Next the site server SMS services were taken offline and the VM booted again to the Task Sequence environment. The policy for device is downloaded from the replica MP.
The list of available TS’s to the unknown computer is generated…
..and the build begins.
The device completes build and boots into Windows 8.1. It is assigned to the site CMR and is using the replica MP for policy. I have named the device Win81RMPTST.
However the only trace of the device in the ConfigMgr console is an unknown computer. It has failed to register properly with the site.
Checking the ClientIDManagerStartup.log on the device I can confirm that registration has not taken place. A repetition of the following messages occurs.
‘[RegTask] – Client is not registered. Sending registration request for GUID:3cb3379a-f8d3-4eb6-9372-457c2ab0501c …’ and ‘[RegTask] – Client registration is pending. Server assigned ClientID is GUID:3cb3379a-f8d3-4eb6-9372-457c2ab0501c’.
The MP_RegistrationManager.log on the replica MP also reports:
‘MP Reg: Did not find client(GUID:3cb3379a-f8d3-4eb6-9372-457c2ab0501c) public key. This may be because the client has not registered yet.’
When bringing the site server back online the pending client registration re-runs and is finally registered successfully.
The device is then present in the ConfigMgr console.
2) SQL DB Offline
With the SQL site database server offline, again policy is served to the unknown device via the replica MP.
The Windows 7 device build successfully. On completion a quick check of the ClientIDManagerStartup.log shows that the registration of the client is pending.
‘[RegTask] – Client is pending. Sending confirmation request for GUID:..’
When the site database server comes back online the registration takes place succesfully.
The device is then available in the ConfigMgr console.
3) Conclusion
Operating System Deployment to Unknown Computers is possible with replica MP’s in place if the site server or site database server are down. When either is offline the client will not register successfully until the site server or site database is back up and running when it will retry until successful.
Scenario Four – Operating System Deployment – Rebuild
1) Site Server Offline
With the device already registered with the site, I thought it would be interesting to see the behaviour of a rebuild of a device via OSD. Once again the client fails to register with the site and a recurring error of
‘[RegTask] – Client is not registered. Sending registration request for GUID:…’
occurs in the ClientIDManagerStartup.log. Once the site server is back online the client then succeeds in registering as expected
‘[RegTask] – Client is registered. Server assigned ClientID is GUID:’
2) SQL DB Offline
With the device already registered and the site database offline the device rebuilds but again complains that the device is not registered
‘[RegTask] – Client is not registered. Sending registration request for GUID:’
and that the request failed
‘RegTask: Failed to send registration request message. Error: 0x87d00231’.
The device was also given a new hostname rather than being rebuilt with the same hostname. What should have been Win71RMPTST became MININT-H4KJ3JF. Once the site database server comes back online the client registers
‘[RegTask] – Client is registered. Server assigned ClientID is GUID:144349f0-c520-4810-9c7c-366c0fc1d6f8. Approval status 0’
3) Conclusion
As with deployment to unknown computers, Operating System Deployment to a known computer is possible with replica MP’s in place if the site server or site database server are down. When either is offline the client will not register successfully until the site server or site database is back up and running when it will retry until successful.
Scenario 5 – Software Updates to a Desktop
Prior to the systems being taken offline the Windows 7 desktop has the following Software Updates targeted at it.
The Windows 7 device is shut down and the Software Update group is updated to contain further patches.
1) Site Server Offline
After powering up the Windows 7 device, policy was updated against the replica MP and a ‘Software Update Deployment Evaulation Cycle’ action was run.
Checking the UpdatesDeployment.log on the device I can see that evaluation has taken place and a further 123 updates are available to the Win 7 desktop.
Loading Software Center confirms the updates are available to install.
I have chosen to install KB2479943 for the purposes of the HA test.
After clicking ‘Install Selected’ the update installs successfully.
The update appears as installed in the Windows Update History.
2) SQL DB Offline
Prior to switching off the SQL services, the deployment of updates to the Win 7 device was deleted and a ‘Software Update Deployment Evaulation Cycle’ action was run. This reset the number of available updates for the machine back to 0.
Software Center reflected this.
The Windows 7 device was then shut down, the deployment recreated against the device, policies replicated between the site DB and the replica DB and the SQL services shut down.
Again the UpdatesDeployment.log reported that updates were available, this time 122 – since one update was installed in the previous test.
I selected KB2506014 and installed.
The update installed and required a restart.
After the restart the update reported as installed successfully.
3) Conclusion
With replica MP’s in place ConfigMgr is able to deploy Software Updates to a desktop device with either the site server or site database offline.
Findings
Note that the tests took place with the following roles off-loaded from the site server:
- Replica MP
- Distribution Point
- Application Catalog
- Software Update Point
The following table provides a summary of high availability in ConfigMgr with replica MP’s in place and roles offloaded from the site server.
Scenario | Site Server Offline | Site DB Offline |
Software Distribution via Software Center | Succeeds | Succeeds |
Software Distribution via the Application Catalog | Succeeds | Fails |
Operating System Deployment to Unknown Computer | Succeeds but client not registered until system back online | Succeeds but client not registered until system back online |
Operating System Deployment – Rebuild | Succeeds but client not registered until system back online | Succeeds but client not registered until system back online |
Software Updates to a Desktop | Succeeds | Succeeds |
Cudos….given the complexity of SQL and ConfigMgr. this is a solid piece of work.
Thanks for the kind words Rico
Great article, very helpful. Thankyou
Excellent and concise article, just what I needed!
Cheers Charsiu 😉
Hey man, great article, I’d also like to be able to redirect reporting services points to the replica’s as well as the application catalogs, so you can effectively create an almost fully functional node in a desired location and limit the communication to the site server to mostly site system traffic.
According to the product group SQL AAG sorts out the application catalog issue. I’m hoping to test this out at some point soon.
Hi, great write up (as usual!). Can i ask a further question please, regarding OSD to an unknown computer – If the client does not register I assume then that it becomes impossible to go further and install additional applications until the Primary Site Server and/or DB are back up and it can register and be put into Collections.
The reason for asking this is i am trying to figure out the best options in a DR/Business continuity scenario i.e. how to build unknown devices at a DR Site if the Primary Site Server/DB goes down and we have to move to the DR site. Thanks Aaron
Exactly Aaron, nothing further can be actioned until the site server is back up and running, at which point the client registration will take place. Lots of noise is taking place around primary site HA in SCCM Technical Previews as well that will make this sort of configuration (for HA purposes) redundant. Start to look at some of the options there as well, as well as SQL AAG.