RHCSA Serisi: KVM ile Sanallaştırma ve Konuk Yönetiminin Temelleri - Bölüm 15


Sanallaştırma kelimesini sözlükte ararsanız, bunun "bir şeyin sanal (gerçek yerine) versiyonunu oluşturmak" anlamına geldiğini göreceksiniz. Bilgi işlemde sanallaştırma terimi, sanallaştırma şemasında ana bilgisayar olarak bilinen aynı fiziksel (donanım) sistemin üzerinde birden fazla işletim sisteminin aynı anda ve birbirinden izole edilmiş şekilde çalıştırılması olasılığını ifade eder.

Sanal makine monitörünün (hiper yönetici olarak da bilinir) kullanımı yoluyla, sanal makinelere (misafir olarak anılır) sanal kaynaklar (ör. CPU, RAM, depolama, ağ) sağlanır. temel donanımdan birkaçını saymak gerekirse arayüzler.

Bunu akılda tutarak, sanallaştırmanın ana avantajlarından birinin maliyet tasarrufu (ekipman ve ağ altyapısı ve bakım çalışmaları açısından) ve gerekli tüm donanımı barındırmak için gereken fiziksel alanda önemli bir azalma olduğunu görmek açıktır.

Bu kısa nasıl yapılır kılavuzu tüm sanallaştırma yöntemlerini kapsayamayacağından, konuyla ilgili daha fazla ayrıntı için özette listelenen belgelere başvurmanızı öneririm.

Bu makalenin, RHEL 7'de komut satırı yardımcı programları ile KVM (Çekirdek Tabanlı Sanal Makine) kullanarak sanallaştırmanın temellerini öğrenmek için bir başlangıç noktası olmayı amaçladığını lütfen unutmayın. -konunun derinlemesine tartışılması.

Donanım Gereksinimlerini Doğrulama ve Paketleri Yükleme

Sanallaştırmayı kurmak için CPU'nuzun bunu desteklemesi gerekir. Aşağıdaki komutla sisteminizin gereksinimleri karşılayıp karşılamadığını doğrulayabilirsiniz:


grep -E 'svm|vmx' /proc/cpuinfo

Aşağıdaki ekran görüntüsünde, svm ile belirtildiği gibi mevcut sistemin (AMD mikroişlemcili) sanallaştırmayı desteklediğini görebiliriz. Intel tabanlı bir işlemcimiz olsaydı yukarıdaki komutun sonuçlarında bunun yerine vmx'i görürdük.

Ayrıca, ana makinenizin donanım yazılımında (BIOS veya UEFI) sanallaştırma yeteneklerinin etkinleştirilmiş olması gerekir.

Şimdi gerekli paketleri kurun:

  1. qemu-kvm, KVM hipervizörü için donanım emülasyonu sağlayan açık kaynaklı bir sanallaştırıcıdır; qemu-img ise disk görüntülerini değiştirmek için bir komut satırı aracı sağlar.
  2. libvirt, işletim sisteminin sanallaştırma yetenekleriyle etkileşime girecek araçları içerir.
  3. libvirt-python, Python'da yazılan uygulamaların libvirt tarafından sağlanan arayüzü kullanmasına izin veren bir modül içerir.
  4. libguestfs-tools: sanal makineler için çeşitli sistem yöneticisi komut satırı araçları.
  5. virt-install: sanal makine yönetimine yönelik diğer komut satırı yardımcı programları.

yum update && yum install qemu-kvm qemu-img libvirt libvirt-python libguestfs-tools virt-install

Kurulum tamamlandıktan sonra libvirtd hizmetini başlattığınızdan ve etkinleştirdiğinizden emin olun:


systemctl start libvirtd.service
systemctl enable libvirtd.service

Varsayılan olarak, her sanal makine yalnızca aynı fiziksel sunucudaki geri kalanlarla ve ana bilgisayarın kendisiyle iletişim kurabilir. Konukların LAN'ımız içindeki diğer makinelere ve ayrıca İnternet'e erişmesine izin vermek için, ana makinemizde bir köprü arayüzü (örneğin br0 diyelim) kurmamız gerekir:

1. aşağıdaki satırı ana NIC yapılandırmamıza ekliyoruz (büyük olasılıkla /etc/sysconfig/network-scripts/ifcfg-enp0s3):


BRIDGE=br0

2. br0 için yapılandırma dosyasını (/etc/sysconfig/network-scripts/ifcfg-br0) bu içeriklerle oluşturmak (unutmayın IP adresini, ağ geçidi adresini ve DNS bilgilerini değiştirmeniz gerekebilir):


DEVICE=br0
TYPE=Bridge
BOOTPROTO=static
IPADDR=192.168.0.18
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
NM_CONTROLLED=no
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=br0
ONBOOT=yes
DNS1=8.8.8.8
DNS2=8.8.4.4

3. son olarak /etc/sysctl.conf dosyasında paket yönlendirmeyi etkinleştirerek,


net.ipv4.ip_forward = 1

ve değişiklikleri mevcut çekirdek konfigürasyonuna yüklemek:


sysctl -p

Ayrıca firewalld'a bu tür trafiğe izin verilmesi gerektiğini de söylemeniz gerekebileceğini unutmayın. Bunu yapmak için yardıma ihtiyacınız varsa aynı serideki bu konuyla ilgili makaleye (Bölüm 11: FirewallD ve Iptables Kullanarak Ağ Trafiği Kontrolü) başvurabileceğinizi unutmayın.