Onion Information
Virtualizacija korištenjem libvirta - GASERI
libvirt je skup alata otvorenog koda za upravljanje različitim virtualizacijskim platformama, uključujući QEMU/KVM. Nudi aplikacijsko programsko sučelje u programskim jezicima C, Python i brojnim drugim, kao i sučelje naredbenog retka, a po...
Onion Details
Page Clicks: 0
First Seen: 03/15/2024
Last Indexed: 10/23/2024
Onion Content
Preskoči na sadržaj Virtualizacija korištenjem libvirta libvirt je skup alata otvorenog koda za upravljanje različitim virtualizacijskim platformama , uključujući QEMU/KVM . Nudi aplikacijsko programsko sučelje u programskim jezicima C, Python i brojnim drugim , kao i sučelje naredbenog retka , a pokreće se na operacijskim sustavima sličnim Unixu i Windowsima . Mnoge aplikacije koriste libvirt, uključujući virt-manager . libvirt koristi XML dokumente za konfiguraciju . Specifično, struktura dokumenta koja opisuje virtualne strojeve prikazana je u dijelu Domains u dokumentaciji . Primjerice, za tipični QEMU/KVM virtualni stroj kojemu su dodijeljene 2 virtualne procesorske jezgre i 4 gigabajta RAM-a, domena zapisana u XML-u je oblika: ubuntu20.04 3f74a815-6eb0-4e1c-abae-372afd171049 4194304 4194304 2 hvm destroy restart destroy /usr/bin/qemu-system-x86_64 /dev/urandom Uočimo: da se koristi KVM ( ) da se virtualni stroj zove ubuntu20.04 ( ubuntu20.04 ) da virtualni stroj posjeduje univerzalno jedinstveni identifikator (engl. universally unique identifier , kraće UUID) ( 3f74a815-6eb0-4e1c-abae-372afd171049 ) da su virtualnom stroju zaista dodijeljeni 4 gigabajta RAM-a ( 4194304 , 4194304 ) i 2 virtualne procesorske jezgre ( 2 ) da je arhitektura virtualnog stroja x86-64, koristi emulirani skup čipova Intel Q35 i pokreće se s čvrstog diska: hvm da CPU virtualnog stroja podržava iste značajke kao CPU domaćina ( ) da virtualni stroj ima velik broj uređaja, specifično: čvrsti disk koji je slika u formatu qcow2 na određenoj putanji u datotečnom sustavu mrežno sučelje kod kojeg je navedena MAC (hardverska, fizička) adresa: U Virtual Machine Manageru moguće je za pojedini virtualni stroj pronaći ovaj zapis. Klikom na gumb Open , odnosno Show the virtual machine console and details otvara se konzola virtualnog stroja. Zatim klikom na gumb Show virtual hardware details zapis postaje dostupan pod karticom XML . virsh Hint Za dodatne primjere naredbi proučite stranicu libvirt na ArchWikiju . virsh je korisničko sučelje naredbenog retka za upravljanje virtualnim strojevima. Uvjerimo se da je instaliran pokretanjem naredbe virsh s parametrom --version , odnosno -v : $ virsh -v 7 .10.0 Korištenjem argumenta nodeinfo moguće je dobiti informacije o domaćinu na kojem je libvirt pokrenut, a korištenjem naredbe nodememstats o zauzeću memorije na domaćinu: $ virsh nodeinfo CPU model: x86_64 CPU ( s ) : 32 CPU frequency: 3400 MHz CPU socket ( s ) : 1 Core ( s ) per socket: 8 Thread ( s ) per core: 2 NUMA cell ( s ) : 2 Memory size: 32780200 KiB $ virsh nodememstats total : 32780200 KiB free : 1481684 KiB buffers: 115852 KiB cached : 22103936 KiB Baratanje pojedinim virtualnim strojevima možemo izvesti argumentima start i shutdown , koji pokreću virtualni, odnosno šalju mu signal za isključivanje: $ virsh start ubuntu20.04 Domain 'ubuntu20.04' started $ shutdown ubuntu20.04 Domain 'ubuntu20.04' is being shutdown Nama je virsh zanimljiv za brzo stvaranje velikog broja virtualnih strojeva sa sličnim postavkama. Iskoristit ćemo XML zapis domene od ranije, koji smo mogli dobiti i argumentom dumpxml na način: $ virsh dumpxml ubuntu20.04 ubuntu20.04 ... Taj XML dokument je zapis postojećeg virtualnog stroja koji je jedinstven pa ćemo ga kod stvaranja svakog novog virtualnog stroja morati donekle izmijeniti. XML dokument koji možemo iskoristiti za stvaranje novog virtualnog stroja treba imati: ima drugačije ime od svih već stvorenih virtualnih strojeva ima novi univerzalno jedinstveni identifikator (iskoristit ćemo naredbu ljuske uuidgen za generiranje) stvorit ćemo novu sliku diska u formatu qcow2 (bilo kopiranjem focal-server-cloudimg-amd64.img i širenjem na željenu veličinu, bilo stvaranjem nove prazne slike željene veličine) promijenit ćemo posljednjih 3 okteta u MAC adresi mrežnog sučelja 52:54:00:67:31:2e na proizvoljnju vrijednost; podsjetimo se da su prvih tri okteta oznaka proizvođača (u našem slučaju 52:54:00 ), a posljednjih tri okteta oznaka konkretnog mrežnog adaptera (u našem slučaju 67:31:2e ), npr. možemo iskoristiti bb:bb:bb ( prigodna tema ) Nakon uređivanja XML dokumenta virtualni stroj stvaramo naredbom: $ virsh create moja-domena.xml Zadatak Stvorite novi virtualni stroj s 1 virtualnom procesorskom jezgrom i 2 gigabajta RAM-a, a zatim mu dodajte još jedan (prazan) tvrdi disk veličine 50 gigabajta. virsh podržava velik broj argumenata, a njihov popis i kratak opis možemo dobiti korištenjem argumenta help : $ virsh help Grouped commands: Domain Management ( help keyword 'domain' ) : attach-device attach device from an XML file attach-disk attach disk device attach-interface attach network interface autostart a domain blkdeviotune Set or query a block device I/O tuning parameters. blkiotune Get or set blkio parameters blockcommit Start a block commit operation. blockcopy Start a block copy operation. blockjob Manage active block operations blockpull Populate a disk from its backing image. blockresize Resize block device of domain. change-media Change media of CD or floppy drive console connect to the guest console ... Detalje o pojedinim naredbama moguće je pronaći u man stranici virsh(1) (naredba man 1 virsh ). Author: Vedran Miletić