Microsoft tabanlı sunuculara destek veriyorsanız .NET Framework ile aranızın iyi olması şart. Yok ben çok sıkı fıkı olamam modunda biriyseniz en azından dilinden anlamanız gerekiyor. Bu yazımda biraz .NET Framework’den birazda sunuculara olan olası etkilelerinden bahsedip örnek bir case’i elere alarak çözüme yönelik bilgiler paylaşacağım.
Framework’ü içerisinde API’ler ve kütüphaneler barındırılan paketler olarak düşünün. Farklı framework seviyelerinde yazılan uygulamalar sunuculara kurulduğu zaman genelde support ettikleri framework versiyonları ile beraber uyumlu çalışabilmek adına otomatik olarak uygulama kurulumu sırasında yüklenir yada kurulum aşamasında update edilmek isterler. Ayrıca sadece uygulamalar değil windows’un bir çok farklı bileşenide .NET’e bağlı olarak çalışır. Bir kaç örnek vermek gerekirse Windows Explorer (Graphical Shell), Server Manager, Windows PowerShell, IIS, ASP .NET, Hyper-V’yi sıralayabiliriz. Sistem yöneticisi olarak sizi ilgilendiren bir çok noktada hayatınıza dokunduğu bir gerçek.
.NET paketleri windows update tarafından otomatik olarak dağıtılıyor. Production ortamlarında bulunan application dependet Olası .NET problemlerinden sakınmak için .NET update testlerini önce test ortamlarınızda yapmadan kesinlikle canlı sunuculara geçmeyin.
Geçtiğimiz ayda yayınlanan bir update’in yüklenmesi sırasında sunucunun crash olmasına binayen yaşadığım bir case mevcut. Aslında bu yazıyı yazmama vesile olan şeyde bu problem oldu. Bir adet sunucuda boot olduktan sonra login ekranına user\pass girildikten sonra command ekranında takılı kaldığına yönelik iletilen problemi incelediğimde; sunucunun GUI arayazünün komple kalktığını ve core mode’a çalıştığını gördüm.
Windows Server 2012 ve 2012 R2’lerde bu tarz bir problem yaşarsanız, command prompt üzerinden aşağıdaki 2 komutu çalıştırarak .NET ve Powershell feature’larını aktif hale getirip;
DISM.exe /Online /enable-feature /featurename:NetFx4 /all
DISM.exe /online /enable-feature /featurename:MicrosoftWindowsPowerShell /all
sunucuyu restart ederek. Command prompt ekranında powershell.exe ‘yi çalıştırdıktan sonra, powershell ekranında aşağıdaki iki komutu çalıştırıp sunucuyu tekrar restart ederek GUI Shell’i tekrar aktif edebilirsiniz.
Install-WindowsFeature Server-Gui-Shell
Install-WindowsFeature Server-Gui-Mgmt-Infra