Kaip įdiegti KVM CentOS/RHEL 8


Branduolio virtualioji mašina (trumpiau KVM) yra atvirojo kodo ir de facto standartinis virtualizacijos sprendimas, glaudžiai integruotas į Linux. Tai įkeliamas branduolio modulis, kuris Linux paverčia 1 tipo (be metalo) hipervizoriumi, sukuriančiu virtualią operacinę platformą, naudojamą virtualioms mašinoms (VM) paleisti.

Dalyje KVM kiekvienas VM yra „Linux“ procesas, kurį suplanuoja ir valdo branduolys bei turi privačią virtualizuotą aparatinę įrangą (t. y. centrinį procesorių, tinklo plokštę, diską ir kt.). Ji taip pat palaiko įdėtą virtualizaciją, kuri leidžia paleisti VM kitoje VM.

Kai kurios pagrindinės jo funkcijos apima įvairių „Linux“ palaikomų aparatinės įrangos platformų (x86 aparatinės įrangos su virtualizacijos plėtiniais („Intel VT“ arba AMD-V)) palaikymą. Ji užtikrina patobulintą VM saugą ir izoliaciją naudojant tiek SELinux. ir saugią virtualizaciją (sVirt), ji paveldi branduolio atminties valdymo funkcijas ir palaiko perkėlimą tiek neprisijungus, tiek realiuoju laiku (veikiančios VM perkėlimas tarp fizinių kompiuterių).

Šiame straipsnyje sužinosite, kaip įdiegti KVM virtualizavimą, kurti ir valdyti virtualias mašinas CentOS 8 ir RHEL 8 Linux.

Būtinos sąlygos

  1. Naujas CentOS 8 serverio diegimas
  2. Naujas RHEL 8 serverio diegimas
  3. RHEL 8 serveryje įjungta „RedHat“ prenumerata

Be to, vykdydami šią komandą įsitikinkite, kad jūsų aparatinės įrangos platforma palaiko virtualizaciją.

grep -e 'vmx' /proc/cpuinfo		#Intel systems
grep -e 'svm' /proc/cpuinfo		#AMD systems

Taip pat patvirtinkite, kad KVM moduliai yra įkelti į branduolį (pagal numatytuosius nustatymus jie turėtų būti).

lsmod | grep kvm

Čia yra „Intel“ pagrįstos bandymo sistemos išvesties pavyzdys:

Ankstesnėje KVM vadovų serijoje parodėme, kaip sukurti virtualias mašinas Linux sistemoje naudojant KVM (branduolių virtualią mašiną), kur demonstravome, kaip kurti ir valdyti VM naudojant virt-manager GUI įrankį (kuris pagal RHEL 8 dokumentaciją dabar nebenaudojama). Šiam vadovui mes laikysimės kitokio požiūrio – naudosime „Cockpit“ žiniatinklio konsolę.

1 veiksmas: „CentOS 8“ nustatykite „Cockpit Web Console“.

1. kabina yra lengvai naudojama, integruota ir išplečiama žiniatinklio sąsaja, skirta administruoti „Linux“ serverį žiniatinklio naršyklėje. Tai leidžia atlikti sistemos užduotis, pvz., konfigūruoti tinklus, administruoti saugyklą, kurti VM ir tikrinti žurnalus su pele. Jis naudoja įprastus jūsų sistemos vartotojo prisijungimus ir privilegijas, tačiau palaikomi ir kiti autentifikavimo metodai.

Jis yra iš anksto įdiegtas ir įgalintas naujai įdiegtose CentOS 8 ir RHEL 8 sistemose. Jei jos neįdiegėte, įdiekite naudodami šią dnf komandą. Kabinos mašinų plėtinys turėtų būti įdiegtas, kad būtų galima tvarkyti VM pagal Libvirt.

dnf install cockpit cockpit-machines

2. Kai paketo diegimas bus baigtas, paleiskite kabinos lizdą, įgalinkite jį automatiškai paleisti paleidžiant sistemą ir patikrinkite jo būseną, kad įsitikintumėte, jog jis veikia ir veikia.

systemctl start cockpit.socket
systemctl enable cockpit.socket
systemctl status cockpit.socket

3. Tada pridėkite kabinos paslaugą prie sistemos ugniasienės, kuri įgalinta pagal numatytuosius nustatymus, naudodami komandą firewall-cmd ir iš naujo įkelkite ugniasienės konfigūraciją, kad pritaikytumėte naujus pakeitimus.

firewall-cmd --add-service=cockpit --permanent
firewall-cmd --reload

4. Norėdami pasiekti kabinos žiniatinklio konsolę, atidarykite žiniatinklio naršyklę ir naršydami naudokite šį URL.

https://FQDN:9090/
OR
https://SERVER_IP:9090/

kabina naudoja savarankiškai pasirašytą sertifikatą, kad įgalintų HTTPS. Tiesiog tęskite ryšį, kai gausite įspėjimą iš naršyklės. Prisijungimo puslapyje naudokite savo serverio vartotojo abonemento kredencialus.

2 veiksmas: KVM virtualizacijos CentOS 8 diegimas

5. Tada įdiekite virtualizavimo modulį ir kitus virtualizacijos paketus, kaip nurodyta toliau. Paketas virt-install suteikia įrankį virtualioms mašinoms diegti iš komandinės eilutės sąsajos, o virtualioms mašinoms peržiūrėti naudojama virt-viewer.

dnf module install virt 
dnf install virt-install virt-viewer

6. Tada paleiskite komandą virt-host-validate, kad patikrintumėte, ar pagrindinis kompiuteris nustatytas paleisti libvirt hipervizoriaus tvarkykles.

virt-host-validate

7. Tada paleiskite libvirtd demoną (libvirtd) ir įgalinkite jį automatiškai paleisti kiekvieną kartą. Tada patikrinkite jo būseną, kad įsitikintumėte, jog jis veikia ir veikia.


systemctl start libvirtd.service
systemctl enable libvirtd.service
systemctl status libvirtd.service

3 veiksmas: per Cockpit nustatykite tinklo tiltą (virtualus tinklo jungiklis).

8. Dabar sukurkite tinklo tiltą (virtualiojo tinklo jungiklį), kad integruotumėte virtualias mašinas į tą patį tinklą kaip ir priegloba. Pagal numatytuosius nustatymus, kai paleidžiamas libvirtd demonas, jis suaktyvina numatytąją tinklo sąsają virbr0, kuri yra virtualaus tinklo jungiklis, veikiantis NAT režimu.

Šiam vadovui sukursime tinklo sąsają tiltiniu režimu, vadinamu br0. Tai leis virtualioms mašinoms pasiekti pagrindiniuose tinkluose.

Pagrindinėje kabinos sąsajoje spustelėkite Tinklas, tada spustelėkite Pridėti tiltą, kaip nurodyta toliau esančioje ekrano kopijoje.

9. Iššokančiajame lange įveskite tilto pavadinimą ir pasirinkite tilto pavaldinius arba prievado įrenginius (pvz., enp2s0, reiškiantį Ethernet sąsają), kaip parodyta toliau esančioje ekrano kopijoje. Tada spustelėkite Taikyti.

10. Dabar, kai žiūrite į Sąsajų sąrašą, jame turėtų pasirodyti naujas tiltas ir po kelių sekundžių Ethernet sąsaja turėtų būti išjungta (pašalinta).

4 veiksmas: virtualių mašinų kūrimas ir valdymas naudojant „Cockpit Web Console“.

11. Pagrindinėje kabinos sąsajoje spustelėkite parinktį Virtualios mašinos, kaip paryškinta toliau esančioje ekrano kopijoje. Puslapyje Virtualios mašinos spustelėkite Sukurti VM.

12. Bus parodytas langas su naujos VM kūrimo parinktimis. Įveskite ryšį, pavadinimą (pvz., ubuntu18.04), diegimo šaltinio tipą (bandymo sistemoje saugojome ISO atvaizdus saugyklose, t. y. /var/lib/libvirt/ vaizdai/), diegimo šaltinis, saugykla, dydis, atmintis, kaip parodyta kitame paveikslėlyje. Įvedus diegimo šaltinį, OS tiekėjas ir operacinė sistema turėtų būti parenkami automatiškai.

Taip pat pažymėkite parinktį nedelsiant paleisti VM, tada spustelėkite Sukurti.

13. Ankstesniame veiksme spustelėjus Sukurti, VM turėtų būti automatiškai paleistas ir turėtų būti paleistas naudojant pateiktą ISO atvaizdą. Tęskite diegdami svečio operacinę sistemą (mūsų atveju Ubuntu 18.04).

Jei spustelėsite VM Tinklo sąsajos, tinklo šaltinis turėtų nurodyti naujai sukurtą tilto tinklo sąsają.

Diegimo metu, konfigūruodami tinklo sąsają, turėtumėte pastebėti, kad VMs Ethernet sąsaja gauna IP adresą iš pagrindinio kompiuterio DHCP serverio. tinklą.

Atminkite, kad turite įdiegti OpenSSH paketą, kad galėtumėte pasiekti svečių OS per SSH iš bet kurio pagrindinio tinklo įrenginio, kaip aprašyta paskutinėje dalyje.

14. Kai svečio OS diegimas bus baigtas, iš naujo paleiskite VM, tada eikite į Diskiai ir atjunkite/pašalinkite kompaktinio disko įrenginį po VM diskais. . Tada spustelėkite Vykdyti, kad paleistumėte VM.

15. Dabar skiltyje Konsolės galite prisijungti prie svečio OS naudodami vartotojo paskyrą, kurią sukūrėte diegdami OS.

5 veiksmas: prieiga prie virtualios mašinos svečio OS per SSH

16. Norėdami pasiekti naujai įdiegtą svečio OS iš pagrindinio tinklo per SSH, paleiskite šią komandą (pakeiskite 10.42.0.197 svečio IP adresu).

ssh [email 

17. Norėdami išjungti, paleisti iš naujo arba ištrinti VM, spustelėkite ją VM sąraše, tada naudokite mygtukus, paryškintus šioje ekrano kopijoje.

Tai kol kas viskas! Šiame vadove parodėme, kaip įdiegti KVM virtualizacijos paketus ir kurti bei valdyti VM naudojant kabinos žiniatinklio konsolę. Norėdami gauti daugiau informacijos, žr.: RHEL 8 virtualizacijos pradžia.