RHCSA-sarja: Essentials of Virtualisation and Guest Administration with KVM – Osa 15


Jos etsit sanaa virtualisoi sanakirjasta, huomaat sen tarkoittavan "luoda jostain virtuaalinen (eikä varsinainen) versio ". Tietojenkäsittelyssä virtualisointi tarkoittaa mahdollisuutta käyttää useita käyttöjärjestelmiä samanaikaisesti ja erillään toisistaan saman fyysisen (laitteisto)järjestelmän päällä, joka tunnetaan virtualisointiskeemassa nimellä isäntä.

Virtuaalikonemonitorin (tunnetaan myös nimellä hypervisor) avulla virtuaalikoneita (kutsutaan vierailijoiksi) tarjotaan virtuaalisia resursseja (esim. CPU, RAM, tallennustila, verkko käyttöliittymät, muutamia mainitakseni) taustalla olevasta laitteistosta.

Tätä silmällä pitäen on selvää, että yksi virtualisoinnin tärkeimmistä eduista on kustannussäästöt (laitteiden ja verkkoinfrastruktuurin sekä ylläpitotoimien osalta) ja kaikkien tarvittavien laitteistojen sijoittamiseen tarvittavan fyysisen tilan huomattava väheneminen.

Koska tämä lyhyt ohje ei kata kaikkia virtualisointimenetelmiä, kehotan sinua tutustumaan yhteenvedossa lueteltuihin asiakirjoihin saadaksesi lisätietoja aiheesta.

Muista, että tämän artikkelin on tarkoitus olla lähtökohta, kun opit virtualisoinnin perusteet RHEL 7:ssä käyttäen KVM:ää (Kernel-based Virtual Machine) komentorivityökalujen kanssa, ei - syvällistä keskustelua aiheesta.

Laitteistovaatimusten tarkistaminen ja pakettien asentaminen

Jotta voit määrittää virtualisoinnin, suorittimen on tuettava sitä. Voit tarkistaa, täyttääkö järjestelmäsi vaatimukset seuraavalla komennolla:


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

Seuraavassa kuvakaappauksessa näemme, että nykyinen järjestelmä (jossa on AMD-mikroprosessori) tukee virtualisointia, kuten svm osoittaa. Jos meillä olisi Intel-pohjainen prosessori, yllä olevan komennon tuloksissa näkisimme sen sijaan vmx.

Lisäksi isäntäsi laiteohjelmistossa (BIOS tai UEFI) on otettava käyttöön virtualisointiominaisuudet.

Asenna nyt tarvittavat paketit:

  1. qemu-kvm on avoimen lähdekoodin virtualisointiohjelma, joka tarjoaa laitteistoemuloinnin KVM-hypervisorille, kun taas qemu-img tarjoaa komentorivityökalun levykuvien käsittelyyn.
  2. libvirt sisältää työkalut, jotka ovat vuorovaikutuksessa käyttöjärjestelmän virtualisointiominaisuuksien kanssa.
  3. libvirt-python sisältää moduulin, joka sallii Pythonilla kirjoitettujen sovellusten käyttää libvirtin toimittamaa käyttöliittymää.
  4. libguestfs-tools: sekalaiset järjestelmänvalvojan komentorivityökalut virtuaalikoneita varten.
  5. virt-install: muut komentorivin apuohjelmat virtuaalikoneen hallintaan.

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

Kun asennus on valmis, varmista, että käynnistät ja otat libvirtd-palvelun käyttöön:


systemctl start libvirtd.service
systemctl enable libvirtd.service

Oletuksena jokainen virtuaalikone pystyy kommunikoimaan vain muiden kanssa samassa fyysisessä palvelimessa ja itse isäntäkoneen kanssa. Jotta vieraat voivat päästä muihin laitteisiin lähiverkossamme ja myös Internetiin, meidän on määritettävä isäntämme siltaliittymä (esimerkiksi br0) seuraavasti:

1. seuraavan rivin lisääminen NIC-päämäärityksiimme (todennäköisimmin /etc/sysconfig/network-scripts/ifcfg-enp0s3):


BRIDGE=br0

2. luomalla määritystiedoston br0 (/etc/sysconfig/network-scripts/ifcfg-br0) tällä sisällöllä (huomaa, että saattaa joutua muuttamaan IP-osoitetta, yhdyskäytävän osoitetta ja DNS-tietoja):


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. lopuksi, ota pakettien edelleenlähetys käyttöön tekemällä tiedostossa /etc/sysctl.conf


net.ipv4.ip_forward = 1

ja lataamalla muutokset nykyiseen ytimen kokoonpanoon:


sysctl -p

Huomaa, että sinun on ehkä myös kerrottava palomuurille, että tällainen liikenne tulisi sallia. Muista, että voit katsoa saman sarjan artikkelia aiheesta (Osa 11: Verkkoliikenteen hallinta FirewallD:n ja Iptablesin avulla), jos tarvitset apua sen tekemiseen.