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ň:
- 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.
- libvirt operasiýa ulgamynyň wirtuallaşdyrma mümkinçilikleri bilen täsirleşmek üçin gurallary öz içine alýar.
- libvirt-python, Python-da ýazylan programmalara libvirt tarapyndan üpjün edilen interfeýsi ulanmaga rugsat berýän modul öz içine alýar.
- libguestfs-tools: wirtual maşynlar üçin dürli ulgam administratorynyň buýruk setir gurallary.
- 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ň.