Çekirdek Tabanlı Sanal Makine (KVM – Kernel-based Virtual Machine) Linux çekirdeği için bunu bir hiper yöneticiye çeviren bir sanallaştırma altyapısıdır.

KVM’yi yükleyelim

$ sudo apt install qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils libguestfs-tools genisoimage virtinst libosinfo-bin

Kendi kullanıcımız ile yönetmek istiyorsak belli başlı grupları kullanıcımıza eklememiz gerekiyor.

$ sudo adduser ramazan libvirt
$ sudo adduser ramazan libvirt-qemu

newgrp komutu ile grup üyeliklerini yeniden yükleyelim.

$ newgrp libvirt
$ newgrp libvirt-qemu

id’lerine bakarak son kontrolümüzü gerçekleştirelim

$ id
uid=1000(ramazan) gid=1000(ramazan) gruplar=1000(ramazan),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),108(netdev),116(lpadmin),117(scanner),126(libvirt),64055(libvirt-qemu)

KVM Sunucusuna bağlanmak için aşağıdaki komutları kullanacağız.

$ virsh --connect qemu:///system

$ virsh --connect qemu:///system command

Aşağıdaki egrep komutunu çalıştırarak işlemcinizin Intel VMX yada AMD SVM’Yİ destekleyip desteklemediğini anlayabilirsiniz.

$ egrep --color ‘vmx|svm’ /proc/cpuinfo

Eğer cpu destekliyorsa aşağıdaki gibi çıktıda renkli olarak vmx’i yada svm’i bulabilirsiniz.

Şimdi Ağ Köprüsünü Yapılandıralım.

VM Misafir kullanıcılarda eth0 arayüzü için yapılandırmada ağ bağlantısı olarak br0 köprü arayüzü oluşturacağız.

$ sudo nano /etc/network/interfaces.d/br0

Bağlantı servisimizi yeniden başlatalım.

$ sudo systemctl restart network-manager
$ sudo virsh net-list --all

Ağ köprüsü üzerinde KVM ziyaretçi domainini yapılandırmalıyız.

bridged.xml adında bir dosya oluşturalım.

$ sudo nano /root/bridged.xml

Ağ köprüsünü tanımlayıp, br0 arayüzünün otomatik olarak başlatılmasını sağlayalım. Halihazırda sistem üzerindeykende başlatalım.

$ sudo virsh net-define --file /root/bridged.xml
$ sudo virsh net-autostart br0
$ sudo virsh net-start br0

Ardından bağlantıları listeleyelim.

Sanal makine ISO İmaj Yükleyicisini kullanarak bir sanal makine oluşturalım.

Red Hat Enterprise Linux imaj dosyasını ilgili dizine kopyalıyorum.

Os-variants adını öğrenmemiz gerekiyor.

Bunun için aşağıdaki komutu kullanalım.

$ os-info-query os | grep rhel

rhel8.0 olduğunu öğrendik.

Red Hat Enterprise Linux 8 Sanal Makinesi oluşturalım.

2GB RAM, 2 CPU Çekirdek, 1 bağlantı arayüzü kartı ve 40GB disk özellikleri olsun.

Bunun için aşağıdaki komut ve parametrelerini kullanalım.

$ sudo virt-install \

> --virt-type=kvm \

> --name redhat \

> --ram 2048 \

> --vcpus=2 \

> --os-variant=rhel8.0 \

> --virt-type=kvm \

> --hvm \

> --cdrom=/var/lib/libvirt/boot/rhel-8.0-x86_64-dvd.iso \

> --network bridge=br0,model=virtio \

> --graphics vnc \

> --disk path=/var/lib/libvirt/images/redhat.qcow2,size=20,bus=virtio,format=qcow2

Kurulum başladı.

Aşağıdaki komut ile dinlenilen IP ve portu öğrenebiliyoruz.

$ sudo virsh dumpxml redhat | grep vnc

Eğer makineniz çalışmıyorsa port -1, çalışıyorsa muhtemelen 5900 olacaktır.