RHCSA seriýasy: KVM bilen wirtuallaşdyrmagyň we myhman dolandyryşynyň esaslary - 15-nji bölüm


Wirtuallaşdyrma sözüni sözlükden gözleseňiz, onuň bir zadyň wirtual (hakyky däl) wersiýasyny döretmek manysyna göz ýetirersiňiz. Hasaplamakda wirtuallaşdyrma termini bir wagtyň özünde birnäçe operasiýa ulgamynyň işlemegini aňladýar we öý eýesi hökmünde wirtuallaşdyryş shemasynda belli bolan şol bir fiziki (apparat) ulgamynyň üstünde biri-birinden üzňe.

Wirtual maşyn monitoryny (giperwizor diýlip hem atlandyrylýar) ulanmak arkaly wirtual maşynlara (myhmanlar diýilýär) esasy enjamdan wirtual çeşmeler (ýagny CPU, RAM, ammar, tor interfeýsleri) berilýär.

Şuny göz öňünde tutup, wirtuallaşdyrmagyň esasy artykmaçlyklaryndan biriniň tygşytlamakdygyny (enjamlarda we tor infrastrukturasynda we tehniki hyzmat nukdaýnazaryndan) we ähli zerur enjamlary ýerleşdirmek üçin zerur bolan fiziki giňişligiň ep-esli azalmagydygyny görmek bolýar.

Wirtuallaşdyrmagyň ähli usullaryny nädip ýapyp bolmajakdygy barada gysgaça maglumat berýändigi sebäpli, bu barada has giňişleýin maglumat üçin gysgaça sanawda görkezilen resminamalara ýüz tutmagyňyzy maslahat berýärin.

Bu makalanyň mowzuk çyzgysy däl-de, KVM (Kernel esasly wirtual maşyn) ulanyp, RHEL 7-de wirtuallaşdyrmagyň esaslaryny öwrenmek üçin niýetlenendigini ýadyňyzdan çykarmaň.

Enjam talaplaryny barlamak we paketleri gurmak

Wirtuallaşdyrma gurmak üçin CPU-ny goldamaly. Ulgamyňyzyň aşakdaky buýruk bilen talaplara laýyk gelýändigini ýa-da ýokdugyny barlap bilersiňiz:

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

Aşakdaky skrinshotda, häzirki ulgamyň (AMD mikroprosessor bilen) svm-de görkezilişi ýaly wirtuallaşdyrmagy goldaýandygyny görüp bileris. Intel esasly prosessorymyz bar bolsa, ýokardaky buýrugyň netijelerine derek vmx görerdik.

Mundan başga-da, öý eýesiniň (BIOS ýa-da UEFI) programma üpjünçiliginde wirtuallaşdyrma mümkinçilikleri bolmaly.

Indi zerur paketleri guruň:

  1. qemu-kvm, KVM giperwizor üçin apparat emulýasiýasyny üpjün edýän açyk çeşme wirtualizator, qemu-img bolsa disk şekillerini dolandyrmak üçin buýruk setiri guralyny üpjün edýär.
  2. libvirt operasiýa ulgamynyň wirtuallaşdyrma mümkinçilikleri bilen täsirleşmek üçin gurallary öz içine alýar.
  3. libvirt-python, Python-da ýazylan programmalara libvirt tarapyndan üpjün edilen interfeýsi ulanmaga rugsat berýän modul öz içine alýar.
  4. libguestfs-tools: wirtual maşynlar üçin dürli ulgam administratorynyň buýruk setir gurallary.
  5. virt-install: wirtual maşyn dolandyryşy üçin beýleki buýruk setirleri.

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

Gurmak tamamlanandan soň, libvirtd hyzmatyny açyp, işledip görüň.

# systemctl start libvirtd.service
# systemctl enable libvirtd.service

Düzgüne görä, her wirtual maşyn diňe galanlary bilen şol bir fiziki serwerde we öý eýesiniň özi bilen aragatnaşyk gurup biler. Myhmanlara LAN-yň içindäki beýleki enjamlara, şeýle hem internete ýetmek üçin, öý eýesimizde köpri interfeýsini gurmalydyrys (mysal üçin br0 diýiň),

1. esasy NIC konfigurasiýamyza aşakdaky setiri goşmak (iň ähtimal /etc/sysconfig/network-scripts/ifcfg-enp0s3 ):

BRIDGE=br0

2. bu mazmun bilen br0 (/etc/sysconfig/network-scripts/ifcfg-br0 ) üçin konfigurasiýa faýly döretmek (IP adresi, şlýuz salgysy we DNS maglumatlary üýtgetmeli bolmagyňyzy unutmaň) ):

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. ahyrsoňy, /etc/sysctl.conf -da paket ugratmagy üpjün etmek,

net.ipv4.ip_forward = 1

we häzirki ýadro konfigurasiýasyna üýtgeşmeleri ýüklemek:

# sysctl -p

Şeýle hem, firewallda bu hili traffige ýol berilmelidigini aýtmagyňyz zerur bolup biler. Munuň üçin kömek gerek bolsa, şol mowzukdaky makalany şol bir seriýada (11-nji bölüm: FirewallD we Iptables ulanyp tor hereketine gözegçilik) salgylanyp biljekdigiňizi ýadyňyzdan çykarmaň.