Sanallaştırma Rehberi: Fiziksel, Sanal Makine mi Konteyner mi?
Sanallaştırma nedir, tip 1 ve tip 2 hipervizör farkı, Proxmox ile VMware ve Hyper-V karşılaştırması, sanal makine ile konteyner arasındaki karar kriterleri ve kaynak planlaması: uygulanabilir bir karar çerçevesi.
Erdem Özyurt
Kısa cevap: Sanallaştırma, tek bir fiziksel makinenin kaynaklarını birden fazla bağımsız sisteme bölen katmandır ve karar üç seçenek arasında verilir. Farklı çekirdek, tam izolasyon veya Windows gerekiyorsa sanal makine; aynı çekirdeği paylaşabilen, hızlı açılıp kapanan uygulamalar için konteyner; tek bir yükün donanımın tamamını kullandığı durumlarda fiziksel makine. Çoğu üretim kurulumunda üçü birlikte bulunur.
Sanallaştırma tam olarak ne yapar?
Sanallaştırma, fiziksel donanımın kaynaklarını yazılım katmanıyla bölerek birden fazla bağımsız sistemin aynı makinede çalışmasını sağlar. Faydası üç başlıkta somutlaşır:
- Kaynak verimliliği: Tek bir servis için alınmış bir sunucu genellikle kaynağının küçük bir kısmını kullanır. Sanallaştırma, boşta duran kapasiteyi başka iş yüklerine açar.
- İzolasyon: Bir sistemin çökmesi, dolan diski veya hatalı güncellemesi diğerlerini etkilemez. Servisleri ayırmak, en ucuz güvenilirlik yatırımıdır.
- Taşınabilirlik ve geri alınabilirlik: Sanal makine bir dosyadır. Başka donanıma taşınır, yedeklenir ve en önemlisi snapshot ile geri alınır.
Üçüncü madde tek başına sanallaştırmaya geçmenin en güçlü gerekçesidir. Fiziksel bir makinede riskli bir sürüm yükseltmesi denemek cesaret ister ve geri dönüş yolu genellikle yeniden kurulumdur. Snapshot alınmış bir sanal makinede aynı işlem, iki dakika içinde geri alınabilecek bir denemeye dönüşür. Sanal ortamdaki bu avantajı MikroTik CHR yazısında router tarafında da anlatmıştım; mantık aynıdır.
Tip 1 ve tip 2 hipervizör: hangisi nerede?
Hipervizör, sanal makineleri çalıştıran katmandır ve iki türü vardır.
| Tip 1 (bare metal) | Tip 2 (hosted) | |
|---|---|---|
| Nerede çalışır | Doğrudan donanım üzerinde | Bir işletim sisteminin üstünde |
| Örnekler | Proxmox VE, VMware ESXi, Hyper-V Server, XCP-ng | VirtualBox, VMware Workstation, UTM |
| Performans | Yüksek (araya katman girmez) | Daha düşük |
| Saldırı yüzeyi | Küçük | Ana işletim sistemi kadar büyük |
| Kullanım | Üretim sunucusu | Geliştirme, test, masaüstü lab |
Üretim için cevap her zaman tip 1’dir. Tip 2 hipervizörler, altlarındaki işletim sisteminin tüm güncelleme, yeniden başlatma ve güvenlik yükünü de taşır: masaüstü işletim sisteminizin bir güncellemesi, üzerindeki tüm sanal makineleri yeniden başlatmayı gerektirebilir.
Bir ara durum kafa karıştırır: Proxmox VE aslında bir Debian kurulumunun üzerine gelir, o hâlde tip 2 değil midir? Değildir. Proxmox’ta sanallaştırma işini çekirdeğin içindeki KVM modülü yapar; Debian katmanı yönetim arayüzü ve araçları taşır, paketlerin arasına girmez. Sanal makine doğrudan donanım destekli sanallaştırma üzerinden çalışır.
Proxmox, VMware, Hyper-V ve XCP-ng: hangisi seçilmeli?
| Ölçüt | Proxmox VE | VMware ESXi | Hyper-V | XCP-ng |
|---|---|---|---|---|
| Lisans | Açık kaynak, destek aboneliği isteğe bağlı | Ticari | Windows Server lisansına bağlı | Açık kaynak |
| VM + konteyner tek arayüz | Var (KVM + LXC) | Yok (yalnız VM) | Yok (yalnız VM) | Yok |
| Yedekleme | Dahili + Proxmox Backup Server | Ayrı ürün/üçüncü taraf | Windows araçları | Ayrı araç |
| Kümeleme | Dahili, küçük ölçekte kolay | Güçlü, ticari katman | Failover cluster | Var |
| Windows misafir desteği | İyi (VirtIO sürücüleriyle) | Çok iyi | En iyi | İyi |
| Ekosistem genişliği | Orta | En geniş | Microsoft merkezli | Dar |
| Öğrenme eşiği | Orta (Linux bilgisi gerekir) | Orta | Windows yöneticisi için düşük | Orta |
Seçim kuralım:
- Ağırlıklı Linux iş yükü, maliyet duyarlı, ekip Linux’a hakim: Proxmox VE. Konteyner ve sanal makineyi tek arayüzde yönetmek, küçük ve orta ölçekte gerçek bir avantajdır.
- Ağırlıklı Windows ve Active Directory merkezli ortam: Hyper-V. Lisans zaten alınmışsa ek maliyet çıkarmaz.
- Büyük kurumsal ortam, mevcut VMware yatırımı, ticari destek zorunluluğu: VMware.
Proxmox’a karar verdiyseniz kurulumun tamamı Proxmox VE kurulum rehberinde, ağ tarafı Proxmox ağ yapılandırması yazısında.
Sanal makine mi konteyner mi kullanmalı?
Bu, kümenin en pratik sorusudur. İkisi de “izole çalıştırma” vaat eder ama teknik olarak temelden farklıdır: sanal makine kendi çekirdeğini çalıştırır, konteyner ana sistemin çekirdeğini paylaşır.
| Ölçüt | Sanal makine (KVM) | Konteyner (LXC / Docker) |
|---|---|---|
| Çekirdek | Kendi çekirdeği | Ana sistemin çekirdeği |
| Açılış süresi | Onlarca saniye ile dakikalar | Saniyeler |
| Disk maliyeti | Gigabaytlar | Megabaytlar ile yüzlerce megabayt |
| Bellek maliyeti | Sabit ayrılır | Yalnız kullanılan kadar |
| İzolasyon | Güçlü (donanım seviyesinde) | Daha zayıf (çekirdek paylaşımlı) |
| Farklı işletim sistemi | Var (Windows, BSD, farklı çekirdek) | Yok (aynı çekirdek ailesi) |
| Çekirdek modülü yükleme | Mümkün | Genellikle mümkün değil |
| Canlı göç | Var | Sınırlı |
Karar için üç soru yeterlidir:
- Farklı bir işletim sistemi veya çekirdek gerekiyor mu? Evetse sanal makine. Windows, pfSense, farklı çekirdek sürümü gerektiren yükler burada.
- Güvenlik sınırı ne kadar sert olmalı? Farklı müşterilere ait iş yüklerini aynı makinede çalıştırıyorsanız sanal makine kullanın. Konteyner izolasyonu çekirdek üzerinden atlatılabilir; sanal makinede bunun için hipervizörü aşmak gerekir.
- Hızlı ölçeklenme ve düşük kaynak önemli mi? Evetse konteyner. Onlarca küçük servisi ayrı sanal makinelerde çalıştırmak bellek israfıdır.
Pratikte doğru cevap genellikle karışımdır: hipervizör üzerinde birkaç sanal makine, birinde uygulama konteynerleri, birinde veritabanı, birinde yönetim araçları. Konteyner tarafındaki seçimi (LXC mi Docker mı) ayrıca LXC, Docker ve sanal makine karşılaştırmasında derinleştirdim; Docker’ın üretim yapılandırması ise Docker Compose üretim rehberinin konusu.
Kaynak planlaması: fazladan tahsis nerede biter?
Sanallaştırmanın en sık yapılan hatası, kaynakları kağıt üzerinde toplamaktır. Üç kaynak üç farklı davranır.
CPU: fazladan tahsis edilebilir. Sanal makineler çekirdeklerini aynı anda tam kullanmaz. Fiziksel çekirdek başına iki ila üç sanal çekirdek makul bir başlangıçtır; yük profiline göre daha yükseğe çıkılabilir. Asıl izlenecek metrik çekirdek sayısı değil, ana sistemdeki CPU bekleme süresidir: sanal makineler çalışmak için sıra bekliyorsa oran fazla demektir.
Bir tuzak: bir sanal makineye ihtiyacından fazla çekirdek vermek, o makineyi hızlandırmaz, yavaşlatabilir. Hipervizör, sanal makinenin tüm çekirdeklerini eşzamanlı olarak planlamak zorundadır; sekiz çekirdekli bir sanal makine, sekiz fiziksel çekirdek aynı anda boşalana kadar bekler. Küçük yükler için iki çekirdek, çoğu durumda sekiz çekirdekten hızlıdır.
Bellek: fazladan tahsis riskli. Bellek gerçekten tükendiğinde ana sistem takas alanına düşer veya süreçleri sonlandırır; sonuç, üzerindeki tüm sanal makineleri etkileyen bir çöküştür. Kural: tüm sanal makinelerin belleği toplamı fiziksel belleğin altında kalmalı ve ana sisteme en az birkaç gigabayt ayrılmalıdır. ZFS kullanıyorsanız önbellek için ayrıca ciddi miktarda bellek ayırmanız gerekir; bu, Proxmox kurulumlarında en sık gözden kaçan kalemdir.
Disk: darboğazın gerçek yeri. Sanallaştırmada performans şikayetlerinin çoğu CPU veya bellekten değil, disk giriş çıkışından gelir. On sanal makine aynı diske yazdığında toplam IOPS bölüşülür. Üretim sanallaştırmasında SSD tercih edilir; dönen disk kullanılacaksa sanal makine sayısı buna göre sınırlanır.
Bu üç kalemi çalışırken izlemek şarttır; eşikler ve araç seçimi için sunucu izleme rehberine bakın.
Sanallaştırmada snapshot ile yedek arasındaki fark nedir?
Bu ayrımı yapmamak, sanallaştırmadaki en pahalı hatadır.
- Snapshot, sanal makinenin belirli bir andaki durumunu aynı depolama üzerinde işaretler. Anlıktır, ucuzdur, riskli bir işlemden önce alınır ve işlem bitince silinir.
- Yedek, sanal makinenin başka bir ortama alınmış tam kopyasıdır.
Kritik sonuç: snapshot yedek değildir. Depolama arızalanırsa snapshot da onunla gider. Snapshot’ı uzun süre tutmak ayrıca performansı düşürür ve depolamayı şişirir; kullan ve sil mantığıyla çalışır.
Doğru kurgu ikisini birlikte kullanır: riskli güncelleme öncesi snapshot, düzenli olarak da farklı bir ortama yedek. Proxmox tarafındaki tam kurulum (zamanlanmış yedek, Proxmox Backup Server, geri yükleme testi) Proxmox yedekleme ve snapshot rehberinde.
Sanallaştırmaya nereden başlanmalı?
Sanallaştırmaya yeni geçiyorsanız önerdiğim sıra:
- Donanımı doğrulayın. CPU’da donanım destekli sanallaştırma (Intel VT-x veya AMD-V) açık olmalı; BIOS’ta kapalı gelmesi yaygındır. Mevcut bir Linux’ta kontrol:
grep -Ec "vmx|svm" /proc/cpuinfoçıktısı sıfırdan büyük olmalı. - Hipervizörü kurun. Proxmox VE kurulum rehberi adım adım anlatıyor.
- Ağı doğru kurun. Köprü, VLAN ve yönetim arayüzü ayrımı baştan yapılmazsa sonradan kesintiyle düzeltilir: Proxmox ağ yapılandırması.
- İlk sanal makineyi açın ve sertleştirin. Sanal olması güvenlik gerekliliklerini değiştirmez: VPS ilk 30 dakika listesi aynen geçerlidir.
- Yedeklemeyi kurun ve geri yüklemeyi test edin. Test edilmemiş yedek yedek değildir.
- Uygulama katmanına geçin: Docker Compose üretim rehberi veya sürekli deploy için Coolify.
Ağ cihazlarını da sanallaştırmayı düşünüyorsanız MikroTik CHR ile Proxmox kurulumu yazısı, router tarafının aynı hipervizör üzerinde nasıl çalıştığını anlatıyor. Tüm sunucu katmanlarının haritası ise Linux sunucu yönetimi yol haritasında.
Sanallaştırmada en sık yapılan hatalar neler?
- Ana sisteme bellek ayırmamak. Tüm belleği sanal makinelere dağıtmak, hipervizörü ilk yük artışında çökertir.
- Tek sanal makineye gereğinden çok çekirdek vermek. Planlama gecikmesi yüzünden performans düşer.
- Snapshot’ı yedek sanmak. Depolama gittiğinde ikisi birlikte gider.
- Ağı sonradan düşünmek. Köprü ve VLAN yapısını sonradan değiştirmek, çalışan sanal makinelerde kesinti demektir.
- Yedeklilik olmadan tek hipervizöre her şeyi koymak. Sanallaştırma tek noktadan arızayı yok etmez, yoğunlaştırır. Kritik servislerde ikinci bir makine veya en azından hızlı geri yükleme planı gerekir.
- Sanal makineyi sertleştirmeyi atlamak. Sanal olmak, internete açık bir sunucuyu daha güvenli yapmaz.
Kaynaklar
- Proxmox VE Administration Guide (KVM, LXC, depolama ve küme yönetimi)
- Linux Kernel: KVM Documentation (donanım destekli sanallaştırma)
- namespaces(7) manual page (konteyner izolasyonunun çekirdek temeli)
Sıkça Sorulan Sorular
Sanallaştırma nedir, basitçe ne işe yarar?
Sanallaştırma, tek bir fiziksel makinenin kaynaklarını (CPU, bellek, disk, ağ) birden fazla bağımsız sisteme bölen katmandır. Faydası üç başlıkta toplanır: donanım kullanımını artırır (boşta duran kaynak azalır), sistemleri birbirinden izole eder (birinin çökmesi diğerini etkilemez) ve taşınabilirlik sağlar (bir sanal makine başka bir donanıma kopyalanabilir, snapshot ile geri alınabilir).
Tip 1 ve tip 2 hipervizör arasındaki fark nedir?
Tip 1 hipervizör doğrudan donanım üzerinde çalışır ve altında işletim sistemi yoktur (Proxmox VE, VMware ESXi, Hyper-V Server). Tip 2 ise mevcut bir işletim sisteminin üstünde bir uygulama olarak çalışır (VirtualBox, VMware Workstation). Üretim sunucularında tip 1 kullanılır: araya bir işletim sistemi katmanı girmediği için performans daha yüksek ve saldırı yüzeyi daha küçüktür. Tip 2 geliştirme ve test için uygundur.
Sanal makine mi konteyner mi kullanmalıyım?
Farklı çekirdek veya tam izolasyon gerekiyorsa sanal makine, aynı çekirdeği paylaşabilen uygulamalar için konteyner. Sanal makine kendi çekirdeğini çalıştırır: Windows barındırabilir, çekirdek modülü yükleyebilir, tam izolasyon sağlar ama gigabaytlarca disk ve dakikalar süren açılış ister. Konteyner çekirdeği ana sistemle paylaşır: saniyeler içinde açılır, çok daha az kaynak tüketir ama izolasyonu daha zayıftır ve farklı çekirdek gerektiren işleri yapamaz.
Proxmox mu VMware mi seçmeliyim?
Proxmox VE açık kaynaktır, ücretsiz kullanılabilir (destek aboneliği isteğe bağlıdır), KVM sanal makineleri ile LXC konteynerlerini tek arayüzde yönetir ve küçük ölçekli kümeleme için güçlüdür. VMware kurumsal ekosistemde daha yaygındır, çevre araç desteği geniştir ve büyük ölçekli kurumsal ortamlarda yerleşiktir. Kurumsal destek sözleşmesi zorunluluğu yoksa ve ekip Linux'a hakimse Proxmox çoğu senaryoda daha ekonomik ve esnektir.
Sanallaştırmada CPU ve bellek fazladan tahsis edilebilir mi?
CPU çekirdeği fazladan tahsis edilebilir (overcommit), çünkü sanal makineler çekirdeği aynı anda tam kullanmaz; makul oran, fiziksel çekirdek başına iki ila üç sanal çekirdektir. Bellekte ise fazladan tahsis çok daha risklidir: bellek gerçekten tükendiğinde ana sistem takas alanına düşer veya süreçleri sonlandırır ve üzerindeki tüm sanal makineler birlikte etkilenir. Bellek toplamı fiziksel belleğin altında tutulmalı ve ana sistem için en az birkaç gigabayt ayrılmalıdır.
Kaynaklar
- 1
Proxmox VE mimarisi, KVM sanal makineleri ve LXC konteynerlerinin yönetimi
Proxmox VE Administration Guide (2026) ↗ - 2
KVM çekirdek tabanlı sanallaştırma modülü ve donanım destekli sanallaştırma
Linux Kernel Documentation: KVM (2026) ↗ - 3
Linux konteyner izolasyon mekanizmaları: namespace ve cgroup
Linux man-pages: namespaces(7) (2026) ↗
Yazan: Erdem Özyurt
Bilişim Danışmanı · ISP Altyapı · Siber Güvenlik
Kablo döşemekten kod yazmaya, ağ tasarımından web geliştirmeye; Layer 1'den Layer 7'ye bütünlük içinde çalışıyorum.
Hakkımda daha fazla →