Virtualizare¶
Ponderea la examen: cel mai mic capitol — 2 din 30 în 2025, 2 din 18 în 2023, 4 din 30 în 2022. Dar: este și cel mai ușor. Ai nevoie de ~15 minute ca să-l stăpânești complet. Randament maxim.
Cuprins¶
Partea I — Teorie
- Ce este virtualizarea
- Hypervisor: Tip 1 vs. Tip 2
- Terminologie: VMM, VM, guest, host
- Resursele virtuale
- Rețeaua unei mașini virtuale
- Virtualizare vs. containerizare
- Snapshot-uri, clone, migrare
Partea a II-a — Toate întrebările, rezolvate (6 întrebări unice)
Partea I — Teorie¶
1. Ce este virtualizarea¶
Virtualizarea = tehnica prin care resursele fizice ale unui calculator (procesor, memorie, stocare, rețea) sunt abstractizate și partiționate astfel încât mai multe sisteme de operare să ruleze simultan și izolat pe un singur server fizic.
Beneficii: consolidare (mai puțin hardware), izolare (un guest care crapă nu afectează celelalte), portabilitate (o VM este un set de fișiere), snapshot-uri și recuperare rapidă, medii de test sigure.
2. Hypervisor: Tip 1 vs. Tip 2¶
Acesta este conceptul cel mai testat din tot capitolul.
graph TB
subgraph T1["TIP 1 — bare metal"]
direction TB
G1[Guest OS] --- G2[Guest OS]
G1 --- H1[Hypervisor]
G2 --- H1
H1 --- HW1[System Hardware]
end
subgraph T2["TIP 2 — hosted"]
direction TB
G3[Guest OS] --- G4[Guest OS]
G3 --- H2[Hypervisor]
G4 --- H2
H2 --- OS2[Host Operating System]
OS2 --- HW2[System Hardware]
end
| Tip 1 — „bare metal” | Tip 2 — „hosted” | |
|---|---|---|
| Rulează | direct pe hardware-ul fizic | peste un sistem de operare gazdă |
| Straturi până la hardware | Guest OS → Hypervisor → Hardware | Guest OS → Hypervisor → Host OS → Hardware |
| Performanță | mare (fără intermediar) | mai mică (un strat în plus) |
| Utilizare | servere, centre de date, producție | desktop, teste, dezvoltare, utilizatori finali |
| Exemple | VMware ESXi, Microsoft Hyper-V, Xen, KVM, Proxmox | VirtualBox, VMware Workstation/Player/Fusion, Parallels, QEMU (fără KVM) |
Cum recunoști în figură
Numără cutiile de jos în sus.
System Hardware → Hypervisor → Guest OS = Tip 1 (bare metal) — hypervisorul atinge direct hardware-ul.
System Hardware → Host OS → Hypervisor → Guest OS = Tip 2 (hosted).
Perechile fixe: „Tip 1 = bare metal”, „Tip 2 = hosted”. Variantele „Tip 2 – bare metal” și „Tip 1 – hosted” sunt întotdeauna distractori.
Caracteristicile hypervisorului bare-metal (Tip 1):
- ✓ rulează direct pe hardware-ul fizic
- ✓ este el însuși un mini-sistem de operare specializat
- ✗ nu rulează într-un container
- ✗ nu rulează peste alt hypervisor
- ✗ nu este folosit în mod obișnuit direct de utilizatorii finali (aceia folosesc Tip 2)
3. Terminologie: VMM, VM, guest, host¶
| Termen | Definiție |
|---|---|
| Hypervisor = VMM (Virtual Machine Monitor) | Stratul software care creează, gestionează și oferă acces la resursele de sistem pentru mașinile virtuale. Programează CPU-ul, mapează memoria, mediază I/O-ul. Hypervisor și VMM sunt sinonime. |
| Mașină virtuală (VM) | Calculatorul emulat — rezultatul virtualizării, nu instrumentul ei. Este consumatorul de resurse, nu furnizorul. |
| Guest OS | Sistemul de operare instalat în interiorul unei VM. |
| Host | Mașina fizică (și, la Tip 2, sistemul ei de operare). |
| Virtual Machine Manager | Interfața de administrare (ex. virt-manager, SCVMM). Nu este stratul care oferă accesul la resurse — o confuzie de nume folosită ca distractor. |
| Virtual Machine File System (VMFS) | Sistem de fișiere clusterizat al VMware, pentru stocarea fișierelor VM. Nu are legătură cu accesul la CPU/memorie. |
Distincția-cheie
Cine oferă accesul la resurse = VMM / hypervisor. Cine primește resursele = mașina virtuală.
4. Resursele virtuale¶
Procesorul virtual (vCPU), memoria virtuală (vRAM) și discul virtual (vDisk) nu sunt inventate din nimic — sunt resursele fizice reale ale serverului, partiționate, programate și partajate de hypervisor între mașinile virtuale.
- vCPU = timp de execuție pe nucleele fizice, alocat de planificatorul hypervisorului.
- vRAM = pagini de memorie fizică mapate în spațiul VM-ului (cu tehnici precum ballooning, page sharing, memory overcommit).
- vDisk = un fișier (
.vmdk,.vhdx,.qcow2) sau un volum pe stocarea fizică.
Resursele virtuale pot fi partajate între mai multe VM-uri (chiar suprarezervate — overcommitment), și nu se limitează la funcții de rețea.
5. Rețeaua unei mașini virtuale¶
O VM poate avea zero, una sau mai multe interfețe de rețea virtuale (vNIC). Nu există nicio constrângere de tipul „minim 1” sau „minim 2”.
| Mod de rețea | Comportament |
|---|---|
| Bridged | vNIC-ul apare ca un dispozitiv de sine stătător în LAN-ul fizic; primește IP de la același DHCP ca host-ul |
| NAT | VM-ul iese în exterior prin adresa host-ului; nu este direct accesibil din LAN |
| Host-only | comunicație doar între host și VM-uri, izolată de exterior |
| Internal / Private | doar între VM-uri |
| Fără NIC | perfect valid — o VM pentru calcul offline nu are nevoie de rețea |
Mai multe vNIC-uri sunt normale și frecvente: un firewall virtual are una spre WAN și una spre LAN; un server poate avea una pentru management și una pentru producție.
„Modul sniffing”
(mod promiscuous) este o opțiune a unui vSwitch/vNIC folosită la monitorizarea traficului — nu o cerință pentru ca o VM să funcționeze.
6. Virtualizare vs. containerizare¶
| Mașini virtuale | Containere (Docker, LXC) | |
|---|---|---|
| Virtualizează | hardware-ul | sistemul de operare |
| Fiecare instanță are | kernel propriu + guest OS complet | doar procese + biblioteci; partajează kernelul host-ului |
| Dimensiune | GB | MB |
| Pornire | zeci de secunde | milisecunde |
| Izolare | puternică (la nivel hardware) | mai slabă (namespaces + cgroups) |
| Gestionate de | hypervisor | motor de containere (containerd, runc) |
Un hypervisor nu rulează „într-un container” — relația este exact invers, containerele fiind adesea rulate în VM-uri. Nested virtualization (hypervisor peste hypervisor) există tehnic, dar nu este o caracteristică a tipului bare-metal.
7. Snapshot-uri, clone, migrare¶
| Operație | Ce face |
|---|---|
| Snapshot | îngheață starea VM-ului (disc + memorie) la un moment dat; permite revenirea |
| Clone | copie a unei VM (full clone independent / linked clone cu disc de bază partajat) |
| Template | VM „șablon” din care se creează instanțe noi |
| Live migration (vMotion) | mutarea unei VM active pe alt host fizic, fără oprire (aici apare, în practică, Gratuitous ARP — pentru actualizarea cache-urilor ARP din rețea) |
| High Availability (HA) | repornirea automată a VM-urilor pe alt host dacă unul cade |
Partea a II-a — Toate întrebările, rezolvate¶
V1 · Ce oferă accesul la resursele de sistem pentru VM-uri¶
Care dintre următoarele oferă accesul la resursele de sistem pentru mașinile virtuale?
- a. Virtual Machine Manager
- b. Virtual Machine File System
- c. Virtual Machine Monitor
- d. Toate variantele de mai sus
Răspuns și explicație
Răspuns: c) Virtual Machine Monitor (VMM)
VMM = hypervisor. Este stratul software care mediază accesul mașinilor virtuale la CPU, memorie, stocare și I/O: programează vCPU-urile pe nucleele fizice, mapează paginile de memorie, interceptează instrucțiunile privilegiate.
De ce cad celelalte — sunt nume asemănătoare, roluri diferite:
| Ce este de fapt | |
|---|---|
| a) Virtual Machine Manager | interfața de administrare (virt-manager, SCVMM) — creezi/pornești VM-uri de acolo, dar nu ea mediază accesul la resurse |
| b) Virtual Machine File System (VMFS) | sistem de fișiere clusterizat VMware, pentru stocarea fișierelor VM (.vmdk) |
| d) Toate | fals, doar VMM |
Reține sinonimia: hypervisor = VMM = Virtual Machine Monitor.
V2 · Ce permite rularea mai multor SO pe un singur server fizic¶
Care componentă/program ne permite să rulăm mai multe sisteme de operare pe un singur server fizic?
- a. Procesor b. Hypervisor c. Mașină virtuală d. Sistemul de operare guest
Răspuns și explicație
Răspuns: b) Hypervisor
Enunțul cere componenta care face posibilă coexistența — adică furnizorul, nu beneficiarul.
| Rol | |
|---|---|
| a) Procesorul | hardware; oferă doar suport (Intel VT-x / AMD-V), nu este un „program” și nu partiționează nimic singur |
| b) Hypervisor | ✓ software-ul care creează, izolează și programează mai multe medii de execuție |
| c) Mașina virtuală | rezultatul virtualizării, nu cauza ei |
| d) Guest OS | conținutul unei VM |
Capcana de logică
Varianta „mașină virtuală” pare corectă pentru că VM-urile sunt cele care rulează sistemele de operare. Dar întrebarea este ce ne permite, nu ce rulează. Cauza este hypervisorul.
V3 · Ce tip de hypervisor este reprezentat în figură¶
┌──────────┐ ┌──────────┐
│ Guest OS │ │ Guest OS │
└──────────┘ └──────────┘
┌────────────────────────────┐
│ Hypervisor │
└────────────────────────────┘
┌────────────────────────────┐
│ System Hardware │
└────────────────────────────┘
Ce tip de hypervisor este reprezentat în figura de mai sus?
- a. Tip 1 – bare metal
- b. Tip 2 – bare metal
- c. Tip 1 – hosted
- d. Tip 2 – hosted
Răspuns și explicație
Răspuns: a) Tip 1 – bare metal
Citim figura de jos în sus: System Hardware → Hypervisor → Guest OS.
Nu există niciun „Host Operating System” între hardware și hypervisor → hypervisorul rulează direct pe fier → Tip 1, bare metal.
Dacă figura ar fi fost de Tip 2, ar fi avut un strat în plus:
Guest OS Guest OS
───────────────────
Hypervisor
───────────────────
Host Operating System ← acest strat lipsește în figura noastră
───────────────────
System Hardware
De ce (b) și © sunt imposibile: perechile sunt fixe prin definiție — Tip 1 ⇔ bare metal, Tip 2 ⇔ hosted. „Tip 2 – bare metal” și „Tip 1 – hosted” sunt contradicții în termeni, folosite ca umplutură. Practic, întrebarea are doar două variante reale: (a) și (d).
V4 · Caracteristica unui hypervisor bare-metal¶
Care dintre următoarele reprezintă o caracteristică a unui hypervisor de tip bare-metal?
- a. Rulează direct pe hardware-ul fizic
- b. Rulează în interiorul unui container
- c. Rulează deasupra unui alt hypervisor
- d. Este utilizat în mod obișnuit direct de către utilizatorii finali
Răspuns și explicație
Răspuns: a) Rulează direct pe hardware-ul fizic
Chiar definiția lui bare metal: „pe fierul gol”, fără sistem de operare gazdă dedesubt. Exemple: VMware ESXi, Microsoft Hyper-V (rol de server), Xen, KVM.
De ce cad celelalte:
| De ce e fals | |
|---|---|
| b) container | relația este inversă — containerele rulează deasupra unui SO, adesea în interiorul unei VM. Un hypervisor nu se pune într-un container. |
| c) peste alt hypervisor | descrie nested virtualization, o capabilitate specială, nu o caracteristică definitorie — și e exact opusul lui „bare metal” |
| d) utilizatori finali | inversat: utilizatorii finali folosesc hypervisoare de Tip 2 (VirtualBox, VMware Workstation). Tipul 1 se administrează de la distanță, în centre de date. |
V5 · Componenta de networking a unei mașini virtuale¶
Care din următoarele afirmații cu privire la componenta de networking a unei mașini virtuale este adevărată?
- a. O mașină virtuală trebuie să aibă o interfață de rețea (NIC) configurată în modul sniffing
- b. O mașină virtuală poate avea una sau mai multe interfețe de rețea (NICs) configurate
- c. O mașină virtuală trebuie să aibă minim 2 interfețe de rețea configurate
- d. O mașină virtuală nu poate avea interfețe de rețea configurate
Răspuns și explicație
Răspuns: b)
Este singura afirmație fără o constrângere inventată. O VM poate avea 0, 1 sau mai multe vNIC-uri, exact ca un calculator fizic. Cazuri reale:
- 0 vNIC-uri — o VM izolată, pentru calcule sau analiză de malware;
- 1 vNIC — cazul obișnuit;
- 2+ vNIC-uri — un firewall virtual (WAN + LAN), un server cu rețea de management separată de cea de producție.
De ce cad celelalte:
| De ce e fals | |
|---|---|
| a) obligatoriu „sniffing” | modul promiscuous este o opțiune pentru monitorizarea traficului, nu o cerință de funcționare |
| c) „minim 2” | constrângere inexistentă |
| d) „nu poate avea” | absurd — atunci nicio VM nu ar comunica |
Euristică de grilă
Când trei variante conțin obligații rigide („trebuie”, „minim 2”, „nu poate”) și una singură este permisivă („poate avea una sau mai multe”), cea permisivă este aproape întotdeauna cea corectă.
V6 · Ce reprezintă resursele virtuale¶
În contextul virtualizării, ce reprezintă resursele virtuale, precum procesorul, memoria și spațiul de stocare?
- a. Resurse fizice ale serverului, distribuite și gestionate de hypervisor pentru fiecare mașină virtuală
- b. Resurse create artificial, fără utilizarea unor componente hardware reale
- c. Resurse disponibile exclusiv pentru funcțiile de rețea
- d. Resurse care nu pot fi partajate între mai multe mașini virtuale
Răspuns și explicație
Răspuns: a)
Virtualizarea nu creează resurse — ea partiționează și programează resursele fizice existente:
| Resursă virtuală | Ce este în realitate |
|---|---|
| vCPU | timp de execuție pe nucleele fizice, alocat de planificatorul hypervisorului |
| vRAM | pagini de memorie fizică mapate în spațiul de adrese al VM-ului |
| vDisk | un fișier (.vmdk, .vhdx, .qcow2) sau un volum pe stocarea fizică |
De ce cad celelalte:
| De ce e fals | |
|---|---|
| b) „fără hardware real” | imposibil — orice instrucțiune se execută în final pe un procesor fizic |
| c) „exclusiv rețea” | enunțul însuși menționează procesor, memorie și stocare |
| d) „nu pot fi partajate” | exact invers: partajarea este scopul virtualizării. Hypervisoarele permit chiar overcommitment (alocarea a mai multor resurse virtuale decât cele fizice existente, mizând pe faptul că nu toate VM-urile le folosesc simultan la maximum). |
Rezumatul capitolului¶
| Concept | Esența |
|---|---|
| Hypervisor = VMM | oferă acces la resursele fizice pentru VM-uri |
| Tip 1 = bare metal | direct pe hardware · ESXi, Hyper-V, Xen, KVM · producție |
| Tip 2 = hosted | peste un Host OS · VirtualBox, VMware Workstation · desktop |
| Ce permite mai multe SO | hypervisorul (nu VM-ul, nu procesorul) |
| Resurse virtuale | resurse fizice, partiționate și partajabile |
| vNIC-uri | 0, 1 sau mai multe — fără constrângeri |
| VM vs. container | VM = kernel propriu · container = kernel partajat |