KVM

„Libvirt QEMU“ ir „KVM“ kamino nustatymas „Debian“

„Libvirt QEMU“ ir „KVM“ kamino nustatymas „Debian“
QEMU-KVM pagrįsta virtualizacija yra „Linux“ pagrįstos virtualizacijos kamino esmė. Tai yra nemokamas ir atviras šaltinis ir yra viena iš labiausiai paplitusių virtualizavimo technologijų visoje industrijoje. Daugelis debesijos paslaugų teikėjų naudoja KVM ir dėl rimtų priežasčių. Tai siūlo labai efektyvų ir vis dėlto labai saugų virtualizacijos rinkinį ir nėra sudėtingos licencijavimo problemos. Tai nėra jūsų tipinės „Hyper-V“ ar „VMWare“ sąrankos atvejis. Tačiau kompromisas yra tas, kad sąranka gali būti labai sudėtinga, ypač nepatyrusiems vartotojams. Šis straipsnis skirtas sumažinti skaitytojo sudėtingumą.

Tai pasakę, pabandykime sukonfigūruoti savo KVM hipervizorių „Debian 9“ serveryje .

Įgalinami „VT-x“ arba „AMD-V“ plėtiniai

Idealiu atveju jums reikės švaraus mėgstamo „Linux“ paskirstymo diegimo mašinoje (ne VM), turinčioje gana modernų procesorių. Dauguma šiuolaikinių „Intel“ procesorių palaiko „VT-x“ plėtinius ir, panašiai, „AMD“ turi savo „AMD-V“ plėtinius. Šie plėtiniai yra „patobulinimai“, įmontuoti tiesiai į jūsų procesoriaus silicį, kuris leidžia greičiau ir saugiau virtualizuoti. Šiuos plėtinius turite įgalinti pagrindinės plokštės BIOS / UEFI meniu. Norėdami gauti daugiau informacijos, žr. Pagrindinės plokštės vadovą.

Jei nenorite sugadinti savo puikiai veikiančios „Linux“ darbo vietos, galite atlikti virtualiuosius įrenginius debesyje šiems eksperimentams atlikti. Pavyzdžiui, „DigitalOcean“ siūlo virtualias mašinas, kuriose įgalinta įdėta virtualizacija. Tai leidžia paleisti VM debesyje priglobtos VM viduje (tai vadinama įdėta virtualizacija). Akivaizdu, kad tai bus labai neefektyvus būdas praktiškai valdyti hipervizorių, tačiau kaip eksperimentas tai bus gerai. Įsitikinkite, kad turite bent 4 GB atminties ir daugiau nei 2 procesorius.

Įgalinę minėtus plėtinius, galite tai patvirtinti paleidę „lscpu“ ir ieškodami įrašo „Virtualizacija“:

$ lscpu
… .
Virtualizacija: VT-x
… .

Dabar, kai turime plėtinių įgalintą laiką, kad galėtume judėti toliau rietuvėje.

KVM ir QEMU diegimas

KVM (arba branduolio virtualioji mašina) susideda iš kelių „Linux“ branduolio modulių, kurie pasinaudos anksčiau įgalintais procesoriaus plėtiniais. Kita vertus, QEMU susideda iš daugybės „userland“ programų, kurios suteikia mums emuliacijos galimybes. Kaip savarankišką programinę įrangą, QEMU gali būti naudojama paleisti programas iš vienos architektūros, pvz., ARM, iš kitos, pvz., X86_64 ir atvirkščiai. Jį galima naudoti norint paleisti bet ką - nuo vieno dvejetainio failo iki visos operacinės sistemos.

Mes, žinoma, naudosime jį tik virtualizuodami „x86_64“ operacines sistemas „x86_64“ platformoje. Tam mums reikia tik vieno paketo:

$ sudo apt įdiekite qemu-kvm

Galite patikrinti, ar paketas įkėlė visus reikiamus modulius, vykdydami:

$ lsmod | grep kvm
kvm_intel 200704 0
kvm 598016 1 kvm_intel
irqbypass 16384 1 kvm

Tai viskas, ko jums reikia, teoriškai. Bet netrukus suprasite, kad tai praktiška. Virtualiosios mašinos yra nepaprastai sudėtingos, todėl mums reikia programinės įrangos paketo, kad galėtume gana automatizuotai (ir keičiamu mastu) valdyti įvairius poreikius, pvz., Tinklų kūrimą, failų sistemos valdymą ir kt. Norėdami tai padaryti, mums reikia „Libvirt“ virtualizacijos bibliotekos / „deemon“.

Diegiama „Libvirt“

„Libvirt“ yra esminė jūsų virtualizacijos kamino dalis. „Libvirtd“ demonas fone vykdo su virtualizavimu susijusias paslaugas. Paslaugos, kurios klauso užklausų, tokių kaip „Sukurti VM“, „Sunaikinti VM“, „Sukurti tinklą“ ir kt., Ir jas jose vykdo naudodamos pagrindines „Linux“ paslaugas, pvz., „Qemu binaries“, „iptables“ ir kt.

„Libvirt“ yra labai apibendrintas ir gali būti naudojamas valdyti KVM svečius, LXC konteinerius ir „Xen“ virtualizacijos kaminą. Kol kas sutelksime dėmesį tik į „Libvirt“, skirtą KVM svečiams. „Libvirtd“ atskleidžia API, kurią gali naudoti GUI programos, pvz., „Virt-manager“ arba „oVirt“, arba komandinės eilutės įrankiai, pvz., „Virt-install“, „virsh“ ir kt. Mes galime parašyti net savo pasirinktinius klientus, kurie naudoja tą patį standartinį API.  Norėdami išlaikyti dalykus standartizuotus, naudosime komandinės eilutės įrankius, tokius kaip virsh ir virt-install.

Įdiekime visus šiuos įrankius:

$ apt install libvirt-clients libvirt-daemon-system virtinst

Mums taip pat reikės kito paketo libguestfs-tools, kuris padės mums redaguoti ar modifikuoti svečio VM standžiuosius diskus ir failų sistemas.

Puiku! Dabar mes įdiegėme visą kaminą ir žinome, kaip išdėstyta architektūra. Norėdami naudoti „libvirt“ (ir susijusius įrankius), pridėkite savo vartotoją prie „libvirt-qemu“ ir „libvirt“ grupių.

$ sudo usermod -aG libvirt
$ sudo usermod -aG libvirt-qemu

Arba paleiskite komandas kaip root vartotoją.

„Virsh“ ir numatytojo tinklo paleidimas

Komandų eilutės „virsh“ įrankį naudosite daug, kai tvarkysite savo VM. Galite tiesiog įvesti virsh ir įeiti į virsh komandinės eilutės sąsają, arba įveskite virsh [Parinktys] iš įprasto apvalkalo. Peržiūrėkite viršh pagalbos išvestį, kai užstrigote su VM susijusioje operacijoje.

Pirmoji virsh komanda, kurią naudosime, iškvies numatytąjį tinklą, prie kurio gali prisijungti VM:

numatytasis „$ virsh net-autostart“
Numatytasis „$ virsh net-start“

Tai paleis numatytąjį tinklą ir įsitikins, kad jis bus paleistas automatiškai, kai pagrindinė kompiuteris bus paleistas iš naujo. Norėdami patikrinti išsamią informaciją apie šį numatytąjį tinklą, naudokite komandą:

numatytasis „$ virsh net-dumpxml“

numatytas
3d723dc6-49a4-4f73-bf6d-623d6b46b099












Xml failas gali parodyti galimų IP adresų diapazoną ir kaip jie bendraus su išoriniu pasauliu. Iš esmės srautas pateks į juos per NAT ir jie nebus jūsų kompiuterio išorinio tinklo dalis. Norėdami naudoti kiekvieną virtualųjį kompiuterį pagrindinio kompiuterio LAN, galite naudoti „Bridge Networking“.

Norėdami paleisti virtualią mašiną

Norėdami paleisti virtualią mašiną, mums reikia diegimo laikmenos (pvz., Diegimo ISO bet kuriai operacinei sistemai) ir kiek centrinių procesorių ir kiek atminties reikia skirti VM, ir jei jai reikia VNC. Šiame žingsnyje galite tikrai įvertinti GUI diegimo programą, pvz., „Virt-Manager“, tačiau tai padarysime naudodami gana sudėtingą „Virt-Install“ komandą.

Man patinka laikyti visą savo įkrovos laikmeną adresu / var / lib / libvirt / boot ir visas VM bei jų virtualų standųjį diską aplanke / var / lib / libvirt / images (numatytoji vieta). Tai supaprastina organizaciją.

$ cd / var / lib / libvirt / boot
$ wget http: // išleidžia.ubuntu.com / 18.04.2 / ubuntu-18.04.2-desktop-amd64.iso

Aukščiau pateikta komanda gauna „Ubuntu“ darbalaukio ISO, taip pat lengvai galite gauti „CentOS“ ar bet kurį kitą norimą paskirstymą.

Norėdami sukurti naują VM ir paleisti jį paleisti:

$ virt-install --virt-type kvm \
--pavadink manoVM \
--atmintis 2048 - vcpus = 2 \
--cdrom / var / lib / libvirt / boot / ubuntu-18.04.2-desktop-amd64.iso \
--disko dydis = 40 \
--grafika vnc, klausyk = 0.0.0.0, prievadas = 5900 \
--noautoconsole

Pirmiau nurodyta komanda iš tikrųjų yra sudėtinga. Siūlau išsaugoti šias komandas tekstiniuose failuose ir paleisti jas kaip vykdomuosius scenarijus, kai kuriate naują VM. Dauguma parametrų, pavyzdžiui, „virt“ tipas ir „virt-name“, yra savaime suprantami. Jie tiesiog vargina užsirašyti.

Paskutinė VNC rodymo parinktis paleidžia VNC serverį ir leidžia nuotoliniu būdu pasiekti konsolę prieigą prie savo VM prisijungiant prie pagrindinio kompiuterio 5900 prievado. Atidarykite VNC klientą darbalaukyje ir eikite į savo KVM pagrindinio kompiuterio IP prievadą 5900 prievade. Įsitikinkite, kad pasiekėte pagrindinio kompiuterio IP, o ne VM IP. Jūsų VNC prisijungs prie jūsų VM vaizdo išvesties ir galėsite tęsti diegimą.

Kur toliau?

Nuo šiol galite pabandyti pristabdyti, sustabdyti ir ištrinti VM. Taip pat galite modifikuoti pagrindinę infrastruktūrą pridėdami saugyklų telkinius ir konfigūruodami tiltinius tinklus. Visi atskirų VM, tinklo sąsajų ir saugojimo telkinių konfigūracijos failai saugomi aplankuose / etc / libvirt / ir / etc / libvirt / qemu.

Kartais teks fiziškai ištrinti standžiojo disko failus, išsaugotus aplanke / lib / libvirt / images, net pašalinus VM iš libvirt. Norėdami dar labiau automatizuoti dalykus, pabandykite importuoti „qcow2“ vaizdus, ​​kuriuos naudoja dauguma „Linux“ paskirstymų, tokių kaip „Ubuntu“ ir „CentOS“. Juose iš anksto įdiegta OS.

Išvada

Tai nustatyti niekur nėra taip paprasta, kaip nustatyti „VirtualBox“, o to priežastis yra daugybė. Didžioji kamino dalis yra sudėtinga, nes ji sukurta modulinė ir labai keičiama. Tai nereiškia jokių prielaidų, kur naudojate VM. Aplinka gali būti asmeninis darbalaukis arba duomenų centras. Darbas su GUI gali tam tikru mastu sumažinti šį sudėtingumą. Tačiau šios sistemos yra skirtos dirbti su REST API, kad būtų galima prisijungti prie jūsų organizacijos atsiskaitymo sistemų, stebėjimo sistemų ir kt. Po dislokavimo jų beveik niekas neliečia.

Be to, automatika yra žaidimo su libvirt ir qemu-kvm pavadinimas. Peržiūrėkite oficialią dokumentaciją ir parašykite savo šaunų scenarijų, kad sukurtumėte VM parką ir praneškite mums, jei ši pamoka jums pasirodė naudinga.

Kaip įdiegti „League of Legends“ „Ubuntu 14“.04
Jei esate „League of Legends“ gerbėjas, tai jums yra galimybė išbandyti „League of Legends“. Atminkite, kad LOL palaikoma „PlayOnLinux“, jei esate „Li...
Įdiekite naujausią „OpenRA“ strategijos žaidimą „Ubuntu Linux“
„OpenRA“ yra „Free / Free Real Time Strategy“ žaidimų variklis, atkuriantis ankstyvuosius „Westwood“ žaidimus, tokius kaip klasikinis „Command & Conqu...
Įdiekite naujausią „Dolecin Emulator“, skirtą „Gamecube“ ir „Wii“, sistemoje „Linux“
„Delfinų emuliatorius“ leidžia žaisti pasirinktus „Gamecube“ ir „Wii“ žaidimus „Linux“ asmeniniuose kompiuteriuose (PC). „Dolphin Emulator“ yra laisv...