How to Configuring Multiple Software Update Points in a Configuration Manager – Add Second Software Update Point

Bu yazıda birden fazla Software Update Point (SUP) rolünün nasıl kurulacağını anlatmaya çalışacağım.

Microsoft, WSUS servisi için sunucu başına 100.000 istemciyi destekleyebilse de (Configuration Manager kullandığınızda 150.000 istemci), bu sınıra yaklaşmanızı önermemektedir.
Benim bu yazıyı hazırlarken kullandığım ortamda SCCM sunucusunun dışında bir sunucuda SUP rolü yüklü. Birçok ortam da böyle olduğu için yazıyı bu şekilde hazırlamak istedim.
Sizlerde hem yedeklilik hem de yük dengeleme adına 2 ya da daha fazla SUP rolüne sahip sunucu eklemek istiyor olabilirsiniz.

Bilgi: SUP sunucuları birden fazla kurarak sunucu bazlı bir yedeklilik elde edebiliriz ancak tam bir yedeklilik olması adına WSUS Database’inin de SQL Always-On ortamında olması tavsiye edilmektedir.
Ayrıca WsusContent location içinde NLB Cluster önerilmektedir.

Bu anlatımda ortamımda şu an çalışan 1 adet SUP sunucum var. Yeni bir sunucu kurarak ona da SUP rolünü ekleyeceğim ve bu iki sunucu yedekli bir şekilde çalışacak.

Başlamadan önce kurulum yapacağımız tüm SUP rolü olacak sunucuların işletim sistemlerinin aynı olması ve güncelleme seviyelerinin de aynı olmasını tavsiye ederim.

İlk olarak Local Admin Haklarının Verilmesi ile işlemlere başlıyoruz.

SUP sunucularının her birinin Computer objelerinin WSUS Database üzerinde “dbo_owner” yetkisine sahip olması gereklidir. Ben aşağıda sadece bir tanesinin nasıl ekleneceğini gösteriyorum. Siz tüm sunucularınız için yapmalısınız.

Computer objesi ekleyeceğimiz için sonunda $ işareti olmalı. Search’e basıp yapmayın. Bilgisayar adını elle sonunda $ olacak şekilde yazıp OK butonuna basınız.

 

SUSDB yi bularak db_owner hakkını veriyoruz.

SCCM Site Server Computer Objesi SUP rolü olan sunucularda local admin gurubuna eklenmeli.

 

Bildiğiniz gibi WSUS kurulumunda bizde Content Location için bir klasör göstermemizi ister. Birden fazla WSUS olması halinde bu klasörün tüm WSUS sunucular tarafından erişilebilir bir yerde olması ve yedekliliğinin de sağlanması gereklidir.
Yedeklilik için Microsoft tarafından NLB Cluster kullanılması tavsiye edilmektedir. Ortamınızda böyle bir yapı varsa bunu kullanabilirsiniz. Yoksa Risk alarak SUP sunucularını dışında hepsinin erişebileceği bir sunucuyu kullanarak devam edebilirsiniz.

Wsus Content’i taşıyacağımız sunucuda WSUS isminde (isim size kalmış) bir klasör oluşturarak paylaşıma açıp gerekli izinleri veriyoruz. Bu izinler önemli lütfen atlamayın.

Aşağıdaki kullanıcılara hem Sharing hem de Security sekmesinden Full Control hakkı veriyoruz.

  • SUP rolü olacak sunucuların Computer Objeleri
  • SYSTEM hesabı
  • NETWORK SERVICE hesabı
  • Administrators

 

Sırada mevcut sunucumuzdaki WSUS Content içeriğini yukarda oluşturduğumuz alana aktarmak var. Bunun için aşağıdaki komutu kullanıyoruz.
CMD’yi “run as admin” olarak açmayı unutmayın!

WsusUtil.exe movecontent \\infoserdc\wsus \\infoserdc\wsus\move.log

Komutun başarılı olduğunu ve içeriğin tamamen kopyalandığını kontrol ediniz.

Register üzerinden de ContentDir kaydının güncellendiğini kontrol ediniz.
Eski : C:\WSUS
Olması gereken yeni durum : \\infoserdc\wsus

Bir de IIS üzerinden kontrol edelim.

Physical Path olarak UNC path olduğunu doğrulayın. Burayı kontrol etmeyin unutmayın.

Bir sonraki işlem Authentication Methods bölümüne gelerek Anonymos Authentication ayarını “Application Pool Identity” olacak şekilde değiştiriyoruz.

 

Application Pool kısmına gelerek WSUS Pool objesinin Identity ayarının Network Service olduğunu kontrol ediyoruz.

 

Tüm bu işlemlerden sonra SUP sunucumuzda ufak bir test yapalım. Wsuscontent klasörü içinden rastgele bir klasör içine girin ve içinde bulunan TXT dosyasına Browser üzerinden erişebildiğinizi doğrulayın.
Not: Aşağıdaki txt benim ortamımda var sizde olmayabilir. Siz sizde olan bir txt adını yazarak test edin.

Http://infosersup:8530/content/0A/4B152CD7DA0918298B071053DD0D340800BF220A.txt

Aşağıdaki gibi txt dosya içeriği browser içerisinden görüntülenebiliyorsa yaptığımız işlemler başarılı demektir.

 

Yukarıdaki işlemleri mevcut SUP sunucumuz üzerinde yaptık.

Aşağıdaki işlemler YENİ Kurduğumuz ve SUP rolü ekleyeceğimiz sunucumuz için geçerlidir.

İlk olarak Add Role diyerek WSUS rolünü kuruyoruz.

 

 

Content Location olarak yukarıda oluşturduğumuz alanı gösteriyoruz.

Mevcut SUP rolünün (WSUS) SUSDB’nin bulunduğu SQL sunucusunun adını yazıyoruz.

Gelen talepleri gözlemlemek adına aşağıdaki bölümde “Request Monitor” bileşenini de eklemenizi tavsiye ederim.

 

Kurulum bittikten sonra CMD üzerinden aşağıdaki komut ile Post Installation işlemini gerçekleştiriyoruz.

ÖNEMLİ: Komutu çalıştırmadan önce aşağıdaki hatanın çözümünü okumayı unutmayın!

wsusutil.exe postinstall SQL_INSTANCE_NAME=”infosercm” CONTENT_DIR=\\infoserdc\wsus

Benim ortamımda bu komut aşağıdaki hatayı verdi. Windows Server 2022 kullanıyorum.

Fatal Error: The schema version of the database is from a newer version of WSUS than currently installed. You must either patch your WSUS server to at least that version or drop the database.


Sorunun sebebi Post Installation işlemi esnasında kullanılan SQL Script içindeki scriptMinorVersion numarası ile hale hazırdaki SUSDB’nin versiyonun uyuşmamasından kaynaklandığını tespit ettim.

SUSDB’nin bulunduğu SQL sunucusundan aşağıdaki sorgu ile sürümü öğreniyoruz.

SELECT
*
FROM tbSchemaVersion;

Benim ortamımda VersionCheck.sql içinde scriptMinorVersion değeri 11 idi.
SQL Sorgusundaki versiyon ise 51 di.

VersionCheck.sql içindeki değeri 51 yaptım.

 

Düzeltmek için

  • “C:\Program Files\Update Services\Database\VersionCheck.sql” bu dosyayı masa üstüne kopyalayın.
  • Masa üstündeki VersionCheck.sql dosyasını açın ve içeriğini aşağıdaki gibi düzenleyin.
  • “C:\Program Files\Update Services\Database” içindeki “VersionCheck.sql” dosyasını SİLİN
  • Masa üstündeki düzenlediğiniz VersionCheck.sql dosyasını “C:\Program Files\Update Services\Database” içine kopyalayın.

Artık komutumuzu yeninden çalıştırdığımızda hata almıyoruz.

wsusutil.exe postinstall SQL_INSTANCE_NAME=”infosercm” CONTENT_DIR=”\\infoserdc\wsus”

Wsus konsolunu da bir açıp bakalım artık DB’ye bağlandı ve güncellemeleri gördü. Artık WSUS hazır durumda.

Yeni kurduğumuz SUP sunucumuz içinde IIS’de aşağıdaki işlemi yapmayı unutmuyoruz!
İşlemler aynı olduğu için ayrı ekran görüntüleri almadım. Aşağıdaki sunucu adına takılmayın. Tüm SUP rolü için kullanacağımız sunucularda bu işlem yapılmalı.

 

SUP2 de Content location yanlış olarak gelecektir. Mutlaka düzeltmemiz gerekiyor.

Register üzerinden de mutlaka kontrol yapın.

Son olarak browser üzerinden de kontrol edelim.

Http://infosersup02:8530/content/0A/4B152CD7DA0918298B071053DD0D340800BF220A.txt

WSUS Client Service sayfasına da bakmayı unutmayalım.

http://infosersup02:8530/ClientWebService/client.asmx

Bir de Self Update CAB dosyası iniyor mu acaba diye bakabilirsiniz.

http://infosersup02:8530/selfupdate/iuident.cab

Tüm test ve kontrollerden sonra SCCM sunucumuza gelerek SUP rolünün kurulumu yapabiliriz.

 

 

 

Kurulum işlemini başlattık durumu aşağıdaki log’ladan takip edebiliriz.

  • SUP Sunucu üzerinde: X:\SMS\Logs\SUPSetup.log
  • SCCM Site Server üzerinde Log klasörünün içinde WCM.log, wsyncmgr.log
  • Tüm SUP rolü olan sunucularda X:\SMS\Logs\WSUSCtrl.log
  • Tüm SUP rolü olan sunucularda X:\SMS\Logs\SMS_ISVUPDATES_SYNCAGENT.log

Aşağıda görüldüğü gibi artık 2 adet SUP var.

Sync işlemi başladı. Başlamaz ise elle siz başlatabilirsiniz.

Sync işlemi bitti başarı ile tamamladık.

Yeni kurduğumuz tüm SUP rolü olan sunucuları mutlaka Bounday Group’a eklememiz lazım. Eğer tüm SUP rolleri herkese hizmet versin istiyorsanız benim gibi Default-Site-Boundary-Group içine eklemeniz yeterli.
Sadece belirli bir bölgeye hizmet versin isterseniz sadece O BG’ ye ekleyin. Bu işlemi önemli yapmayı unutmayın!

Bir diğer konu da GPO ile ilgili. SCCM aşağıdaki Client Setting Yes yapıldığında SUP rolü olan sunucuları hem yedekli hem de yük dengeleyecek şekilde yönetiyor.

 

Eğer GPO ile WSUS sunucu bilgisi dağıtıyorsanız ve sadece iki adet SUP sunucunuz varsa bunu GPO’yu güncellemelisiniz.
Eğer 2’den fazla SUP kullanacaksanız “Not Configured” durumuna getirebilirsiniz. GPO olmasa da SCCM ajanı bunu yönetecektir. GPO gereksinimi yoktur.

Şimdi test yapalım

SCCM ve SUP dışında bir sunucuya bağlandım ve “Software Updates Scan Cycle” ı tetikledim. Şu an beklediğimiz gibi ilk SUP sunucuya gitti. Çünkü bu sunucu daha önce bu SUP ile konuşmuştu.
Talep geldikçe SCCM SUP’lar üzerine yönlendirme yapacak.

 

Peki yeni kurduğumuz SUP sunucuya şu an gittiğini görmek istersek nasıl test edebiliriz derseniz burada Fallback mekanizması devreye giriyor. Location Service log ortamda 2 adet SUP olduğunu bize söylemiş.
Dikkat ederseniz satırın sonunda da SUPFallbackIn=”120″ yazıyor. Bu bize 120 Dk boyunca gitmeye çalıştığı SUP sunucusuna gitmeye çalışacak eğer erişemez ise daha sonra diğerine gitmeye çalışacağını söylüyor.

Bu ayar default olarak 120 Dk. FallBack süresini dolmadan diğerine gitmesini isterseniz ya da daha kısa bir süre sonra diğer SUP’a gitsin isterseniz Default-Site-Boundary-Group üzerinden bu değeri değiştirebiliriz.
Ben test için 5dk yaparak deniyorum.

Hızlı sonuç görmek için yukardaki yeri değiştirdikten sonra Client tarafında Machine Policy tetikleyip “SMS Agent Host” restart ederek süreci hızlandırabilirsiniz.
Servisi Restart ettikten sonra aşağıdaki gibi log düşmesi için “Software Update Scan Cycle” tetiklemeniz gerekiyor.
Aşağıda gördüğünüz gibi değer 5 dk oldu.

 

“Software Update Scan Cycle” tetiklendiğinde yeni kurduğumuz SUP02 sunucusuna gittiğini ve sorun almadığını görebiliyoruz.

 

 

Bir diğer kontrol yöntemi de IIS üzerinden.
SUP Rolünü yüklerken “Request Monitor” özelliğini de yüklemiştik. SUP sunumuza giderek gelen talepleri görebiliriz.

 

Aşağıdaki alanda bilgisayarlar çok hızlı gelip giderler öyle de olmalı. Gelen bir bilgisayar eğer çok uzun süre burada kalıyorsa performans sorunumuz olabilir.

Test ortamınızda burada sürekli F5 tuşuna basılı tutarak aşağıdaki gibi bilgisayarı yakalayabilirsiniz.

 

Kaynaklar:

How to implement a shared SUSDB for Configuration Manager Software Update Points – Microsoft Community Hub

How to Move the WSUS Content Folder to a New Location – Patch My PC

How to Configure a Software Update Point to Use Network Load Balancing (NLB) Cluster | Microsoft Learn

Configure WSUS for Network Load Balancing | Microsoft Learn

Deep Dive How to Configure a Shared WSUS Database for Multiple SUPs in SCCM – Justin Chalfant’s SCCM Guides (setupconfigmgr.com)

Best practices for software updates – Configuration Manager | Microsoft Learn

How to implement a shared SUSDB for Configuration Manager Software Update Points – Microsoft Community Hub

Configuring WSUS 6.x for Network Load Balancing (NLB) | Microsoft Learn

Windows Server Update Services (WSUS) best practices – Configuration Manager | Microsoft Learn

PowerShell Gallery | decline-WSUSUpdatesTypes 1.4

 

 

Bu yazının kalıcı bağlantısı https://www.sertactopal.com/how-to-configuring-multiple-software-update-points-in-a-configuration-manager-add-second-software-update-point

Bir yanıt yazın

E-Posta adresiniz yayınlanmayacaktır.