Windows Server 2012 yada R2 işletim sistemine sahip HyperV Server ‘i Windows Server 2016 yada Windows Server 2019 HyperVisor mimarisine yükselttiğimiz zaman sanal makine (virtual machine) konfigurasyonlarını da değiştirmeliyiz.

HyperV Server Upgrade projelerinde HyperVisor işletim sistemi değişmekte ve HyperVisor işletim sistemiyle uyumlu çalışması beklenen bir sanal makine (virtual machine) içinde Virtual Machine Configuration Upgrade işlemi yapılmalıdır.

Virtual Machine Configuration Verison Bilgileri;

  • Windows Server 2008 HyperV Version 1 Virtual Machine Configuration Version 1
  • Windows Server 2008 R2 HyperV Version 2 Virtual Machine Configuration Version 2
  • Windows Server 2012 HyperV Version 2 Virtual Machine Configuration Version 3
  • Windows Server 2012 R2 HyperV Version 3 Virtual Machine Configuration Version 5
  • Windows Server 2016 HyperV Version 8 Virtual Machine Configuration Version 8 (Technical Preview sürümlerinde ara version lar oluşmuştur.)

Ekran’da Version 5 sürümüne sahip bir sanal makine (virtual machine) görmektesiniz ve bu sanal makine 40 GB boyutunda bir virtual hard disk sahip. Bu boyutu unutmayalım… HyperV Upgrade projelerinden çokça karşılaşmış olduğum adımdır. HyperVisor Host’ları  yükseltme işlemi yapıltıkdan sonra Virtual Machine Configuration Upgrade işleminin yapılmaması.

Evet, Üst sürüme sahip bir HyperV Host, alt sürüm Virtual Machine Configuration ‘a sahip sanal makineyi de çalıştırabilmektedir. Yani, Windows Server 2016 HyperV Server yüklü bir HyperVisor, Windows Server 2008 HyperV Server ‘da oluşturulmuş Virtual Machine Configuration Version 1 olan bir sanal makineyi de çalıştırabilmektedir.

Biz buna geriye uyumluluk demekteyiz. Bu güzel özellik bir çok projede Virtual Machine Configuration Upgrade adımının unutulmasına neden olmakta. Bizler  HyperV Server Upgrade işlemini tamamlamış olsak bile Virtual Machine Configuration Upgrade işlemini yapmadığımız sürece sanal makine eski HyperVisor Host ’un sahip olduğu yeteneklere sahip olacaktır.

Doğan görünümlü şahin benzetmesi bu yapılar için uygun olmakta.

Bu çalışmamız da, HyperV Host Upgrade işlemlerinden sonra yapılması gereken Virtual Machine Configuration Upgrade işlemini ve arasında ki farkları incelemekteyiz.

Virtual Machine Configuration Version 5, XML olarak sanal makine (virtual machine) bilgilerini saklamakta. XML dosyası sanal makine özelliklerine bağlı olarak 2 KB boyutuna sahip Küçük bir dosyadır ve Genellikle 1 MB ‘ın altındadır. Evet MB boyutuna ulaşmazlar.

Çok fazla yer kaplamayan bu Virtual Machine Configuration dosyalar devasa alanlara sahip storage üzerinde fazla alan kaplamadığı için HyperV Server Upgrade projelerinde genellikle planlara dahil edilmezler.

Bizler HyperVisor Host seviyesinde yükseltme işlemini tamamladıktan sonra sanal makine eski Virtual Machine Configuration Versiyon ‘u ile çalışabilir. HyperV Server  ‘i Windows Server 2019 üzerinde çalıştırdığımız zaman Virtual Machine Configuration Version 5 desteklenmektedir.

Fakat, sanal makine  Versiyon 5 olduğu için Windows Server 2019 HyperV server  ile birlikte gelen hiç bir yeni yeteneği kullanamayacak. Doğan görünümlü şahin benzetmesini bunun için yaptık.

Sanal makine üzerinde Virtual Machine Configuration Version 5 ’den 8 yada 9 ‘a çıkartabilmemiz için sanal makine (virtual machine) seviyesinde hizmet kesintisi yapmalıyz ve bir satırlık bir powershell komutunu çalıştırmalıyız.

Bu işlemden sonra Virtual Machine Configuration Version 8 yada seçmiş olduğumuz bir başka sürüme yükseltilebilir. Fakat bu dönüşüm ile birlikte ciddi bir dönüşüm daha olacak. Virtual Machine Configuration Version  5’e kadar bütün sanal makine (virtual machine) bilgileri XML dosyasında saklanırken artık VMCX ve VMRS uzantılarında saklanacak.

Virtual machine bilgileri Hypervisor tarafından şifreli bir şekilde saklanmaya başlayacak ve en önemli dönüşüm Virtual machine configuration boyutu da değişecek, artış gösterecek.

Bu artış oranı sanal makine özelinde değişmektedir. Virtual Machine Configuration Version Upgrade öncesinde 1 MB bile olmayan XML dosyası artık sanal makinenin sahip olduğu sanal bellek kadar artış gösterecek ve VMCX ve VMRS dosyalarına sahip olacak.

Yani sanal makine (virtual machine) 2 GB sanal Belleğe sahipse 2 GB boyutunda veri depolama alanına ihtiyacımız olacak. Sanal makine kapalıyken bu boyut sıfır olacak ve sanal makine (virtual machine) açıldığı zaman bu boyut veri depolama alanından istenilecek.

HyperV Upgrade projelerinde belki unutulan belki de yeterli depolama alanı olmadığı için yapılmayan bu işlem sanal makine seviyesinde yeni HyperV Server yeteneklerine sahip olmadan çalışmasına neden olmakta.

Bu yeni yetenekler Windows Server 2012 ‘de olmayan ama Windows Server 2016 ile birlikte hayatımıza girmiş olan

Windows Server 2012’den Windows Server 2016 yada 2019 sürümüne yükseltme yapacağımız zaman her bir sanal makinenin sahip olduğu sanal makine boyutu artık projelere etki etmektedir.

HyperV Server Upgrade yöntemleri için HyperV Server Upgrade Cut Over yöntemini veya HyperV Server Upgrade Cluster Rolling Upgrade yöntemlerini seçebilirsiniz.