Curs 7 - Arhitectura și Mecanismele Avansate ale Virtualizării

În acest curs vom explora mecanismele avansate ale virtualizării, inclusiv hypervisors, suportul hardware pentru virtualizare, tehnologii precum VT-x, AMD-V, SR-IOV și paravirtualizare, precum și optimizarea performanței în medii virtualizate.

1. Arhitectura Virtualizării și Rolul Hypervisorului

Hypervisorul este componenta care gestionează resursele hardware și alocă instanțe de mașini virtuale.

- Tipuri de Hypervisors:

- Type 1 (Bare Metal): Rulează direct pe hardware (ex: ESXi, Hyper-V, Xen).

- Type 2 (Hosted): Rulează ca o aplicație în interiorul unui OS gazdă (ex: VirtualBox, VMware Workstation).

- Modele de Virtualizare:

- Full Virtualization: Mașina virtuală este complet izolată de hardware.

- Paravirtualization: Sistemul de operare virtualizat este conștient că rulează într-un mediu virtualizat.

- Hardware-assisted Virtualization: Utilizează suport hardware pentru accelerare.

2. Suport Hardware pentru Virtualizare

- Intel VT-x și AMD-V:

- Instrucțiuni speciale pentru a reduce overhead-ul virtualizării.

- Permit rularea de mașini virtuale fără modificări la kernel-ul OS-ului invitat.

- Extended Page Tables (EPT) și Rapid Virtualization Indexing (RVI):

- Tehnologii care accelerează mapping-ul memoriei virtuale la fizică.

- Nested Virtualization (VM în VM):

- Permite rularea de hypervisoare în interiorul unei VM.

3. Paravirtualizare și KVM/QEMU

- Ce este Paravirtualizarea?

- VM-urile folosesc drivere optimizate pentru a comunica cu hypervisorul.

- VirtIO: Accelerarea I/O în VM-uri:

- VirtIO este un set de drivere paravirtualizate pentru îmbunătățirea performanței I/O.

- KVM și integrarea cu QEMU:

qemu-system-x86_64 -enable-kvm -m 2048 -hda ubuntu.img

4. Networking și Storage în Medii Virtualizate

- Bridge Networking vs. NAT vs. Host-only Networking:

- Bridge Networking permite accesul direct la rețea ca un dispozitiv fizic.

- NAT permite VM-ului să acceseze internetul prin rețeaua gazdă.

- Ce este SR-IOV (Single Root I/O Virtualization)?

- Permite VM-urilor acces direct la interfețele de rețea pentru performanță optimă.

- Ce este VFIO (Virtual Function I/O) și cum îmbunătățește performanța?

- Permite passthrough-ul direct al dispozitivelor PCIe către VM-uri.

- Optimizarea accesului la disc:

- VirtIO, NVMe passthrough, iSCSI, Ceph RBD pentru îmbunătățirea performanței storage-ului.

5. Exemplu Practic - Optimizarea Performanței unei VM

a) Activarea accelerării hardware pentru o VM

kvm-ok  # Verifică suportul hardware pentru virtualizare

b) Configurarea unei interfețe de rețea dedicate pentru o VM

ip link add br0 type bridge
ip link set br0 up

c) Utilizarea SR-IOV pentru acces direct la hardware

echo 1 > /sys/class/net/enp3s0/device/sriov_numvfs

Resurse suplimentare: