Să nu ne mai temem de virtualizare folosind KVM. Documentație în limba rusă pentru instalarea de virtualizare Ubuntu Kvm

Acasă / Tehnologii

Personal, este cel mai ușor pentru mine să mă gândesc la KVM (Mașină virtuală bazată pe kernel) ca la un nivel de abstractizare față de tehnologiile de virtualizare hardware Intel VT-x și AMD-V. Luăm o mașină cu un procesor care acceptă una dintre aceste tehnologii, instalăm Linux pe această mașină, instalăm KVM în Linux și, ca urmare, avem posibilitatea de a crea mașini virtuale. Cam așa funcționează găzduirea în cloud, de exemplu, Amazon Web Services. Alături de KVM, Xen este de asemenea folosit uneori, dar o discuție despre această tehnologie depășește scopul acestei postări. Spre deosebire de tehnologiile de virtualizare a containerelor, de exemplu, Docker, KVM vă permite să rulați orice sistem de operare ca sistem invitat, dar are și O Suplimentar mai mare pentru virtualizare.

Nota: Pașii descriși mai jos au fost testați de mine pe Ubuntu Linux 14.04, dar, în teorie, acestea vor fi în mare măsură valabile atât pentru alte versiuni de Ubuntu, cât și pentru alte distribuții Linux. Totul ar trebui să funcționeze atât pe desktop, cât și pe server, accesat prin SSH.

Instalarea KVM

Verificăm dacă Intel VT-x sau AMD-V este acceptat de procesorul nostru:

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

Dacă ceva se încinge, înseamnă că este acceptat și poți continua.

Instalarea KVM:

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

Ce este de obicei stocat unde:

  • /var/lib/libvirt/boot/ - imagini ISO pentru instalarea sistemelor guest;
  • /var/lib/libvirt/images/ — imagini ale hard disk-urilor sistemelor invitate;
  • /var/log/libvirt/ - aici ar trebui să căutați toate jurnalele;
  • /etc/libvirt/ - director cu fișierele de configurare;

Acum că KVM este instalat, să creăm prima noastră mașină virtuală.

Crearea primei mașini virtuale

Am ales FreeBSD ca sistem invitat. Descărcați imaginea ISO a sistemului:

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

Mașinile virtuale sunt gestionate în majoritatea cazurilor folosind utilitarul virsh:

sudo virsh --help

Înainte de a lansa mașina virtuală, va trebui să colectăm câteva informații suplimentare.

Ne uităm la lista de rețele disponibile:

sudo virsh net-list

Vizualizați informații despre o anumită rețea (numită implicită):

sudo virsh net-info implicit

Să ne uităm la lista de optimizări disponibile pentru sistemele de operare invitate:

sudo virt-install --os-variant list

Deci, acum creăm o mașină virtuală cu 1 CPU, 1 GB RAM și 32 GB spațiu pe disc, conectată la rețeaua implicită:

sudo virt-install\
--virt-type =kvm\
--name freebsd10\
--ram 1024\
--vcpus=1\
--os-variant =freebsd8 \
--hvm\
--cdrom =/ var/ lib/ libvirt/ boot/ FreeBSD-10.2 -RELEASE-amd64-disc1.iso \
--network network =implicit,model =virtio\
--graphics vnc\
--disk path =/ var/ lib/ libvirt/ images/ freebsd10.img,size =32 ,bus =virtio

Puteți vedea:

AVERTISMENT Nu se poate conecta la consola grafică: virt-viewer nu
instalat. Vă rugăm să instalați pachetul „virt-viewer”.

Instalarea domeniului este încă în curs. Vă puteți reconecta la consolă
pentru a finaliza procesul de instalare.

Este normal, așa ar trebui să fie.

Apoi priviți proprietățile mașinii virtuale în format XML:

sudo virsh dumpxml freebsd10

Aici sunt cele mai multe informatii complete. Aceasta include, de exemplu, o adresă MAC, de care vom avea nevoie mai târziu. Deocamdată găsim informații despre VNC. In cazul meu:

Folosind clientul meu preferat (eu personal folosesc Rammina), ne logăm prin VNC, folosind redirecționarea portului SSH dacă este necesar. Intrăm direct în programul de instalare FreeBSD. Apoi totul este ca de obicei - Next, Next, Next, obținem sistemul instalat.

Comenzi de bază

Să ne uităm acum la comenzile de bază pentru lucrul cu KVM.

Obținerea unei liste cu toate mașinile virtuale:

sudo virsh list --all

Obținerea de informații despre o anumită mașină virtuală:

sudo virsh dominfo freebsd10

Lansați mașina virtuală:

sudo virsh start freebsd10

Opriți mașina virtuală:

sudo virsh oprire freebsd10

Cu greu dau în cuie mașina virtuală (în ciuda numelui, aceasta Nu stergere):

sudo virsh distruge freebsd10

Reporniți mașina virtuală:

sudo virsh reporniți freebsd10

Clonează mașina virtuală:

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

Activați/dezactivați rularea automată:

sudo virsh autostart freebsd10
sudo virsh autostart --dezactivați freebsd10

Rularea virsh în modul dialog (toate comenzile în modul dialog - așa cum este descris mai sus):

sudo virsh

Editarea proprietăților mașinii virtuale în XML, inclusiv aici puteți modifica limita cantității de memorie, etc.:

sudo virsh edit freebsd10

Important! Comentariile din XML-ul editat sunt, din păcate, eliminate.

Când mașina virtuală este oprită, discul poate fi, de asemenea, redimensionat:

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

Important! Sistemul dumneavoastră de operare invitat probabil că nu va plăcea că discul devine brusc mai mare sau mai mic. În cel mai bun caz, va porni în modul de urgență cu o propunere de repartiție a discului. Probabil că nu ar trebui să vrei să faci asta. Poate fi mult mai ușor să creați o nouă mașină virtuală și să migrați toate datele către ea.

Backup și restaurare sunt destul de simple. Este suficient să salvați undeva ieșirea dumpxml, precum și imaginea de disc și apoi să le restaurați. Pe YouTube a reusit sa gasesc videoclipul Cu o demonstrație a acestui proces, totul nu este cu adevărat dificil.

Setări de rețea

O întrebare interesantă - cum să determinați ce adresă IP a primit mașina virtuală după pornire? KVM face acest lucru într-un mod inteligent. Am ajuns să scriu acest script în Python:

#!/usr/bin/env python3

# script virt-ip.py
# (c) 2016 Aleksander Alekseev
# http://site/

import sys
import re
import os
subproces de import
din xml .etree import ElementTree

def eprint(str) :
print(str, fișier = sys.stderr)

dacă len(sys.argv)< 2 :
eprint("UTILIZARE: " + sys .argv [ 0 ] + " " )
eprint("Exemplu: " + sys .argv [ 0 ] + " freebsd10 " )
sys.exit(1)

dacă os .geteuid() != 0 :
eprint("EROARE: ar trebui să fii root" )
eprint("Sugestie: rulați `sudo " + sys .argv [ 0 ] + " ...`" ) ;
sys.exit(1)

dacă subproces .call ( „care arping 2>&1>/dev/null”, shell = True ) != 0 :
eprint("EROARE: arping nu a fost găsit" )
eprint( „Sugestie: rulați `sudo apt-get install arping`”)
sys.exit(1)

Domeniu = sys.argv[1]

dacă nu re .match ("^*$", domeniu):
eprint( „EROARE: caractere nevalide în numele domeniului”)
sys.exit(1)

Domout = subproces .check_output ("virsh dumpxml " +domeniu+" || adevărat" ,
coajă = adevărat)
domout = domout.decode("utf-8").strip()

if domout == "" :
# mesaj de eroare imprimat deja de dumpxml
sys.exit(1)

Doc = ElementTree.fromstring(domout)

# 1. enumerați toate interfețele de rețea
# 2. rulați `arping` pe fiecare interfață în paralel
#3.răspunsuri grep
cmd = "(ifconfig | cut -d " " -f 1 | grep -E "." | " + \
"xargs -P0 -I IFACE arping -i IFACE -c 1 () 2>&1 | " + \
„grep „octeți de la”) || adevărat”

pentru copil în doc.iter() :
dacă child.tag == „mac”:
macaddr = child.attrib[„adresă”]
macout = subproces .check_output (cmd .format (macaddr) ,
coajă = adevărat)
print(macout.decode("utf-8"))

Scriptul funcționează atât cu rețeaua implicită, cât și cu rețeaua în punte, a cărei configurație o vom lua în considerare mai târziu. Cu toate acestea, în practică, este mult mai convenabil să configurați KVM astfel încât să atribuie întotdeauna aceleași adrese IP sistemelor oaspeților. Pentru a face acest lucru, editați setările de rețea:

sudo virsh net-edit implicit

... ceva de genul asta:

>



>

După efectuarea acestor modificări


>

... și înlocuiți-l cu ceva de genul:




>

Repornim sistemul oaspete și verificăm dacă a primit un IP prin DHCP de la router. Dacă doriți ca sistemul oaspete să aibă o adresă IP statică, aceasta este configurată ca de obicei în sistemul oaspeților însuși.

programul virt-manager

Ați putea fi interesat și de programul virt-manager:

sudo apt-get install virt-manager
sudo usermod -a -G libvirtd NUME DE UTILIZATOR

Iată cum arată fereastra sa principală:

După cum puteți vedea, virt-manager nu este doar o interfață grafică pentru mașinile virtuale care rulează local. Cu ajutorul acestuia, puteți gestiona mașinile virtuale care rulează pe alte gazde, precum și să vă uitați la o grafică frumoasă în timp real. Personal, mi se pare deosebit de convenabil în virt-manager că nu trebuie să căutați prin configurații pentru a afla ce port VNC rulează pe un anumit sistem invitat. Doar găsiți mașina virtuală în listă, faceți dublu clic și obțineți acces la monitor.

Cu ajutorul virt-manager este, de asemenea, foarte convenabil să faci lucruri care altfel ar necesita o editare intensivă a fișierelor XML și, în unele cazuri, executarea unor comenzi suplimentare. De exemplu, redenumirea mașini virtuale, setarea afinității CPU și lucruri similare. Apropo, utilizarea afinității CPU reduce semnificativ efectul vecinilor zgomotoși și influența mașinilor virtuale asupra sistemului gazdă. Folosiți-l întotdeauna dacă este posibil.

Dacă decideți să utilizați KVM ca înlocuitor pentru VirtualBox, rețineți că aceștia nu vor putea partaja virtualizarea hardware între ei. Pentru ca KVM să funcționeze pe desktop, nu numai că va trebui să opriți toate mașinile virtuale din VirtualBox și Vagrant, ci și să reporniți sistemul. Eu personal consider KVM mult mai convenabil decât VirtualBox, cel puțin pentru că nu necesită să rulați o comandă setare sudo /sbin/rcvboxdrv după fiecare actualizare a nucleului, funcționează adecvat cu Unity și, în general, vă permite să ascundeți toate ferestrele.

Scriu această notă pentru a demonstra instalare pas cu pasși configurarea unei mașini virtuale bazate pe KVM în Linux. Am scris anterior despre virtualizare, unde am folosit minunatul .

Acum ma confrunt cu problema chiriei server bun cu volum mare RAMși volumetrice hard disk. Dar nu vreau să rulez proiecte direct pe mașina gazdă, așa că le voi separa în servere virtuale mici separate care rulează containere Linux sau Docker (voi vorbi despre ele într-un alt articol).

Toate găzduirile cloud moderne funcționează pe același principiu, adică. hoster pe glandă bună ridică o grămadă de servere virtuale, pe care le numim VPS/VDS, și le distribuie utilizatorilor sau automatizează acest proces (bună ziua, DigitalOcean).

KVM (mașină virtuală bazată pe kernel) este un software pentru Linux care utilizează hardware-ul procesoarelor compatibile x86 pentru a lucra cu tehnologia de virtualizare Intel VT/AMD SVM.

Instalarea KVM

Voi efectua toate mașinațiunile de a crea o mașină virtuală pe Ubuntu 16.04.1 LTS OS. Pentru a verifica dacă procesele dvs. acceptă virtualizarea hardware activată Bazat pe Intel VT/AMD SVM, executați:

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

Dacă terminalul nu este gol, atunci totul este în ordine și KVM poate fi instalat. Ubuntu acceptă oficial doar hypervisorul KVM (inclus cu Kernel-urile Linux) și recomandă utilizarea bibliotecii libvirt ca instrument de gestionare a acesteia, ceea ce vom face în continuare.

De asemenea, puteți verifica suportul pentru virtualizarea hardware în Ubuntu folosind comanda:

Dacă aveți succes, veți vedea ceva de genul acesta:

INFORMAȚII: /dev/kvm există Accelerația KVM poate fi utilizată

Instalați pachete pentru lucrul cu KVM:

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

Dacă aveți acces la shell-ul grafic al sistemului, puteți instala managerul GUI libvirt:

Sudo apt-get install virt-manager

Utilizarea virt-manager este destul de simplă (nu mai dificilă decât VirtualBox), așa că în acest articol vom vorbi despre opțiunea de consolă pentru instalarea și configurarea unui server virtual.

Instalarea și configurarea unui server virtual

În versiunea de consolă de instalare, configurare și gestionare a sistemului, un instrument indispensabil este utilitarul virsh (un add-on la biblioteca libvirt). Ea are număr mare opțiuni și parametri, descriere detaliată se poate obtine astfel:

Omul virsh

sau apelați standardul „ajutor”:

Virsh ajutor

Întotdeauna respect următoarele reguli atunci când lucrez cu servere virtuale:

  1. Stochez imagini ISO OS în directorul /var/lib/libvirt/boot
  2. Stochez imagini de mașină virtuală în directorul /var/lib/libvirt/images
  3. Asignez în mod explicit fiecărei noi mașini virtuale propria sa adresă IP statică prin Server DHCP hipervizor.

Să începem să instalăm prima mașină virtuală (server pe 64 de biți Ubuntu 16.04 LTS):

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

După descărcarea imaginii, începeți instalarea:

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

Traducând toți acești parametri în „limbaj uman”, se dovedește că creăm o mașină virtuală cu Ubuntu 16.04 OS, 1024 MB RAM, 1 procesor, o placă de rețea standard (mașina virtuală va accesa Internetul ca și cum ar fi datorită NAT-ului). ), HDD de 20 GB.

Merită să acordați atenție parametrului --os-variant, îi spune hypervisorului la ce sistem de operare ar trebui să fie adaptate setările.
O listă a opțiunilor de SO disponibile poate fi obținută prin rularea comenzii:

Osinfo-query os

Dacă un astfel de utilitar nu este pe sistemul dvs., atunci instalați:

Sudo apt-get install libosinfo-bin

După pornirea instalării, în consolă va apărea următorul mesaj:

Instalarea domeniului este încă în curs. Vă puteți reconecta la consolă pentru a finaliza procesul de instalare.

Aceasta este o situație normală, vom continua instalarea prin VNC.
Să ne uităm la ce port a fost creat pe mașina noastră virtuală (în următorul terminal, de exemplu):

Virsh dumpxml ubuntu1604... ...

Portul 5900, pe adresa locală 127.0.0.1. Pentru a vă conecta la VNC, trebuie să utilizați Port Forwarding prin ssh. Înainte de a face acest lucru, asigurați-vă că redirecționarea tcp este activată în demonul ssh. Pentru a face acest lucru, accesați setările sshd:

Cat /etc/ssh/sshd_config | grep AllowTcpForwarding

Dacă nu s-a găsit nimic sau vedeți:

AllowTcpForwarding nr

Apoi edităm configurația la

AllowTcpForwarding da

și reporniți sshd.

Configurarea redirecționării portului

Executăm comanda pe mașina locală:

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

Aici am configurat redirecționarea portului ssh de la portul local 5900 la portul server 5900. Acum vă puteți conecta la VNC folosind orice client VNC. Prefer UltraVNC datorită simplității și comoditatii sale.

După conectarea cu succes, pe ecran va fi afișată fereastra standard de bun venit pentru pornirea instalării Ubuntu:

După finalizarea instalării și repornirea obișnuită, va apărea fereastra de autentificare. După conectare, determinăm adresa IP a mașinii virtuale nou create pentru a o face ulterior statică:

Ifconfig

Ne amintim și mergem la mașina gazdă. Scoatem adresa mac a cartelei de „rețea” a mașinii virtuale:

Virsh dumpxml ubuntu1604 | grep "adresa mac"

Să ne amintim adresa noastră mac:

Editare setările de rețea hypervisor:

Sudo virsh net-edit implicit

Căutăm DHCP și adăugăm asta:

Ar trebui să arate cam așa:

Pentru ca setările să aibă efect, trebuie să reporniți serverul DHCP al hypervisorului:

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

După aceasta, repornim mașina virtuală, acum va avea întotdeauna adresa IP atribuită - 192.168.122.131.

Există și alte modalități de a seta un IP static pentru o mașină virtuală, de exemplu, prin editarea directă a setărilor de rețea în interiorul sistemului invitat, dar aici este orice dorește inima ta. Tocmai am arătat opțiunea pe care prefer să o folosesc.

Pentru a vă conecta la terminalul mașinii virtuale, rulați:

Ssh 192.168.122.131

Mașina este gata de luptă.

Virsh: lista de comenzi

Să văd alergând gazde virtuale(toate cele disponibile pot fi obținute adăugând --all):

Sudo virsh list

Puteți reporni gazda:

Sudo virsh reporniți $VM_NAME

Opriți o mașină virtuală:

Sudo virsh stop $VM_NAME

Executați oprirea:

Sudo virsh distruge $VM_NAME

Sudo virsh start $VM_NAME

Dezactivați:

Închiderea Sudo virsh $VM_NAME

Adăugați la rulare automată:

Sudo virsh pornire automată $VM_NAME

De foarte multe ori este necesară clonarea unui sistem pentru a-l utiliza pe viitor ca cadru pentru alte sisteme de operare virtuale pentru aceasta, se folosește utilitarul virt-clone.

Virt-clone --ajutor

Clonează o mașină virtuală existentă și modifică datele sensibile la gazdă, de exemplu, adresa mac. Parolele, fișierele și alte informații specifice utilizatorului din clonă rămân aceleași. Dacă adresa IP de pe mașina virtuală clonată a fost înregistrată manual, atunci pot apărea probleme cu accesul SSH la clonă din cauza unui conflict (2 gazde cu același IP).

Pe lângă instalarea unei mașini virtuale prin VNC, este posibil să utilizați X11Forwarding și prin utilitarul virt-manager. Pe Windows, de exemplu, puteți folosi Xming și PuTTY pentru asta.

KVM sau Kernel Virtual Module este un modul de virtualizare pentru nucleul Linux care vă permite să vă transformați computerul într-un hypervisor pentru gestionarea mașinilor virtuale. Acest modul funcționează la nivel de kernel și acceptă tehnologii de accelerare hardware, cum ar fi Intel VT și AMD SVM.

De la sine software KVM în spațiul utilizatorului nu virtualizează nimic. În schimb, folosește fișierul /dev/kvm pentru a configura spațiile de adrese virtuale pentru oaspete în kernel. Fiecare aparat oaspete va avea propria sa placa video, retea si placa de sunet, hard diskși alte echipamente.

De asemenea, sistemul guest nu va avea acces la componentele realului sistem de operare. Mașina virtuală rulează într-un spațiu complet izolat. Puteți utiliza kvm atât pe un sistem GUI, cât și pe servere. În acest articol ne vom uita la cum să instalați kvm Ubuntu 16.04

Înainte de a continua cu instalarea KVM în sine, trebuie să verificați dacă procesorul dvs. acceptă accelerarea virtualizării hardware de la Intel-VT sau AMD-V. Pentru a face acest lucru, rulați următoarea comandă:

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

Dacă rezultatul returnează 0, atunci procesorul dumneavoastră nu acceptă virtualizarea hardware, dacă este 1 sau mai mult, atunci puteți utiliza KVM pe mașina dumneavoastră.

Acum putem trece la instalarea KVM, un set de programe poate fi obținut direct din depozitele oficiale:

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

Am instalat nu numai utilitarul kvm, ci și biblioteca libvirt, precum și managerul de mașini virtuale. După finalizarea instalării, trebuie să adăugați utilizatorul în grupul libvirtd, deoarece numai root și utilizatorii din acest grup pot folosi mașinile virtuale KVM:

sudo gpasswd -a USER libvirtd

După ce rulați această comandă, deconectați-vă și conectați-vă din nou. Apoi, să verificăm dacă totul a fost instalat corect. Pentru a face acest lucru, utilizați comanda kvm-ok:

INFORMAȚII: /dev/kvm există
Se poate folosi accelerația KVM

Dacă totul a fost făcut corect, veți vedea același mesaj.

Utilizarea KVM pe Ubuntu 16.04

Ați finalizat sarcina de a instala kvm în Ubuntu, dar încă nu puteți utiliza acest mediu de virtualizare, dar încă trebuie configurat. În continuare, ne vom uita la cum să configurați kvm Ubuntu. Mai întâi trebuie să vă configurați rețeaua. Trebuie să creăm o punte cu care mașina virtuală se va conecta la rețeaua computerului.

Configurarea unui bridge în NetworkManager

Acest lucru se poate face în mai multe moduri, de exemplu, puteți utiliza programul de configurare a rețelei NetworkManager.

Faceți clic pe pictograma NetworkManager din panou, apoi selectați schimba conexiunile, apoi faceți clic pe butonul Adăuga:

Apoi selectați tipul de conexiune Podși apăsați Crea:

În fereastra care se deschide, faceți clic pe butonul Adăuga, pentru a conecta puntea noastră la conexiunea la internet:

Din listă, selectați Ethernetși apăsați Crea:

În fereastra următoare, selectați în câmp dispozitiv, interfață de rețea la care ar trebui să fie asociată puntea noastră:

Acum pe listă conexiuni de rețea iti vei vedea podul. Tot ce rămâne este să reporniți rețeaua pentru a aplica complet modificările, pentru a face această rulare:

Configurare manuală a podului

Mai întâi trebuie să instalați setul de utilitare bridge-utils dacă nu ați făcut deja acest lucru:

sudo apt install bridge-utils

Apoi, folosind programul brctl, putem crea puntea de care avem nevoie. Pentru a face acest lucru, utilizați următoarele comenzi:

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

Prima comandă adaugă dispozitivul bridge br0, cu a doua trebuie să determinați care interfață de rețea este conexiunea principală la rețeaua externă, în cazul meu este eth0. Și cu ultima comandă conectăm bridge-ul br0 la eth0.

Acum trebuie să adăugați câteva linii la setările de rețea, astfel încât totul să pornească automat după pornirea sistemului. Pentru a face acest lucru, deschideți fișierul /etc/network/interfaces și adăugați următoarele linii acolo:

sudo gedit /etc/network/interfaces

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

Când setările sunt adăugate, reporniți rețeaua:

sudo systemctl reporniți rețeaua

Acum, instalarea și configurarea KVM-ului este complet finalizată și vă puteți crea prima mașină virtuală. După aceasta, puteți vizualiza podurile disponibile folosind comanda:

Crearea de mașini virtuale KVM

Configurarea Ubuntu KVM este completă și acum putem trece la utilizarea acesteia. Mai întâi, să ne uităm la lista de mașini virtuale existente:

virsh -c qemu:///listă de sistem

E gol. Puteți crea o mașină virtuală prin terminal sau în interfața grafică. Pentru a crea prin terminal, utilizați comanda virt-install. Mai întâi să mergem la folderul libvirt:

cd /var/lib/libvirt/boot/

Pentru Instalări CentOS comanda va arăta astfel:

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

Să aruncăm o privire mai atentă la ceea ce înseamnă parametrii acestei comenzi:

  • tip virt- tip de virtualizare, în cazul nostru kvm;
  • nume- numele autoturismului nou;
  • RAM- cantitatea de memorie în megaocteți;
  • vcpus- numărul de nuclee de procesor;
  • varianta os- tip de sistem de operare;
  • cdrom- imaginea de instalare a sistemului;
  • punte-rețea- puntea de rețea pe care am configurat-o mai devreme;
  • grafică- o modalitate de a obține acces la interfața grafică;
  • calea discului- adresa noului hard disk pentru această mașină virtuală;

După finalizarea instalării mașinii virtuale, puteți afla parametrii conexiunii VNC folosind comanda:

sudo virsh vncdisplay centos7

Acum puteți introduce datele primite în clientul VNC și vă puteți conecta la mașina virtuală chiar și de la distanță. Pentru Debian comanda va fi ușor diferită, dar totul arată similar:

Accesați folderul pentru imagini:

cd /var/lib/libvirt/boot/

Puteți descărca imaginea de instalare de pe Internet dacă este necesar:

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

Apoi să creăm o mașină virtuală:

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\
--graphics vnc\
--disk path=/var/lib/libvirt/images/debian8.qcow2,size=40,bus=virtio,format=qcow2

Acum să ne uităm din nou la lista de mașini disponibile:

virsh -c qemu:///listă de sistem

Pentru a porni mașina virtuală puteți folosi comanda:

sudo virsh start machinename

Pentru a opri:

sudo virsh shutdown machinename

Pentru a comuta în modul de repaus:

sudo virsh suspend nume mașină

Pentru a reporni:

sudo virsh reporniți nume mașină

sudo virsh resetează numele mașinii

Pentru îndepărtarea completă masina virtuala:

sudo virsh distruge numele mașinii

Crearea de mașini virtuale în GUI\

Dacă aveți acces la o interfață grafică, nu este nevoie să utilizați un terminal, puteți utiliza interfața grafică completă a managerului de mașină virtuală Virtual Manager. Programul poate fi lansat din meniul principal:

Pentru a crea o mașină nouă, faceți clic pe pictograma cu pictograma monitorului. În continuare va trebui să selectați Imagine ISO sistemul dumneavoastră. De asemenea, puteți utiliza o unitate CD/DVD reală:

Pe ecranul următor, selectați cantitatea de memorie care va fi disponibilă pentru mașina virtuală, precum și numărul de nuclee de procesor:

Pe acest ecran, trebuie să selectați dimensiunea hard disk-ului care va fi disponibil pe mașina dvs.:

Pe ultimul pasÎn calitate de expert, va trebui să verificați dacă setările aparatului sunt corecte și să introduceți și numele acestuia. De asemenea, trebuie să specificați puntea de rețea prin care mașina se va conecta la rețea:

După aceasta, mașina va fi gata de utilizare și va apărea în listă. Îl puteți lansa folosind triunghiul verde din bara de instrumente manager.

Concluzii

În acest articol, ne-am uitat la cum să instalăm KVM Ubuntu 16.04, ne-am uitat la cum să pregătim pe deplin acest mediu pentru lucru, precum și cum să creăm mașini virtuale și să le folosim. Dacă aveți întrebări, întrebați în comentarii!

Pentru a încheia, o prelegere de la Yandex despre ce este virtualizarea în Linux:

Kimchi este o interfață web bazată pe HTML5 pentru KVM. Oferă o interfață ușoară și flexibilă pentru a crea și gestiona mașinile virtuale invitate. Kimchi este instalat și rulează ca un daemon pe gazda KVM. Gestionează invitații KVM cu ajutorul libvirt. Interfața Kimchi acceptă toate cele mai recente versiuni ale browserelor cu versiunea -1, acceptă și browserele mobile.

Kimchi poate fi instalat pe cea mai recentă versiune de RHEL, Fedora, openSUSE și Ubuntu. În acest ghid, am folosit Ubuntu 14.10 ca gazdă KVM.

Înainte de a configura kimchi, trebuie să instalați următoarele pachete dependente.

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

Sistemul vă va cere următoarele detalii în timpul instalării pachetelor.

1. OK la configurarea Postfix.

2. Selectați Site Internet pe tipul general de configurație de e-mail.

3. Introduceți FQDN-ul dvs. și apoi selectați OK.

Odată instalat, descărcați cea mai recentă versiune de kimchi de pe github.

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

Dezarhivați fișierul descărcat.

$ unzip master.zip $ cd kimchi-master/

Construiți kimchi folosind următoarea comandă.

$ ./autogen.sh --system

$ make $ sudo make install # Opțional dacă rulează din arborele sursă

$ sudo kimchid --host=0.0.0.0

Accesați kimchi folosind browserul web, https://localhost:8001. Vi se va cere să vă autentificați, să utilizați acreditările de sistem pe care le utilizați în mod normal pentru autentificarea la sistem.


După ce te-ai autentificat, vei primi o pagină ca mai jos. Aceasta arată lista de mașini virtuale invitate care rulează pe gazda curentă, aveți butoane pentru a efectua oprirea, repornirea și conectarea la consolă făcând clic pe acțiune.


Pentru a crea o nouă mașină pentru oaspeți, faceți clic pe semnul + din colțul din dreapta. Dacă utilizați această opțiune pentru a crea o mașină, aceasta se va face prin șabloane.


Puteți gestiona șabloanele vizitând meniul de șabloane. Pentru a crea un șablon nou, faceți clic pe semnul + din colțul din dreapta. Puteți crea un șablon folosind imagini ISO, puteți plasa imagini ISO pe /var/lib/kimchi/isos sau puteți utiliza unul la distanță.


Puteți gestiona pool-ul de stocare accesând meniul de stocare, acolo puteți adăuga un nou spațiu de stocare făcând clic pe semnul +. Acceptă adăugarea de stocare NFS, iSCSI și SCSI pe canal de fibră.


Rețeaua poate fi gestionată accesând meniul de rețea, puteți crea o nouă rețea cu rețele izolate, NAT și în punte.


Am încercat multe interfețe de gestionare web și niciuna dintre ele nu a fost suficient de bună ca virt-manager.

Știi, sunt unul dintre acei tipi care aveau VMware, unde 90% din control se poate face clic.

Întrebările mele:

1) Există vreun utilitar CLI „interactiv”, cum ar fi mc (comandant la miezul nopții) sau ceva care să controleze KVM? (ON/OFF VM, măriți memoria, reporniți mașinile virtuale, adăugați hardware virtual, adăugați noi discuri etc.)

2) Îmi puteți recomanda o interfață de gestionare a interfeței web pentru KVM pe Debian squeeze? Ai văzut Server VMware 2? Există control web. Știu că a fost lent, dar asta e normal când ești undeva fără terminal. (ca pe Android cu un browser web) Am încercat multe dintre ele, dar nimic din ce am încercat nu a funcționat.

5) Cum să îmbunătățiți securitatea KVM? O interfață web ar putea rezolva această problemă? (de exemplu, contabilitate, managementul utilizatorilor?)

Știu că există google, wiki, există o listă lungă de UI pentru kvm, dar am nevoie de păreri, experiențe de la experți sau utilizatori care folosesc KVM. Sper că aceasta nu este o întrebare stupidă. Mulțumesc tuturor pentru răspunsul la întrebările mele.

5 soluții colectează formulare web pentru „KVM – Ce management web ar trebui să folosesc?”

Pentru un manager KVM bazat pe web, puteți încerca Proxmox. Instrucțiunile pentru Debian Squeeze sunt aici.

Are unelte linie de comandă, dar nu și meniul de bază de text.

Ar trebui să configurați un mediu mic și să îl încercați. Apoi precizați scopul și implementați-l.

Nu există un răspuns/tutorial exact pentru aceasta. Cât de configurabil este serverul/clientul KVM depinde cu adevărat de câte resurse (cpu/ram/stocare) sunt disponibile.

Din nou, depinde de mediul dvs. și acestea sunt multi-strat/dispozitive, de exemplu. routere, firewall, tabele IP, politică de parole, politică de acces etc. Nu cunosc nicio ghi, bază web sau nu, care să poată gestiona toate acestea, inclusiv KVM. (OK, există un nor, dar nu am deloc experiență cu el)

Ai încercat Kimchi? este cel mai ușor de utilizat deschis cod sursă pe KVM și este sponsorizat de IBM.

Disclaimer: Nu sunt deloc afiliat cu Kimchi. Îmi place pur și simplu prietenia lui.

Experții folosesc CLI. Nu GUI. Acest lucru este valabil chiar și pentru administratorii Windows experimentați.

Nu, interfețe graficeîncă se îmbunătățește, dar scripturile de auto-înregistrare sunt mai rapide și fac ceea ce doriți.

Îmbunătățiți performanța în KVM? Aruncă-l.

Acesta este doar un indiciu de la expertul XEN-PV. Numai LXC (sau alte containere) sau soluțiile bazate pe chroot sunt mai rapide.

Ghidul de instalare KVM poate să nu fie foarte detaliat, dar cel puțin oferă sau oferă idei cu privire la procesul de instalare și configurare.

Există un nou sistem de management KVM și AV/IT la nivel de întreprindere numit Boxilla, care dispune de un centru de comandă cuprinzător și centralizat care oferă performanță maximă, ușurință în utilizare și securitate.

Oferă capacitatea de a gestiona KVM de înaltă performanță, KVM prin IP, puncte terminale virtualizate și diverse dispozitive AV/IT într-un singur centru de comandă centralizat, permițând administratorilor să gestioneze implementări KVM și AV/IT pe mai multe niveluri folosind web puternic și partajat. interfata utilizator. Puteți găsi acest lucru aici: 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 -- Despre repararea PC-ului - Portal de informații