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.
| Ölçüt | Type 1 (bare-metal) | Type 2 (barındırılan) |
|---|---|---|
| Altındaki katman | Doğrudan donanım | Genel amaçlı işletim sistemi |
| Tipik kullanım | Üretim sunucuları, veri merkezi | Masaüstü, geliştirme, test |
| Aygıt erişimi | Hypervisor doğrudan yönetir | Ana işletim sistemi üzerinden |
| Kaynak ek yükü | Daha düşük | Daha yüksek |
| Örnekler | VMware ESXi, Microsoft Hyper-V, Proxmox VE, XCP-ng | VMware 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:
| Katman | Ne sağlar | Olmadığında |
|---|---|---|
| İşlemci sanallaştırma | Konuk çekirdeğinin ayrıcalıklı komutları doğrudan yürütülür | Komutların yazılımla çevrilmesi gerekir |
| Bellek sanallaştırma | İki katmanlı adres çevirisi donanımda yapılır | Hypervisor 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.
