Sanal Makine Sürümlerinin Yükseltilmesi

By | 27 November 2016

Sanal Makine Sürümlerinin Yükseltilmesi makalesi üç farklı bölümden oluşmaktadır ve üç farklı Hyper-V yeniliğini, güncelleştirmesini içermektedir. Makale içinde ilgili bölümlere ulaşmak için aşağıdaki hızlı erişim bağlantılarını kullanabilirsiniz.

Hybrid (melez veya birlikte) çalışma neden gereklidir?

Teknoloji çok hızlı bir şekilde değişiyor ve yenileniyor. Günümüz dünyasında yeni sistem kurulumlardan daha çok bir kurumun mevcut sürümlerinin iyileştirilmesi ve yeni sürümlere yükseltilmesi projelerini yapmaktayız. Geçiş projelerinde müşterilerimizin öncelikli talepleri, mevcut sistemleri yeni mimariye taşırken sıfır kesinti ile projenin tamamlanması. Bu talepler 7/24 hizmet veren kurumlar için en temel gereksinim olmakta ve bu proje gereksinimleri ile hemen-hemen her projemizde karşılaşmaktayız. Sıfır kesintili ile bir projeyi gerçekleştirirken en çok ihtiyaç duymuş olduğumuz gereksinim geçmişe dönük bağımlılık.

Büyük kurumlar içinde projeler birçok farklı nedenden ötürü hızlı bir şekilde ilerleyemiyor. Yükseltme yapacak olduğumuz yazılımlar birçok yazılım ve donanıma entegre edilmiş ve birlikte çalışmaktalar. Entegre edilmiş her yeni ürün/donanım proje içinde yeni bir paydaş ve yeni bir uzmanın projeye dahil edilmesi anlamına gelmekte. Bir projede içinde paydaş sayısının artması bir gereksinim olduğu kadar aynı zamanda hata şansının artmasına ve projelerin uzun soluklu olmasına neden oluyor. Her bir uzman kendi ürününe uzman ve birlikte çalıştığı ürüne çok fazla hâkim olamıyor.

Bir yükseltme projesinde birlikte çalışma özelliği, geriye dönük bağımlılık projeyi gerçekleştiren uzmanların en büyük silahı olmakta.

Bu makalemiz içinde odaklanacak olduğumuz ürün Microsoft Windows Server 2016 Hyper-V. Eski mimariler içinde bulunan Windows Server 2008 / 2012 Hyper-V Rol üzerinde bulunan sanal sunucuların Windows Server 2016 üzerinde çalışan Hyper-V sunucusuna taşırken dikkat etmemiz gerekli olan adımları, değişiklikleri ve Windows Server 2016 ile birlikte gelen Hyper-V iyileştirmelerini inceleyeceğiz.

Sanal Makine Sürümlerinin Yükseltilmesi – integration Services, Vmguest.iso

Windows Server 2008 sürümleri üzerinde bulunan sanal bilgisayarlarımızı Windows Server 2012 üzerinde bulunan Hyper-V üzerine taşıdığımız zaman sanal sunucularımıza integration Services in güncellemesini yapmamız gerekmekteydi.

Yüklemiş olduğumuz bu integration services sanal makineye yeni Hyper-V sunucusunun yeteneklerini tanıtmaktadır. Hyper-V integration services sanal bilgisayara yüklenmediği zaman Hyper-V host üzerinde sağlıklı çalışamıyor ve güncel sürümdeki Hyper-V Host ‘unun bütün yeteneklerini kullanamıyordu.

Eski zamanda yaşamış olduğumuz problemler, bir sanal sunucumuz Hyper-V 1.0 Host ‘undan Hyper-V 2.0 Host ‘una taşındığı zaman, sanal sunucunun sağlıklı bir şekilde çalışabilmesi ve Hyper-V 2.0 ın sahip olduğu bütün yetenekleri kullanabilmesi için sanal (Guest) sunucumuza Hyper-V 2.0 in sahip olduğu integration services ‘i yüklememiz gerekmektedir.

Bu geçişi incelerseniz eğer Hyper-V Host ‘ların 1.0 sürümünden 2.0 sürümüne yükseltme işlemini kapsadığı gibi sanal makine üzerinde değişiklik yapmaktadır!

Herhangi bir problem yaşamazsak bir sonraki sanal makine yükseltmesi için projeye devam edebiliriz, fakat problem yaşarsak. Alt sürüme indirmek hiçbir zaman için üst sürüme geçmek kadar kolay olmuyor ve sancılı oluyordu. Üst sürümü algılayan sanal makinemizin içinden integration servicesleri el-ile kaldırmak ve tekrar alt sürüme taşımak ve alt sütüm Hyper-V nin sahip olduğu integration serviceslerini baştan yüklemek gibi operasyonlar bizleri bekliyordu.

Hele ki kullanmış olduğunuz sanal sunucular Windows Server 2008 öncesi işletim sistemlerine sahipse sanal sunucular üzerinde yaşayacak olduğumuz problemleri tahmin bile edemiyorum. Bu problemleri çözebiliyorduk ama bu süreç sancılı oluyor ve plansız kesintiler bizleri bekliyordu.

integration services

integration services

integration Services güncelleştirmesini vmguest.iso image file ile yapardık. Yukarıda görmüş olduğunuz ekran görüntüsü Windows Server 2016 üzerinde çalışan Hyper-V için artık bulunmuyor ve bir sanal makine integration services güncelleştirilmesi artık Windows Update ile gerçekleştiriliyor.

Integration services delivered through Windows Update (updated) özelliği yeni bir Hyper-V özelliği değil. Windows Server 2012 R2 ve Windows Server 2008 R2 Hyper-V hostlar üzerinde çalışan sanal makineler için bu özelliği zaten kullanabiliyorduk. Windows Server 2016 ile birlikte integration services güncelleştirilmesi tamamen Windows güncelleştirmelerine bırakılmıştır. Dikkat ederseniz yaşanılan örnek senaryolar Hyper-V 1.0 ve 2.0 üzerinden verilmiş olup 3.0 dan bahsetmemiştik. Windows Server 2012 Hyper-V 3.0 ile başlayan süreç Windows Server 2016 Hyper-V 4.0 ile şimdilik en iyi duruma gelmiştir.

Bu ne anlama geliyor. Artık hiçbir Hyper-V Host u yöneten fabric administrator, sanal makine üzerinde güncelleştirme yapma hakkına sahip olamayacaktır. Yukarıda bahsetmiş olduğumuz senaryoyu biraz derinlemesine inceleyelim.

Fabric Administrator daha az riske sahip.

Operasyonu yapmış olduğumuz sanal sunucumuzun Exchange sanal sunucusu olduğunu düşünelim. Windows Server 2016 üzerinde bu özellik gelmeseydi, Hypeer-V Sanal Ortam yöneticisi Exchange sunucusu üzerine bağlantı gerçekleştirmesi ve integration services i yüklemesi anlamına gelecekti. Eski zamanlarda bu geçişler bir Hyper-V geçişi veya Fabric Administrator tarafından yapılmaktaydı.

Artık integration services güncelleştirme işlemi Exchange sunucusunu yöneten kişi tarafından yapılacaktır. Fabric administrator daha az riske sahip, daha az sorumluluğa sahip durumda. Sanal sunucu üzerinde bir değişiklik yapmadan Hyper-V geçişlerini yükseltme projelerini yapabilmekteyiz.

Bu senaryoda bir soru daha bizleri bekliyor, Exchange Sunucusu ve Exchange yöneticisi Hyper-V Host un güncelleştirmesinden nasıl haberdar olacak? Makalemizin ilerleyen bölümlerinde cevap bulunmaktadır.

Sanal Makine Sürümlerinin Yükseltilmesi – Virtual Machine Configuration Version

Windows Server 2016 Hyper-V 4.0 ile birlikte sanal makine versiyon numaraları güncelleştirilmiştir ve oluşturacak olduğumuz her bir sanal makine versiyon 8.0 (varsayılan değerlerde bir değişiklik yapılmazsa) olacaktır.

update -VMVersion

update -VMVersion

Windows Server 2012 Hyper-V üzerinde çalışan virtual machine configuration version 5.0 olan sanal sunucuları Windows Server 2016 Hyper-V Hybrid olarak çalıştırabilmektedir.

Makalemiz içinde giriş yapmış olduğumuz Hybrid (melez veya birlikte) çalışma neden gereklidir sorusunun cevabı bu ekran görüntüsü ile resmedilmiştir.

Yukarıdaki resmin açıklaması, v5 olan bir sanal makine aşağıdaki işlemler yapılmadığı sürece Windows Server 2016 ve Windows Server 2012 üzerinde çalışabilmektedir.

New-VM PowerShell

New-VM PowerShell

Get-VM * | Format-Table Name, Version

Yukarıdaki Powershell Komutu ile Windows Server 2016 Hyper-V üzerinde çalışan sanal sunucuları görebilmekteyiz.

New-VM -Name “WindowsVM01on2016”

Yukarıdaki Powershell Komutu ile Windows Server 2016 Hyper-V sunucusu üzerinde WindowsVM01on2016 isminde bir tane sanal sunucu oluşturdum. İlk komutumu tekrar çalıştırdığım zaman görüyorsunuz ki yeni oluşturmuş olduğum sanal sunucunun sürümü 8.0 olarak oluştu.

Get-VM

Get-VM

Aynı işlemleri Windows Server 2012 R2 Hyper-V sunucusu üzerinde gerçekleştirdim. Oluşturmuş olduğum WindowsVM01on2012 sanal sunucusunun sürümü 5.0 olarak oluştu.

Get-VMHostSupportedVersion

Get-VMHostSupportedVersion

Get-VMHostSupportedVersion – Default

Yukarıdaki Powershell Komutu ile Windows Server 2016 Hyper-V üzerinde bir sanal sunucu oluşturduğum zaman oluşacak olan sanal sunucunun hangi versiyona sahip olacağını ve Windows Server 2016 Hyper-V host üzerinde çalıştırabilecek olduğum sanal sunucu versiyonlarını görebilmekteyim. Bu Powershell aracı sadece Windows Server 2016 üzerinde çalışmaktadır.

New-VM -Name <“VMName“> -Version <VersionNumber>

Yukarıdaki Powershell Komutu ile Windows Server 2016 Hyper-V host üzerinde alt sürümleri destekleyen sanal sunucuları oluşturabilmekteyim. Bu Power Shell aracı sadece Windows Server 2016 üzerinde çalışmaktadır. Oluşturmuş olduğum sanal sunucular ile birlikte yeni sorgu çektiğim zaman eski sürüme sahip sanal sunucu ile yeni sürüme sahip sanal sunucunun aynı Hyper-V Host üzerinde başarılı bir şekilde çalıştığını görebilmekteyiz.

Upgrade Configuration Version

Upgrade Configuration Version

Sanal makinelerimizi eski versiyondan yeni versiyona yükseltme işlemini Hyper-V Manager üzerinde versiyon güncelleştirmesi yapacak olduğumuz sanal makineyi seçip Upgrade Configuration Version butonu ile yapabilmekteyiz. Bu işlemi yapabilmemiz için sanal makinenin kapalı olması gerekmektedir.

Update-VMVersion Powershell

Update-VMVersion Powershell

Update-VMVersion <VM Name>

Hyper-V Manager konsolu üzerinden güncelleştirme işlemini yapabildiğimiz gibi yukarıdaki Powershell Komutu ile belirtmiş olduğumuz her bir sanal makinenin versiyon yükseltmesini yapabilmekteyiz.

Upgrade Configuration Version Warning

Upgrade Configuration Version Warning

Yapmış olduğumuz sanal makine konfigürasyon versiyonun değişikliğinin geri dönüşü bulunmamaktadır. Bu işlemi yapmış olduğumuz sanal makine artık Windows server 2012 R2 ve öncesi Hyper-V host üzerinde çalışamayacaktır. Bu işlemi yaptıktan sonra sanal makinenin birlikte çalışma özelliğini ve eski versiyonlar ile ortak çalışma özelliğini bitirmiş oluyoruz.

Aşağıda bulunan tablo içinde hangi özelliğin hangi sürüm üzerinde desteklediğinin bilgisi bulunmaktadır. Windows Server 2016 Hyper-V üzerinde gelen yenilikleri #discovey Hyper-V 2016 etiketi ile erişebilirsiniz.

[table id=VirtualMachineConfigurationVersion /]

Sanal Makine Sürümlerinin Yükseltilmesi – Virtual Machine Configuration File Format

Windows Server 2016 Hyper-V ile birlikte gelen ve belki de en fazla dikkat etmemiz gerekli olan özellik Sanal Makine Konfigürasyon Dosya türlerindeki değişiklikler. Eskiden kullanmış olduğumuz XML dosya formatını terk etmiş ve daha sağlıklı ve daha stabil çalışan VMCX ve VMRS dosya türlerini kullanmaya başlamış durumdayız.

Vritual Machine Configuration File

Vritual Machine Configuration File

Yukarıdaki ekran görüntüsü içinde iki farklı sanal makine dosya biçimini görebilmektesiniz. Windows Server 2016 üzerinde eski versiyonlara sahip sanal sunucular çalıştığı gibi sanal bilgisayarların sahip olduğu dosya biçimi de bizler değiştirene kadar değişmemektedir.

Virtual Machine XML File

Virtual Machine XML File

Yukarıdaki ekran görüntüsü içinde Version 5.0 sürümüne sahip sanal sunucunun sahip olduğu sanal bilgisayar dosya biçimini görmektesiniz. Bu dosya sürümü XML dosya formatına sahiptir ve değiştirilebilmektedir. Değiştirilebilir özelliği bazı zamanlarda bizlere avantaj getirmiş olsa bile en büyük dezavantajı bu dosya türünün bozulabiliyor olması. Kötü amaçlı bir yazılım tarafından bozulması yaşanılan en büyük problemlerdendi.

VMRX ve VMRS Dosya Türleri

VMRX ve VMRS Dosya Türleri

Yukarıdaki ekran görüntüsü içinde Version 8 sürümüne sahip sanal sunucunun sahip olduğu sanal bilgisayar dosya biçimini görmektesiniz. Versiyon 8 ile birlikte kullanılan dosya biçimi VMRX ve VMRS dosya türleridir. Bu dosya türleri verilerini daha etkili okuma ve yazma imkânı sağlayan yeni bir formatı kullanmaktadır. Ayrıca bu dosya türleri barınmış oldukları depolama alanında bir hata oluşursa verilerin bozulma olasılığı daha azdır.

Virtual Machine vmcx ve vmrs file

Virtual Machine vmcx ve vmrs file

Sanal makinelerimizin konfigürasyon bilgileri VMCX dosya türünü kullanırken sanal makinemizin işleyiş süresi içinde verileriler VMRS dosya türü içinde saklanmaktadır.

VMRS dosya boyutunun Hyper-V Kapasite Planına etkisi ne olacak?

vmrs file is too large

vmrs file is too large

VMRS dosya boyutu ile ilgili bilmemiz gerekli olan en önemli konu dosya boyutudur. Proje planlaması yaparken sanal sunucularımızı barındıracak olduğumuz depolama alanı üzerinde Sanal makinemizin sahip olduğu sanal bellek kadar ek alana ihtiyacımız bulunmaktadır. Sanal makinemizde 4 GB Ram bulunuyorsa 4 GB disk alanını plan içine dahil etmemiz gerekmektedir. Sanal makinenin çalışıyor olması veya kapalı olması önemli değildir.

Windows Server 2012 R2 ve öncesinde bu dosya boyutunun karşılığı sanal makine .bin ve. vms dosya boyutu nasıl çalışıyor.

Virtual Machine Bin

Virtual Machine Bin

Yukarıdaki ekran görüntüsü içinde bulunan sanal makinemiz isminden anlaşılacağı üzere Windows Server 2012 Hyper-V üzerinde çalışan ve Versiyon5 olan bir sanal makine ve bu sanal makinenin bin ve vsv dosya türlerinin barınmış olduğu dizin görülmekte.

Sanal makinemiz kapalı olduğu .bin ve. vms dosyaları oluşmamış ve disk alanı üzerinde herhangi bir alan kaplamıyor.

Virtual Machine vsv ve bin file

Virtual Machine vsv ve bin file

Kapalı durumda olan sanal makinemizi açtığımız zaman sanal makinemizin bin ve vsv dosya türleri oluşuyor. Bu oluşan dosya türlerinin boyutu sanal makinemizin sahip olduğu sanal bellek kadardır.

Konuyu özetlememiz gerekirse yeni dosya formatlarımız daha hızlı ve daha sağlıklı çalışıyor ve bozulmalara karşı daha dirençli. Ve bu getirileri yanında sanal makine çalışmasa bile disk alanı gereksinimine ihtiyaç duymaktadır.

Windows Server 2016 öncesi Hyper-V sistemlerinde kapasite planı gerçekleştirirken her bir sanal makinenin sahip olduğu sanal memory boyutu kadar depolama alanı üzerinde yer ayırıyorduk. Bu yeni özellik eski usul kapasite planı yapıldığı zaman tutarlı olacaktır. Fakat Hyper-V hostları üzerinde âtıl durumda olan, kullanılmayan makinelerinde sanal memory boyutu kadar depolamanı alanı üzerinde yer tutması hesaplarımızın şaşmasına neden olacaktır. Bu yeni dosya formatının gereksinimlerine dikkat etmenizi önermekteyim.

Leave a Reply

Your email address will not be published. Required fields are marked *