Server 2016 Nested Virtualization – Hyper-V Üstünde Hyper-V Çalıştırmak
Bu makalemizde sizlere Azure için geliştirlen ve Server 2016 ile bizlerin kullanımına sunulan Hyper-V hostunuz üzerinde Hyper-V hostların kurulumu anlatılacaktır.
Hangi Amaçla Kullanılır:
Hyper-V Testleriniz İçin:
RAM ve CPU teknolojisisin hızla gelişmesi fiyatları da aşağıya çekmektedir. Buda sanallaştırma dünyasının ivmesini hızlı şekilde yukarı çıkartmaktadır. Durum böyle olunca test edilecek çok fazla detay ortaya çıkmakta. Sanallaştırma ve Hyper-V testlerimiz için ne kadar ek fiziksel kaynak bulundurabilirsiniz? Bu sorunun cevabı Azure için geliştirilen ve Server 2016 ile sunulan “Nested Virtualization” çözümü ile minimuma düşmüş durumda. Bu özellikle birlikte tek bir makine üzerinde kaynaklarınız el verdiği ölçüde (CPU ve RAM) Hyper-V host oluşturup çalıştırabilirsiniz.
Datacenter Hosting:
Mesela bir grup şirketi içerisinde her şirketlerin kendi IT kadrosu olduğunu ve Grup Şirket IT kadrosunun hepsine destek verdiğini düşünün. Bu durumda en iyi çözüm her firma için kendi Hyper-V hostlarının yönetimini sağlamak ve bunu yaparken de fiziksel sunucu tahsisi yapmak yerine sanal sunucu olarak sağlaman yani “Nested Virtualization”.
Azure gibi Datacenter Yönetim firmalarının veya Hosting şirketlerinin fiziksel sunucu kiralama, Co-Location çözümlerinde müşterilerine sundukları hizmet Server 2016 ile azalacaktır. Artık kendi Hyper-V ortamlarını yönetmek isteyen müşterilerine fiziksel sunucu tahsisi yerine “Nested Virtualization” oluşturmak.
Server 2016 Containers:
Linux kullanıcıların yoğun olarak kullandığı Docker ürününü Microsoft satın alarak Server 2016 içinde geliştirmeye sunulmuştur. En özet şekilde SQL, IIS, Exchange gibi hizmetlerinizin uygulama katmanı ile OS katmanını bir birinden ayırıp uygulama katmanın ayrı olarak sanallaştırılarak kullanıldığı bir yapı.
Konuyu örnekle açıklamak gerekirse kurumunuz için 3 SQL hizmetine ihtiyacınız olduğunu düşünelim. Normalde her SQL sunucu için bir sunucu kurup gerekli ayarlamaları ve tanımlamaları yapardık. Containers ile birlikte tamamen isole edilmiş tek bir işletim sistemi kurup yönetilirken SQL hizmetleri ise bu işletim sistemine link edilmiş şekilde çalışacaklar. Bu sayede uygulamanın restart ve deploy süresi saniye seviyesini indirilmiş olurken daha stabil yapıya ulaşılmış olacaktır.
Aşağıda linkini verdiğim potalımızdaki makalelerle Docker ve Containers yapısı hakkında daha detaylı bilgi edinebilirsiniz.
Nasıl Yapılandırılır:
Normalde sanal makineye Hyper-V rolü kurulamazdı. Kurmak istediğimizde “Hyper-V cannot be installed. The processor does not have required virtualization capabilities” şekilde bir uyarı vererek kurulumu iptal ederdi.
Windows 10’un 10565 build numaralı sürümü ve Server 2016 ile birlikte sanal makine üzerine Hyper-V rolünü kurup üzerinde sanal makineler çalıştırabiliyoruz. Bu işlem için;
Sanal makinede “Dynamic Memory” aktif edilmemeli
Sanal makinenin tüm Network adaptörlerinde “Advanced Features” altında “Mac Address Spoofing” aktif edilmeli.
En az 2 sanal işlemci atamasının yapılması gerekiyor.
Sanal Makine kapalı iken aşağıdaki PowerShell komutunu fiziksel Hyper-V host üzerinde Hyper-V Manager üzerindeki sanal makinenin ismine göre düzenlenip çalıştırılır
Set-VMProcessor -VMName <Target VM‘s Name> -ExposeVirtualizationExtensions $true
Server 2012 R2 Guest Hyper-V olur mu?
Server 2012 R2 işletim sistemli sanal makineye yukarıdaki işlemleri uygulandığında Hyper-V rolü kurulmak istendiğinde “Hyper-V cannot be installed: A hypervisor is already running” uyarı mesajı alınmaktadır.
Eğer aşağıdaki komutlar çalıştırıldığında Hyper-V rolünün kurulumu tamamlanır. Fakat üzerinde sanal makine çalıştırılamaz. Server 2012R2 üzerine Hyper-V rolünün kurulumu için;
Aşağıdaki komutu çalıştırdıktan sonra rolü kurulumu başlayacaktır. Kurulum tamamlandığında Y ‘ye basıp sunucuyu restart edin.
DISM /Online /Enable-Feature /FeatureName:Microsoft-Hyper-V
Arkasından aşağıdaki komutu çalıştırın. Kurulum bittiğinde ise tekrardan sanal sunucuyu restart etmek için Y ‘ye basarak işlemi tamamlayın.
DISM /Online /Enable-Feature /FeatureName:Microsoft-Hyper-V-Management-Clients
Makalemin sonuna geldik, umarım faydalı bir makale olmuştur, bir sonraki makalemde görüşmek dileği ile esen kalın