KVM, Linux ortamı için geliştirilmiş açık kaynaklı sanallaştırma teknolojisidir. KVM açılımı, Kernel-based Virtual Machine, Türkçe olarak çekirdek tabanlı sanallaştırma makinesi demektir. Linux’un bir parçası olarak kabul edilir. 2000’lerin başında ayrı olarak duyurulduysa da sonradan Linux sürümleriyle entegre edildi. Takip eden yıllarda her Linux güncellemeleriyle birlikte devamlılığı sürdürmektedir.
Linux içerisindeki diğer sanallaştırma yazılımlarına nazaran daha avantajlı olduğu söylenebilir. Linux entegresi sayesinde çekirdek ile doğrudan etkileşim kurabilir
Sanal makinelerin yönetimi için birçok açık kaynaklı teknolojilerden yararlandığı için bilenen sanallaştırma yazılımlarına ciddi bir rakip kabul ediliyor. Bulut teknolojisiyle birlikte kullanılabilirlik avantajına da sahiptir.
Çekirdek Tabanlı Sanallaştırma Nasıl Çalışır
Bir Çekirdek Tabanlı Sanal Makinenin işlevlerini anlamak için önce sanallaştırmanın temellerini anlamak gerekir. Sanallaştırma, bir veya daha fazla işletim sisteminin tek bir ana bilgisayarda çalıştırılabileceği anlamına gelir. Sanallaştırılmış sistemler için sağlanan donanımsal bileşenler yazılım tarafından taklit edilir. Algoritma yapısına göre süper yönetici bulunuyorsa, bu yönetici tarafından donanım kaynakları tahsis edilir. Hiper yönetici, gerçek ve sanal donanım arasında bir yönetim veya çeviri katmanıdır. Sanallaştırmanın türüne bağlı olarak, gerçek donanımın tüm gereksinimlerini veya yalnızca gerekli eylemlerin tahsisini mümkün kılar. Temelde üç farklı sanallaştırma türü vardır:
Tam sanallaştırma: Gerçek fiziksel donanım bileşenlerinin kaynakları, yazılım tarafında tamamen kullanılır. Gerçek donanımla herhangi bir aracısız etkileşim olmadığı için giriş/çıkış cihazları da devre dışıdır. Böyle türden sanallaştırmalar genelde yavaş çalışmaktadır çünkü katmanlar arası iletişim dolaylıdır.
Kısmi sanallaştırma: Sanallaştırılmış sisteme, doğrudan hiper yönetici ile etkileşime girer.
Donanım destekli sanallaştırma: Donanım desteği işlemciye zaten entegre edilmiştir. Bu, verimliliği artırırken, sanallaştırılmış sistemler için gereken özelleştirme miktarını azaltır. Intel ve AMD’nin ürettiği yeni nesil işlemciler bu işlevselliğe sahiptir.
Çekirdek Tabanlı Sanal Makinenin Çalıştırılması: KVM, Linux’a kurulduğunda, gerçek donanım ve hiper yönetici yöneticisi arasında yorumlayıcı olarak görev yapacak bir donanım dosyası / dev/ kvm oluşturulur. Hipervizör yöneticisinden ne zaman bir donanım değişikliği/ekleme talebi gelirse, KVM yazılımı gerçek donanımla etkileşim kurarak bu kaynakları sanal olarak tahsis etmeye başlar. Bir sanal makinede RAM\’i değiştirmek istediğimizi varsayalım, bu, hipervizör yöneticiniz tarafından kaynağın tahsis edilmesi için KVM\’ye iletilir. Ardından KVM, donanımla etkileşime girer ve bu RAM\’i söz konusu VM için gerçek RAM\’den ayırır. Bu, diğer kaynaklar için de geçerlidir.
KVM Erişimi (KVM Switch) Nedir
Sanallaştırma yöntemlerine göre giriş/çıkış cihazlarının etkilendiği daha önce söylemiştik. KVM Switch, terminolojide monitör, klavye gibi giriş/çıkış gerçekleştiren cihazları kasteder. KVM Erişimi, kullanıcıların tek bir gerçek klavye, monitör gibi fiziksel cihazlar aracılığıyla farklı bilgisayarları kontrol etmelerini sağlar.
Diyelim ki çok büyük bir sunucu merkezine uzaksınız ve bir değişiklik yapmanız gerekiyor. Orayla herhangi bir fiziksel etkileşimde bulunmadan kontrol sağlamak bir KVM çözümüdür. Switch’lere atayacağınız güvenlik protokolleri ile bu işlemi dünyanın her yerinden gerçekleştirebilirsiniz.
Sonuç
Bir sistemin tasarımı ve faaliyeti göz önüne alındığında, esneklik, yükseltile bilirlik, erişilebilirlik ve güvenlik söz konusu olur. Bu argümanlar sanallaştırma cihazları içinde geçerlidir. Görevlerin bir parçası olabilen sistemler düzenli olarak ayrı konumlarda yedekleniyorsa, KVM teknolojisinden yararlanmak dikkate alınacak fikirlerdendir.