DISM ile Windows Server 2008 R2 Edition Upgrade
Upgrade path’leri referans almak koşulu ile Windows istemci ve sunucu işletim sistemleri kendi edition’ları arasında yükseltmeyi destekler. Edition Upgrade ile kastetmek istediğim Windows Server 2003’ten Windows Server 2008’e yükseltme yani sürümler (version) arası bir geçiş değil, örneğin Windows Server 2008 R2 Standard Edition’dan Windows Server 2008 R2 Enterprise Edition’a doğru bir yükseltmedir.
Windows Server 2008 R2 öncesinde, kurulu olan uygulamaları ve ayarları bozmadan/kaybetmeden edition’lar arası yükseltme operasyonları genelde zahmetlidir. In-place upgrade dediğimiz bir yöntem ile kurulum medyası (veya source files) kullanılarak gerçekleştirilen bir setup sonrasında mevcut edition uygun üst edition’a gerçirilebilir. Zaman alır, zahmetlidir, işletim sistemi üstünde koşan uygulama, servis ve aözel yarlar için risklidir.
Özellikle kurumsal seviyede iş yapıyorsanız bir upgrade ihtiyacının ne zaman ortaya çıkacağını kestirmek zordur. Bazen şapkadan öyle bir tavşan çıkar ki elde olan ensturmanlar ile çözüm üretmek zorlaşır, zaman kazanmak adına yeni arayışlara girersiniz.
Mesela Windows Server 2008 R2 Hyper-V için Failover Cluster yapmak istiyorsanız, Windows Server edition’ın Enterprise veya Datacenter olması gerekir. (Bu arada edition’a sürüm demek istemediğim ve yerine de birşey bulamadığım için edition diyip duruyorum:)) Peki karşınızda yanlış planlama sonucu işletim sistemleri Standard olarak kurulmuş bir çok sunucu ve Failover Cluster yapılması gereken bir proje varsa?
Veya Windows Server 2008 R2 Standard ile NPS yapıyorsanız, en fazla 50 RADIUS Client kabul edebileceğinizi bilmeniz gerekir. Eğer bu konuyu göz ardı ederek projeyi müşteriye teslim ederseniz, 51. RADIUS Client ihtiyacında telefonunuz çalacaktır.
Çok daha vahim bir senaryo… Yine hatalı bir planlama sonucunda işletim sistemleri Windows Server 2008 R2 Standard olarak kurulmuş Exchange Server 2010’lar ile DAG yapılması gerekiyor ve yeni fiziksel sunucu veya vm koyma şansınız yok.
Buraya küçük bir not düşmek isterim. Microsoft, Exchange Server 2010 (yani aslında Mailbox Role) için Windows Server 2008 R2 Standard işletim sistemlerinin Windows Server 2008 R2 Enterprise’a yükseltilerek DAG yapılmasını desteklemiyor, OS ve Exchange servislerinin o sunucu için yeniden kurulmasını tavsiye ediyor.
http://technet.microsoft.com/en-us/library/dd365355(v=ws.10).aspx
Biz bu yöntemi Exchange Server 2010 DAG için önce test ortamında, bir süre sonra ise canlı ortamda devreye aldık. Şimdilik bilinen veya bilinmeyen herhangi bir probleme neden olmadı. Ama altını çizelim; bu problem olmayacağı anlamına gelmez. Bu noktada tercih tamamen sizin kararlarınıza ve yapınıza destek veren kişilerin yeteneklerine kalmış bir konu.
Yukarıda bahsettiğim gibi şapkadan tavşan çıkan durumlarda bir üst edition’a geçmek için in-place upgrade ile kurulum medyası (veya soruce files) kullanarak yükseltme yapma şansına Windows Server 2008 R2 ‘de de hala sahipsiniz. Yükseltilecek işletim sistemi üstünde koşan uygulama ve servislerin bu senaryo için destek durumlarını da değerlendirmeyi unutmayın.
Ben size çok daha basit bir yöntemden bahsedeceğim.
Senaryoda bir Windows Server 2008 R2 Standard çalışıyor ve kurulum medyası olmadan, herhangi bir özel ayar kaybetmeden DISM ile Enterprise ‘a yükseliyor.
* Eğer üstünde çalışan uygulama ve servisler varsa, daha sonra açmak üzere disable duruma çekmenizi öneririm.
Operasyon için kullanmanız gereken tool DISM (Deployment Image Servicing and Management Tool) ve Windows Server 2008 R2 edition’ları içinde yerleşik olarak geliyor.
Önce “Run as administrator” olarak bir cmd.exe açın ve DISM /online /Get-CurrentEdition ile mevcut sürüme tekrar bakın.
Standard Edition (ServerStandard) olarak görünüyor.
Ardından DISM /online /Get-TargetEditions ile hangi edition’lara yükseltebileceğinize bakın.
Enterprise ve Datacenter edition’lara yükseltebileceğiniz görnüyor.
Ben Enterprise’a yükseltiyorum, Datacenter’a da yükseltebilirsiniz.
DISM /online /Set-Edition:ServerEnterprise /ProductKey:<Product Key :)>
Buraya da bir not düşelim. Yükseltme öncesi son komut içerisinde geçerli bir ürün anahtarı vermeniz gerekiyor. Bu ürün anahtarı, yükseltilecek (bizim senaryoda Windows Server 2008 R2 Enterprise Edition) işletim sistemine ait gereçerli ve yasal bir ürün anahtarı olmalı. Sonuç olarak kolay bir şekilde Standard’dan Enterprise’a geçiliyor ama bunun gerekliliğinin lisans anlamında da sağlanması gerekiyor, çünkü Enterprise veya Datacenter sürümler teknik yetenek ve haliyle maliyet olarak Standard’a göre farklı ürünler.
Eğer o an elinizde geçerli bir ürün anahtarı yok ise, geçici olarak KMS Client Setup Key’leri kullanabilirsiniz ama öncesinde mutlaka KB2652825’i veya yazının sonunda yer verdiğim NOT1’i dikkatle okuyun.
http://technet.microsoft.com/en-us/library/ff793421.aspx
Ürün anahtarının da yer aldığı komutu çalıştırarak yükseltme işlemini başlatabilirsiniz.
DISM /online /Set-Edition:ServerEnterprise /ProductKey:489J6-VHDMP-X63PK-3K798-CPX3Y
Yükseltme başlatılıyor. Ürün anahtarı yerleştiriliyor. Standard Edition’a özgü paketler kaldırılıyor. Yeni edition’a özgü paketler uygulanmak üzere hazırlanıyor ve ardından sistemin restart edilmesi bekleniyor. Buraya kadar olan süreç 15sn.
“Y” tuşu ile restart başlatabilirsiniz.
Sistemi restart etikten sonra kısa bir upgrade gerçekleşiyor:
Bu adımdan sonra sistem bir kez daha restart oluyor: (bu sefer otomatik)
Açıldığında son bir konfigürasyon gerçekleşiyor:
Ve ardından işlem tamamlanıyor, logon olup servislerinizi tekrar başlatabilirsiniz:
Tüm süreç bir VM’de 2dk sürüyor.
Yükseltme sonrası Edition durumlarına aynı yöntemler ile tekrar bakarsak:
DISM ile Windows Server 2008 R2 Edition’larının Full ve Core Installation’ları ile Windows 7 Edition’larını yukarı doğru, kurulum medyası olmaksınız yükseltebilirsiniz.
Eğer boş bir işetim sistemini yükseltiyorsanız hiçbir problem yok, yazı burada bitmiştir. Ama söz konusu üstünde kritik servisler koşan bir sunucu ise son olarak tekrar hatırlatmak isterim:
- Özellikle müşterileriniz için böyle bir çalışma planlıyorsanız iki kez kontrollü olmanız gerektiğini hatırlayın.
- İşletim sistemi içinde çalışan uygulama ve servislerin yükseltme için destek durumlarına mutlaka bakın. Gerekiyor ise öncelikle test ortamında kapsamlı deneyin.
- Yükseltme sonrasında uygulama veya servislerin küçük revizyonlar gerektirebileceğini hatırlayın. Genel bir sağlık kontrolü yapmanızı öneririm.
- DC (DS), Exchange gibi bazı servisleri çalıştıran işletim sistemlerinin yükseltilmesinin -yöntem ne olursa olsun- önerilmediği senaryolar olduğunu hatırlayın.
- Yükseltme sırasında geçerli bir ürün anahtarı (haliyle lisans) sağlamanız gerektiğini hatırlayın.
- Ve tabi her zaman kendi best-practice’lerinizi yaratabileceğinizi de unutmayın 😉
Not1:
Bu senaryoda eğer MAK (multiple activation key – çoklu aktivasyon ürün anahtarı) ile aktive edilmiş bir sunucuyu geçici KMS (key management service) key ile upgrade ettikten sonra ürün anahtarını birden fazla edition’a bağlı bir MAK ile değiştirip yeniden aktive ederseniz, ilk reboot ardından aşağıdaki üç durum ile karşılarısınız:
Birden fazla edition’a bağlı MAK: Örneğin VLK müşterileri genelde Windows Server 2008 R2 Standard ve Enterprise işletim sistemlerini aktive edebilen tek bir MAK (çoklu aktivasyon ürün anahtarı) sahibidir. MAK’ler birden fazla aktivasyon yapabilen Sahip oldukları Lisans adedi çerçevesinde tek bir ürün anahtarı ile hem Satandard hem de Enterprise işletim sistemi kurulumu ve aktivasyonu yapabilirler.
1) Remote Desktop disable olur ve tekrar enable edemezsiniz.
2) Toplam memory miktarı çok yüksek olsa dahi kullanılabilir memory 4GB veya 16GB olarak sınırlanır.
3) Yeni edition’a özgü bazı feature’ları enable edemezsiniz.
Bu durumda çözüm için birden fazla edition’a bağlı olmayan yani direkt ve sadece upgrade edilen edition’a ait unique bir ürün anahtarı (yine bir MAK olabilir) girdikten sonra (slmgr -ipk <key>) sadece aktivasyonu tekrar edip (slmgr -ato) reboot ardından özelliklere tekrar kavuşabilirsiniz.
Peki, elinizde size ait geçerli unique MAK yoksa?
Her şekilde unique bir MAK girmeniz gerekiyor ama ben şöyle bir çözüm ürettim: Yükselttiğiniz edition’a ait ama size ait olmayan bir unique MAK girdikten sonra sistemi reboot edip tekrar slmgr -ipk <key> ile elinizdeki birden fazla edition’a bağlı MAK’ı girerek slmgr -ato ile aktivasyonu yapabilirsiniz.
Serhat AKINCI
http://twitter.com/serhatakinci