Maintenir WSUS et Software Updates Point dans Configuration Manager

Il est possible de constater un certain ralentissement lors des synchronisations des mises à jour dans System Center Configuration Manager (SCCM, Version 1802) via WSUS.

Dans Monitoring > Software Update Point Synchronization Status, l’erreur 0X80131509 peut apparaĂ®tre :

Il semblerait que cela soit dû à une perte de connexion à la base de données.

Dans cette architecture, le serveur SCCM01 se connecte à Microsoft Update tandis que le serveur SCCM02 dispatche les mises à jour. Le rôle WSUS est installé sur SCCM01 et SCCM02. La base de données SQL dédiée est sur une machine distante.

Sur WSUS, les statistiques sont les suivantes :

Presque 17 000 mises Ă  jour refusĂ©es sont prĂ©sentes dans la base de donnĂ©es SQL. Aucune maintenance n’a Ă©tĂ© effectuĂ©e depuis l’installation. L’objectif est maintenant de nettoyer autant que possible les « anciennes » mises Ă  jour poussĂ©es sur WSUS et qui rend les synchronisations lentes au point de provoquer des temps d’arrĂŞt (timeout).

Dans Server Manager > Windows Server Update Services, dans Options, sélectionner Server Cleanup Wizard :

5 options sont disponibles :

  • Unused updates and update revisions
  • Computers not contacting the server
  • Unneeded update files
  • Expired updates
  • Superseded Updates
Il est recommandĂ© de ne selectionner qu’une option après l’autre dans le cas oĂą aucune maintenance n’ait jamais Ă©tĂ© effectuĂ©e. Il est prĂ©fĂ©rable Ă©galement de commencer par les 4 dernières options avant de finaliser par la première.
Une fois les 4 dernières options passĂ©es, sĂ©lectionner l’option Unused updates and update revisions et suivant le nombre important de mises Ă  jour et de rĂ©visions, il est possible d’avoir un message d’erreur qui apparaisse :

Cela affichera Error: Database Error
Cela est dĂ» Ă  la limite du temps de traitement du serveur SQL provoquant un temps d’arrĂŞt (timeout).
Afin de pallier temporairement cette limite de temps, il suffit de changer la valeur dans les propriétés du serveur SQL.
Depuis l’onglet Properties de la base SQL hĂ©bergeant le serveur WSUS :
Il suffit de changer la valeur Remote query timeout de 600 (valeur par défaut) à 0 afin de ne pas avoir de coupure lors du traitement de la requête :
Avant de relancer l’opĂ©ration, il est important de rĂ©indexer la base de donnĂ©es WSUS. Un script nommĂ© WsusDBMaintenance.sql est disponible sur Technet : https://gallery.technet.microsoft.com/scriptcenter/6f8cde49-5c52-4abd-9820-f1d270ddea61

Il suffit alors de l’exĂ©cuter avant de poursuivre la dernière opĂ©ration. Il se peut que d’autres coupures rĂ©apparaissent. Cliquer sur Reset Server Node et relancer Ă  nouveau le processus.

Une fois terminée, le bilan du nettoyage apparaît :

Bilan :
  • Avant :
    • Declined updates : 16971
  • Après :
    • Declined updates : 1049
J’ai pu supprimer près de 16000 « declined updates », ce qui correspond Ă  environ 8 Go dans la base SQL.
Chaque tâche de maintenance est aussi disponible avec la commande PowerShell Invoke-WsusServerCleanup :
  • Unused updates and update revisions :
    • -CleanupObsoleteUpdates (Supprime les mises Ă  jour obsolètes)
    • -CompressUpdates (Supprime les rĂ©visions obsolètes)
  • Computers not contacting the server :
    • -CleanupObsoleteComputers
  • Unneeded update files :
    • -CleanupUnneededContentFiles
  • Expired updates :
    • -DeclineExpiredUpdates
  • Superseded Updates : 
    • -DeclineSupersededUpdates

Sur la console SCCM, les erreurs ont disparu et les synchronisations sont plus rapides qu’avant :

Ces tâches de maintenance sur l’environnement WSUS/SCCM devraient ĂŞtre effectuĂ©es rĂ©gulièrement afin de ne pas rencontrer de problèmes de performance. Egalement, ne pas oublier de remettre la valeur initiale de Remote query timeout à 600 sur la base de donnĂ©es SQL une fois que tous les tâches seront finalisĂ©es.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *