Sanalama

KVM nedir?

Diğer adları: Kernel-based Virtual Machine
Tanım

KVM is full hardware virtualisation built into the Linux kernel, giving each guest its own kernel and hardware-enforced isolation from other tenants. Because a KVM guest runs its own kernel, it can load kernel modules, run non-Linux operating systems, use real swap and support nested virtualisation.

KVM neden önemlidir

Bir KVM konuğu kendi çekirdeğini çalıştırdığından, çekirdek modülleri yükleyebilir, Linux dışı işletim sistemlerini çalıştırabilir, gerçek takas kullanabilir ve iç içe sanallaştırmayı destekleyebilir. Bir KVM konuğuna ayrılan bellek gerçekten ayrılmıştır; bu, kapsayıcı tabanlı sanallaştırmadan pratik farktır.

KVM pratikte

Bir KVM sunucusu çalıştırdığınızda, misafirde kontrol ettiğiniz ilk şey /proc/cpuinfo'dur; ana makinenin bayraklarıyla eşleşmiyorsa, muhtemelen tam KVM değil, yarı sanallaştırılmış kısayollar görüyorsunuzdur. Bellek ayırımını gerçek rezervasyonlarla yaparsınız: aşırı taahhüt, ana makine boş görünürken misafirin OOM killer'ını tetikler. İç içe sanallaştırmayı yanlış yapılandırırsanız, donanım destekli sayfalamayı kaybedersiniz ve misafirler hızın çok altında çalışır. Yanlış yapmak, yeniden başlatmadan geri kazanamayacağınız performansa mal olur.

KVM hakkında insanların yanıldığı şeyler

İnsanlar KVM'in OpenVZ veya LXC ile aynı olduğunu varsayar çünkü ikisi de Linux çekirdeğini kullanır. Düzeltme şudur: KVM her misafire kendi çekirdeğini verirken, konteynerler ana makinenin çekirdeğini paylaşır. Çekirdek modülleri yükleyebilir ve Linux dışı işletim sistemlerini yalnızca KVM'de çalıştırabilirsiniz. Paylaşılan ad alanı izolasyonu donanım tarafından zorlanmaz.

KVM — yaygın sorular

KVM performans için ne anlama gelir?

KVM'in donanım sanallaştırması, her misafirin kendi çekirdeğine sahip olması anlamına gelir; bu yüzden CPU ve bellek performansı neredeyse doğaldır. Bellek gerçekten ayrılmıştır, paylaşılmaz. Konteynerlere kıyasla öngörülebilir, izole edilmiş verim bekleyebilirsiniz.

KVM üzerinde Windows çalıştırabilir miyim?

Evet, bir KVM misafiri kendi çekirdeğini çalıştırır, bu yüzden Windows gibi Linux dışı işletim sistemlerini çalıştırabilir. Bir ISO yüklemeniz ve bir VNC konsolu bağlamanız gerekecek. Windows Server lisansı belirli bölgelerde isteğe bağlı ekstra olarak sunulmaktadır.

sanalama kategorisinden daha fazlası

OpenVZ
OpenVZ, her örneğin ana çekirdeği paylaştığı kapsayıcı tabanlı sanallaştırmadır; bu nedenle konuklar çekirdek modülleri yükleyemez veya farklı bir işletim sistemi çalıştıramaz.
LXC
LXC, ana çekirdeği paylaşırken süreçleri ad alanları ve cgroups ile izole eden Linux yerel kapsayıcılaştırmasıdır.
Hipervizör
Hipervizör, fiziksel CPU, bellek ve G/Ç'yi aralarında tahsis ederek sanal makineleri oluşturan ve çalıştıran yazılım katmanıdır.
İç içe sanallaştırma
İç içe sanallaştırma, işlemci sanallaştırma uzantılarını konuğa sunarak bir sanal makinenin kendisinin sanal makineler çalıştırımasını sağlar.
Sanal CPU
vCPU, fiziksel bir çekirdek veya iş parçacığı üzerindeki zamanlama ile desteklenen, konuğa sunulan sanal bir işlemcidir.
cloud-init
cloud-init, platform tarafından sağlanan meta verileri kullanarak bir sanal makineyi ilk açılışta yapılandırmak için standart mekanizmadır.