CentOS/RHEL'de KVM Hipervizörünü Kurma ve Yapılandırma


Bu makalede, Linux RHEL veya CentOS çalıştıran bir sunucuda KVM hypervisor'un nasıl kurulacağını ve yapılandırılacağını inceleyeceğiz. KVM'de sanal makine oluşturmayı, ayarlarını değiştirmeyi ve misafir işletim sistemi kurmayı göstereceğiz. Bir VM'yi yönetmek için bazı tipik komutları da açıklayacağız.

KVM (Çekirdek Tabanlı Sanal Makine), Intel VT- veya AMD SVM donanım sanallaştırma teknolojilerini kullanan bir Linux hipervizörüdür. KVM'yi kullanarak, kendi sanal donanımlarıyla izole edilmiş sanal makineler oluşturabilirsiniz: ağ bağdaştırıcıları, diskler, grafik kartları veya diğer cihazlar. Herhangi bir konuk işletim sistemini bir sanal makineye kurabilirsiniz (yalnızca Linux'a değil).

KVM CentOS/RHEL'e Nasıl Kurulur?

KVM'yi sunucunuzda yapılandırdığınızda, bir CPU kontrolü ile başlamalısınız. Ana makinenizde kurulu olan CPU'nun donanım sanallaştırmayı desteklediğinden emin olmalısınız. Sunucu konsolunuzda aşağıdaki komutu çalıştırın:

# cat /proc/cpuinfo | egrep "(vmx|svm)"

İşlemciniz VT-x'i destekliyorsa, şöyle bir çıktı göreceksiniz:

Komut hiçbir şey döndürmediyse, ancak CPU'nuzun sanallaştırmayı desteklediğini biliyorsanız, bu seçeneğin BIOS sunucuda devre dışı bırakılmadığından emin olun. Intel Sanallaştırma Teknolojisi veya SVM MODU seçeneklerini arayın.

Sunucum VT-x'i destekliyor ve etkinleştirildi, böylece gerekli paketleri yum/dnf kullanarak CentOS/RHEL'e kurabiliriz:

# yum install libvirt libvirt-python libguestfs-tools qemu-kvm virt-install -y
  • qemu-kvm - KVM hipervizörü

  • libvirt - sanallaştırma yönetimi kitaplıkları

  • virt-install - KVM sanal makinelerini yönetmek için CLI araçları

Linux sunucunuza birçok paket kurulacaktır. Kurulum sırasında herhangi bir hata oluşmadığından emin olun.

Ardından libvirtd hizmetini başlatmaya ekleyin ve çalıştırın:

# systemctl enable libvirtd
# systemctl start libvirtd

kvm_intel ve kvm kernel modüllerinin yüklendiğinden emin olun:

# lsmod | grep kvm
kvm_intel 188688 0
kvm 636931 1 kvm_intel
irqbypass 13503 1 kvm

Komut hiçbir şey döndürmezse ana makinenizi yeniden başlatın ve tekrar kontrol edin.

KVM için Köprü Ağı Oluşturma ve Yapılandırma

Ardından, sanal makine disklerini ve ISO görüntülerini depolamak için dizinler oluşturun:

# mkdir -p /vz/{disk,iso}

Sanal makinelerinizin İnternet erişimine sahip olması için ağı bridge kullanarak yapılandırmanız gerekir. Bunu yapmak için bridge-utils'e ihtiyacınız olacak. Bu komutu kullanarak Linux sunucunuzda kurulu olup olmadığından emin olun:

# rpm -qa | grep bridge-utils

Gerekirse kurun:

# yum install bridge-utils -y

Paketi kurduktan sonra, işletim sisteminde virbr0 ağ arabirimi göründü:

# ip a

Bir köprü oluşturmak için, sunucu ağ arayüzünüzün yapılandırma dosyasını kurmalısınız:

# cp /etc/sysconfig/network-scripts/ifcfg-enp1s0f0 /etc/sysconfig/network-scripts/ifcfg-enp1s0f0_bak

- dosyayı yedekle

# nano /etc/sysconfig/network-scripts/ifcfg-enp1s0f0

— düzenlemek için açın

Dosya içeriğini silin ve aşağıdakiyle değiştirin:

DEVICE="enp1s0f0"
ONBOOT="yes"
BRIDGE=br0

Sizin durumunuzda arayüz adı farklı olabilir (onu ip a komutunu kullanarak alın).

Ardından bir dosya oluşturun:

# nano /etc/sysconfig/network-scripts/ifcfg-br0

aşağıdaki yapılandırmayı içeren:

DEVICE="br0"
TYPE=BRIDGE
ONBOOT=yes
BOOTPROTO=static
IPADDR="IP_address_of_the_server"
NETMASK="255.255.255.0"
GATEWAY="Default_gateway"
DNS1="8.8.8.8"
DNS2="8.8.4.4"

Sunucu IP adresinizi ve varsayılan ağ geçidinizi belirtmelisiniz. Ağ arabirimi yapılandırma dosyasını düzenledikten sonra ağı yeniden başlatın:

# service network restart

Ağ yeniden başlatıldıktan sonra sunucunuza erişemezseniz, ana bilgisayarı da yeniden başlatmayı deneyin. Bazen köprüyü doğru şekilde yapılandırmak gerekir.

Köprü durumunu görüntülemek için şu komutu kullanın:

# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.ac1f6b654321 no enp1s0f0
virbr0 8000.525400abcdef1 yes virbr0-nic

Son adımda, ağ trafiği iletmeyi yapılandırın:

# echo -e "net.ipv4.ip_forward=1" >> /etc/sysctl.conf && sysctl -p

Ardından libvirtd'i yeniden başlatın:

# service libvirtd restart

Temel KVM ağ yapılandırması bitti ve bir sanal makine oluşturabilirsiniz.

KVM'de Sanal Makineler Oluşturma

Bir sanal makine oluşturmadan önce, resmi bir aynadan /vz/iso'ya bir CentOS 8 görüntüsü indirdim:

# cd /vz/iso && wget http://mirror.imt-systems.com/centos/8.3.2011/isos/x86_64/CentOS-8.3.2011-x86_64-dvd1.iso

Yeni bir KVM sanal makinesi oluşturmak için aşağıdakileri çalıştırın:

virt-install -n test-centosvm \
--noautoconsole \
--network=bridge:br0 \
--ram 2048 --arch=x86_64 \
--vcpus=4 --cpu host --check-cpu \
--disk path=/vz/disk/test-centosvm.img,size=32 \
--cdrom /vz/iso/CentOS-8.3.2011-x86_64-dvd1.iso \
--graphics vnc,listen=IP,password=p@sswdr0w1 \
--os-type linux --os-variant=rhel7 --boot cdrom,hd,menu=on
  • test-centosvm

    — bir VM adı

  • noautoconsole

    - bir VM oluşturduktan sonra, VM konsoluna otomatik olarak bağlanmazsınız

  • network

    - bir ağ türü (benim durumumda köprü);

  • ram

    — VM'deki RAM miktarı;

  • vcpus

    - CPU çekirdeği sayısı (bir VM için vCPU yapılandırması)

  • disk

    - bir sanal disk, yol - diske giden bir yol, boyut - diskin boyutu (daha sonra genişletebilir/küçültebilirsiniz)

  • cdrom

    - bir sanal CDROM, bir ISO imajına monte edilmiş bir gust OS kurulumu;

  • graphics

    — grafik konsolunu kullanarak bir sanal makineye bağlanmak için parametreler. VNC'ye bağlanmak için kullanacağız, bu yüzden dinlemek için VM'yi oluşturduğunuz KVM sunucusunun IP adresini ve sanal makine konsoluna bağlanmak için şifreyi belirtin.

VM'nin otomatik olarak önyüklenmesini sağlamak için şunu çalıştırın:

# virsh autostart test-centosvm

VNC Kullanarak Bir KVM VM'ye Nasıl Bağlanır ve Bir İşletim Sistemi Kurarsınız?

VNC kullanarak bir KVM sanal makinesine bağlanmak için üzerinde çalıştığı bağlantı noktasını bulmanız gerekir:

# virsh vncdisplay test-centovms
IP:0

0, VNC kullanarak bağlanılacak bağlantı noktası numarasının 5900 olduğu anlamına gelir. Farklı bir değer alırsanız, komutun döndürdüğü sayıyı 5900 olarak eklemeniz yeterlidir.

VNC kullanarak sunuculara bağlanmak için TightVNC kullanıyorum. Çalıştırın ve sunucunuzun IP adresini ve daha önce aldığımız VNC bağlantı noktasını belirtin (ayırıcı olarak çift kolon ile).

Bağlan'ı tıklayın ve KVM sanal makinenizi oluştururken belirlediğiniz şifreyi girin. Doğru yaptıysanız, CentOS kurulumunun (veya mount ettiğiniz başka bir konuk işletim sisteminin) çalıştığı sunucu konsolu görünür.

Sunucunuzda bir güvenlik duvarı etkinleştirilmişse, güvenlik duvarı/iptables'de VNC için 5900-5910 bağlantı noktalarını açın (on bağlantı noktası yeterli olacaktır). Bir sanal makineye konuk işletim sistemi kurduktan sonra, VM'yi sunucu konsolundan başlatın:

Bir KVM sanal makinesini kapatmak için şu komutu kullanın:

# virsh shutdown test-centosvm

Kayıtlı tüm KVM sanal makinelerinin bir listesini görüntülemek için:

# virsh list --all

virsh kullanarak sunucu konsolundan KVM sanal makinelerini yönetme hakkında daha fazla bilgi edinin (RAM, CPU'lar, diskler veya ağ arayüzleri nasıl eklenir). Grafik arayüzü tercih ederseniz, virt-manager KVM GUI'yi kullanabilirsiniz.

Temel KVM ana bilgisayar yapılandırması bitti ve bir sanal makine oluşturuldu. KVM'de istediğiniz sayıda sanal makine oluşturabilirsiniz, bu yalnızca sunucu kaynaklarınıza ve ihtiyaçlarınıza bağlıdır.

İlgili makaleler