Kısa cevap

Type 1 hypervisor doğrudan donanım üzerinde çalışır ve altında başka bir işletim sistemi yoktur. Type 2 hypervisor ise mevcut bir işletim sistemi üzerinde, sıradan bir uygulama gibi çalışır. Üretim sunucularında Type 1, masaüstü ve test senaryolarında Type 2 kullanılır.

Mimari fark#

Type 1 hypervisor, sunucu açıldığında doğrudan başlar. Donanımın sahibi odur; işlemci zamanlamasını, bellek yönetimini ve aygıt erişimini kendisi yürütür. Bu nedenle "bare-metal" (çıplak donanım) hypervisor olarak da anılır.

Type 2 hypervisor bir işletim sisteminin üzerinde çalışır. Sanal makinelerin donanıma her erişimi, önce hypervisor'dan sonra ana işletim sisteminin çekirdeğinden geçer. Bu ek katman esneklik sağlar ama araya bir yol daha ekler.

İki mimarinin karşılaştırması
ÖlçütType 1 (bare-metal)Type 2 (barındırılan)
Altındaki katmanDoğrudan donanımGenel amaçlı işletim sistemi
Tipik kullanımÜretim sunucuları, veri merkeziMasaüstü, geliştirme, test
Aygıt erişimiHypervisor doğrudan yönetirAna işletim sistemi üzerinden
Kaynak ek yüküDaha düşükDaha yüksek
ÖrneklerVMware ESXi, Microsoft Hyper-V, Proxmox VE, XCP-ngVMware Workstation, Oracle VirtualBox, Parallels Desktop

Tablo yatay olarak kaydırılabilir.

Performans farkı nereden gelir?#

Aradaki fark, sanal makinenin donanıma erişmek için kaç katmandan geçtiğiyle ilgilidir. Type 2'de her disk veya ağ işlemi ana işletim sisteminin sürücü yığınından da geçer; bu da ek gecikme ve ek işlemci kullanımı anlamına gelir.

İşlemci tarafında fark daha küçüktür, çünkü her iki tür de donanım sanallaştırma desteğini (Intel VT-x, AMD-V) kullanır. Asıl fark giriş/çıkış (I/O) yoğun işlerde ve gecikmeye duyarlı uygulamalarda görülür.

KVM hangi türe girer?#

KVM (Kernel-based Virtual Machine) bu sınıflandırmanın kenarında durur ve sık sık tartışma konusu olur. KVM, Linux çekirdeğinin içine yüklenen bir modüldür: çekirdeği bir hypervisor'a dönüştürür. Bu açıdan Type 1 gibi doğrudan donanımı yönetir; ancak altında tam bir Linux işletim sistemi bulunduğu için Type 2'ye benzediği de söylenir.

Hangisini seçmeli?#

Type 1 tercih edilir

  • Sürekli çalışan üretim iş yükleri
  • Yüksek erişilebilirlik ve canlı taşıma gereksinimi
  • Çok sayıda sanal makinenin merkezî yönetimi
  • Gecikmeye duyarlı uygulamalar

Type 2 tercih edilir

  • Kişisel bilgisayarda test/eğitim ortamı
  • Geliştirme sırasında hızlı kurulup silinen makineler
  • Farklı işletim sistemlerini aynı masaüstünde denemek
  • Ayrı bir sunucu ayırmanın anlamsız olduğu durumlar

Type 1 hypervisor'ın işletim sistemi yok mu?#

Var — ama genel amaçlı bir işletim sistemi değil.

"Type 1 doğrudan donanım üzerinde çalışır" ifadesi sık sık "işletim sistemi yok" biçiminde anlaşılır. Doğrusu şudur: type 1 hypervisor'ın kendi çekirdeği ve kendi sürücü katmanı vardır, ama bu katman yalnızca sanal makine çalıştırmak için tasarlanmıştır. İçinde masaüstü, tarayıcı, ofis uygulaması, paket yöneticisi bulunmaz.

Fark buradan gelir: genel amaçlı bir işletim sisteminde yüzlerce bileşen aynı çekirdeği paylaşır ve her biri hem bir arıza hem bir güvenlik açığı kaynağıdır. Type 1'de bu yüzey kasıtlı olarak küçük tutulur.

Type 2 hypervisor üretimde kullanılabilir mi?#

Teknik olarak çalışır, ama üretim için tercih edilmez ve nedeni performanstan çok öngörülebilirliktir.

Type 2'de sanal makineler, altındaki işletim sisteminin sıradan bir uygulaması gibi zamanlanır. Bu şu anlama gelir:

  • Host işletim sistemindeki bir güncelleme ya da yeniden başlatma bütün sanal makineleri etkiler.
  • Aynı makinede çalışan başka bir uygulama, sanal makinelerin eriştiği kaynağı belirsiz biçimde daraltabilir.
  • Host'un uyku kipi, sürücü güncellemesi veya çökmesi doğrudan sanal makinelere yansır.

Bu yüzden type 2'nin doğal yeri geliştirme, test, eğitim ve masaüstü kullanımıdır. Sürekli çalışması gereken iş yükleri için type 1 kullanılır.

Donanım sanallaştırma desteği ne işe yarar?#

Modern sanallaştırmanın hem performansını hem yaygınlaşmasını mümkün kılan şey, işlemcideki bu destektir. İki ayrı katmanda çalışır:

Donanım desteğinin iki katmanı
KatmanNe sağlarOlmadığında
İşlemci sanallaştırmaKonuk çekirdeğinin ayrıcalıklı komutları doğrudan yürütülürKomutların yazılımla çevrilmesi gerekir
Bellek sanallaştırmaİki katmanlı adres çevirisi donanımda yapılırHypervisor gölge tablo tutmak zorundadır

Tablo yatay olarak kaydırılabilir.

İkinci satır pratikte daha belirleyicidir. Adres çevirisinin donanıma inmesi, bellek yoğun iş yüklerinde hypervisor'ın üstündeki yükü büyük ölçüde kaldırır.

Windows'taki Hyper-V hangi türe girer?#

Göründüğünün aksine type 1'dir — ve bu, kavramı en çok karıştıran örnektir.

Hyper-V rolü etkinleştirildiğinde hypervisor, Windows'un altına yerleşir. O andan sonra kullandığınız Windows artık donanım üzerinde doğrudan çalışan taraf değildir; hypervisor'ın yönettiği ayrıcalıklı bir bölüm hâline gelir. Masaüstünüz yerinde durduğu için dışarıdan bakınca bir uygulama gibi görünür, mimari olarak değildir.

Bunun gözlemlenebilir bir sonucu vardır: Hyper-V açıkken aynı makinede donanım sanallaştırmaya doğrudan erişmek isteyen başka bir sanallaştırma ürününü çalıştırmak sorun çıkarabilir, çünkü o erişim artık hypervisor'ın elindedir.

Önemli noktalar

  • Type 1 donanım üzerinde doğrudan çalışır; üretim ortamlarının standardıdır.
  • Type 2 mevcut bir işletim sistemi üzerinde çalışır; masaüstü ve test için uygundur.
  • Performans farkı en çok giriş/çıkış yoğun işlerde belirginleşir.
  • KVM sınıflandırmanın sınırındadır; pratikte Type 1 gibi kullanılır.