Doküman

Linux için en iyi açık kaynaklı sanallaştırma yazılımı

Bilgi işlemde sanallaştırma, sanal makineler, depolama, donanım, bilgisayar ağ kaynakları veya bir işletim sistemi oluşturmayı içerir. Belirli bir işletim sisteminin birçok örneğini tek bir bilgisayarda oluşturabilirsiniz. Bu örneklere sanal makineler denir. Sanallaştırma yazılımı, bir sistemin yeteneklerini büyük ölçüde genişlettiği için popüler hale geldi. Sanallaştırma en çok bulut bilişim için tercih edilir ve uygulanır.

Linux topluluğu, açık kaynaklı sanallaştırma yazılımı oluşturmak için temel görevi gören QEMU, KVM, Libvert veya libguestfs gibi çeşitli sanallaştırma araçları veya Virt araçları oluşturmuştur. Aşağıdaki yazıMakale, Oracle VM VirtualBox, Linux-KVM, Redhat sanallaştırma, Xen Project, oVirt ve Fedora’daki boxes gibi çeşitli açık kaynaklı sanallaştırma yazılımlarına değinecektir.

Sanallaştırma kavramı

Sanallaştırma, sanal makineler (VM’ler) olarak bilinen bir sanal bilgi işlem sistemi oluşturmak için fiziksel donanım üzerinde bir soyutlama katmanı oluşturur. Bir kullanıcının veya bir işletmenin tek bir fiziksel sunucu üzerinde birden çok sanal bilgisayar ve işletim sistemi çalıştırmasını sağlar. Özünde, sanallaştırmanın ana avantajı, fiziksel bilgisayar donanımının daha verimli kullanılmasıdır.

Sanal makine

Sanal makine (VM), fiziksel bir bilgisayarın sanal bir temsilidir. Her biri bir işletim sistemi ve tek bir fiziksel cihazda uygulamalar içeren birden çok sanal makine oluşturabilirsiniz. Bir sanal makine, fiziksel bir bilgisayarla doğrudan etkileşime giremez. Ancak, fiziksel donanımı yönetmek için bir hiper yönetici (hafif bir yazılım katmanı) kullanabilirsiniz.

Hipervizör

Hiper yönetici, birden çok işletim sisteminin fiziksel bilgi işlem kaynaklarını paylaşmasına ve yan yana çalışmasına izin veren ince bir yazılım katmanıdır. Hiper yönetici, her bir VM’ye, bellek ve depolama gibi temel bilgi işlem kaynaklarının bir bölümünü atar ve böylece bunların karışmasını önler.

Linux için en iyi açık kaynaklı sanallaştırma yazılımı

1. Oracle VirtualBox

virtualbox
VirtualBox

VirtualBox, 2007 yılında Oracle Corporation tarafından kuruldu. VirtualBox, x86 ve AMD64/Intel64 mimarilerini destekleyen güçlü, sağlam, açık kaynaklı, platformlar arası bir sanallaştırma yazılımıdır. VirtualBox’ı donanım sanallaştırması olmadan çalıştırabilirsiniz. Bu nedenle, Intel VT-X veya AMD-V teknolojisi olmayan herhangi bir sistem veya mimaride de verimli bir şekilde çalışır. Kişisel kullanım, küçük gömülü masaüstü sistemi, veri merkezi dağıtımları veya bulut bilgi işlem platformları veya ortamları için sanallaştırma ortamları sağlamak için kullanabilirsiniz.
VirtualBox, Windows işletim sistemlerinin çoğu (NT 4.0, 2000, XP, Vista, Server 2003, Windows 7, 8, 10), Linux 2.4, 2.6, 3.x ve 4.x, DOS/Windows dahil olmak üzere birçok işletim sistemini çalıştırabilir. 3.x, OpenBSD, Solaris, OpenSolaris ve OS/2.

En iyi özellikler

  • Mac, Windows, Solaris ve Linux gibi farklı ana bilgisayar platformlarını destekleyen çapraz platformdur.
  • Sürükle ve bırak işlevini destekler.
  • Kesintisiz modu, paylaşılan klasörleri ve panoları destekler.
  • Ana bilgisayar olarak dört işletim sistemini destekler.
  • SMP, teleportation support.
  • Canlı VM’lerin taşınmasını, taşınmasını ve birden çok fiziksel ana bilgisayar ile bulut arasında geçişi destekler.
  • Intel VT-X veya AMD-V teknolojilerinin gereksinimini ortadan kaldıran donanım sanallaştırması olmadan yürütmeye izin verir.
  • VM yapılandırmasını ve yürütmesini kontrol etmek için genel API’yi (Python, XPCOM, SOAP, Java) destekler.

VirtualBox, sık yayınlar, hata düzeltmeleri ve yeni özelliklerle topluluğu tarafından sürekli olarak geliştirilmektedir. Proje topluluk tabanlıdır, Oracle ise kurumsal düzeydeki kalitesini karşılamasını sağlar.

VirtualBox’ı Yükleme

Ubuntu

sudo apt-get update
sudo apt-get install virtualbox

#Install VirtualBox Extension Pack
sudo apt-get install virtualbox—ext–pack

Fedora 34

#Install development tools & dependencies
sudo dnf -y install @development-tools
sudo dnf -y install kernel-headers kernel-devel dkms elfutils-libelf-devel qt5-qtx11extras

#Add VirtualBox RPM repository
cat <<EOF | sudo tee /etc/yum.repos.d/virtualbox.repo
[virtualbox]
name=Fedora $releasever - $basearch - VirtualBox
baseurl=http://download.virtualbox.org/virtualbox/rpm/fedora/34/$basearch
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://www.virtualbox.org/download/oracle_vbox.asc
EOF

#Import VirtualBox GPG key
$ sudo dnf search virtualbox

#Install VirtualBox 6
$ sudo dnf install VirtualBox-6.1

#Add user to vboxusers group
$ sudo usermod -a -G vboxusers $USER
$ newgrp vboxusers

2. Linux KVM

kvm
KVM

Çekirdek Tabanlı Sanal Makine (KVM), Linux işletim sisteminde yerleşik bir sanallaştırma aracıdır ve x86 bilgisayarlara adanmıştır. Linux Kernel Community tarafından geliştirilen açık kaynaklı bir sanallaştırma yazılımıdır. KVM 2006’da duyuruldu ve Linux 2.6.20’den beri Linux çekirdeğiyle birleştirildi.

KVM, Sanal Makinelerin temel donanım kaynaklarına doğrudan erişmesini sağlayan KVM.ko adlı yüklenebilir çekirdeğini kullanarak Linux çekirdeğini bir hiper yöneticiye dönüştürür. Her VM, CPU(lar), grafik bağdaştırıcısı, ağ kartı, bellek ve diskler gibi özel sanal donanımlarla Linux zamanlayıcı tarafından programlanan bir Linux işlemi olarak uygulanır.

En iyi özellikler

  • Konuk VM’ler için zorunlu Erişim Kontrolü (MAC) güvenliğine izin veren gelişmiş VM güvenlik izolasyonu sağlayan SELinux ve (sVirt) güvenli sanallaştırma özelliğine sahiptir.
  • Yerel diskler ve ağa bağlı depolama (NAS) gibi Linux tarafından desteklenen herhangi bir depolamanın kullanımını destekler.
  • Hotplug vCPU’ları destekler.
  • Etkili bellek yönetimi için tek tip olmayan bellek erişim dengeleme ve çekirdek aynı sayfa birleştirme özelliklerine sahiptir.
  • Dinamik bellek yönetimini destekler.
  • Çalışan bir VM’yi fiziksel ana bilgisayarlar arasında kesintisiz olarak taşımanıza olanak tanıyan canlı geçişi destekler.
  • Sanaldan ana makinelere disk G/Ç isteklerini sınırlamayı destekler.
  • Her VM’nin sanallaştırılmış bir donanıma, ağ kartına, grafik adaptörüne ve diske sahip olduğu kurulumdan sonra değiştirilmemiş Linux veya Windows görüntüleri için birkaç VM’nin yürütülmesine izin verir.
  • KVM, işletim sistemi ile iyi bir entegrasyon sunar.
  • KVM’deki bir VM, çekirdeğin kontrol grupları, zamanlayıcı, gerçek zamanlı uzantılar ve ağ ad alanları aracılığıyla yönettiği ve zamanladığı bir Linux sürecidir.
  • Gerçek zamanlı uzantılar, sanal makine tabanlı uygulamaların yalın donanıma kıyasla daha yüksek önceliklendirme ile daha düşük gecikme süresinde çalışmasına olanak tanır.

KVM, Linux topluluğunun bir parçasıdır ve Linux kullanıcıları için tutarlı yeni özellikler ve hata düzeltmeleri sağlar. KVM, bir yönetim aracı olmadan tek bir iş istasyonunda bir avuç VM’yi manuel olarak yönetecek kadar çok yönlüdür. Bununla birlikte, büyük dağıtımlar, kaynak tahsisini, operasyonları basitleştirmek ve kolaylaştırmak ve veri analizini geliştirmek için Red Hat Sanallaştırma gibi bir araç gerektirebilir.

Ubuntu’da KVM Kurulumu

#Install the minimal setup of QEMU & KVM
$ apt-get install qemu-system libvirt-clients libvirt-daemon-system

#Install QEMU & KVM on a server without extra graphical packages
$ apt-get install --no-install-recommends qemu-system libvirt-clients libvirt-daemon-system

#Add your user to the libvirt group
$ adduser <youruser> libvirt

3. Xen Project

xenproject
Xenproject

Xen Projesi, Linux için açık kaynaklı sanallaştırma yazılımıdır. 2003 yılında Linux Vakfı tarafından kuruldu ve Intel’den de destek aldı. Xen, Linux ve Windows platformlarında değiştirilmiş ve değiştirilmemiş misafirler için uyarlanmış Xen hipervizörü tarafından desteklenmektedir. Birden çok işletim sisteminin aynı anda tek bilgisayar donanımında çalışmasına izin veren hizmetler sağlamak için bir mikro çekirdek tasarımı kullanan çıplak metal bir hiper yöneticidir.
Xen hipervizörü bir süredir piyasada ve Linux topluluğundaki en iyi performans gösteren sanallaştırma yazılımlarından biridir. Sunucu sanallaştırma, masaüstü sanallaştırma, Hizmet olarak Altyapı (IaaS), güvenlik uygulamaları, gömülü ve donanım araçları ve otomotiv projeleri gibi birçok açık kaynaklı ve ticari uygulamanın temeli olarak kullanılmıştır.

En iyi özellikler

  • Özelleştirilebilir ve esnek mimarisi, çeşitli bulut platformlarını ve konuk işletim sistemlerini destekler.
  • x86 IA64, ARM mimarilerinin sanallaştırılmasını destekler.
  • Performansı optimize etmek için CPU, bellek, disk G/Ç ve ağ G/Ç verilerini yakalayan gelişmiş iş yükü dengeleme özelliğine sahiptir.
  • Linux ve Windows’ta gelişmiş performans için gerçek zamanlı performans izleme özelliğine sahiptir.
  • Benzersiz bir depolama entegrasyon özelliği olan Citrix Storage Link’i destekler.
  • Linux çekirdeği yapılandırma/oluşturma sistemi ve sanal makine iç gözlemi gibi gelişmiş güvenlik özelliklerine sahiptir.
  • Çok çekirdekli işlemci desteğini, merkezi çoklu sunucu yönetimini destekler.
  • Canlı geçişi, (V2V) sanaldan sanala dönüştürmeyi ve (P2V) fiziksel sunucudan sanal makineye dönüştürme araçlarını destekler.

Xen projesi, Linux hipervizörlerinde varsayılan standarttır ve güvenli, verimli ve güvenilir bir sanallaştırma platformu sağlar. Amazon Web Services, Verizon Cloud, Public Cloud, Rackspace ve çok daha fazlası gibi en büyük bulut kuruluşlarından bazılarını etkinleştirir ve destekler. Xen Hypervisor, sunucu kullanımını artırmak, sunucu çiftliklerini yönetmenin karmaşıklığını azaltmak ve ilk altyapı maliyetlerini azaltmak için kullanıcılar veya kuruluşlar için idealdir. Ancak bir uyarı, Xen’in donanım sürücüleri, yedekleme ve kurtarma, hata toleransı ve depolama için üçüncü taraf çözümlerine güvenmesidir.

5. oVirt

ovirt
ovirt

oVirt (Open Virtual Datacenter) projesi, Red Hat tarafından bir topluluk projesi olarak kurulan ücretsiz, açık kaynaklı bir sanallaştırma yönetim platformudur. Proje Linux işletim sistemi için tasarlanmıştır ve Linux dağıtımlarını desteklemek için en iyi seçenektir. VM’ler, depolama, bilgi işlem ve ağ kaynaklarının merkezi yönetimini sağlamak için kullanımı kolay, kullanıcı dostu bir web arayüzüne sahiptir. Ana bileşenleri oVirt-engine, oVirt-engine-GUI, SDK, CLI, VDSM, oVirt-DWH ve oVirt-guest-agent’ı içerir.

En iyi özellikler

  • x86-64 ve PowerPC64 mimarilerinde KVM’yi destekler.
  • Arayüzleri, ağ geçitlerini ve alt ağ maskelerini yapılandırmak için IP adresleri aracılığıyla etkinleştirilen gelişmiş ağ yönetimine sahiptir.
  • oVirt motoru, programlama arayüzleri ve bir grafik yönetim konsolu ile merkezi bir kurumsal sınıf sanallaştırma yönetim motoru sağlar.
  • Canlı geçiş, canlı anlık görüntüler yeteneği ve anlık görüntülerden sanal makineleri klonlamayı içeren yüksek kullanılabilirlik ve ışınlanma özelliklerine sahiptir.
  • Gelişmiş olağanüstü durum kurtarma yetenekleri, sistem arızası durumlarında sisteminizi geri yüklemenizi sağlar.
  • Kendi kendine barındırılan motoru ve GlusterFS depolama etki alanları, dağıtımı basitleştiren ve optimize eden kaynakların sorunsuz bir şekilde genişletilmesine olanak tanır.
  • Daha yüksek gecikme süresi, daha düşük bant genişliği WAN ortamlarını yönetmek için masaüstü sanallaştırma için gelişmiş ağ performansı sunar.
  • NFS, FC, SCSI ve POSIX uyumlu FS gibi diğer depolama arka uçlarını destekler.
  • oVirt (rsyslog) uzaktan günlüğe kaydetmeyi ve (uzaktan kdump) uzaktan kilitlenme analizini destekler.
  • SELinux ve sVirt aracılığıyla gelişmiş güvenlik özelliklerine sahiptir.

Proje, ARM mimarisi için destek geliştirme vaadi ile sürekli geliştirilmektedir. Proje aynı zamanda CentOS tabanlı özel bir hafif işletim sistemi olan oVirt Düğümünü de sağlıyor. oVirt Node, API desteği için gelişmiş bir yönetim arabirimi sağlayan bir hiper yönetici olarak tasarlanmıştır.

6. Red Hat Virtualization (RHV)

Red Hat Virtualization
Red Hat Virtualization

Redhat Sanallaştırma, gelişmiş KVM’ye (Kernel Virtual Machine) ve Enterprise Server’a uygun gelişmiş özelliklere sahip bir VM’dir. Başlamak için bir ana bilgisayar işletim sistemi gerektirmez ve gereksinimlerinize göre birçok bireysel VM oluşturmak için çıplak metal bir ortama dağıtılabilir.

En iyi özellikler

  • Yüzlerce VMS’yi yönetmek için gelişmiş yönetim araçlarına sahiptir.
  • Çok iyi ölçeklenir ve ana bilgisayar ölçeklenebilirliği, ana bilgisayar başına 288’e kadar mantıksal CPU’yu ve 12 TB’yi desteklerken, konuk ölçeklenebilirliği, VM konuğu başına 6 TB’a kadar vRAM ve 240 vCPU’yu destekler.
  • Red Hat Virtualization Manager (RHVM), sanallaştırılmış ortamdaki fiziksel ve mantıksal kaynakların merkezi yönetimini sağlar.
  • Diğer Linux ve açık kaynaklı projelerle sorunsuz bir şekilde bütünleşir.
  • RHV, Red Hat Secure Virtualization (sVirt) ve izolasyon sağlayan diğer SELinux gibi gelişmiş güvenlik özelliklerine sahiptir.
  • Sanal makinelerde fiziksel bir ana bilgisayarda mevcut olandan daha fazla RAM tanımlamanıza izin veren KSM bellek aşırı taahhüdüne sahiptir.
  • Red Hat Enterprise Linux Atomic Host’u konuk işletim sistemi olarak destekler ve kapsayıcıların Atomic Host VM’lerinde çalışmasını sağlar.
  • RHV, Red Hat Cloud Infrastructure, çoklu bulut yönetimi için Red Hat CloudForms, altyapı yönetimi için Red Hat Satellite, bulut yığını için Red Hat OpenStack ve tahmine dayalı analitik için Red Hat Insights gibi bulut yazılım yığınlarıyla uyumludur.
  • SELinux, sVirt ve zorunlu erişim kontrolü (MAC) aracılığıyla gelişmiş VM ve hiper yönetici güvenliği sunar.
  • Kullanıcıların fiziksel bellek erişimi ek yükünü en aza indirirken büyük konuk iş yüklerini dağıtmasına olanak tanıyan (NUMA) tek tip olmayan bellek erişimini destekler.

Redhat sanallaştırmanın kurumsal düzeydeki ortamlar için uygun ücretli bir VM sağlaması da bir uyarıdır. Fiyat, seçtiğiniz destek planına bağlıdır.

7. GNOME Boxes

GNOME Boxes
GNOME Boxes

GNOME Kutuları, Fedora kurulumunuzla birlikte varsayılan VM olarak gelir. GNOME Kutularının kullanımı kolaydır ve karmaşık sanallaştırma işlemlerini Linux üzerinde çok basit hale getirebilir. Genel olarak, Gnome Kutuları daha az bilinir ancak Qemu, KVM ve libvirt için bir ön uçtur. GNOME Kutuları, Linux, Windows veya BSD için en verimli VM çözümlerinden biridir. Yeni başlayan Linux kullanıcıları için bile kullanımı çok kolaylaştıran hızlı bir kurulum sihirbazına sahiptir. Temel görünümü en iyisi olmayabilir. Ancak yine de rekabetçi işlevleri yerine getirebilir ve VM’lerin çoğuyla aynıdır.

En iyi özellikler

  • Doğrudan bir URL’den bir işletim sistemi (işletim sistemi) görüntüsü yükleyebilir.
  • İşletim sistemini algılar ve yeterli miktarda RAM ve disk alanı ayırır.
  • Gelişmiş VM kullanıcıları için kullanışlı olan sağlam bir komut satırı arabirimine (CLI) sahiptir.
  • Kullanıcıların mevcut VM’lerin kopyalarını anında oluşturmasını sağlayan bir klonlama özelliğine sahiptir.

GNOME Boxes, karmaşık görevlerin hızlı bir şekilde yapılmasına ihtiyaç duyan Linux kullanıcıları için en iyi seçeneklerden biridir. Hızlı ve basit dağıtımlar için benim tercihimdir. Bununla birlikte, bazen Gnome Boxes bir disk görüntüsüne erişmesi uzun sürebilir veya fareyi ana işletim sistemine geri bırakmak için yavaşlayabilir. Ayrıca, VM’leri genellikle ana sistem kadar hızlı çalışır ve performansta herhangi bir fark tespit edemeyebilirsiniz.

Gnome Boxes, yazılım özgürlüğü sağlayarak sanallaştırmayı mükemmelleştirdi ve Gnome her zamanki masaüstü ortamınız olmasa bile yüklemeye değer.

8. ProxMox

Proxmox
Proxmox

ProxMox, farklı VM’leri çalıştırmak için Debian tabanlı, açık kaynaklı bir sunucu sanallaştırma yönetimi çözümüdür. Sanallaştırma platformu, sanal makineler için KVM’yi (Kernel-based Virtual Machine) ve konteynerler için LXC’yi yönetebilir. Kolay yönetim ve yapılandırma için bir web arayüzü başlatan basit bir kurulum sürecine sahiptir.

En iyi özellikler

  • Sanal Özel Sunucuları tek bir fiziksel sunucunun yalıtılmış bir sunucu ortamında yönetmek için Linux OpenVZ ve KVM teknolojilerine sahiptir.
  • Proje, en yeni Intel ve AMD yonga setlerini desteklemektedir.
  • ExtJS JavaScript çerçevesine dayalı merkezi bir web arayüzüne sahiptir ve herhangi bir modern tarayıcıdan erişilebilir.
  • (pmxcfs) Proxmox Küme Dosya Sistemine sahiptir – yapılandırma dosyalarını kümeniz arasında eşitlemenizi sağlayan veritabanına dayalı bir dosya sistemi.
  • Çalışan VM’leri kapalı kalma süresi olmadan bir küme düğümünden diğerine taşımanıza olanak tanıyan canlı/çevrimiçi geçiş özelliğine sahiptir.
  • Akıllı sekme tamamlama ile sanal ortamınızın bileşenlerini yönetmek için bir komut satırı arayüzüne sahiptir.
  • VM görüntülerinin bir veya daha fazla yerel depolama aygıtında veya SA ve NFS gibi paylaşılan depolamada depolanabileceği esnek bir depolama modeline sahiptir.
  • Üçüncü taraf yönetim araçlarının ve özel barındırma ortamlarının hızlı ve kolay entegrasyonunu sağlamak için birincil veri biçimi olarak RESTful API ve JSON kullanır.
  • GUI veya CLI aracılığıyla karmaşık yapılandırmalara izin veren, tamamen özelleştirilebilir yerleşik bir güvenlik duvarına sahiptir. Güvenlik duvarı makroları, güvenlik grupları, IP kümeleri ve takma adlar gibi özellikler aracılığıyla tek VM’ler, kapsayıcılar veya bir küme içindeki tüm ana bilgisayarlar için güvenlik duvarı kuralları oluşturabilirsiniz.

Yazının orijinalini buradan okuyabilirsiniz.