Prestanimo da se plašimo virtuelizacije koristeći KVM. Dokumentacija na ruskom jeziku za instalaciju virtuelizacije Ubuntu Kvm

Dom / Tehnologije

Lično, najlakše mi je da KVM (virtuelna mašina zasnovana na kernelu) smatram nivoom apstrakcije nad Intel VT-x i AMD-V hardverskim tehnologijama virtuelizacije. Uzimamo mašinu sa procesorom koji podržava jednu od ovih tehnologija, instaliramo Linux na ovu mašinu, instaliramo KVM u Linux, i kao rezultat dobijamo priliku da kreiramo virtuelne mašine. Otprilike ovako funkcionira hosting u oblaku, na primjer, Amazon Web Services. Uz KVM, Xen se također ponekad koristi, ali rasprava o ovoj tehnologiji je izvan okvira ovog posta. Za razliku od tehnologija virtualizacije kontejnera, na primjer, Docker, KVM vam omogućava da pokrenete bilo koji OS kao gostujući sistem, ali također ima O Veći troškovi za virtuelizaciju.

Napomena: Korake opisane u nastavku sam testirao na Ubuntu Linux 14.04, ali u teoriji će u velikoj mjeri vrijediti za obje druge verzije Ubuntua i druge Linux distribucije. Sve bi trebalo da radi i na desktopu i na serveru, pristupa se preko SSH-a.

Instalacija KVM-a

Provjeravamo da li naš procesor podržava Intel VT-x ili AMD-V:

grep -E "(vmx|svm)" /proc/cpuinfo

Ako se nešto zagrije, to znači da je podržano i možete nastaviti dalje.

Instalacija KVM-a:

sudo apt-get update
sudo apt-get install qemu-kvm libvirt-bin virtinst bridge-utils

Šta se obično skladišti gde:

  • /var/lib/libvirt/boot/ - ISO slike za instaliranje gostujućih sistema;
  • /var/lib/libvirt/images/ — slike hard diskova gostujućih sistema;
  • /var/log/libvirt/ - ovdje treba tražiti sve dnevnike;
  • /etc/libvirt/ - direktorij sa konfiguracijskim datotekama;

Sada kada je KVM instaliran, napravimo našu prvu virtuelnu mašinu.

Kreiranje prve virtuelne mašine

Odabrao sam FreeBSD kao sistem za goste. Preuzmite ISO sliku sistema:

cd /var/lib/libvirt/boot/
sudo wget http:// ftp.freebsd.org/ path/ to/ some-freebsd-disk.iso

Virtualnim mašinama se u većini slučajeva upravlja pomoću uslužnog programa virsh:

sudo virsh --pomoć

Prije pokretanja virtuelne mašine, moraćemo da prikupimo neke dodatne informacije.

Gledamo listu dostupnih mreža:

sudo virsh net-list

Pogledajte informacije o određenoj mreži (nazvana default):

sudo virsh net-info default

Pogledajmo listu dostupnih optimizacija za gostujuće operativne sisteme:

sudo virt-install --os-varijanta lista

Dakle, sada kreiramo virtuelnu mašinu sa 1 CPU, 1 GB RAM-a i 32 GB prostora na disku, povezanu na podrazumevanu mrežu:

sudo virt-install\
--virt-type =kvm\
--name freebsd10\
--ram 1024\
--vcpus=1\
--os-varijanta =freebsd8 \
--hvm\
--cdrom =/ var/ lib/ libvirt/ boot/ FreeBSD-10.2 -RELEASE-amd64-disc1.iso \
--mrežna mreža =zadano,model =virtio \
--grafika vnc\
--putanja diska =/ var/ lib/ libvirt/ images/ freebsd10.img, veličina =32 ,bus =virtio

možete vidjeti:

UPOZORENJE Nije moguće povezati se na grafičku konzolu: virt-viewer nije
instaliran. Molimo instalirajte paket "virt-viewer".

Instalacija domene je još u toku. Možete se ponovo povezati na konzolu
da dovršite proces instalacije.

Ovo je normalno, tako treba da bude.

Zatim pogledajte svojstva virtuelne mašine u XML formatu:

sudo virsh dumpxml freebsd10

Evo ih najviše pune informacije. Ovo uključuje, na primjer, MAC adresu, koja će nam kasnije trebati. Za sada nalazimo informacije o VNC-u. u mom slučaju:

Koristeći moj omiljeni klijent (ja lično koristim Ramminu), prijavljujemo se preko VNC-a, koristeći SSH prosljeđivanje portova ako je potrebno. Ulazimo direktno u FreeBSD instalater. Onda je sve kao i obično - Next, Next, Next, dobijamo instalirani sistem.

Osnovne komande

Pogledajmo sada osnovne komande za rad sa KVM-om.

Dobivanje liste svih virtuelnih mašina:

sudo virsh lista --sve

Dobijanje informacija o određenoj virtuelnoj mašini:

sudo virsh dominfo freebsd10

Pokrenite virtuelnu mašinu:

sudo virsh start freebsd10

Zaustavite virtuelnu mašinu:

sudo virsh shutdown freebsd10

Jedva zakucati virtuelnu mašinu (uprkos imenu, ovo Ne brisanje):

sudo virsh uništiti freebsd10

Ponovo pokrenite virtuelnu mašinu:

sudo virsh ponovno pokretanje freebsd10

Kloniraj virtuelnu mašinu:

sudo virt-klon -o freebsd10 -n freebsd10-klon \
--file /var/lib/libvirt/images/freebsd10-clone.img

Omogući/onemogući automatsko pokretanje:

sudo virsh autostart freebsd10
sudo virsh autostart --onemogući freebsd10

Pokretanje virsh-a u načinu dijaloga (sve naredbe u načinu dijaloga - kao što je gore opisano):

sudo virsh

Uređivanje svojstava virtualne mašine u XML-u, uključujući ovdje možete promijeniti ograničenje količine memorije, itd.:

sudo virsh uredi freebsd10

Važno! Komentari iz uređenog XML-a su nažalost uklonjeni.

Kada je virtuelna mašina zaustavljena, veličina diska se takođe može promeniti:

sudo qemu-img resize /var/ lib/ libvirt/ images/ freebsd10.img -2G
sudo qemu-img info /var/lib/libvirt/images/freebsd10.img

Važno! Vašem gostujućem OS vjerovatno se neće svidjeti da disk odjednom postaje veći ili manji. U najboljem slučaju, pokrenuće se u hitnom režimu sa predlogom da se ponovo particioniše disk. Vjerovatno ne biste trebali to raditi. Možda će biti mnogo lakše kreirati novu virtuelnu mašinu i migrirati sve podatke na nju.

Sigurnosno kopiranje i vraćanje su prilično jednostavni. Dovoljno je sačuvati negdje izlaz dumpxml, kao i sliku diska, a zatim ih vratiti. Na YouTubeu uspeo da pronađe video Uz demonstraciju ovog procesa, sve zaista nije teško.

Mrežne postavke

Zanimljivo pitanje - kako odrediti koju IP adresu je virtuelna mašina dobila nakon pokretanja? KVM to radi na pametan način. Na kraju sam napisao ovu skriptu u Pythonu:

#!/usr/bin/env python3

# virt-ip.py skripta
# (c) 2016 Aleksandar Aleksejev
# http://site/

import sys
import re
import os
uvozni podproces
iz xml .etree import ElementTree

def eprint(str) :
print(str, datoteka = sys.stderr)

ako len(sys.argv)< 2 :
eprint("UPORABA: " + sys .argv [ 0 ] + " " )
eprint("Primjer: " + sys .argv [ 0 ] + " freebsd10" )
sys.exit(1)

ako os .geteuid() != 0 :
eprint("GREŠKA: trebali biste biti root")
eprint("Savet: pokrenite `sudo " + sys .argv [0] + " ...`" ) ;
sys.exit(1)

ako podproces .call ( "koji arping 2>&1 >/dev/null", shell = Tačno ) != 0 :
eprint("GREŠKA: arping nije pronađeno" )
eprint( "Savjet: pokrenite `sudo apt-get install arping`")
sys.exit(1)

Domena = sys.argv[1]

ako nije ponovno .match ("^*$" , domena):
eprint( "GREŠKA: nevažeći znakovi u nazivu domene")
sys.exit(1)

Domout = subprocess .check_output ("virsh dumpxml " +domain+" || true" ,
shell = Tačno)
domout = domout.decode("utf-8").strip()

ako domout == "" :
# poruka o grešci je već ispisana od strane dumpxml
sys.exit(1)

Doc = ElementTree.fromstring(domout)

# 1. navedite sva mrežna sučelja
# 2. pokrenite `arping` na svakom interfejsu paralelno
#3.grep odgovara
cmd = "(ifconfig | cut -d " " -f 1 | grep -E "." | " + \
"xargs -P0 -I IFACE arping -i IFACE -c 1 () 2>&1 | " + \
"grep "bytes from") || true"

za dijete u doc.iter() :
if child.tag == "mac" :
macaddr = child.attrib["adresa"]
macout = podproces .check_output (cmd .format (macaddr) ,
shell = Tačno)
print(macout.decode("utf-8"))

Skripta radi i sa podrazumevanom mrežom i sa premoštenom mrežom, čiju ćemo konfiguraciju razmotriti kasnije. Međutim, u praksi je mnogo zgodnije konfigurisati KVM tako da uvek dodeljuje iste IP adrese gostujućim sistemima. Da biste to učinili, uredite mrežne postavke:

sudo virsh net-edit default

...nešto ovako:

>



>

Nakon uvođenja ovih promjena


>

... i zamijenite ga nečim poput:




>

Ponovo pokrećemo gostujući sistem i provjeravamo da li je primio IP preko DHCP-a sa rutera. Ako želite da sistem za goste ima statičku IP adresu, ovo se konfiguriše kao i obično unutar samog sistema za goste.

virt-manager program

Možda će vas zanimati i virt-manager program:

sudo apt-get install virt-manager
sudo usermod -a -G libvirtd KORISNIČKO IME

Ovako izgleda njegov glavni prozor:

Kao što vidite, virt-manager nije samo GUI za virtuelne mašine koje rade lokalno. Uz njegovu pomoć možete upravljati virtualnim mašinama koje rade na drugim hostovima, kao i gledati prekrasnu grafiku u realnom vremenu. Ja lično smatram da je posebno zgodno u virt-manageru da ne morate pretraživati ​​konfiguracije da biste saznali koji port VNC radi na određenom sistemu za goste. Samo pronađete virtuelnu mašinu na listi, dvaput kliknite i dobijete pristup monitoru.

Uz pomoć virt-managera takođe je vrlo zgodno raditi stvari koje bi inače zahtijevale naporno uređivanje XML datoteka i, u nekim slučajevima, izvršavanje dodatnih naredbi. Na primjer, preimenovanje virtuelne mašine, postavljanje CPU afiniteta i slične stvari. Uzgred, korišćenje CPU afiniteta značajno smanjuje efekat bučnih suseda i uticaj virtuelnih mašina na host sistem. Uvijek ga koristite ako je moguće.

Ako odlučite koristiti KVM kao zamjenu za VirtualBox, imajte na umu da neće moći dijeliti hardversku virtualizaciju između sebe. Da bi KVM radio na vašoj radnoj površini, ne samo da ćete morati da zaustavite sve virtuelne mašine u VirtualBox-u i Vagrantu, već i da ponovo pokrenete sistem. Ja lično smatram da je KVM mnogo zgodniji od VirtualBoxa, barem zato što ne zahtijeva da pokrenete komandu sudo /sbin/rcvboxdrv podešavanje nakon svakog ažuriranja kernela, radi adekvatno sa Unity-om i općenito vam omogućava da sakrijete sve prozore.

Pišem ovu belešku da demonstriram instalacija korak po korak i postavljanje virtuelne mašine zasnovane na KVM-u u Linuxu. Ranije sam pisao o virtuelizaciji, gde sam koristio divni .

Sada sam suočen sa pitanjem kirije dobar server sa velikom zapreminom RAM i volumetrijski hard disk. Ali ne želim da pokrećem projekte direktno na glavnom računaru, pa ću ih razdvojiti u zasebne male virtuelne servere koji pokreću Linux ili Docker kontejnere (o njima ću govoriti u drugom članku).

Svi moderni cloud hostingi rade na istom principu, tj. hoster on dobra žlezda podiže gomilu virtuelnih servera, koje smo nekada zvali VPS/VDS, i distribuira ih korisnicima, ili automatizuje ovaj proces (zdravo, DigitalOcean).

KVM (virtuelna mašina zasnovana na kernelu) je softver za Linux koji koristi hardver x86 kompatibilnih procesora za rad sa Intel VT/AMD SVM tehnologijom virtuelizacije.

Instalacija KVM-a

Izvršiću sve mahinacije kreiranja virtuelne mašine na Ubuntu 16.04.1 LTS OS. Da provjerite da li vaši procesi podržavaju hardversku virtuelizaciju uključenu Zasnovan na Intelu VT/AMD SVM, izvrši:

Grep -E "(vmx|svm)" /proc/cpuinfo

Ako terminal nije prazan, onda je sve u redu i KVM se može instalirati. Ubuntu zvanično podržava samo KVM hipervizor (uključen uz Linux kerneli) i savjetuje korištenje biblioteke libvirt kao alata za upravljanje njome, što ćemo i učiniti sljedeće.

Također možete provjeriti podršku za virtuelizaciju hardvera u Ubuntu-u koristeći naredbu:

Ako bude uspješan, vidjet ćete nešto poput ovoga:

INFO: /dev/kvm postoji KVM ubrzanje se može koristiti

Instalirajte pakete za rad sa KVM:

Sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils

Ako imate pristup grafičkoj ljusci sistema, možete instalirati libvirt GUI manager:

Sudo apt-get install virt-manager

Korištenje virt-managera je prilično jednostavno (nije teže od VirtualBoxa), pa ćemo u ovom članku govoriti o konzolnoj opciji za instaliranje i konfiguraciju virtualnog servera.

Instalacija i konfiguracija virtuelnog servera

U konzolnoj verziji instalacije, konfiguracije i upravljanja sistemom, nezamjenjiv alat je virsh utility (dodatak biblioteci libvirt). Ona ima veliki broj opcije i parametri, detaljan opis može se nabaviti ovako:

Čovjek virsh

ili pozovite standardnu ​​"pomoć":

Virsh help

Uvek se pridržavam sledećih pravila kada radim sa virtuelnim serverima:

  1. Pohranjujem iso OS slike u /var/lib/libvirt/boot direktorij
  2. Slike virtuelne mašine spremam u /var/lib/libvirt/images direktorijum
  3. Svakoj novoj virtuelnoj mašini eksplicitno dodeljujem sopstvenu statičku IP adresu preko DHCP server hipervizor.

Počnimo sa instaliranjem prve virtuelne mašine (64-bitni server Ubuntu 16.04 LTS):

Cd /var/lib/libvirt/boot sudo wget http://releases.ubuntu.com/16.04/ubuntu-16.04.1-desktop-amd64.iso

Nakon preuzimanja slike pokrenite instalaciju:

Sudo virt-install \ --virt-type=kvm \ --name ubuntu1604\ --ram 1024 \ --vcpus=1 \ --os-variant=ubuntu16.04 \ --hvm \ --cdrom=/var/ lib/libvirt/boot/ubuntu-16.04.1-server-amd64.iso \ --network network=default,model=virtio \ --graphics vnc \ --disk path=/var/lib/libvirt/images/ubuntu1604. img,size=20,bus=virtio

Prevodeći sve ove parametre na „ljudski jezik“, ispada da kreiramo virtuelnu mašinu sa Ubuntu 16.04 OS, 1024 MB RAM-a, 1 procesor, standardnu ​​mrežnu karticu (virtuelna mašina će pristupiti Internetu kao da je zahvaljujući NAT-u ), 20 GB HDD.

Vrijedi obratiti pažnju na parametar --os-varijanta, govori hipervizoru kojem OS treba prilagoditi postavke.
Lista dostupnih OS opcija može se dobiti pokretanjem naredbe:

Osinfo-upit os

Ako takav uslužni program nije na vašem sistemu, instalirajte:

Sudo apt-get install libosinfo-bin

Nakon pokretanja instalacije, na konzoli će se pojaviti sljedeća poruka:

Instalacija domene je još u toku. Možete se ponovo povezati na konzolu da dovršite proces instalacije.

Ovo je normalna situacija, instalaciju ćemo nastaviti preko VNC-a.
Pogledajmo koji port je podignut na našoj virtuelnoj mašini (na primer u sledećem terminalu):

Virsh dumpxml ubuntu1604... ...

Port 5900, na lokalnoj adresi 127.0.0.1. Da biste se povezali na VNC, morate koristiti prosljeđivanje portova putem ssh-a. Prije nego što to učinite, uvjerite se da je tcp prosljeđivanje omogućeno u ssh demonu. Da biste to učinili, idite na sshd postavke:

Cat /etc/ssh/sshd_config | grep AllowTcpForwarding

Ako ništa nije pronađeno ili vidite:

AllowTcpForwarding br

Zatim uređujemo konfiguraciju u

AllowTcpForwarding da

i ponovo pokrenite sshd.

Podešavanje prosljeđivanja portova

Izvršavamo naredbu na lokalnoj mašini:

Ssh -fN -l prijava -L 127.0.0.1:5900:localhost:5900 server_ip

Ovdje smo konfigurirali prosljeđivanje ssh porta sa lokalnog porta 5900 na port servera 5900. Sada se možete povezati na VNC koristeći bilo koji VNC klijent. Više volim UltraVNC zbog njegove jednostavnosti i pogodnosti.

Nakon uspješnog povezivanja, na ekranu će se prikazati standardni prozor dobrodošlice za pokretanje Ubuntu instalacije:

Nakon završetka instalacije i uobičajenog ponovnog pokretanja, pojavit će se prozor za prijavu. Nakon prijave, određujemo IP adresu novokreirane virtuelne mašine kako bismo je kasnije učinili statičnom:

Ifconfig

Sjećamo se i idemo na host mašinu. Izvlačimo mac adresu "mrežne" kartice virtuelne mašine:

Virsh dumpxml ubuntu1604 | grep "mac adresa"

Prisjetimo se naše mac adrese:

Uređivanje mrežne postavke hipervizor:

Sudo virsh net-edit default

Tražimo DHCP i dodajemo ovo:

Trebalo bi izgledati otprilike ovako:

Da bi postavke stupile na snagu, potrebno je ponovo pokrenuti DHCP server hipervizora:

Sudo virsh net-destroy default sudo virsh net-start default sudo service libvirt-bin restart

Nakon ovoga, ponovo pokrećemo virtuelnu mašinu, sada će joj uvek biti dodeljena IP adresa - 192.168.122.131.

Postoje i drugi načini za postavljanje statičke IP adrese za virtuelnu mašinu, na primjer, direktnim uređivanjem mrežnih postavki unutar sistema za goste, ali ovdje je sve što vam srce poželi. Upravo sam pokazao opciju koju najradije koristim.

Da se povežete na terminal virtuelne mašine, pokrenite:

Ssh 192.168.122.131

Auto je spreman za borbu.

Virsh: lista komandi

Da vidim kako trči virtuelni domaćini(sve dostupne se mogu dobiti dodavanjem --sve):

Sudo virsh lista

Možete ponovo pokrenuti host:

Sudo virsh ponovno pokretanje $VM_NAME

Zaustavite virtuelnu mašinu:

Sudo virsh stop $VM_NAME

Izvrši zaustavljanje:

Sudo virsh uništi $VM_NAME

Sudo virsh start $VM_NAME

Onemogući:

Sudo virsh gašenje $VM_NAME

Dodaj u automatsko pokretanje:

Sudo virsh autostart $VM_NAME

Vrlo često je potrebno klonirati sistem da bi se u budućnosti koristio kao okvir za druge virtuelne operativne sisteme, za to se koristi uslužni program virt-clone.

Virt-klon --pomoć

On klonira postojeću virtuelnu mašinu i menja podatke osetljive na host, na primer, mac adresu. Lozinke, datoteke i druge korisničke informacije u klonu ostaju iste. Ako je IP adresa na kloniranoj virtuelnoj mašini registrovana ručno, onda mogu nastati problemi sa SSH pristupom klonu zbog konflikta (2 hosta sa istom IP).

Pored instaliranja virtuelne mašine preko VNC-a, moguće je koristiti i X11Forwarding preko virt-manager uslužnog programa. Na Windows-u, na primjer, možete koristiti Xming i PuTTY za ovo.

KVM ili Kernel Virtual Module je modul za virtuelizaciju za Linux kernel koji vam omogućava da svoj računar pretvorite u hipervizor za upravljanje virtuelnim mašinama. Ovaj modul radi na nivou kernela i podržava tehnologije hardverskog ubrzanja kao što su Intel VT i AMD SVM.

Samo po sebi softver KVM u korisničkom prostoru ne virtuelizira ništa. Umjesto toga, koristi /dev/kvm datoteku da konfiguriše virtuelne adresne prostore za gosta u kernelu. Svaka mašina za goste će imati svoju video karticu, mrežu i zvučna kartica, hard disk i drugu opremu.

Takođe, gostujući sistem neće imati pristup komponentama realnog operativni sistem. Virtuelna mašina radi u potpuno izolovanom prostoru. Kvm možete koristiti i na GUI sistemu i na serverima. U ovom članku ćemo pogledati kako instalirati kvm Ubuntu 16.04

Prije nego što nastavite sa samom instalacijom KVM-a, morate provjeriti podržava li vaš procesor hardversko ubrzanje virtualizacije iz Intel-VT ili AMD-V. Da biste to učinili, pokrenite sljedeću naredbu:

egrep -c "(vmx|svm)" /proc/cpuinfo

Ako rezultat vrati 0, onda vaš procesor ne podržava hardversku virtuelizaciju, ako je 1 ili više, tada možete koristiti KVM na svom stroju.

Sada možemo nastaviti s instalacijom KVM-a, set programa se može dobiti direktno iz službenih spremišta:

sudo apt install qemu-kvm libvirt-bin bridge-utils virt-manager cpu-checker

Instalirali smo ne samo kvm uslužni program, već i libvirt biblioteku, kao i upravitelj virtuelnih mašina. Nakon što je instalacija završena, morate dodati svog korisnika u libvirtd grupu, jer samo root i korisnici u ovoj grupi mogu koristiti KVM virtuelne mašine:

sudo gpasswd -a KORISNIK libvirtd

Nakon što pokrenete ovu naredbu, odjavite se i ponovo se prijavite. Zatim provjerimo da li je sve ispravno instalirano. Da biste to učinili, koristite naredbu kvm-ok:

INFO: /dev/kvm postoji
Može se koristiti KVM ubrzanje

Ako je sve urađeno kako treba, vidjet ćete istu poruku.

Korištenje KVM-a na Ubuntu 16.04

Završili ste zadatak instaliranja kvm-a u Ubuntu, ali još uvijek ne možete koristiti ovo virtualizacijsko okruženje, ali ga još uvijek treba konfigurirati. Zatim ćemo pogledati kako konfigurirati kvm Ubuntu. Prvo morate postaviti svoju mrežu. Moramo da napravimo most sa kojim će se virtuelna mašina povezati na mrežu računara.

Postavljanje mosta u NetworkManageru

To se može učiniti na nekoliko načina, na primjer, možete koristiti program za mrežnu konfiguraciju NetworkManager.

Kliknite na ikonu NetworkManager na panelu, a zatim odaberite promenite veze, a zatim kliknite na dugme Dodaj:

Zatim odaberite vrstu veze Most i pritisnite Kreiraj:

U prozoru koji se otvori kliknite na dugme dodati, da povežete naš most sa internet vezom:

Sa liste izaberite Ethernet i pritisnite Kreiraj:

U sljedećem prozoru odaberite u polju uređaj, mrežni interfejs na koji bi naš most trebao biti povezan:

Sada na listi mrežne veze vidjet ćeš svoj most. Sve što ostaje je da ponovo pokrenete mrežu da biste u potpunosti primijenili promjene, da biste uradili ovo:

Ručno postavljanje mosta

Prvo morate instalirati bridge-utils skup uslužnih programa ako to već niste učinili:

sudo apt install bridge-utils

Zatim, koristeći program brctl, možemo kreirati most koji nam je potreban. Da biste to učinili, koristite sljedeće naredbe:

sudo brctl addbr bridge0
$ sudo ip addr show
$ sudo addif bridge0 eth0

Prva naredba dodaje bridge uređaj br0, sa drugom morate odrediti koji mrežni interfejs je glavna veza sa eksternom mrežom, u mom slučaju je to eth0. I sa zadnjom komandom povezujemo most br0 sa eth0.

Sada morate dodati nekoliko redova mrežnim postavkama kako bi se sve automatski pokrenulo nakon pokretanja sistema. Da biste to učinili, otvorite datoteku /etc/network/interfaces i tamo dodajte sljedeće redove:

sudo gedit /etc/network/interfaces

loopback
auto lo bridge0
iface lo inet loopback
iface bridge0 inet dhcp
bridge_ports eth0

Kada se postavke dodaju, ponovo pokrenite mrežu:

sudo systemctl ponovo pokrenite umrežavanje

Sada je instalacija i konfiguracija KVM-a u potpunosti završena i možete kreirati svoju prvu virtuelnu mašinu. Nakon toga možete pogledati dostupne mostove koristeći naredbu:

Kreiranje KVM virtuelnih mašina

Postavljanje Ubuntu KVM-a je završeno i sada možemo preći na njegovo korištenje. Prvo, pogledajmo listu postojećih virtuelnih mašina:

virsh -c qemu:///sistemska lista

Prazan je. Možete kreirati virtuelnu mašinu preko terminala ili u grafičkom interfejsu. Za kreiranje putem terminala koristite naredbu virt-install. Prvo idemo u folder libvirt:

cd /var/lib/libvirt/boot/

Za CentOS instalacije komanda će izgledati ovako:

sudo virt-install\
--virt-type=kvm \
--ime centos7\
--ram 2048\
--vcpus=2\
--os-varijanta=rhel7 \
--hvm\
--cdrom=/var/lib/libvirt/boot/CentOS-7-x86_64-DVD-1511.iso \
--network=bridge=br0,model=virtio \
--grafika vnc\
--putanja diska=/var/lib/libvirt/images/centos7.qcow2,size=40,bus=virtio,format=qcow2

Pogledajmo bliže šta znače parametri ove naredbe:

  • virt-type- tip virtuelizacije, u našem slučaju kvm;
  • ime- naziv novog automobila;
  • ram- količina memorije u megabajtima;
  • vcpus- broj procesorskih jezgara;
  • os-varijanta- tip operativnog sistema;
  • cdrom- instalaciona slika sistema;
  • mrežni most- mrežni most koji smo ranije konfigurisali;
  • grafika- način pristupa grafičkom interfejsu;
  • diskpath- adresa novog hard disk za ovu virtuelnu mašinu;

Nakon što je instalacija virtuelne mašine završena, možete saznati parametre VNC veze pomoću naredbe:

sudo virsh vncdisplay centos7

Sada možete unijeti primljene podatke u svoj VNC klijent i povezati se na virtuelnu mašinu čak i daljinski. Za Debian naredba će biti malo drugačija, ali sve izgleda slično:

Idite u folder za slike:

cd /var/lib/libvirt/boot/

Po potrebi možete preuzeti instalacijsku sliku s interneta:

sudo wget https://mirrors.kernel.org/debian-cd/current/amd64/iso-dvd/debian-8.5.0-amd64-DVD-1.iso

Zatim napravimo virtuelnu mašinu:

sudo virt-install\
--virt-type=kvm \
--name=debina8 \
--ram=2048\
--vcpus=2\
--os-variant=debian8 \
--hvm\
--cdrom=/var/lib/libvirt/boot/debian-8.5.0-amd64-DVD-1.iso \
--network=bridge=bridge0,model=virtio \
--grafika vnc\
--putanja diska=/var/lib/libvirt/images/debian8.qcow2,size=40,bus=virtio,format=qcow2

Pogledajmo sada ponovo listu dostupnih mašina:

virsh -c qemu:///sistemska lista

Za pokretanje virtuelne mašine možete koristiti naredbu:

sudo virsh start machinename

Za zaustavljanje:

sudo virsh shutdown machinename

Za prebacivanje u stanje mirovanja:

sudo virsh suspend machinename

Za ponovno pokretanje:

sudo virsh ime mašine za ponovno pokretanje

sudo virsh reset machinename

Za potpuno uklanjanje virtuelna mašina:

sudo virsh uništi ime mašine

Kreiranje virtuelnih mašina u GUI\

Ako imate pristup grafičkom interfejsu, nema potrebe da koristite terminal, možete koristiti kompletan grafički interfejs virtuelnog menadžera mašine. Program se može pokrenuti iz glavnog menija:

Da kreirate novu mašinu, kliknite na ikonu sa ikonom monitora. Zatim ćete morati odabrati ISO slika vaš sistem. Možete koristiti i pravi CD/DVD drajv:

Na sljedećem ekranu odaberite količinu memorije koja će biti dostupna virtuelnoj mašini, kao i broj procesorskih jezgara:

Na ovom ekranu morate odabrati veličinu tvrdog diska koji će biti dostupan u vašoj mašini:

On poslednji korak Kao čarobnjak, moraćete da proverite da li su podešavanja mašine ispravna i da unesete njen naziv. Također morate navesti mrežni most preko kojeg će se mašina povezati na mrežu:

Nakon toga, mašina će biti spremna za upotrebu i pojavit će se na listi. Možete ga pokrenuti pomoću zelenog trokuta na traci sa alatkama menadžera.

Zaključci

U ovom članku smo pogledali kako da instaliramo KVM Ubuntu 16.04, pogledali smo kako u potpunosti pripremiti ovo okruženje za rad, kao i kako kreirati virtuelne mašine i koristiti ih. Ako imate pitanja, pitajte u komentarima!

Da zaključimo, predavanje Yandexa o tome što je virtualizacija u Linuxu:

Kimchi je HTML5 baziran web interfejs za KVM. Pruža jednostavan i fleksibilan interfejs za kreiranje i upravljanje gostujućim virtuelnim mašinama. Kimchi je instaliran i radi kao demon na KVM hostu. Upravlja KVM gostima uz pomoć libvirta. Kimchi interfejs podržava sve najnovije verzije pretraživača sa -1 verzijom, takođe podržava mobilne pretraživače.

Kimchi se može instalirati na najnoviju verziju RHEL, Fedora, openSUSE i Ubuntu. U ovom vodiču koristio sam Ubuntu 14.10 kao KVM host.

Prije konfiguriranja kimchija, morate instalirati sljedeće zavisne pakete.

$ sudo apt-get install gcc make autoconf automake gettext git python-cherrypy3 python-cheetah python-libvirt libvirt-bin python-pam python-m2crypto python-jsonschema qemu-kvm libtopsy-toi paddr python-ldap python-lxml nfs-common open-iscsi lvm2 xsltproc python-parted nginx firewalld python-guestfs libguestfs-tools python-zahtjevi websockify novnc spice-html5 wget

Sistem će od vas tražiti sljedeće detalje tokom instalacije paketa.

1. OK na Postfix konfiguraciji.

2. Odaberite Internet Site na općem tipu konfiguracije pošte.

3. Unesite svoj FQDN, a zatim izaberite OK.

Nakon instalacije, preuzmite najnoviju verziju kimchija sa githuba.

$ wget https://github.com/kimchi-project/kimchi/archive/master.zip

Raspakujte preuzetu datoteku.

$ unzip master.zip $ cd kimchi-master/

Napravite kimchi koristeći sljedeću naredbu.

$ ./autogen.sh --system

$ make $ sudo make install # Opciono ako se pokreće iz izvornog stabla

$ sudo kimchid --host=0.0.0.0

Pristupite kimchiju koristeći web pretraživač, https://localhost:8001. Biće vam zatraženo da se prijavite, koristite svoj sistemski akreditiv koji inače koristite za prijavu na sistem.


Nakon što se prijavite, dobit ćete stranicu kao ispod. Ovo prikazuje listu pokrenutih gostujućih virtuelnih mašina na trenutnom hostu, imate dugmad za gašenje, ponovno pokretanje i povezivanje na konzolu klikom na akciju.


Da kreirate novu mašinu za goste, kliknite na znak + u desnom uglu. Ako koristite ovu opciju za kreiranje mašine, to će biti urađeno preko šablona.


Predlošcima možete upravljati tako što ćete posjetiti meni šablona. Da biste kreirali novi predložak, kliknite na znak + u desnom uglu. Možete kreirati šablon koristeći ISO slike, možete postaviti iso slike na /var/lib/kimchi/isos ili koristiti udaljeni.


Možete upravljati skladišnim spremištem tako što ćete otići u meni za pohranu, tamo možete dodati novu pohranu klikom na znak +. Podržava dodavanje NFS, iSCSI i SCSI fiber channel memorije.


Mrežom se može upravljati odlaskom na meni mreže, možete kreirati novu mrežu sa izolovanim, NAT i premošćenim umrežavanjem.


Probao sam mnogo interfejsa za upravljanje vebom i nijedan od njih nije bio dovoljno dobar kao virt-manager.

Znate, ja sam jedan od onih koji su imali VMware, gdje je 90% kontrole moguće kliknuti.

moja pitanja:

1) Postoji li neki "interaktivni" CLI uslužni program poput mc (midnight commander) ili nešto kako kontrolirati KVM? (ON/OFF VM, povećanje memorije, restartovanje virtuelnih mašina, dodavanje virtuelnog hardvera, dodavanje novih diskova, itd.)

2) Možete li mi preporučiti neko sučelje za upravljanje web sučeljem za KVM na debian squeeze? Jeste li vidjeli VMware server 2? Postoji web kontrola. Znam da je bilo sporo, ali to je normalno kada si negdje bez terminala. (na primjer na Androidu sa web pretraživačem) Probao sam dosta njih, ali ništa što sam probao nije uspjelo.

5) Kako poboljšati KVM sigurnost? Može li neki web interfejs riješiti ovaj problem? (npr. računovodstvo, upravljanje korisnicima?)

Znam da postoji google, wiki, postoji duga lista UI za kvm, ali trebam mišljenja, iskustva stručnjaka ili korisnika koji koriste KVM. Nadam se da ovo nije neko glupo pitanje. Hvala svima na odgovorima na moja pitanja.

5 rješenja prikupljaju web obrazac za „KVM – Koje upravljanje webom trebam koristiti?“

Za web-baziranog KVM menadžera, možete isprobati Proxmox. Upute za Debian Squeeze su ovdje.

Ima alat komandna linija, ali ne i tekstualni osnovni meni.

Trebali biste postaviti malo okruženje i isprobati ga. Zatim odredite cilj i implementirajte ga.

Ne postoji tačan odgovor/tutorial za ovo. Koliko je KVM server/klijent podesiv zavisi od toga koliko resursa (cpu/ram/storage) je dostupno.

Opet, ovisi o vašem okruženju, a to su na primjer višeslojni/uređaji. ruteri, firewall, ip tabele, politika lozinki, politika pristupa, itd. Ne znam ni za jedan gui, web bazu ili ne, koji može podnijeti sve ovo, uključujući KVM. (OK, postoji oblak, ali nemam iskustva s njim)

Jeste li probali Kimchi? je najprikladniji open izvorni kod na KVM-u, a sponzorira ga IBM.

Disclaimer: Ja uopće nisam povezan s Kimchijem. Jednostavno volim njegovu ljubaznost.

Stručnjaci koriste CLI. Ne GUI. Ovo važi čak i za iskusne Windows administratore.

ne, grafički interfejsi i dalje se poboljšava, ali skripte za samozapisivanje su brže i rade ono što želite.

Poboljšati performanse u KVM-u? Baci ga.

Ovo je samo nagovještaj stručnjaka za XEN-PV. Samo LXC (ili drugi kontejneri) ili rješenja zasnovana na chroot-u su brža.

Vodič za instalaciju KVM-a možda nije vrlo detaljan, ali barem daje ili daje ideje u vezi sa procesom instalacije i konfiguracije.

Postoji novi KVM i AV/IT sistem upravljanja na nivou preduzeća pod nazivom Boxilla, koji ima sveobuhvatan i centralizovan komandni centar koji pruža maksimalne performanse, jednostavnost korišćenja i sigurnost.

Pruža mogućnost upravljanja KVM, KVM preko IP-a visokih performansi, virtueliziranim krajnjim tačkama i raznim AV/IT uređajima u jednom centraliziranom komandnom centru, omogućavajući administratorima da upravljaju višeslojnim KVM i AV/IT implementacijama koristeći moćan web i zajednički korisnički interfejs. O ovome možete pronaći ovdje: https://www.blackbox.co.uk/gb-gb/page/37929/Solutions-Industries/Technology-Products/KVM-Switching-and-Extension/Centralised-KVM-AV-Manager -Boxilla

© 2024 ermake.ru -- O popravci računara - Informativni portal