Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Programi
  • Instaliranje kvm server ubuntu konzole. Korišćenje KVM-a za kreiranje virtuelnih mašina na serveru

Instaliranje kvm server ubuntu konzole. Korišćenje KVM-a za kreiranje virtuelnih mašina na serveru

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.

Sam po sebi, KVM softver ne virtuelizira ništa u korisničkom prostoru. Umjesto toga, koristi /dev/kvm datoteku za postavljanje virtualnih adresnih prostora za gostujuću mašinu u kernelu. Svaka mašina za goste će imati svoju video karticu, mrežnu i zvučnu karticu, hard disk i drugu opremu.

Takođe, gostujući sistem neće imati pristup komponentama pravog operativnog sistema. Virtuelna mašina radi u potpuno izolovanom prostoru. Kvm možete koristiti i na GUI sistemu i na serverima. U ovom članku ćemo vas provesti kroz instalaciju kvm Ubuntu 16.04.

Prije nego što pređete na samu KVM instalaciju, trebate provjeriti da li vaš procesor podržava hardversko ubrzanje virtuelizacije iz Intel-VT ili AMD-V. Da biste to učinili, pokrenite sljedeću naredbu:

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

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

Sada možemo prijeći na instalaciju 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 ove grupe mogu koristiti KVM virtuelne mašine:

sudo gpasswd -a KORISNIK libvirtd

Nakon izvršenja ove naredbe, 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 na Ubuntu, ali još uvijek ne možete koristiti ovo virtualizacijsko okruženje, ali ga još uvijek treba konfigurirati. Zatim ćemo pogledati kako je Ubuntuova kvm postavka urađena. Prvo morate postaviti mrežu. Moramo da napravimo most sa kojim će se virtuelna mašina povezati na mrežu računara.

Konfiguracija 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 Dodati:

Zatim odaberite vrstu veze Most i pritisnite Stvoriti:

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

Odaberite sa liste ethernet i pritisnite Stvoriti:

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

Sada ćete vidjeti svoj most na listi mrežnih veza. Ostaje ponovo pokrenuti mrežu kako biste u potpunosti primijenili promjene, da biste to učinili, pokrenite:

Ručno podešavanje mosta

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

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 br0 bridge uređaj, sa drugom morate odrediti koji mrežni interfejs je glavna veza sa eksternom mrežom, u mom slučaju je to eth0. I sa posljednjom komandom, povezujemo most br0 sa eth0.

Sada morate dodati nekoliko redova mrežnim postavkama kako bi se sve automatski podiglo 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 dodaju postavke, ponovo pokrenite mrežu:

sudo systemctl ponovo pokrenite umrežavanje

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

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 već 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. Da biste napravili iz terminala, koristite naredbu virt-install. Prvo, idemo u folder libvirt:

cd /var/lib/libvirt/boot/

Da biste instalirali CentOS, naredba ć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 nove mašine;
  • RAM- količina memorije u megabajtima;
  • vcpus- broj procesorskih jezgara;
  • os-varijanta- tip operativnog sistema;
  • CD ROM- instalaciona slika sistema;
  • mrežni most- mrežni most koji smo ranije postavili;
  • grafika- kako pristupiti grafičkom interfejsu;
  • diskpath- adresa novog hard diska za ovu virtuelnu mašinu;

Nakon što je instalacija virtuelne mašine završena, možete saznati postavke veze putem VNC-a 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

Sada ponovo pogledajmo listu dostupnih mašina:

virsh -c qemu:///sistemska lista

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

sudo virsh start hostname

Zaustaviti:

sudo virsh shutdown hostname

Da stavite u stanje mirovanja:

sudo virsh suspend hostname

Za ponovno pokretanje:

sudo virsh ime hosta za ponovno pokretanje

sudo virsh reset hostname

Da biste potpuno uklonili virtuelnu mašinu:

sudo virsh uništiti ime hosta

Kreiranje virtuelnih mašina u GUI\

Ako imate pristup grafičkom sučelju, onda nema potrebe za korištenjem terminala, možete koristiti potpuno grafičko sučelje Virtual Manager upravitelja virtualne 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 sliku vašeg sistema. Možete koristiti i pravi CD/DVD drajv:

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

Na ovom ekranu morate odabrati veličinu tvrdog diska koja će biti dostupna na vašem uređaju:

U zadnjem koraku čarobnjaka morate provjeriti ispravnost postavki stroja, kao i unijeti njegovo ime. 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 pojaviće se na listi. Možete ga pokrenuti pomoću zelenog trokuta na alatnoj traci menadžera.

zaključci

U ovom članku smo pogledali kako se radi instalacija Ubuntu 16.04 KVM, 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!

Za kraj, predavanje Yandexa o tome šta je virtualizacija u Linuxu:

Lično, najlakše mi je da zamislim KVM (virtuelnu mašinu zasnovanu na kernelu) kao takav nivo apstrakcije nad Intel VT-x i AMD-V tehnologijama hardverske virtuelizacije. Uzimamo mašinu sa procesorom koji podržava jednu od ovih tehnologija, stavljamo Linux na ovu mašinu, instaliramo KVM u Linux i kao rezultat dobijamo priliku da kreiramo virtuelne mašine. Ovako funkcioniraju usluge hostinga 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, istog Dockera, KVM vam omogućava da pokrenete bilo koji OS kao gostujući sistem, ali također ima o Veći troškovi za virtuelizaciju.

Bilješka: Korake ispod sam testirao na Ubuntu Linuxu 14.04, ali u teoriji će u velikoj mjeri vrijediti za druge verzije Ubuntua i druge Linux distribucije. Sve bi trebalo da radi i na desktopu i na serveru kome se pristupa preko SSH-a.

KVM instalacija

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

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

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

Instalirajte KVM:

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

Gdje je uobičajeno čuvati:

  • /var/lib/libvirt/boot/ - ISO slike za instaliranje gostujućih sistema;
  • /var/lib/libvirt/images/ - slike hard diska 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

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

sudo virsh --pomoć

Prije pokretanja virtuelne mašine, moramo prikupiti 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

Gledamo listu dostupnih optimizacija za gostujući OS:

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=default,model=virtio \
--grafika vnc \
--putanja diska =/ var/ lib/ libvirt/ images/ freebsd10.img,size=32 ,bus=virtio

Mozes da vidis:

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.

U redu je, tako treba da bude.

Zatim gledamo svojstva virtuelne mašine u XML formatu:

sudo virsh dumpxml freebsd10

Ovdje su najpotpunije informacije. Uključujući, na primjer, tu je i MAC adresa, koja će nam trebati dalje. Do sada smo pronašli informacije o VNC-u. U mom slučaju:

Uz pomoć mog omiljenog klijenta (ja lično koristim Ramminu), idemo preko VNC-a, koristeći prosljeđivanje SSH porta 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

Dobivanje 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

Teško je nadmašiti 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

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

sudovirsh

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

Bitan! 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

Bitan! Vašem gostujućem OS se vjerovatno neće svidjeti činjenica da je disk odjednom postao 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 želite ovo da radite. Možda će biti mnogo lakše pokrenuti novu virtuelnu mašinu i migrirati sve podatke na nju.

Sigurnosna kopija i vraćanje su prilično jednostavni. Dovoljno je sačuvati negdje dumpxml izlaz, kao i sliku diska, a zatim ih vratiti. Na YouTube-u pronašao video uz demonstraciju ovog procesa, sve je zaista lako.

Mrežne postavke

Zanimljivo pitanje je kako odrediti koju IP adresu je virtuelna mašina dobila nakon učitavanja? U KVM-u se to radi na pametan način. Na kraju sam napisao sljedeću Python skriptu:

#!/usr/bin/env python3

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

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

def print(str) :
print (str, fajl = sys.stderr)

if len(sys.argv)< 2 :
eprint("UPOTREBA: " + 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đen")
print( "Savjet: pokrenite `sudo apt-get install arping`")
sys.exit(1)

Domena = sys.argv [ 1 ]

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

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

if 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 odgovori
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=True)
print(macout.decode("utf-8" ) )

Skripta radi i sa zadanom mrežom i sa premoštenom mrežom, o čijoj ćemo konfiguraciji raspravljati kasnije. Međutim, u praksi je mnogo zgodnije konfigurisati KVM tako da uvek dodeljuje iste IP adrese gostima. Da biste to učinili, uredite mrežne postavke:

sudo virsh net-edit default

... ovako nešto:

>



>

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. Pomoću njega možete upravljati virtuelnim mašinama koje rade na drugim hostovima, kao i gledati prelepe grafikone u realnom vremenu. Ja lično smatram da je posebno zgodno u virt-manageru da ne morate pregledavati konfiguracije na kojem portu radi VNC određenog sistema za goste. Samo pronađete virtuelnu mašinu na listi, dvaput kliknete i dobijate pristup monitoru.

Takođe je vrlo zgodno raditi stvari sa virt-manager-om koje bi inače zahtijevale naporno uređivanje XML datoteka i, u nekim slučajevima, izvršavanje dodatnih naredbi. Na primjer, preimenovanje virtuelnih mašina, podešavanje CPU afiniteta i slične stvari. Inače, korišćenje CPU afiniteta značajno smanjuje efekat bučnih suseda i uticaj virtuelnih mašina na host sistem. Uvijek ga koristite kad god je to moguće.

Ako odlučite koristiti KVM kao zamjenu za VirtualBox, imajte na umu da oni ne mogu međusobno dijeliti hardversku virtualizaciju. 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 pogodniji 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.

Kao Linux entuzijasta, svaki dan provjeravam mnogo Open Source i Linux aplikacija i distribucija. U osnovi, koristim Oracle VirtualBox za testiranje i reprodukciju različitih operativnih sistema. VirtualBox je popularan alat za virtualizaciju za postavljanje ili testiranje različitih vrsta distribucija. Kao i Oracle VirtualBox, postoji mnogo proizvoda za virtuelizaciju kao što su OpenVZ, KVM, Proxmox, itd. Danas ćemo razgovarati o QEMU.

QEMU je emulator i virtuelizator mašine otvorenog koda koji omogućava korisnicima da kreiraju i upravljaju virtuelnim mašinama unutar operativnog sistema.

Kada se koristi kao mašina, QEMU emulator može pokrenuti operativne sisteme i programe napravljene za jednu mašinu na drugoj mašini (npr. vašem sopstvenom računaru). Korišćenjem dinamičkog prevođenja postiže se veoma dobre performanse.

Kada se koristi kao virtuelizator, QEMU postiže vrlo slične performanse izvršavanjem gostujućeg koda direktno na host procesoru. QEMU podržava virtuelizaciju kada se izvodi pod Xen hipervizorom ili koristeći KVM kernel modul na Linuxu.

QEMU ima dva načina rada:

Puna emulacija sistema: U ovom režimu, QEMU emulira kompletan sistem (npr. PC), uključujući procesor i razne periferne uređaje. Može se koristiti za pokretanje različitih operativnih sistema bez ponovnog pokretanja računara ili za otklanjanje grešaka u sistemskom kodu.
Emulacija korisničkog načina: U ovom načinu rada, QEMU može pokrenuti Linux procese kompajlirane za jedan procesor na drugom procesoru. Na primjer, može se koristiti za pokretanje vina ili za olakšavanje unakrsnog prevođenja i unakrsnog otklanjanja grešaka.

QEMU se može pokrenuti bez upravljačkog programa za jezgro i još uvijek daje prihvatljive performanse.

Instalirajte QEMU na Ubuntu 16.04

U ovom primjeru, hajde da vidimo kako da instalirate i konfigurišete QEMU na Ubuntu 16.04 LTS i kako da kreirate i upravljate virtuelnim mašinama.

QEMU je podrazumevano dostupan u Ubuntu repozitorijumima. Dakle, možemo ga instalirati pomoću alata Virt Manager, koristeći naredbu:

sudo apt install qemu-kvm qemu qemu-system virt-manager virt-viewer libvirt-bin

Nakon instaliranja gornjih paketa, ponovo pokrenite sistem.

Kreirajte virtuelne mašine

Sada kreirajmo novu virtuelnu mašinu.

Prvo, potrebno je da kreirate sliku virtuelnog hard diska za novu virtuelnu mašinu. Na primjer, napravimo sliku tvrdog diska od 20 GB.

Qemu-img kreira ubuntu.img 20G

Zatim preuzmite sliku instalacije Ubuntu 15.04 servera sa službene web stranice.

Da pokrenete virtuelnu mašinu, pokrenite sledeću naredbu:

Za 64-bitne sisteme

Qemu-system-x86_64 -hda ubuntu.img -boot d -cdrom /home/linuxthebest/Downloads/ubuntu-15.04-server-i386.iso -m 1024

Za 32-bitne sisteme

Qemu-system-i386 -hda ubuntu.img -boot d -cdrom /home/linuxthebest/Downloads/ubuntu-15.04-server-amd64.iso -m 1024

Gdje je “/home/linuxthebest/Downloads/ubuntu-15.04-server-i386.iso” direktorij u koji je slika preuzeta, a 1024 je količina RAM-a koja je dodijeljena mašini.

Prilikom pokretanja, pojavit će se ekran za instalaciju, pritisnite tipku Enter i nastavite s instalacijom kao i obično.

Nakon završetka instalacije, sistem se može pokrenuti pomoću naredbe:

Qemu -hda ubuntu.img -m 1024

To je sve.

Ne sviđa vam se komandna linija? Kreiranje i upravljanje virtuelnim mašinama iz komandne linije može biti malo teško za neke korisnike. Ne brinite, možemo kreirati i virtuelne mašine pomoću GUI alata pod nazivom Upravitelj virtuelnih mašina (Virt Manager).

Ako ga ranije niste instalirali, možete ga instalirati pomoću naredbe

sudo apt install virt-manager qemu-system libvirt-bin

Kreiranje i upravljanje virtuelnim mašinama sa Virt Manager-om

Pokrenite Virtual Machine Manager

sudo virt-manager

Podrazumevano, Virt Manager interfejs će izgledati kao ispod.

Sada ćemo kreirati i instalirati Ubuntu 16.10 u virtuelnu mašinu.

Da kreirate virtuelnu mašinu, idite na Datoteka -> Nova virtuelna mašina.

Odaberite koji operativni sistem želite da instalirate.

Možete instalirati gostujući OS koristeći lokalni ISO/CD-ROM imidž, mrežnu instalaciju, PXE server ili uvesti postojeće slike diska. Osim toga, možete odabrati arhitekturu gostujućeg OS-a iz naprednih opcija.

Odaberite količinu RAM-a i procesora.

Unesite veličinu vašeg virtualnog tvrdog diska. Podrazumevano je 8GB.

Unesite naziv vašeg gostujućeg OS-a. I odaberite vrstu mreže iz naprednih opcija. I na kraju, kliknite na dugme Završi.

Nakon što kliknete na dugme Završi, gostujući OS će se automatski pokrenuti.

To je sve. Sada instalirajte gostujući OS kao što biste to učinili na običnom sistemu.

Instalirao sam Ubuntu 16.10 u virt manager i usput unity 8 tamo radi, u poređenju sa virtualboxom ne radi, tako da ako želite da testirate novo radno okruženje možete instalirati virt manager i tamo pokrenuti unity 8.


KVM je jedno od softverskih rješenja za pružanje vizualizacije u Linux okruženju. Nedavno je RedHat odustao od razvoja nekoliko sistema za virtuelizaciju Xen i KVM odjednom, a počevši od grane RHEL / CentOS 6, KVM je postao glavni sistem. Glavni uslov za KVM je da procesor podržava hardversko prikazivanje. A postoje KVM moduli samo za arhitekturu x86_64.

1. Instalacija

Provjerimo podršku za hardversku virtuelizaciju:

# egrep '(svm|vmx)' /proc/cpuinfo
Zastava: FPU VME PSE TSC MSR PEG MCE MCA CMOOV PATE36 CMFUSH DTS ACFI MMX FXSR SSE SSE2 SS HT TM PBE SSE2 SS LM Constant_TSC CHT_PERFMON PEBSPERF PNI DTESGE64 monitor PSET EST SSE4_1 XSAVE LAHF_LM TPR_Shadow vnmi flexpriority

Ako je izlaz prazan, onda procesor ne podržava hardversku virtuelizaciju i kvm neće raditi, ako je izlaz sličan gore navedenom, onda možete nastaviti s instalacijom. Instalirajte komponente i pokrenite libvirt uslugu:

# yum install kvm libvirt virt-manager
# start service libvirtd
Pokretanje libvirtd demona: [ OK ]

Provjeravamo da li su učitani potrebni KVM moduli - trebalo bi ispasti dva modula - prvi kvm, drugi kvm_intel ili kvm_amd za odgovarajući tip procesora.

# lsmod | grep kvm
kvm_intel 55496 4
kvm 337900 1 kvm_intel

U nekim slučajevima, uprkos prisutnosti podrške za virtuelizaciju hardvera od strane procesora, potrebno je dodatno omogućiti podršku virtuelizacije u BIOS-u ili flešovati BIOS najnovijom verzijom.

2. Podešavanje mreže
Prva stvar koju treba učiniti je postaviti mrežni most s glavnim sučeljem i ukloniti zadanu mrežu. Mrežni most će omogućiti računarima na fizičkoj mreži da lako komuniciraju sa virtuelnim serverom kao da je na istoj mreži, a virtuelni server će jednako lako i transparentno komunicirati sa računarima na fizičkoj mreži.

2.1. Konfiguriranje bridge0
Na primjer, pretpostavimo da imamo samo jedno eth0 sučelje na virtuelizacijskom serveru s IP adresom 172.17.1.249, a /etc/sysconfig/network-scripts/ifcfg-eth0 konfiguracijski fajl interfejsa izgleda ovako.

DEVICE="eth0"
BOOTPROTO="statički"
HWADDR="78:24:AF:3C:C5:B5"
IPADDR=172.17.1.249
NETMASK=255.255.0.0
GATEWAY=172.17.1.30
ONBOOT="da"
Dovedemo datoteku /etc/sysconfig/network-scripts/ifcfg-eth0 do konačnog oblika.

DEVICE="eth0"
BOOTPROTO="statički"
HWADDR="78:24:AF:3C:C5:B5"
BRIDGE=most0
ONBOOT="da"
Kreirajte /etc/sysconfig/network-scripts/ifcfg-bridge0 i popunite.

DEVICE="most0"
TYPE=Most
BOOTPROTO="statički"
IPADDR=172.17.1.249
NETMASK=255.255.0.0
GATEWAY=172.17.1.30
ONBOOT="da"
Ponovno pokretanje mrežne usluge

# restart mreže servisa
Isključivanje interfejsa eth0: bridge bridge0 ne postoji!
[ UREDU ]
Isključivanje sučelja povratne petlje: [ OK ]
Pokretanje sučelja povratne petlje: [ OK ]
Pokretanje interfejsa eth0: [ OK ]
Pokretanje interfejsa bridge0: [ OK ]
Po želji, ovaj postupak se može obaviti na daljinu, na primjer, putem ssh-a - u ovom slučaju ponovno pokretanje mrežne usluge će uzrokovati kašnjenje od dvije sekunde, nakon čega će se veza vratiti bez ponovnog povezivanja. Provjera kreiranog mosta:

Sada hajde da uklonimo podrazumevani virbr0

# virsh net-list
Ime State Autostart
——————————————
podrazumevano aktivno da
# virsh net-destroy default
mrežni standard je uništen
# virsh net-undefine default
zadana vrijednost mreže je nedefinirana

Možete koristiti brctl uslužni program za provjeru statusa mosta. Ovo je standardni uslužni program za rad sa ethernet mostovima:

# brctl emisija
naziv mosta ID mosta STP omogućeni interfejsi
bridge0 8000.7824af3cc5b5 nema eth0

3. Instalacija i upravljanje virtuelnim mašinama.
Za instaliranje i upravljanje virtuelnim mašinama postoji veoma zgodan program Virtual Machine Manager (Virt-Manager) za grafičko okruženje. Ima prilično jasan interfejs za razumevanje koji svaki prosečan sistem administrator može lako da razume. Također možete upravljati i kreirati virtualne mašine pomoću konzole, to će biti malo teže, ali ima više mogućnosti za fino podešavanje.

3.1. Instalacija virtuelnih mašina.
Za znak, pokušajmo da instaliramo CentOS 6.0:

# virt-install -n vm01 -r 2048 -l http://mirror.yandex.ru/centos/6.0/os/x86_64 -f /vmstore/vm01.img -s 10 --network bridge=bridge0 --vnc
Parametri pokretanja:

N je ime virtuelne mašine
-r - količina RAM-a
-l - lokacija datoteka za mrežnu instalaciju
-f - putanja do datoteke kontejnera koja sadrži disk virtuelne mašine
-s - veličina datoteke kontejnera u gigabajtima
--mrežni most - povezuje virtuelni mrežni interfejs sa mrežnim mostom
--vnc - koristi VNC ekran
Da bismo nastavili sa instalacijom, moraćemo da se povežemo sa ekranom virtuelne mašine preko VNC-a. Da bismo to učinili, provjeravamo koji port je odabran za povezivanje, može varirati od 5900 nadalje.

# virsh dumpxml vm01 | grep vnc

Povezujemo se na port 5900 i završavamo instalaciju.

ako je na izlazu

zatim idite i uredite qemu.conf:

# nano /etc/libvirt/qemu.conf
vnc_listen="0.0.0.0"
….
vnc_password="xxxx"
# /etc/init.d/libvrtd restart

3.2. Kontrola mašine
Glavni alat konzole za upravljanje virtuelnim mašinama je virsh program. Prvo što možemo da uradimo je da pogledamo listu svih virtuelnih mašina i njihov status:

# virsh lista --sve
Id Ime Država
———————————-
vm01 isključen
Pokrenite virtuelnu mašinu vm01:

# virsh start vm01
Pokrenuta je domena vm01

Zaustavljamo se - to je jednako isključivanju računara iz utičnice

# virsh uništiti vm01
Domena vm01 je uništena

Parametri virtuelnih mašina se mogu menjati uređivanjem xml fajlova. Jedna opcija je da sačuvate konfiguraciju u xml formatu.

# virsh dumpxml vm01 > vm01.xml

Uredite vm01.xml i prenesite ga nazad:

# virsh definirati vm01.xml
Domena vm01 definirana iz vm01.xml
Drugi je da koristite virsh edit funkciju, ona će automatski otvoriti podrazumevani editor konfigurisan u sistemu, a nakon uređivanja će sačuvati konfiguraciju.

# virsh uredi vm01

Na većini sistema, vim je podrazumevani uređivač, ako vam se ne sviđa, možete ga lako zameniti sa, na primer, mcedit ili nano:

# echo "export EDITOR=mcedit" >> .bash_profile
Morate se ponovo prijaviti da biste primijenili postavke.

Za upravljanje putem virt-manager grafičke konzole:

Preuzmite Xming X Server za Windows, instalirajte ga, pokrenite.
Instaliraj:
yum install xorg-x11-server-Xorg
yum install xauth
yum install liberation-sans-fonts
U PuTTY: Connection - SSH - X11 omogućite "Omogući prosljeđivanje X11" i upišite "X display location" 127.0.0.1:0.0
Pokrećemo:
# virt-manager
I vozimo se kroz X-face 🙂

Pišem ovu napomenu da demonstriram korak po korak instalaciju i konfiguraciju virtuelne mašine na Linux-u zasnovanu na KVM-u. Ranije sam već pisao o virtuelizaciji, gde sam koristio divni .

Sada sam suočen sa pitanjem iznajmljivanja dobrog servera sa velikom količinom RAM-a i velikim čvrstim diskom. Ali ne želim da pokrećem projekte direktno na glavnom računaru, pa ću ih odvojiti u zasebne male virtuelne servere sa Linux OS ili docker kontejnerima (o njima ću govoriti u drugom članku).

Svi moderni hostingi u oblaku rade na istom principu, tj. hoster na dobrom hardveru podiže gomilu virtuelnih servera, koje smo nekada zvali VPS/VDS, i distribuira ih korisnicima, odnosno automatizuje ovaj proces (zdravo, DigitalOcean).

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

KVM instalacija

Izvršiću sve mahinacije za kreiranje virtuelne mašine na Ubuntu 16.04.1 LTS OS. Da biste provjerili podržavaju li vaši procesi hardversku virtuelizaciju zasnovanu na Intel VT/AMD SVM, pokrenite:

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

Ako terminal nije prazan, onda je sve u redu i KVM se može instalirati. Ubuntu samo službeno podržava KVM hipervizor (dio Linux kernela) i savjetuje korištenje biblioteke libvirt kao alata za upravljanje, što ćemo učiniti sljedeće.

Također možete provjeriti podršku za virtuelizaciju hardvera u Ubuntu-u putem naredbe:

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, tada 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), tako da će se ovaj članak fokusirati na konzolnu verziju instalacije i konfiguracije virtuelnog servera.

Instalacija i konfiguracija virtuelnog servera

U konzolnoj verziji instalacije, konfiguracije i upravljanja sistemom, virsh uslužni program (dodatak za libvirt biblioteku) je nezamjenjiv alat. Ima veliki broj opcija i parametara, a detaljan opis se može dobiti na sljedeći način:

man 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. Eksplicitno dodeljujem statičku IP adresu svakoj novoj virtuelnoj mašini preko DHCP servera hipervizora.

Počnimo sa instaliranjem prve virtuelne mašine (64-bitni server ubunt 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", ispostavilo se da kreiramo virtuelnu mašinu sa Ubuntu 16.04 OS, 1024 MB RAM-a, 1 procesor, standardnu ​​mrežnu karticu (virtuelna mašina će ići na Internet kao zbog NAT), 20 GB HDD.

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

osinfo upit os

Ako na vašem sistemu ne postoji takav uslužni program, 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.
Gledamo koji port je podignut sa naše virtuelne mašine (na obližnjem terminalu, na primer):

Virsh dumpxml ubuntu1604 ... ...

Port 5900, na lokalnoj adresi 127.0.0.1. Da biste se povezali na VNC, morate koristiti prosljeđivanje portova preko ssh-a. Prije nego to učinite, uvjerite se da je tcp prosljeđivanje omogućeno na 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 za

AllowTcpForwarding da

i ponovo pokrenite sshd.

Konfiguriranje prosljeđivanja portova

Pokrenite 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šne veze, na ekranu će se prikazati standardni prozor dobrodošlice za instalaciju Ubuntua:

Nakon završetka instalacije i uobičajenog ponovnog pokretanja, pojavit će se prozor za prijavu. Nakon prijave, određujemo IP adresu novonastale 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"

Zapamtite našu mac adresu:

Uređivanje mrežnih postavki hipervizora:

sudo virsh net-edit default

Tražimo DHCP i dodajemo ovo:

Trebalo bi da dobijete nešto ovako:

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

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

Nakon toga, 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 to na volju. Upravo sam pokazao opciju koju i sam radije koristim.

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

ssh 192.168.122.131

Auto je spreman za bitku.

Virsh: lista komandi

Da vidite pokrenute virtuelne hostove (sve dostupne mogu se dobiti dodavanjem --all):

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štiti $VM_NAME

sudo virsh start $VM_NAME

Ugasiti:

sudo virsh gašenje $VM_NAME

Dodaj u automatsko pokretanje:

sudo virsh autostart $VM_NAME

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

Virt-klon --pomoć

Klonira postojeći VM i mijenja podatke osjetljive na host kao što je mac adresa. Lozinke, datoteke i druge informacije specifične za korisnike u klonu ostaju iste. Ako je klonirana virtuelna mašina imala IP adresu ručno unetu, onda može doći do problema 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, na primjer, Xming i PuTTY se mogu koristiti za ovo.

Top Related Articles