Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • Recenzii
  • Server Ubuntu 16.04 kvm creând o mașină virtuală. Utilizarea KVM pentru a crea mașini virtuale pe server

Server Ubuntu 16.04 kvm creând o mașină virtuală. Utilizarea KVM pentru a crea mașini virtuale pe server

KVM este unul dintre soluții software pentru a oferi vizualizare într-un mediu Linux. Recent, RedHat a abandonat dezvoltarea mai multor sisteme de virtualizare Xen și KVM simultan și, începând cu filiala RHEL/CentOS 6, KVM a devenit sistemul principal. Principala cerință a KVM este ca procesorul să accepte vizualizarea hardware. Și modulele KVM sunt disponibile numai pentru arhitectura x86_64.

1. Instalare

Să verificăm suportul pentru virtualizarea hardware:

# egrep ‘(svm|vmx)’ /proc/cpuinfo
steaguri: fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperscmper2 monitor p_good aperscmper2 estxm tx_tm sse sse2 sse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm tpr_shadow vnmi flexpriority

Dacă ieșirea este goală, atunci procesorul nu acceptă virtualizarea hardware și kvm nu va funcționa, dar dacă ieșirea este similară cu cea de mai sus, atunci puteți continua cu instalarea. Instalați componentele și porniți serviciul libvirt:

# yum install kvm libvirt virt-manager
# service libvirtd start
Pornirea demonului libvirtd: [OK]

Verificăm dacă au fost încărcate modulele KVM necesare - ar trebui să existe două module, primul kvm, al doilea kvm_intel sau kvm_amd pentru tipul de procesor corespunzător.

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

În unele cazuri, în ciuda prezenței suportului de virtualizare hardware pe procesor, trebuie să activați suplimentar suportul de virtualizare în BIOS sau să actualizați BIOS-ul cu cea mai recentă versiune.

2. Configurarea rețelei
Primul lucru pe care trebuie să-l faceți este să configurați o punte de rețea cu interfața principală și să ștergeți rețeaua implicită. O punte de rețea va permite computerelor amplasate în rețea fizică este ușor să comunicați cu serverul virtual ca și cum ar fi în aceeași rețea și este la fel de ușor și transparent pentru serverul virtual să comunice cu computerele din rețeaua fizică.

2.1. Configurarea bridge0
De exemplu, să presupunem că pe serverul nostru de virtualizare există o singură interfață eth0 cu adresa IP 172.17.1.249, iar fișierul de configurare a interfeței /etc/sysconfig/network-scripts/ifcfg-eth0 arată astfel.

DEVICE=”eth0″
BOOTPROTO="static"
HWADDR="78:24:AF:3C:C5:B5″
IPADDR=172.17.1.249
NETMASK=255.255.0.0
GATEWAY=172.17.1.30
ONBOOT="da"
Aducem fișierul /etc/sysconfig/network-scripts/ifcfg-eth0 în următorul formular.

DEVICE=”eth0″
BOOTPROTO="static"
HWADDR="78:24:AF:3C:C5:B5″
POD = pod0
ONBOOT="da"
Creați /etc/sysconfig/network-scripts/ifcfg-bridge0 și completați-l.

DEVICE=”bridge0″
TYPE=Pont
BOOTPROTO="static"
IPADDR=172.17.1.249
NETMASK=255.255.0.0
GATEWAY=172.17.1.30
ONBOOT="da"
Reporniți serviciul de rețea

# repornire rețea de servicii
Închiderea interfeței eth0: bridge bridge0 nu există!
[BINE]
Închiderea interfeței loopback: [OK]
Se afișează interfața loopback: [OK]
Se afișează interfața eth0: [OK]
Se afișează interfața bridge0: [OK]
Dacă se dorește, această procedură se poate face de la distanță, de exemplu prin ssh - în acest caz, repornirea serviciului de rețea va provoca o întârziere de două secunde, după care conexiunea va fi restabilită fără reconectare. Verificarea podului creat:

Acum să ștergem virbr0 implicit

# virsh net-list
Nume Stat Autostart
——————————————
implicit activ da
# implicit virsh net-destroy
Rețea implicită distrusă
# virsh net-undefine implicit
Rețeaua implicită a fost nedefinită

Puteți utiliza utilitarul brctl pentru a verifica starea podului. Acest utilitate standard pentru a lucra cu poduri ethernet:

# brctl show
numele podului ID pod Interfețe activate STP
bridge0 8000.7824af3cc5b5 nu eth0

3. Instalare și management mașini virtuale.
Există multe opțiuni pentru instalarea și gestionarea mașinilor virtuale. program convenabil Virtual Machine Manager (Virt-Manager) pentru un mediu grafic. Are o interfață destul de clară pe care orice persoană obișnuită o poate înțelege fără probleme. Administrator de sistem. De asemenea, puteți gestiona și crea mașini virtuale folosind consola, va fi puțin mai complicat, dar mai multe posibilitati pentru reglaj fin.

3.1. Instalarea mașinilor virtuale.
Ca semn, să încercăm să instalăm 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 de lansare:

N - nume mașină virtuală
-r - volum memorie cu acces aleator
-l - locația fișierului pentru instalarea în rețea
-f — calea către fișierul container care conține discul mașinii virtuale
-s — dimensiunea fișierului container în gigaocteți
— network bridge — conectați virtual interfata retea la podul de rețea
--vnc - utilizați afișajul VNC
Pentru a continua instalarea, va trebui să ne conectăm la ecranul mașinii virtuale prin VNC. Pentru a face acest lucru, verificăm ce port a fost selectat pentru conectare; acesta poate varia de la 5900 în sus.

# virsh dumpxml vm01 | grep vnc

Ne conectăm prin portul 5900 și finalizam instalarea.

dacă în timpul retragerii

apoi du-te și editează qemu.conf:

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

3.2. Controlul mașinii
Instrumentul principal de consolă pentru gestionarea mașinilor virtuale este programul virsh. Primul lucru pe care îl putem face este să vedem o listă cu toate mașinile virtuale și starea acestora:

# lista virsh — toate
ID Nume Stat
———————————-
- vm01 oprit
Să pornim mașina virtuală vm01:

# virsh start vm01
Domeniul vm01 a început

Oprirea este echivalentă cu deconectarea computerului de la priză.

# virsh destroy vm01
Domeniul vm01 a fost distrus

Parametrii mașinii virtuale pot fi modificați prin editarea fișierelor xml. O opțiune este să salvați configurația în format xml.

# virsh dumpxml vm01 > vm01.xml

Editați vm01.xml și încărcați-l înapoi:

# virsh define vm01.xml
Domeniul vm01 definit din vm01.xml
O alta este sa folosesti functia virsh edit, acesta va deschide automat editorul configurat in sistem implicit, iar la finalizarea editarii va salva configuratia.

# virsh edit vm01

În majoritatea sistemelor, vim este instalat ca editor implicit; dacă nu vă place, îl puteți înlocui cu ușurință, de exemplu, cu mcedit sau nano:

# echo "export EDITOR=mcedit" >> .bash_profile
Pentru a aplica setările, trebuie să vă reconectați.

Pentru a gestiona prin consola grafică virt-manager:

Descărcați Xming X Server pentru Windows, instalează-l, rulează-l.
Instalare:
yum instalează xorg-x11-server-Xorg
yum instalează xauth
yum instalează liberation-sans-fonts
În PuTTY: Connection - SSH - X11, activați „Enable X11 forwarding” și introduceți „X display location” 127.0.0.1:0.0
Hai sa lansam:
# virt-manager
Și trecem prin fața X :)

În Ubuntu, este recomandat să utilizați hypervisorul KVM (managerul mașinii virtuale) și biblioteca libvirt ca instrument de gestionare pentru acesta. Libvirt include un set de API-uri software și aplicații personalizate de gestionare a mașinilor virtuale (VM), virt-manager ( GUI, GUI) sau virsh ( Linie de comanda,CLI). Ca manageri alternativi, puteți utiliza convirt (GUI) sau convirt2 (interfață WEB).

În prezent, numai hypervisorul KVM este acceptat oficial pe Ubuntu. Acest hypervisor face parte din codul kernelului sistem de operare Linux. Spre deosebire de Xen, KVM nu acceptă paravirtualizarea, adică pentru a o utiliza, procesorul tău trebuie să accepte tehnologii VT. Puteți verifica dacă procesorul dvs. acceptă această tehnologie rulând comanda în terminal:

Dacă primiți următorul mesaj ca rezultat:

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

Aceasta înseamnă că KVM va funcționa fără probleme.

Dacă ați primit următorul mesaj la ieșire:

CPU nu acceptă extensii KVM. Accelerarea KVM NU poate fi utilizată

atunci puteți folosi în continuare mașina virtuală, dar va fi mult mai lent.

    Instalați sisteme pe 64 de biți ca invitați

    Alocați mai mult de 2 GB de RAM sistemelor invitate

Instalare

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

Aceasta este o instalare pe un server fără X, adică nu include o interfață grafică. Îl poți instala cu comanda

Sudo apt-get install virt-manager

După aceasta, elementul „Virtual Machine Manager” va apărea în meniu și, cu un grad ridicat de probabilitate, totul va funcționa. Dacă mai apar probleme, va trebui să citiți instrucțiunile din wiki-ul în limba engleză.

Crearea unui sistem invitat

Procedura de creare a unui sistem invitat folosind GUI este destul de simplă.

Dar modul text poate fi descris.

qcow2

Când creați un sistem folosind interfața grafică ca hard disk, vi se solicită fie să selectați un fișier imagine existent sau să blocați dispozitivul, fie să creați fișier nou cu date brute (RAW). Cu toate acestea, acesta este departe de singurul format de fișier disponibil. Dintre toate tipurile de discuri enumerate în man qemu-img, cel mai flexibil și modern este qcow2. Acceptă instantanee, criptare și compresie. Trebuie creat înainte de a crea un nou invitat.

Qemu-img create -o preallocation=metadata -f qcow2 qcow2.img 20G

Potrivit aceluiași om qemu-img, prealocarea metadatelor (-o preallocation=metadata) face discul inițial puțin mai mare, dar oferă performanță mai bunăîn acele momente când imaginea trebuie să crească. De fapt, în în acest caz, Această opțiune vă permite să evitați o eroare neplăcută. Imagine creată inițial ocupă mai puțin de un megaoctet de spațiu și crește la dimensiunea specificată după cum este necesar. Sistemul oaspete ar trebui să vadă imediat această dimensiune finală specificată, totuși, în timpul fazei de instalare, poate vedea dimensiunea reală fişier. Desigur, va refuza instalarea pe un hard disk de 200 KB. Bug-ul nu este specific Ubuntu; cel puțin apare în RHEL.

Pe lângă tipul de imagine, puteți alege ulterior metoda de conectare - IDE, SCSI sau Virtio Disk. Performanța va depinde de această alegere subsistem disc. Nu există un răspuns corect precis; trebuie să alegeți în funcție de sarcina care va fi atribuită sistemului invitat. Dacă sistemul invitat este creat „pentru a privi”, atunci orice metodă va funcționa. În general, de obicei I/O este blocaj mașină virtuală, așa că atunci când se creează un sistem foarte încărcat, această problemă trebuie abordată cât mai responsabil posibil.

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 mă confrunt cu întrebarea de a închiria un server bun, cu o cantitate mare de RAM și mare 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ă. un hoster pe un hardware 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 pentru gestionarea 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 supliment pentru biblioteca libvirt). Ea are un numar mare de opțiuni și parametri, o descriere detaliată poate fi obținută după cum urmează:

Omul virsh

sau apelați standardul „ajutor”:

Virsh ajutor

Mă țin mereu de urmând reguli atunci când lucrați 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 serverul DHCP al hypervisorului.

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

Traducerea tuturor acestor parametri în „ limbajul uman„, se dovedește că creăm o mașină virtuală cu OS Ubuntu 16.04, 1024 MB RAM, 1 procesor, o placă de rețea standard (mașina virtuală va accesa Internetul ca datorită NAT), 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.
Listă Optiuni Disponibile Sistemul de operare poate fi obținut rulând comanda:

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, activat adresa locala 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 ssh port forwarding Cu port 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, se va afișa ecranul fereastra standard salutări 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 setari de retea 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 în 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 și posibil să utilizați X11Forwarding prin utilitarul virt-manager. Pe Windows, de exemplu, puteți folosi Xming și PuTTY pentru asta.

Am scris anterior despre instalare Qemu-KVM V Debian. Dar, după părerea mea, informațiile s-au dovedit a fi incomplete. Plus că nu am ținut cont de unele nuanțe. Prin urmare, vă aduc în atenție un articol actualizat despre instalarea mașinii virtuale Qemu-KVM. articol vechi Bineînțeles că o voi șterge.

Cred că ar trebui să explic ce este mașină virtuală, nu merita. Probabil știți acest lucru (din moment ce citiți acest articol). Dacă nu - . Ne vom concentra direct pe subiect. Qemu-KVM este un proiect de combinare a două dintre cele mai de vis (după părerea mea) tehnologii de virtualizare completă. Qemu este un fel de „emulator de computer” care acceptă o mare varietate de arhitecturi hardware. Poate rula aproape orice sistem de operare pentru orice dispozitiv (de exemplu, am rulat versiuni vechi Mac OS X, care este pentru PowerPC). Dezavantajul lui Qemu este încetineala din cauza lipsei de accelerare hardware. Și apoi un alt proiect vine în ajutor - KVM. Sau Kernel Virtual Machine. KVM este o tehnologie de nucleu Linux care vă permite să furnizați accelerare hardware cu virtualizare completă. Dezavantajul KVM este că acceptă doar arhitectura x86

De ce Qemu-KVM? Pentru Linux, acesta este cel mai recomandat proiect de virtualizare. Funcționează mai repede decât VirtualBoxȘi VMware Player(conform testelor mele), KVM este o tehnologie nativă pentru Linux. În plus, dacă ai un computer de gaming bun cu două plăci video, poți instala în Qemu-KVM Windows, aruncați una dintre plăcile video în ea și uitați de repornirea la alt sistem de operare. Dacă doriți să jucați, lansați o mașină virtuală cu Windows și jucați. Performanța va fi de 95% din performanța Windows instalat pe hardware. Dar este pur și simplu superb, după părerea mea. Voi scrie un articol separat despre asta. Va fi interesant:)

Acum voi descrie planul nostru de acțiune. În primul rând, voi efectua instalarea folosind un exemplu Debian 8.2 GNOME pe 64 de biți, deși nu vor exista diferențe semnificative în alte medii grafice. În al doilea rând, voi descrie lucrul cu KVM numai în modul grafic(Nu îl vom instala pe server). Prin urmare, nu terminale, scripturi etc., așa cum se face de obicei în cazul virtualizarea serverului. În al treilea rând, vă sfătuiesc să citiți în plus documentația pentru Qemu și KVM (voi furniza link-uri la sfârșitul articolului). Acest lucru vă va fi foarte util dacă doriți să profitați la maximum de întregul potențial al acestui pachet. Ei bine, planul nostru de acțiune este clar. Acum pașii de acțiune:

  • instalați qemu-kvm;
  • instalarea unui manager grafic și a utilităților suplimentare;
  • crearea unui pod de rețea;
  • crearea de stocare pentru mașini virtuale;
  • instalarea unui sistem invitat.
Mai întâi, să verificăm dacă computerul acceptă virtualizarea hardware. Pentru a face acest lucru, executați comanda în terminal:

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

Ieșirea comenzii trebuie să conțină oricare dintre acestea vmx, sau svm. Dacă nu sunt acolo, verificați dacă virtualizarea este activată în BIOS (căutați elemente Intel VT-i sau similar pentru AMD). Dacă nu există nimic, atunci nu ai noroc.

Instalați componentele necesare:

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

Adăugați-vă în grupul libvirt:

sudo adduser $USER libvirt

Acum, să configuram rețeaua. Pentru ca toate mașinile virtuale să poată accesa rețeaua și să comunice între ele, trebuie să creați o punte de rețea și carduri de rețea virtuale pentru fiecare mașină virtuală ( dispozitive de atingere). Deoarece vom instala mașini virtuale din interfața grafică, nu este nevoie să creăm robinete manual. Virt Manager va face asta pentru noi de fiecare dată când începem. Trebuie doar să configuram puntea. Mai întâi, să activăm rutarea în nucleu:

sudo nano /etc/sysctl.conf

Căutăm linia net.ipv4_forward=0 și îi schimbăm valoarea în 1 . De asemenea, economisim:

sudo sysctl -p

De acum înainte voi presupune următoarele: 1) există unul pe computer card LAN, care primește o adresă IP de la router. 2) accesezi internetul printr-un modem 3G, iar placa ta de rețea este gratuită. Această opțiune implică mai multă muncă manuală, dar a fost testată de mai multe ori (eu am făcut asta pe una dintre mașini). Deci, deschideți fișierul interfețe:

sudo nano /etc/network/interfaces

Conținutul său implicit este:



auto lo
iface lo inet loopback

Îi schimbăm conținutul. Pentru prima varianta:

sursa /etc/network/interfaces.d/*

# Interfața de rețea loopback
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual

auto br0
iface br0 inet static
adresa 192.168.0.2
gateway 192.168.0.1
mască de rețea 255.255.255.0
rețeaua 192.168.0.0
difuzat 192.168.0.255
bridge_ports eth0
bridge_stp off
bridge_maxwait 0
bridge_fd 0

Pentru a doua varianta:

sursa /etc/network/interfaces.d/*

# Interfața de rețea loopback
auto lo
iface lo inet loopback

auto ppp0
iface ppp0 inet wvdial

auto eth0
iface eth0 inet manual

auto br0
iface br0 inet static
adresa 192.168.0.2
gateway 192.168.0.1
mască de rețea 255.255.255.0
rețeaua 192.168.0.0
difuzat 192.168.0.255
bridge_ports eth0
bridge_stp off
bridge_maxwait 0
bridge_fd 0
up route del default br0

Notă: dacă nu aveți nevoie de o conexiune automată la Internet printr-un modem după pornirea sistemului, eliminați liniile auto ppp0 și
iface ppp0 inet wvdial . În caz contrar, asigurați-vă că atunci când sistemul pornește, modemul este introdus în portul USB.

Salva. Acum, pentru opțiunea cu un modem, trebuie să instalați un program de apelare wvdial:

sudo apt install wvdial

Editarea configurației (notă: un modem 3G este folosit ca exemplu Linie dreaptă. Puteți găsi cu ușurință exemple de configurații pentru alte modemuri pe Internet):

sudo nano /etc/wvdial.conf


Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1,"IP","home.beeline.ru"
Modul prost = 1
ISDN = 0
Tip modem = Modem USB
PPPD nou = da
Telefon = *99#
Modem = /dev/ttyACM0
Nume de utilizator = linie directă
Parola = direct
Baud = 9600
Țara = Rusia
Reconectare automată=activată
DNS automat = dezactivat
Secunde inactiv = 0

Salva. Acum modemul se va porni imediat după pornirea sistemului. Line up route del default br0 șterge ruta implicită prin pod. Dacă nu se face acest lucru, nu vă veți putea conecta la Internet, deoarece traficul va trece peste pod și nu prin modemul 3G.

Ultimul pas trebuie să-l spunem firewall, astfel încât să treacă traficul de la mașinile noastre virtuale în rețea și înapoi. Pentru a face acest lucru, puteți merge în două moduri: scrieți un script cu mai multe reguli pentru iptables, care va rula împreună cu sistemul, sau introduceți aceste reguli manual și salvați-le. Voi folosi prima varianta. Pentru al doilea va trebui să instalați pachetul iptables-persistentși pur și simplu introduceți regulile unul câte unul (folosind sudo). Asa de. creați un script (în orice editor de text). Lipiți următorul conținut acolo:

#!/bin/sh

# Definiți interfața de ieșire pentru care se va aplica înlocuirea adresei (NAT).
iptables -v -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

# Redirecționăm toate pachetele care au venit la modem de la retea globala(0.0.0.0/0) către rețeaua locală (192.168.0.0/24)
iptables -v -A FORWARD -i ppp0 -o br0 -s 0.0.0.0/0 -d 192.168.0.0/24 -j ACCEPT

# Redirecționați toate pachetele care vin de la retea locala(192.168.0.0/24) la global (0.0.0.0/0)
iptables -v -A FORWARD -i br0 -o ppp0 -s 192.168.0.0/24 -d 0.0.0.0/0 -j ACCEPT

Salvați-l ca poarta de acces.shși acordați drepturi de execuție (fie în proprietățile fișierului, fie în terminalul cu comanda chmod +x gateway.sh). Acum puteți fie să-l lansați manual după ce sistemul a pornit, fie să îl adăugați la pornire. Pentru a face acest lucru, mutați scriptul în ~/.config/autostart(V manager de fișiere porniți spectacolul fișiere ascunseși vei vedea directorul .configîn directorul dvs. de acasă).

Acum totul este gata pentru a instala mașina virtuală. Din meniul aplicației, lansați Virt Manager (manager de mașină virtuală):

Clic Click dreapta pe net gazdă localăși alegeți Detalii. Accesați fila Depozitare. Trebuie să specificăm directorul (sau partiția/discul de disc) pentru a stoca mașinile virtuale.

În colțul din stânga jos, faceți clic pe semnul plus ( Adăugați o piscină), indicați tipul de stocare și calea către aceasta.

Pe fila Interfețe de rețea, puteți verifica dacă totul funcționează.

Acum apăsăm Fișier - mașină virtuală nouă. Specificați calea către imaginea de disc și tipul de mașină virtuală. În continuare, indicăm cantitatea de RAM pentru aceasta și numărul de nuclee de procesor. Apoi, indicați stocarea noastră și faceți clic Volum nou . Specificați numele, lăsați tipul qcow2, și dimensiunea. Acesta va fi un hard disk virtual. Dacă intenționați să instalați sistemul cu înveliș graficși o grămadă de programe, oferă mai mult spațiu (50 de concerte). În ultima filă, bifați caseta Schimbați setările înainte de lansare, verificăm că calitatea dispozitiv de rețea Puntea noastră este selectată, scrieți orice nume pentru mașina virtuală și faceți clic Complet. Fereastra de parametri pentru această mașină virtuală se va deschide în fața ta.





Accesați fila CPU, și puneți o bifă Copiați setările procesorului gazdă.

Lângă filă Net(următorul) și, de asemenea, indicați vitio. Pe fila Afişa te rog sa indici Condiment, și pe filă Video - QXL. De obicei, acest link oferă performanță maximă desenați grafice, dar dacă doriți, puteți experimenta. Vă rugăm să rețineți că pentru oaspeți sisteme Windows, necesită instalarea separată a driverului QXL (în Windows însuși).


Acum că totul este gata, în stânga colțul de sus clic Începe instalarea. Și instalați sistemul ca de obicei, cu o singură excepție: de îndată ce instalatorul începe să configureze automat rețeaua, faceți clic pe Anulare, și selectați Configurați manual rețeaua. Specificați adresa IP dorită pentru mașina virtuală (în cazul nostru 192.168.0.3 ), mască de rețea ( 255.255.255.0 ), gateway (gateway-ul va fi adresa gazdei, adică 192.168.0.2 ) și serverul DNS (aici specificați doar Google 8.8.8.8 ). Asta e tot. Nu este nevoie să faci nimic mai departe. Instalați sistemul și configurați-l. În general, asta e tot. Pașii descriși sunt o modalitate de a înlocui, de exemplu, VirtualBox cu mai multe cea mai bună alternativă. După ce ați citit documentația, veți înțelege cât de largi sunt capabilitățile Qemu-KVM. Nu am descris în mod deliberat suplimentar parametrii consoleiși metode pentru lansarea mașinilor virtuale prin terminal, deoarece acest lucru nu este întotdeauna necesar masina de acasa. Voi scrie un articol separat despre asta, despre configurarea unui server multifuncțional de acasă (care poate acționa și ca server de mașină virtuală). Pentru cei care, dintr-un motiv oarecare, nu au înțeles ce s-a scris, sau mai sunt momente de neînțeles, le sugerez să vizioneze un videoclip în care nu voi descrie, dar vă voi arăta cum să instalați și să configurați toate aceste lucruri. Dacă aveți sugestii sau completări la articol, scrieți în comentarii.

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 placă video, rețea și placa de sunet, HDDși alte echipamente.

De asemenea, sistemul invitat nu va avea acces la componentele sistemului de operare real. 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 dvs.

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. Odată ce instalarea este finalizată, 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 modul în care este configurat 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 retea iti vei vedea podul. Tot ce rămâne este să reporniți rețeaua pentru a aplica complet modificările, pentru a face acest lucru, rulați:

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 care rețea 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 sunt complet finalizate și vă puteți crea prima mașină virtuală. După aceasta, puteți vizualiza podurile disponibile folosind comanda:

Crearea de mașini virtuale KVM

Setări KVM Ubuntu finalizat și acum putem trece la folosirea lui. 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- Nume mașină nouă;
  • RAM- cantitatea de memorie în megabytes;
  • vcpus- numărul de nuclee de procesor;
  • varianta os- tip de sistem de operare;
  • CD ROM - imaginea de instalare sisteme;
  • 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

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ă mașină virtuală:

sudo virsh distruge nume mașină

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șini virtuale Virtual Manager. Programul poate fi lansat din meniul principal:

Pentru a crea o mașină nouă, faceți clic pe pictograma cu pictograma monitorului. Apoi, va trebui să selectați imaginea ISO a sistemului dvs. 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.:

La ultimul pas al expertului, trebuie 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 se face Instalare KVM Ubuntu 16.04, am analizat 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:

Cele mai bune articole pe această temă