Kernel-based Virtual Machine (pe scurt, KVM) este o soluție de virtualizare open-source și standard de facto care este strâns integrată în Linux. Este un modul de kernel încărcabil care transformă Linux într-un hipervizor de tip 1 (bare-metal) care creează o platformă de operare virtuală utilizată pentru a rula mașini virtuale (VM).
În cadrul KVM, fiecare VM este un proces Linux care este programat și gestionat de kernel și care are hardware virtualizat privat (adică CPU, placă de rețea, disc etc.). De asemenea, suportă virtualizarea imbricata, ceea ce vă permite să rulați o VM în interiorul unei alte VM.
Câteva dintre caracteristicile sale cheie includ suportul pentru o gamă largă de platforme hardware suportate de Linux (hardware x86 cu extensii de virtualizare (Intel VT sau AMD-V)), oferă o securitate și o izolare îmbunătățită a VM folosind atât SELinux, cât și virtualizarea securizată (sVirt), moștenește caracteristicile de gestionare a memoriei kernelului și suportă atât migrarea offline, cât și în timp real (migrarea unei VM în execuție între gazde fizice).
În acest articol, veți învăța cum să instalați virtualizarea KVM, să creați și să gestionați mașini virtuale în CentOS 8 și RHEL 8 Linux.
Precondiții
- O nouă instalare a serverului CentOS 8
- O nouă instalare a serverului RHEL 8
- Un abonament RedHat activat pe serverul RHEL 8
În plus, asigurați-vă că platforma hardware suportă virtualizarea prin rularea următoarei comenzi.
# grep -e 'vmx' /proc/cpuinfo#Intel systems# grep -e 'svm' /proc/cpuinfo#AMD systems
De asemenea, confirmați că modulele KVM sunt încărcate în kernel (ar trebui să fie, în mod implicit).
# lsmod | grep kvm
Iată o mostră de ieșire pe sistemul de test care este bazat pe Intel:
Într-o serie anterioară de ghiduri KVM, am arătat cum să creăm mașini virtuale în Linux folosind KVM (Kernel-based Virtual Machine), unde am demonstrat cum să creăm și să gestionăm VM-uri folosind instrumentul virt-manager GUI (care este acum depreciat conform documentației RHEL 8). Pentru acest ghid, vom avea o abordare diferită, vom folosi consola web Cockpit.
Pasul 1: Configurați consola web Cockpit pe CentOS 8
1. Cockpit este o interfață bazată pe web ușor de utilizat, integrată și extensibilă pentru a administra un server Linux într-un browser web. Aceasta vă permite să efectuați sarcini de sistem, cum ar fi configurarea rețelelor, administrarea stocării, crearea de VM-uri și inspectarea jurnalelor cu ajutorul unui mouse. Folosește autentificările și privilegiile de utilizator normale ale sistemului dumneavoastră, dar sunt acceptate și alte metode de autentificare.
Vine preinstalat și activat pe sistemul CentOS 8 și RHEL 8 proaspăt instalat, dacă nu îl aveți instalat, instalați-l folosind următoarea comandă dnf. Extensia cockpit-machines trebuie instalată pentru a gestiona VM-uri bazate pe Libvirt.
# dnf install cockpit cockpit-machines
2. Când instalarea pachetului este finalizată, porniți soclul cockpit, activați-l să pornească automat la pornirea sistemului și verificați starea acestuia pentru a confirma că este în funcțiune.
# systemctl start cockpit.socket# systemctl enable cockpit.socket# systemctl status cockpit.socket
3. În continuare, adăugați serviciul cockpit în firewall-ul sistemului, care este activat în mod implicit, utilizând comanda firewall-cmd și reîncărcați configurația firewall-ului pentru a aplica noile modificări.
# firewall-cmd --add-service=cockpit --permanent# firewall-cmd --reload
4. Pentru a accesa consola web a cockpit-ului, deschideți un browser web și utilizați următorul URL pentru a naviga.
https://FQDN:9090/ORhttps://SERVER_IP:9090/
Cockpit-ul utilizează un certificat autofirmat pentru a activa HTTPS, pur și simplu continuați cu conexiunea atunci când primiți un avertisment din partea browser-ului. La pagina de conectare, utilizați acreditările contului de utilizator al serverului.
Pasul 2: Instalarea virtualizării KVM CentOS 8
5. În continuare, instalați modulul de virtualizare și alte pachete de virtualizare după cum urmează. Pachetul virt-install oferă un instrument pentru instalarea mașinilor virtuale din interfața de linie de comandă, iar virt-viewer este utilizat pentru a vizualiza mașinile virtuale.
# dnf module install virt # dnf install virt-install virt-viewer
6. În continuare, rulați comanda virt-host-validate pentru a valida dacă mașina gazdă este configurată pentru a rula driverele hipervizorului libvirt.
# virt-host-validate
7. În continuare, porniți daimonul libvirtd (libvirtd) și activați-l pentru a porni automat la fiecare pornire. Apoi verificați starea sa pentru a confirma că este activat și funcționează.
# systemctl start libvirtd.service# systemctl enable libvirtd.service# systemctl status libvirtd.service
Pasul 3: Configurați puntea de rețea (comutatorul de rețea virtual) prin Cockpit
8. Acum creați o punte de rețea (comutatorul de rețea virtual) pentru a integra mașinile virtuale în aceeași rețea ca și gazda. În mod implicit, odată ce demonul libvirtd este pornit, acesta activează interfața de rețea implicită virbr0 care reprezintă comutatorul de rețea virtuală care funcționează în modul NAT.
Pentru acest ghid, vom crea o interfață de rețea în modul punte numită br0. Acest lucru va permite mașinilor virtuale să fie accesibile pe rețelele gazdă.
Din interfața principală a cockpit-ului, faceți clic pe Networking, apoi faceți clic pe Add Bridge, așa cum este indicat în următoarea captură de ecran.
9. Din fereastra pop-up, introduceți numele punții și selectați sclavii punții sau dispozitivele de port (de exemplu, enp2s0 reprezentând interfața Ethernet), așa cum se arată în următoarea captură de ecran. Apoi faceți clic pe Apply.
10. Acum, când vă uitați la lista de interfețe, noua punte ar trebui să apară acolo și, după câteva secunde, interfața Ethernet ar trebui să fie dezactivată (scoasă din funcțiune).
Pasul 4: Crearea și gestionarea mașinilor virtuale prin intermediul consolei web Cockpit
11. Din interfața principală a cockpit-ului, faceți clic pe opțiunea Virtual Machines (Mașini virtuale), așa cum este evidențiat în următoarea captură de ecran. Din pagina Virtual Machines (Mașini virtuale), faceți clic pe Create VM (Creați o mașină virtuală).
12. Se va afișa o fereastră cu opțiuni pentru a crea o nouă VM. Introduceți Connection, Name (de ex. ubuntu18.04), Installation Source Type (pe sistemul de testare, am stocat imaginile ISO sub pool-ul de stocare, adică /var/lib/libvirt/images/), Installation Source, Storage, Size, Memory, așa cum se arată în imaginea următoare. OS Vendor și Operating System ar trebui să fie alese automat după introducerea Installation Source.
De asemenea, bifați opțiunea de a porni imediat VM, apoi faceți clic pe Create.
13. După ce ați făcut clic pe Create din pasul anterior, VM ar trebui să fie pornită automat și ar trebui să pornească folosind imaginea ISO furnizată. Procedați la instalarea sistemului de operare invitat (Ubuntu 18.04 în cazul nostru).
Dacă faceți clic pe Network Interfaces (Interfețe de rețea) a VM, sursa rețelei ar trebui să indice interfața de rețea bridge nou creată.
Și în timpul instalării, la etapa de configurare a unei interfețe de rețea, ar trebui să puteți observa că interfața Ethernet a VM-ului primește o adresă IP de la serverul DHCP al rețelei gazdă.
Rețineți că trebuie să instalați pachetul OpenSSH pentru a accesa sistemul de operare invitat prin SSH de la orice mașină din rețeaua gazdă, așa cum a fost descris în ultima secțiune.
14. Când instalarea sistemului de operare invitat este finalizată, reporniți mașina virtuală, apoi mergeți la Discuri și detașați/îndepărtați dispozitivul cdrom de sub discurile mașinii virtuale. Apoi faceți clic pe Run pentru a porni VM.
15. Acum, în secțiunea Consola, vă puteți conecta la sistemul de operare invitat folosind un cont de utilizator pe care l-ați creat în timpul instalării sistemului de operare.
Pasul 5: Accesarea sistemului de operare invitat al unei mașini virtuale prin SSH
16. Pentru a accesa sistemul de operare invitat nou instalat din rețeaua gazdă prin SSH, rulați următoarea comandă (înlocuiți 10.42.0.197 cu adresa IP a invitatului).
$ ssh [email protected]
17. Pentru a opri, reporni sau șterge un VM, faceți clic pe acesta din lista de VM-uri, apoi folosiți butoanele evidențiate în următoarea captură de ecran.
Asta este tot pentru moment! În acest ghid, am arătat cum să instalăm pachetele de virtualizare KVM și cum să creăm și să gestionăm VM-uri prin intermediul consolei web cockpit. Pentru mai multe detalii, consultați: Noțiuni de bază despre virtualizare în RHEL 8.
.