SCCM Central Site + WSUS 3th. SEC tier site SUP cannot sync updates from parent primary


How to / Nasıl yaparım:

 

Sorun:

Central Site üstünde SCCM + WSUS kurulmuş durumda ve burada tüm ürün gurupların patchleri şeçilmiş ve content download ayarlanmış. Aradan bir zaman geçtikten sonra 100.000 yaklaşık obje oluşmuş. Buda aşağıdaki sunucularda WSUS un Central Site upstream sunucusu olarak seçili olduğu için syncronization sorunu yaratıyor.

Log içinde:

Sync failed: LocalDBOtherError: SqlException: Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.~~at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection). Source: Microsoft.SystemsManagementServer.SoftwareUpdatesManagement.WSyncAction.WSyncAction.SyncWSUS

 

 

Sorunun kaynağı: gerekmiyen patchler ve ürünler download edilmemesi gerekli: Örnek “Driver ve Definition Updates”

 

Çözüm:

Sorunu gidermek için yapılması gereken adımlar:

Bu adımları başlatmadan önce mutlaka her aksion alınacak sunucuda bir BACKUP alınsın!

İşlemler sunucular ütünde çok uzun sürebilir (1 hafta) ama başka yöntem yoktur:

 

1.      Secondary Site WSUS sunucusu üstünden > Options > Update Source and proxy Server > “this server is a replica of upstream server” işaretini kaldırın

2.      Primary ve Secondary Site sunucularında proxyayarını değiştirin, yanlış bir tane IP ekleyelim yada portları kapatalım > maksat herhangi bir şekilde Central Site sunucusu (Upstream Server) ile sync etmesinler.

3.      “Decline all Driver” toolünü  buradan indirelim http://wsus.codeplex.com/releases/view/16459 ve her WSUS suncusu üstünde çalıştıralım (Central /Primary /Secondary)

4.      İşlemler bittiğinde “WSUS Server Cleanup Wizard tool”  çalıştırıp tüm WSUS sunucularını temizliyelim (Central /Primary /Secondary) > Tüm optionları aktiv hale getirin. Bu işlem çok uzun sürüyor.

5.      Central Site üstünde SUP ayarlarında “Driver ve Definiton updates” kaldıralım. Kullanmadığınız ürünler varsa onlarıda kaldıralım

6.      Şimdi aşağıdaki Powershell komutlarını Central Site sunucu üstünde çalıştıralım. Bu tüm sürücüleri WSUS veritabanından silecektir:

 

Script 1:

Bu komut neler silenecek ona bakar > Central Site Server üzerinde çalıştıralacak

 

$filename = "updatesToDelete.txt"

# Load the API

[Reflection.Assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration")

 

# Get the UpdateServer

$updateServer = [Microsoft.UpdateServices.Administration.AdminProxy]::GetUpdateServer()

 

# Build the update filter

$updateScope = New-Object Microsoft.UpdateServices.Administration.UpdateScope

 

# Only declined updates

$updateScope.ApprovedStates = [Microsoft.UpdateServices.Administration.ApprovedStates]::Declined

 

# And only those in the drivers classification

$driversClassification = $updateServer.GetUpdateClassification("ebfc1fc5-71a4-4f7b-9aca-3b9a503104a0")

$updateScope.Classifications.Add($driversClassification)

 

# Get rid of the file if it already exists

If (Test-Path $filename) { Remove-Item $filename }

 

# Generate the list

$updateServer.GetUpdates($updateScope) | ForEach-Object { Add-Content $filename $_.Id.UpdateId }

 

 

Script 2:

Bu komutlarda silme işlemini yapar > Central Site Server üzerinde çalıştıralacak

 

$filename = "updatesToDelete.txt"

 

# Load the API

[Reflection.Assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration")

 

# Get the UpdateServer

$updateServer = [Microsoft.UpdateServices.Administration.AdminProxy]::GetUpdateServer()

 

Get-Content $filename | Foreach-Object { Write-Host "Deleting update" $_; $updateServer.DeleteUpdate($_) }

 

# Recycle the apppool to get rid of any potentially stale data

$iis = [adsi]"IIS://localhost/W3SVC/AppPools/WsusPool"

$iis.Invoke("recycle")

  

 

7.       "updatesToDelete.txt" alıp şimdi diğer WSUS sunucular (Primary ve Secondary) üstündede çalıştırmanız gereklidir: Script 2

Bazı patchlerde belki silme sorunu olabilir ama ekranda hata verir ve devam eder.

"updatesToDelete.txt" mutlaka bir kopyası orginal olarak bulunsun. Diğer WSUS sunucularda bu orginalini kullanın.

 

8.       Yukaridaki işlem bittiğinde sorunlu olan WSUS > yani sync etmeyen üzerinde aşağıdaki linkte bulacağınız scripti çalıştırn. Bazen sorun primaryde bazen secondary de olabileceği için script farklı yerlerde çalıştırmanız gereklidir. AMA tek sorunlu olanda çalştırın!

http://gallery.technet.microsoft.com/ScriptCenter/6f8cde49-5c52-4abd-9820-f1d270ddea61/

9.       Şimdi tekrar Primary ve Secondary Site üzerinde WSUS > Options > proxy ve “this server is a replica of upstream server” ayarlarını girelim.

10.   Nokta 2. De değiştirdiğiniz ayarları geri alalım > proxy….

11.    WSUS servislerini restart edelim

12.   Central Site üzerinden tekrar Internet sync başlatalım > Console üzerinden > Software Updates > Updates Repository >Run Syncronisation

13.   Central Site üzerinde Sync bittiğinde > Primary üzerinden tetikliyelim  

14.   Secondary Site üzerinde primary sync bittiğinde sync otomatik çalışmıyacak olursa o zaman WSUS üzerinden tetikliyelim

 

 

 

 

Source: http://blogs.msdn.com/b/scstr/

Source: http://www.mycloud-tr.com/

İsmail Şen

 

 

Comments (0)

Skip to main content