Contacte

Instalarea linux menta kvm ubuntu. Hypervisor de cauciuc. Folosim grupuri logice pentru a virtualiza QMU-KVM în Linux. Setarea manuală a podului

În Ubuntu, se recomandă utilizarea unui hypervisor (Virtual Machine Manager) KVM și Libvirt Bibliotecă ca un set de instrumente de management. Libvirt include un set de aplicații Software API și de gestionare a utilizatorilor. mașini virtuale (VM) Virt-Manager (interfață grafică, GUI) sau Virsh ( linie de comanda, CLI). Managerii alternativi, puteți utiliza Convirt (GUI) sau Convirt2 (interfață web).

În prezent, numai Hypervisor KVM este susținut oficial în Ubuntu. Acest hypervisor face parte din codul de funcționare. sisteme Linux.. Spre deosebire de Xen, KVM nu acceptă pathrahritualizarea, adică pentru ao folosi, CPU-ul dvs. trebuie să dețină tehnologia VT. Puteți verifica dacă procesorul dvs. acceptă această tehnologie rulând comanda în terminal:

Dacă rezultatul a fost un mesaj:

INFO: / DEV / KVM există accelerația KVM poate fi utilizată

deci KVM va lucra fără probleme.

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

CPU-ul dvs. nu acceptă extensiile KVM Accelerarea KVM nu poate fi utilizată

puteți utiliza în continuare o mașină virtuală, dar va funcționa mult mai lent.

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

    Alocă sistemelor de oaspeți mai mult de 2 GB de memorie RAM

Instalare

Sudo apt-get instalare qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utili

Aceasta este o instalare pe server fără XS, adică nu include o interfață grafică. Instalați-l poate fi comandat

Sudo apt-get instalare virdan manager

După aceasta, meniul va apărea "Manager virtual al mașinii" și, cu o mulțime de probabilitate, totul va funcționa. Dacă apar probleme, atunci va trebui să citiți instrucțiunile din Wiki vorbitor de limbă engleză.

Crearea unui sistem de oaspeți

Procedura de creare a unui sistem de oaspeți cu interfață grafică destul de simplu.

Dar modul de text poate fi descris.

qCOW2.

Când creați un sistem utilizând o interfață grafică ca hard disk Se propune fie să selectați o imagine de fișier existent, fie să blocați un dispozitiv bloc sau să creați un fișier nou cu date brute (RAW). Cu toate acestea, acesta nu este singurul format de fișier disponibil. Dintre toate tipurile de discuri enumerate în Man Qmu-img, QCOW2 este cel mai flexibil și mai modern. Suportă instantanee, criptare și compresie. Trebuie să fie creată înainte de a crea un nou sistem de oaspeți.

Qemu-img Creare -O Prealocare \u003d metadate -f QCOW2 QCOW2.IMG 20g

Potrivit aceluiași om QMU-IMG, metadatele de pre-plasare (-oorată \u003d metadate) face ca discul inițial să mai mult mai mult, dar oferă performanță mai bună În acele momente când imaginea trebuie să crească. De fapt, în acest caz, această opțiune evită un bug neplăcut. Imaginea creată inițial durează mai puțin decât megaocitele locului și crește la dimensiunea specificată după cum este necesar. Sistemul de oaspeți ar trebui să vadă imediat acest final specificatCu toate acestea, la etapa de instalare, se poate vedea dimensiunea reală a fișierului. În mod natural, instalat pe hDD. Acesta va refuza 200 kb. BUG-ul nu este specific pentru Ubuntu, se manifestă în Rel, la minimum.

În plus față de tipul de imagine, puteți selecta ulterior metoda de conectare a ID-IDE, SCSI sau Virtio Disk. Această alegere va depinde de performanța subsistemului de disc. Nu există cu siguranță răspunsul corect, trebuie să alegeți din sarcina care va fi atribuită sistemului oaspete. În cazul în care un sistem de oaspeți Creat "pentru a vedea", atunci orice mod va coborî. În general, este de obicei I / O este o blocare a unei mașini virtuale, astfel încât atunci când creați un sistem de înaltă încărcare la această întrebare, trebuie să luați cel mai responsabil posibil.

Scriu această notă pentru a demonstra instalare pas cu pas și configurarea unei mașini virtuale în Linux pe baza KVM. Anterior, am scris deja despre virtualizare, unde am folosit minunat.

Acum, în fața mea, problema chiriei unui bun server cu un volum mare memorie cu acces aleator și un hard disk voluminos. Dar nu vreau proiecte direct pe mașina gazdă, așa că le voi distinge pe niște servere virtuale mici cu Linux OS sau Docker-containere (vă voi spune despre un alt articol).

Toate modelele moderne de găzduire funcționează pe același principiu, adică. Huster pe glanda bună ridică o grămadă servere virtualePe care am folosit-o pentru a numi VPS / VD-uri și le distribuie utilizatorilor sau automatizează acest proces (Hello, Digitalocean).

KVM (mașina virtuală pe bază de kernel) este software. Pentru Linux, utilizând hardware-ul procesorului compatibil cu X86 pentru a lucra cu tehnologia Intel VT / AMD SVM Virtualizare.

Instalarea KVM.

Toate machinatiile pentru a crea o masina virtuală voi cheltui pe Ubuntu OS 16.04.1 LTS. Pentru a verifica dacă procesele dvs. sunt virtualizarea hardware baza de date Intel. VT / AMD SVM, efectuați:

Grep -e "(VMX | SVM)" / proc / cpuinfo

Dacă terminalul nu este gol, atunci totul este în ordine și KVM poate fi instalat. Ubuntu suportă oficial numai Hypervisor KVM (inclus în kernelul Linux) și sfătuiește să utilizeze biblioteca Libvirt ca instrument pentru gestionarea acestora, ceea ce vom face în continuare.

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

În caz de succes, veți vedea ceva de genul acesta:

INFO: / DEV / KVM există accelerația KVM poate fi utilizată

Instalați pachetele pentru lucrul cu KVM:

Sudo apt-get instalare qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utili

Dacă aveți acces la carcasa grafică a sistemului, puteți instala Managerul GUI Libvirt:

Sudo apt-get instalare virdan manager

Puteți folosi pur și simplu Virt-Manager (nu mai dificil decât Virtualbox), astfel încât această notă va fi discutată despre versiunea consolei de instalare și configurare a serverului virtual.

Instalarea și configurarea unui server virtual

În versiunea consolă a instalării, setărilor și controlului sistemului, un instrument indispensabil este utilitarul VIRSH (add-on Biblioteca LibviRt). Ea are un numar mare de Opțiuni și parametri, descriere detaliata Puteți obține astfel:

Omul Virsh.

sau apelați la standardul "Ajutor":

Ajutor Virsh.

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

  1. Stranu. imagini ISO. OS în catalog / Var / Lib / Libvirt / Boot
  2. Stocați imaginile mașinii virtuale în Catalog / Var / Lib / Libvirt / Imagini
  3. Întrebăm în mod clar fiecare nou mașină virtuală adresa IP statică prin intermediul serverului DHCP al hypervisorului.

Vom continua să instalăm prima artă virtuală (Ubunt Server 64 de biți 16,04 lts):

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

Prin descărcarea imaginii rulați instalarea:

Sudo virt-install \\ --Virt-tip \u003d kvm \\-name ubuntu1604 \\ -Am 1024 \\ --vcpus \u003d 1 \\ --os-varianta \u003d ubuntu16.04 \\ --HVM \\ --Cdrom \u003d / var / Lib / libvirt / boot / ubuntu-16.04.1-server-AMD64.iso \\ - Network Network \u003d Implicit, Model \u003d Virto \\ - Raghics VNC \\ --disk calea \u003d / var / lib / Libvirt / Imagini / Ubuntu1604. Img, dimensiune \u003d 20, autobuz \u003d vitro

Transferarea tuturor acestor parametri la "limba umană", se pare că vom crea o mașină virtuală cu Ubuntu OS 16.04, 1024 MB de RAM, 1 procesor, card de rețea standard (mașina virtuală va merge la Internet ca și cum din cauza NAT) , 20 HDD GB.

Merită să acordăm atenție parametrului - varianta-varianta, indică un hypervisor la care sistemul de operare ar trebui să adapteze setările.
Lista opțiunilor de operare disponibile poate fi obținută prin rularea comenzii:

OSINFO-QUERY OS

Dacă acest utilitar nu este în sistemul dvs., setați:

Sudo apt-get instalare libosinfo-bin

După începerea instalării, această inscripție va apărea în consola:

Instalarea domeniului încă în desfășurare. Puteți să vă reconectați la consola pentru a finaliza procesul de instalare.

Aceasta este o situație normală, vom continua să instalăm prin VNC.
Ne uităm la ce port a fost ridicat din arta noastră virtuală (în terminalul următor, de exemplu):

Virsh Dumpxml Ubuntu1604 ... ...

Port 5900, la adresa locală 127.0.0.1. Pentru a vă conecta la VNC, trebuie să utilizați redirecționarea porturilor prin SSH. Înainte de a face acest lucru, asigurați-vă că redirecționarea TCP este permisă de la demonul SSH. Pentru a face acest lucru, mergem la setările SSHD:

CAT / etc / ssh / sshd_config | GREP AllowtcPporwarding

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

Allowtcporwarding nr

Apoi drepturile de configurare

Allowtcpforwarding da.

Și reporniți sshd.

Configurarea redirecționării porturilor

Realizăm comanda pe mașina locală:

Ssh -fn -l login -l 127.0.0.1:5900:localhost:900 server_ip

Aici am configurat redirecționarea portului SSH de la portul local de 5900 la portul de server 5900. Acum vă puteți conecta deja la VNC utilizând orice client VNC. Prefer ultravnc din cauza simplității și comodității.

După o conexiune de succes, pe ecran va apărea fereastra standard Ubuntu Start Bine ați venit pe ecran:

După finalizarea instalării și repornirea obișnuită, va apărea fereastra de autentificare. Autorizat, definesc adresa IP a virtualelor nou proeminente pentru a face mai târziu static:

Ifconfig.

Ne amintim și mergem la mașina gazdă. Am tras cardurile virtuale "rețea" MAC:

Virsh Dumpxml Ubuntu1604 | GREP "adresa MAC"

Ne amintim adresa noastră MAC:

Editați | × setari de retea Hypervisor:

Sudo Virsh net-editare implicit

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

Ar trebui să facă ceva de genul acesta:

Pentru ca setările să intre în vigoare, trebuie să reporniți serverul DHCP al hypervisorului:

Sudo Virsh net-distruge implicit sudo Virsh net-pornire implicit sudo service libvirt-bin repornire

După aceea, supraîncărcați mașina virtuală, acum va avea întotdeauna adresa IP dată - 192.168.122.131.

Există și alte modalități de a seta o IP statică virtuală, de exemplu, editarea directă a setărilor de rețea în interiorul sistemului de oaspeți, dar aici deja ca sufletul dvs. va fi mulțumit. Am arătat doar o opțiune pe care o fac eu însumi să o folosesc.

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

SSH 192.168.122.131.

Mașina este pregătită pentru luptă.

Virsh: Lista de echipe

Pentru a vedea lansat gazde virtuale (Toate disponibile pot fi obținute prin adăugarea - Toate):

Sudo Virsh List.

Reîncărcați gazda poate fi:

Sudo Virsh reporniți $ vm_name

Opriți mașina virtuală:

Sudo virsh stop $ vm_name

Rulați HALT:

Sudo Virsh distruge $ vm_name

Sudo Virsh începe $ vm_name

Deconectare:

Sudo Virsh Shutdown $ vm_name

Adăugați la Autorun:

Sudo virsh autostart $ vm_name

Este adesea necesar să blocați sistemul să îl utilizați în viitor ca un cadru pentru alte sisteme virtuale, pentru că acest lucru utilizează utilitarul virt-clone.

Virt-clone -Help

Acesta clonează virtuale existente ș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 a fost înregistrată pe IP clonată virtuală, atunci problemele pot apărea cu accesul SSH la o clonă din cauza conflictului (2 gazde cu același IP).

În plus față de instalarea virtualelor prin VNC, este posibilă și o opțiune cu X11 Forum prin intermediul utilității Virt-Manager. În Windows, de exemplu, puteți utiliza XMing și chit.

În acest articol introductiv, voi spune pe scurt despre toate software.utilizate în procesul de dezvoltare. În detaliu, despre ele vor fi spuse în următoarele articole.

De ce? Acest sistem de operare Sunt aproape și de înțeles, deci atunci când aleg un fluiț de chin, chinurile și miniaturile nu au fost testate. El nu are avantaje speciale pentru Red Hat Enterprise Linux, dar sa decis să lucreze cu un sistem familiar.

Dacă intenționați să implementați în mod independent infrastructura folosind tehnologii similare, vă sfătuiesc să luați RHEL: Datorită unei bune documente și bine scrise programe aplicate Acesta va fi, dacă nu este un ordin de mărime, atunci exact de două ori mai ușor și datorită sistemului de certificare dezvoltat fără multă dificultate, va fi posibilă găsirea unui anumit număr de specialiști, la nivelul adecvat al cunoscătorilor în acest sistem de operare.

Noi, repet, am decis să folosesc Debian stoarce cu un set de pachete de la SID / experimental și unele pachete, înapoi și colectate cu patch-urile noastre.
Planurile au un depozit de publicare cu pachete.

La alegerea unei tehnologii de virtualizare, au fost luate în considerare două opțiuni - Xen și KVM.

De asemenea, faptul că prezența unui număr mare de dezvoltatori, găzduteri, soluții comerciale a fost făcută pe baza lui Xen - cu atât mai interesant a fost să luăm o decizie cu precizie în baza de date KVM.

Principalul motiv pentru care am decis să folosim exact KVM este nevoia de a rula mașini virtuale cu FreeBSD și, în perspectivă, MS Windows.

Pentru a gestiona mașinile virtuale, sa dovedit a fi extrem de convenabil utilizată și produsele utilizând API-ul său: virsh., virt-Manager., virt-instalare, etc.

Acesta este un sistem care stochează setările mașinilor virtuale, le controlează, conduce statisticile pe ele, se asigură că atunci când porniți mașina virtuală, interfața se ridică, conectează dispozitivele la mașină - în general, efectuează o grămadă de muncă utilă și a puțin mai mult.

Desigur, soluția nu este perfectă. A minusurilor ar trebui să fie numite:

  • Mesaje de eroare absolut neprețuite.
  • Incapacitatea de a schimba porțiunea configurației mașinii virtuale în zbor, deși QMP (QMU Monitor Protocol) este destul de permis.
  • Uneori este imposibil să se conecteze la libvirtd pentru un motiv incomprehensibil - încetează să răspundă la evenimentele externe.

Principala problemă în punerea în aplicare a serviciului la început a fost limitarea resurselor pentru mașinile virtuale. În Xen, această problemă a fost rezolvată cu ajutorul unui loc de urmărire internă care distribuie resurse între mașinile virtuale - și ceea ce este cea mai frumoasă, posibilitatea de a limita și operațiuni de discuri inclusiv.

În kvm, nimic nu sa întâmplat înainte ca mecanismul de distribuție a resurselor nucleare să apară. Ca de obicei în Linux, accesul la aceste funcții a fost implementat printr-un sistem de fișiere speciale. cGrupul CGrup.În care ați putea adăuga procesul grupului utilizând apeluri convenționale la grup, atribuiți-i greutatea în papagali, specificați kernelul pe care va funcționa, specificați de transfer Discul pe care acest proces îl poate utiliza sau, din nou, alocați greutatea.

Profitul este că toate acestea sunt implementate în interiorul kernelului și este posibil să se utilizeze acest lucru nu numai pentru server, ci și pentru desktop (așa cum este utilizat în patch-ul cunoscut de ~ 200 linii linux kernel care face minuni "). Și în opinia mea, aceasta este una dintre cele mai semnificative schimbări din ramura 2.6, fără a număra preferatul dvs. # 12309, mai degrabă decât punerea în comun a următorului sistem de fișiere. Ei bine, cu excepția pohmelfului (dar pur din cauza numelui).

Atitudinea față de această bibliotecă-utilitate am destul de ambiguă.

Pe de o parte, se pare că:

Și acest lucru este naibii, este greu de colectat de la sursă și mai mult în pachet: Uneori mi se pare că Linux de la zero se colectează de la zero oarecum mai ușor.

Pe de altă parte, un lucru foarte puternic care vă permite să creați imagini pentru mașinile virtuale, să le modificați, să urcați, să puneți grub, să modificați tabelul de partiții, să gestionați fișierele de configurare, transferați mașinile "Fier" la mediul virtual, transferați virtualul Mașini de la o singură imagine la alta pentru a transfera mașini virtuale dintr-o imagine la fier și, sincer, aici am Fantasy eșuează. Oh, da: încă mai puteți conduce daemonul în interiorul virtualului linux Cars. Și accesați datele mașinii virtuale sunt live și faceți totul pe shell, Python, Perl, Java, Ocaml. Aceasta este o listă scurtă și nu completă a ceea ce se poate face cu.

Interesant, cea mai mare parte a codului B este generată la momentul adunărului, precum și documentația pentru proiect. Ocaml, Perl este foarte utilizat. Codul în sine este scris pe C, care apoi se transformă în Ocaml, iar piesele repetate sunt generate. Lucrul cu imagini se efectuează prin rularea unei imagini speciale de servicii (Appliance Supermin), în care comenzile sunt trimise prin canalul din interiorul acestuia. În interiorul acestei imagini conține unele salvare un set de utilități, cum ar fi despărțite, MKFS și alte administratori de sistem utile.

Cu recent, chiar am început să-l folosesc acasă când am fost topit de imaginea lui Nandroid, am avut nevoie de date. Dar acest lucru necesită kernelul cu sprijin pentru yaffs.

Alte

Mai jos este încă câteva referințe interesante la descrierea cardurilor folosite - citiți și discursuri, dacă este interesant. De exemplu,

Anterior am scris deja despre instalare Qemu-kvm. în Debian.. Dar, în opinia mea, informațiile s-au dovedit a fi incomplete. În plus, nu am luat în considerare unele nuanțe. Prin urmare, vă aduc atenție la un articol actualizat privind instalarea mașinii virtuale QMU-KVM. Articol vechi, în mod natural, ștergeți.

Cred că voi explica ce este mașină virtuală, nu merita. Probabil știți (dacă citiți acest articol). Dacă nu - . Vom localiza direct pe Sabget. Qemu-kvm. - Acesta este un proiect care combină două tehnologii de virtualizare completă (în opinia mea). Qemu. - Acesta este un tip de emulator de calculator, care susține foarte multe arhitecturi hardware. Puteți rula aproape orice sistem de operare pentru orice dispozitiv (de exemplu, am lansat versiuni vechi. Mac OS X.care pentru PowerPC.). Dezavantajul QEMU este încetinirea sa datorită lipsei unei accelerații de abordare. Și apoi un alt proiect vine la salvare - Kvm. . Sau mașina virtuală kernel. KVM este o tehnologie de kernel Linux care vă permite să oferiți accelerare hardware cu virtualizare completă. Dezavantajul KVM este suportul numai al arhitecturii x86

De ce QMU-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ă la Linux. În plus, dacă sunteți un bun proprietar computer de jocuri Cu două plăci video, puteți instala în Qemu-kvm Windows., intrăm în ea una dintre cărțile video și uităm de repornirea unui alt sistem de operare. A vrut să joace - a lansat un virtual cu ferestre și joc. Performanța va fi de 95% din performanța instalată pe "fier" de ferestre. Dar este doar superb, în \u200b\u200bopinia mea. Voi scrie un articol separat despre asta. Va fi interesant:)

Acum voi descrie planul acțiunilor noastre. În primul rând, voi efectua instalarea pe exemplu Debian 8.2 GNOME 64 BITDeși nu vor exista diferențe speciale în alte medii grafice. În al doilea rând - voi descrie lucrul cu KVM numai în modul grafic (nu îl vom pune pe server). Prin urmare, nu există terminale, scripturi și așa mai departe, așa cum vine de obicei în caz virtualizarea serverului. În al treilea rând, vă sfătuiesc să citiți suplimentar documentația QMU și KVM (legătura de doamne la sfârșitul articolului). Este foarte util pentru dvs. dacă doriți ca un maxim să utilizați întregul potențial al acestui pachet. Ei bine, planul acțiunilor noastre este clar. Acum acțiuni de pași:

  • instalarea Qemu-KVM;
  • instalarea unui manager grafic și utilități suplimentare;
  • setarea podului de rețea;
  • crearea unui depozit pentru mașinile virtuale;
  • instalarea unui sistem de oaspeți.
Pentru a începe, verificați dacă computerul dvs. acceptă virtualizarea hardware. Pentru a face acest lucru, în terminalul efectuează comanda:

egrep "(VMX | SVM)" / proc / cpuinfo

În producția echipei ar trebui să fie prezentă fie vMX.fie sVM.. Dacă nu există - dacă virtualizarea este activată în BIOS (căutați articole Intel vt-i sau similare pentru AMD.). Dacă nu este nimic - înseamnă că nu este norocos.

Instalați componentele necesare:

sudo apt instalați Qemu-kvm Bridge-Utils Libvirt-Bin Virt-Manager

Vă adăugăm în grupul Libvirt:

sudo AddUer $ Utilizator Libvirt

Acum setați rețeaua. Pentru ca toate autoturismele versaale să meargă la rețea și să comunice între ele, trebuie să creați o punte de rețea și carduri de rețea virtuale pentru fiecare virtual ( aparate de atingere). Deoarece vom instala mașini virtuale din interfața grafică, atunci nu este nevoie să creați un robinet manual. Virt Manager. Faceți-ne pentru noi de fiecare dată când începeți. Trebuie doar să configuram podul. Pentru a începe, întoarceți rutarea în kernel:

sudo nano /etc/sysctl.conf.

Căutăm o NET.IPV4_FORWARD \u003d 0 și schimbați valoarea acestuia 1 . Salvați și:

sudo sysctl -p.

Apoi, voi presupune următoarele: 1) pe computerul dvs. există un card de rețea care primește adresa IP de la router. 2) Mergeți online printr-un modem 3G, iar cardul dvs. de rețea este gratuit. Această opțiune sugerează mai mult manual, dar a fost verificată în mod repetat (la una dintre mașinile în sine). Deci, deschideți fișierul interfețelor:

sudo nano / etc / rețea / interfețe

Conținutul implicit este:



auto Lo.
iFACE LOOPBBACK INET

Schimba conținutul său. Pentru prima opțiune:

sursă /etc/network/interfaces.d/*

# Interfața Rețea Loopback
auto Lo.
iFACE LOOPBBACK INET

Auto-eth0.
manualul Inet IFACE ETH0

Auto Br0.
iFACE BR0 INET STATIC
adresa 192.168.0.2.
gateway 192.168.0.1
netmask 255.255.255.0.
rețea 192.168.0.0.
difuzat 192.168.0.255.
Bridge_ports eth0.
Bridge_stp off.
Bridge_maxwait 0.
Bridge_fd 0.

Pentru a doua opțiune:

sursă /etc/network/interfaces.d/*

# Interfața Rețea Loopback
auto Lo.
iFACE LOOPBBACK INET

Auto ppp0.
iFACE PPP0 INET WVDIAL

Auto-eth0.
manualul Inet IFACE ETH0

Auto Br0.
iFACE BR0 INET STATIC
adresa 192.168.0.2.
gateway 192.168.0.1
netmask 255.255.255.0.
rețea 192.168.0.0.
difuzat 192.168.0.255.
Bridge_ports eth0.
Bridge_stp off.
Bridge_maxwait 0.
Bridge_fd 0.
up Route DEL implicit br0

Notă: Dacă nu aveți nevoie să conectați automat internetul prin intermediul modemului după începerea sistemului, scoateți linia Auto PPP0 din config
iFACE PPP0 INET WVDIAL. În caz contrar, asigurați-vă că la pornirea sistemului, modemul este introdus în portul USB.

Salvăm. Acum, pentru o opțiune cu un modem, trebuie să instalați programul de apelare wvdial.:

sudo apt instalați wvdial

Configurare corectă (Notă: modemul 3G este utilizat ca exemplu Linie dreaptă.. Exemple de configuri pentru alte modemuri pe care le puteți găsi cu ușurință pe Internet):

sudo nano /etc/wvdial.conf.


Init1 \u003d atz.
Init2 \u003d Atq0 V1 E1 S0 \u003d 0 & C1 & D2 + FClass \u003d 0
Init3 \u003d AT + CGDCont \u003d 1, "IP", "Home.beeline.ru"
Modul stupid \u003d 1
ISDN \u003d 0.
Modem tip \u003d modem USB
PPPD nou \u003d Da
Telefon \u003d * 99 #
Modem \u003d / dev / ttyacm0
Nume utilizator \u003d Beeline.
Parola \u003d beeline.
Baud \u003d 9600.
Țară \u003d Rusia.
Auto reconnect \u003d pe
Auto DNS \u003d OFF
Secundele de inactivitate \u003d 0

Salvăm. Acum modemul va fi pornit imediat după încărcarea sistemului. Stringul Route Del implicit BR0 Șterine traseul implicit prin punte. Dacă acest lucru nu este făcut, nu veți putea să vă conectați cu Internetul, deoarece traficul va merge pe pod și nu printr-un modem 3G.

Ultima etapă trebuie să spunem farwall.Așa că a pierdut traficul de la virtual și înapoi la rețea. Pentru a face acest lucru, puteți merge în două moduri: scrieți un script cu mai multe reguli pentru iptables.care va funcționa împreună cu sistemul sau va introduce aceste reguli manual și le salvează. Voi profita de prima opțiune. Pentru al doilea va trebui să instalați pachetul iptables-persistente Și doar introduceți alternativ regulile (folosind sudo). Asa de. Creați un script (în orice editor de text). Introduceț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 - o postrout -o ppp0 -j masquerade

# Trimitem toate pachetele care au venit la modemul de la rețeaua globală (0.0.0.0 / 0) la 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 Acceptați

# Trimitem toate pachetele care au venit de la retea locala (192.168.0.0 / 24) la Global (0.0.0.0 / 0)
iptables -v -a înainte --I BR0 -O PPP0 -S 192.168.0.0/224 -D 0.0.0.0/0 -J Acceptați

Păstrați-l gateway.sh. și dați drepturi de executare (sau în proprietățile fișierului sau în comanda terminalului chmod + x gateway.sh). Acum puteți să o rulați manual, după ce sistemul a fost încărcat sau adăugați la Autoload. Pentru a face acest lucru, mutați scriptul în ~ / .config / autostart (în manager de fișiere Porniți spectacolul fișiere ascunseși veți vedea catalogul .config. în directorul de domiciliu).

Acum totul este gata să instaleze o mașină virtuală. Din meniul aplicației, executați Virt Manager (Virtual Machine Manager):

Faceți clic dreapta pe linie gazdă locală. și alegeți Detalii. Du-te la fila Depozitare. Trebuie să specificăm un director (sau o secțiune de disc / disc) pentru stocarea mașinilor virtuale.

În colțul din stânga jos, faceți clic pe semnul plus ( Adăugați Pul.), Specifice tipul de depozit și calea spre el.

Pe tab-ul Interfețe de rețeaPuteți verifica dacă funcționează totul.

Acum faceți clic pe Fișier - noua mașină virtuală nouă. Specificați calea către imaginea discului, tipul mașinii virtuale. Apoi, specificați numărul de memorie RAM pentru IT și numărul de nuclee de procesor. Apoi, specificați stocarea noastră și faceți clic pe Volum nou . Indicați numele, tipul este lăsat qCOW2.și mărimea. Acesta va fi un hard disk virtual. Dacă intenționați să instalați un sistem cu o coajă grafică și o grămadă de programe, dați locații mai mult (GIGS 50). În ultima filă, puneți o bifată Schimbați setările înainte de a începeVerificați că, ca. dispozitiv de rețea Podul nostru este selectat, scrieți orice nume pentru virtuale și faceți clic pe Complet. Veți deschide fereastra parametrilor acestei mașini virtuale.





Du-te la fila CPUși puneți o bifă pe Copiați setările procesorului sistemului gazdă.

Lângă fila Net (în continuare), și, de asemenea, specificați virio.. Pe tab-ul Afişa Specifica Condiment.și pe tabară Video - QXL.. De obicei, acest pachet oferă productivitate maximă Recrutați grafice, dar dacă doriți, puteți experimenta. Rețineți că pentru oaspeți sisteme Windows.Driverele QXL sunt necesare (în Windows însuși).


Acum, când totul este gata, în stânga colțul superior Clic Începe instalarea. Și am pus sistemul ca de obicei, cu o singură excepție: de îndată ce instalatorul începe să regleze automat rețeaua, faceți clic pe Anulareși selectați. Configurați manual o rețea. Specificați adresa IP dorită pentru virtuale (în cazul nostru 192.168.0.3 ), mască de rețea ( 255.255.255.0 ), gateway-ul (gateway-ul va fi adresa gazdei, mănânc 192.168.0.2 ) și serverul DNS (aici doar introduceți Google 8.8.8.8 ). Si asta e. Următorul nu face nimic. Puneți sistemul și configurați-vă. În general, totul. Acțiunile descrise sunt modul de înlocuire, de exemplu, Virtualbox pe mai mult cea mai bună alternativă. După citirea documentației, veți înțelege cât de largă posibilitățile QEMU-KVM. În mod intenționat, nu am descris aici parametrii și metodele consolei suplimentare pentru începerea mașinilor virtuale prin terminale, deoarece nu este întotdeauna necesară pe o mașină de acasă. Voi scrie despre acest articol separat, la configurarea unui server multifuncțional de acasă (care poate, de asemenea, să acționeze ca un server virtual de mașini). Pentru cei care, din anumite motive, nu au înțeles ce a fost scris sau au rămas momente incomprehensionale - propun să vizionez videoclipul, în care nu voi descrie, dar vă voi arăta cum este totul bun și ton. Dacă aveți sugestii sau completări la articol - scrieți comentariile.

Verificarea suportului pentru hipervisor

Verificați dacă serverul acceptă tehnologii de virtualizare:

cAT / PROC / CPUINFO | Egrep "(VMX | SVM)"

Ca răspuns, ar trebui să obțineți ceva de genul:

steaguri: FPU VME DE PSE TSC MSR PEE MCE CX8 SEP MMX PGE DTS ACPI MMX FXSR SSE2 SSCP MMX FXSR SSE2 SS HT TM PBE SYSCAL NX PDPE1GB RDTSCP LM CONSTANT_TSC ARPTERGON PEBS BTS REP_GOOD NOPL XTOPOLOVI NONSTOP_TSC Aperfmperf PNI PCLMULQDQ DTES64 Monitor DS_CPL VMX SMX EST TM2 SSSE3 CX16 XTPR PCID PCID DCA SSE4_1 SSE4_2 POPCNT AES LAHF_LM EPB TPR_SHADOW VNMI FlexPriority EPT VPID DTHERM IDA ARAT

În caz contrar, mergem la BIOS, găsim opțiunea de a permite tehnologia de virtualizare (are nume diferite, de exemplu, tehnologia de virtualizare Intel sau virtualizarea) și porniți-l - setați valoarea Permite.

De asemenea, verificați compatibilitatea prin comandă:

* Dacă comanda returnează eroarea Comandamentul KVM-OK nu a fost găsit "Instalați pachetul corespunzător: apt-get instalare cpu-checker.

Dacă vedem:

Info: / dev / kvm există
Accelerarea KVM poate fi utilizată

deci, sprijinul din hardware este acolo.

Pregătirea serverului

Pentru confortul nostru, creați un director în care vom stoca date pentru KVM:

mkdir -p / kvm / (VHDD, ISO)

* Două catalog vor fi create: / Kvm / vhdd (pentru hard disk-uri virtuale) și / Kvm / iso (pentru imagini ISO).

Personalizați ora:

\\ Cp / usr / Share / ZoneInfo / Europe / Moscova / etc / local

* Această comandă stabilește zona în funcție de ora Moscovei.

ntpdate ru.pool.ntp.org.

* Efectuați sincronizarea timpului.

Instalare și pornire

Instalați KVM și utilitățile necesare de gestionare.

a) Ubuntu la versiunea 18.10

apt-get instalare qemu-kvm libvirt-bin virinst libosinfo-bin

b) Ubuntu după 18.10:

apt-get instalare qemu-kvm libvirt-daemon-sistem libvirt-bin virinst libosinfo-bin

* Unde qemu-kvm. - hypervisor; libvirt-bin. - Biblioteca de Management Hypervisor; virtinst. - utilitarul de gestionare a mașinilor virtuale; libosinfo-bin. - Utilitate pentru a vizualiza lista opțiunilor pentru sistemele de operare care pot fi ca oaspete.

Personalizați. start automat Serviciu:

systemCTL Activează Libvirtd.

Start Libvirtd:

systemctl Start Libvirtd.

Configurarea Rețelei

Mașinile virtuale pot funcționa pentru NAT (care servește ca server KVM) sau primesc adrese IP din rețeaua locală - pentru că trebuie să configurați podul de rețea. Vom stabili ultimul.

Folosind. conectare la distanțăVerificați cu atenție setările. În caz de eroare, conexiunea va fi întreruptă.

Instalați Bridge-Utils:

aPT-GET Instalați Bridge-Utils

a) Configurarea rețelei în vechile versiuni Ubuntu (/ etc / rețea / interfețe).

Deschideți un fișier de configurare pentru a configura interfețele de rețea:

vI / etc / Network / Interfețe

Și le dăm minții:

#IFACE ETH0 INET STATIC
# Adresa 192.168.1.24.
# Netmask 255.255.255.0.
# Gateway 192.168.1.1.
# Nume de nume DNS 192.168.1.1 192.168.1.2

Auto Br0.
IFACE BR0 INET STATIC
Adresa 192.168.1.24
Netmask 255.255.255.0.
Gateway 192.168.1.1
DNS-NAMESERVERS 192.168.1.1 192.168.1.2
Bridge_ports eth0.
Bridge_fd 9.
Bridge_hello 2.
Bridge_maxage 12.
Bridge_stp off.

* Unde toate acestea comentă sunt vechile setări ale rețelei mele; br0. - numele interfeței podului generat; eth0. - o interfață de rețea existentă prin care podul va funcționa.

Reporniți serviciul de rețea:

systemCTL Repornirea rețelei.

b) setarea rețelei în versiunile noi Ubuntu (NetPlan).

vI /ETC/NETPLAN/01-NETCFG.YAML.

* În funcție de versiunea de sistem, fișier de configurare. yaml. Poate avea un alt nume.

Îl aducem în minte:

reţea:
Versiune: 2.
Renderer: Networkd.
Ethernets:
Eth0:
DHCP4: FALSE.
DHCP6: FALSE.
Wakonlan: Adevărat.

Puntea:
BR0:
Macaddress: 2C: 6D: 45: C3: 55: A7
Interfețe:
- eth0.
Adrese:
- 192.168.1.24/24
Gateway4: 192.168.1.1
MTU: 1500.
NAMESERVERS:
Adrese:
- 192.168.1.1
- 192.168.1.2
Parametrii:
STP: Adevărat.
Întârzieri înainte: 4
DHCP4: FALSE.
DHCP6: FALSE.

* In. acest exemplu Creați o interfață virtuală a podului br0.; Folosim ca interfață fizică eth0..

Aplicați setările de rețea:

Insistăm redirecționările traficului de rețea (astfel încât mașinile virtuale cu interfața NAT de rețea să poată merge online):

vi /etc/sysctl.d/99-sysctl.conf.

Adăugați un șir:

net.ipv4.ip_forward \u003d 1.

Aplicați setările:

sYSCTL -P /ETC/SYSCTL.D/99-SSCTL.CONF.

Crearea unei mașini virtuale

Pentru a crea prima mașină virtuală, introduceți următoarea comandă:

virt-install -n vm1 \\
--Pornire automată \\
--NuAutoconsol \\
--Network \u003d Bridge: Br0 \\
--ram 2048 --CH \u003d x86_64 \\
- VCPUS \u003d 2 - CPU Host --Check-CPU \\
--Disk calea \u003d / kvm / vhdd / vm1-disk1.img, dimensiune \u003d 16 \\
--Cdrom /kvm/iso/ubuntu-18.04.3-server-amd64.iso \\
- Raghiciile VNC, ascultați \u003d 0.0.0.0, parola \u003d VNC_PASSWORD \\
- TIP TIP LINUX - OOS-Variant \u003d Ubuntu18.04 --BOOT CDROM, HD, MENU \u003d ON

  • VM1 - numele mașinii create;
  • pornire automată - Permiteți mașinii virtuale să înceapă automat cu serverul KVM;
  • nOUAUTOCONSOLE - nu se conectează la consola mașinii virtuale;
  • rețea - Tipul de rețea. În acest exemplu, creăm o mașină virtuală cu o interfață de tip Bridge de rețea. Pentru a crea o interfață internă cu introducerea tipului NAT --Network \u003d implicit, modelul \u003d vitro;
  • bERBEC - Cantitatea de memorie RAM;
  • vcpus - Numărul de procesoare virtuale;
  • disc - discul virtual.: cale - calea pe disc; mărimea - volumul său;
  • cD ROM - Sistemul de acționare virtuală;
  • grafică - Parametrii de conectare la o mașină virtuală utilizând o consolă grafică (în acest exemplu, folosim VNC); asculta - Ce adresă acceptă cererile VNC (în exemplul nostru la toate); parola - Parolă pentru conectarea cu VNC;
  • oS-Variant - Sistemul de operare a oaspeților (întreaga listă am primit o echipă oSINFO-QUERY OSÎn acest exemplu, instalați Ubuntu 18.04).

Conectați-vă la o mașină virtuală

Pe computerul din care intenționăm să lucrăm cu mașinile virtuale, să descărcați un client VNC, de exemplu, TONDVNC și instalați-l.

Introducem pe server:

virsh vncdisplay VM1.

comanda va afișa, pe care portul funcționează VNC pentru mașina VM1. Am avut:

*: 1 Deci, trebuie să adăugați 1 - 5900 + 1 \u003d 5901 la 5900.

Rulați vizualizatorul TightVNC, pe care l-am instalat și introducem datele pentru conectivitate:

Click de Po. Conectați.. Introducem numele la cererea de parolă atunci când creați un VM, ( vNC_PASSWORD.). Ne vom conecta la consola de la distanță a mașinii virtuale.

Dacă nu ne amintim parola, deschideți setarea mașinii virtuale ca o comandă:

Și găsiți șirul:



* În acest exemplu, o parolă este utilizată pentru a accesa mașina virtuală. 12345678 .

Gestionarea mașinii virtuale din linia de comandă

Exemple de comenzi care pot fi utile atunci când lucrați cu mașinile virtuale.

1. Obțineți o listă de mașini create:

lista VIRSH - Toate

2. Activați o mașină virtuală:

virsh începe vmname.

* Unde Vmame. - numele mașinii create.

3. Opriți mașina virtuală:

ubuntu-VM-Builder este un pachet dezvoltat de canonic pentru a simplifica crearea de noi mașini virtuale.

Pentru a le instala, intrăm:

apt-get instalare ubuntu-vm-constructor



Ți-a plăcut articolul? Împărtășește-l