En basit tanımıyla sanallaştırma teknolojisi olarak bilinen Kernel-based Virtual Machine (KVM), Linux çekirdeği için geliştirilmiş altyapı sistemidir. Bu sistem sayesinde Linux daha üst bir sisteme dönüştürülebilmektedir. İşlemler açık kaynaklı ve güvenilirdir. Bu sistemle Linux içerisinde birden fazla sistem kurma ve çalıştırma imkanı vardır.
KVM Nedir sorusunu ele aldığımızda Kernel-based Virtual Machine, yani Çekirdek Tabanlı Sanal Makine karşılığını alırız. Bu tanımı açacak olursak da Linux dağıtımları için gerek duyulan sanallaştırma sisteminin sadece bir ayağıdır. Son olarak 2007’de alınan güncelleme ile Linux çekirdeğine tam olarak eklenmiştir. İşlemcideki sanallaştırma desteği sayesinde KVM kullanılabilir olmaktadır.
Sanal makine monitörleri veya uygulamalarının çekirdek altyapısı olarak bilinen KVM, bu sistemlerin sanallaştırılmasını, denetlenmesini sağlar. Sistemlerin farklı iş yüklerinin istenen yerel hızda gerçekleşmesini de sağlar.
Temelde Linux işletim sisteminin çekirdeğinde yönetici (kernel) olarak görevini yapar. Sanallaştırma anlamında performansı yükseltir. Bununla birlikte VM (sanallaştırılmış sunucu) oluşturulmuş olunur. İşlemci, harddisk veya ram gibi kaynaklar için özel bir yapı oluşturulur ve donanımsal sanallaştırma da faaliyete geçmiş olur.
KVM Switch ise tek klavye, fare ve monitör aracılığıyla birden fazla bilgisayarın kontrolünü sağlayan sistemdir. KVM switch nedir sorusu en kısa haliyle bu şekilde açıklanabilir. İşlem KVM anahtarları sayesinde olmaktadır. Tek ekranda birden fazla bilgisayarın bağlanması ile sistemler arasında daha hızlı geçişler yapabilmektesiniz. Bu sistemle birden fazla bilgisayardan verileri de hızla alabilir, görüntülemeleri sağlayabilirsiniz. Tek sunucunun olduğu ve birden fazla bilgisayar/sunucunun içeriğinde yer aldığı sistemlerde bu kullanılmaktadır.
KVM Switch’i;
- Çoklu bilgisayar erişim ve kontrollerinde,
- Çoklu kullanıcıya sahip bilgisayar kontrollerinde,
- Çoklu işletim sistemlerinin kontrollerinde kullanabilmekteyiz.
Bu sistemi alırken, video çıkış türüne, uyumluluk özelliklerine ve port sayısına dikkat etmeniz gerekir.
KVM’yi kullanabilmek adına ihtiyaç duyulan sistemler ve izlenmesi gereken yollar vardır. Bunları şu maddelerle açıklayabiliriz;
- CPU desteği sağlanmalıdır. KVM, yalnızca bununla birlikte kullanılabilir.
- Bu sistem yalnızca Linux çekirdek ve dağıtımı işlemlerinde kullanılabilir.
- Çalışabilirliği için bu modülün Linux çekirdeğine kurulumunun yapılması gerekir.
- Bu sistemi kvm kısaltması ile bilsek de farklı işlemcilerde farklı isimlerde bulunurlar. Örneğin, AMD işlemcilerde kvm_amd, İntel işlemcilerde ise kvm_intel ismiyle yer alır.
KVM sistemi işleyişi içerisinde çok farklı özelliklere sahiptir. Güvenlik, veri transferi veya bellek gibi daha birçok aşamada bunları sıralayabiliriz;
- Güvenlik anlamında, işlemler sırasında cihazların korunması sVirt ve SELinux kombinasyonları kullanılır.
- Donanımsal olarak çeşitli Linux sistemlerinde kullanılabilir özelliktedir. (PCI, yazıcı, USB vb.)
- Bellek olarak da KVM Linux’un tüm bellek işlemlerini devralarak yönetebilmektedir. Kişisel ihtiyaçlara göre tasarlanabilir bir özelliktedir.
- Depolama özelliğinde NAS veya yerel sistemler kullanılabilir. Sanal depolama cihaz disklerini yedekli tek veya daha fazla cihazda saklayabilirsiniz. Ya da depolamayı anlık olarak da yapabilmektesiniz. Bu işlemde de kişisel tercihlere göre yönetim yapılabilmektedir.
- Transfer işlemlerinde de sanallaştırma işlemi bilgisayarlar arasında hızlı işlemlerle gerçekleştirilir.
KVM, herkes tarafından kullanılabilir olmasının yanında çok farklı avantajlara sahiptir.
- Düşük maliyetlerle kurulabilir.
- Gelişmiş ve üst düzey bir güvenlik sistemi vardır.
- Herkes tarafından kişiselleştirmeler de yapılarak kullanılabilir.
- KVM, bütün uygulamaları özel sunucuda olduğu gibi çalıştırma özelliği gösterir.
- Kendisine ait çekirdek ile işlemlerini yapar.
- Bu işlemde doğrudan kernal ile etkileşim sağlanır.
- Bulut otomasyonlarında açık kaynaklı olanların birçoğu, KVM’yi kullanabilmektedir.