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 courriel ne sera pas publiée. Les champs obligatoires sont indiqués avec *