materials

Virtualització de hardware

Introducció

En informàtica anomenem virtualitzar a crear amb software una representació (versió virtual) d’algun recurs de manera que simula el seu funcionament. A aquesta versió virtual del recurs físic se li anomena recurs virtualitzat o lògic i s’ha de poder utilitzar igual que si fos un recurs físic.

Hi ha moltes coses que es poden virtualitzar: maquinari, programari, emmagatzemament, xarxa, … Nosaltres así vorem la virtualització de maquinari (hardware) (també anomenada virtualització de plataforma).

Virtualització de maquinari

Moltes vegades tenim la necessitat de provar un programa informàtic o fer proves d’un altre sistema operatiu diferent del que estem utilitzant en el nostre ordinador. Quina és la possible solució?:

La solució més senzilla és utilitzar un programa de virtualització de hardware que simula tot el hardware d’un equip de manera que s’administra el hardware virtual creat com si fos real. Eixos equips virtualitzats que creem s’anomenen màquines virtuals.

Hi ha diferents tipus de tecnologies per a crear màquines virtuals:

Les maquines virtuals de procés ens permeten executar un programa dissenyat per a una arquitectura de maquinari o un sistema operatiu diferents dels que tenim en la màquina real. Ho fan creant un procés que emula el sistema necessari. Un exemple és JVM (Java Virtual Machine) que permet executar un programa Java en qualsevol dispositiu que tinga una JVM instal·lada.

Els contenidors simulen una màquina però utilitzant el sistema operatiu de l’equip amfitrió. Es com si tingueren diferents equips virtuals però tots utilitzant el mateix sistema operatiu. Exemple: Docker, LXC, OpenVZ, … Aquesta tecnologia també s’anomena paravirtualització-

Els hipervisors ens permeten simular tot el maquinari i en ells podem executar un sistema operatiu que potser diferent al de la màquina real i que tindrà la il·lusió d’executar-se sobre un equip real.

Hipervisor vs contenidor

docker.com, CC BY-SA 4.0, via Wikimedia Commons

Font: https://commons.wikimedia.org/wiki/File:Docker-containerized-and-vm-transparent-bg.png

Hipervisors

Una màquina virtual és un programari que emula un ordinador. Per tant és com si dins del nostre ordinador crearem més ordenadors “virtuals”.

Virtualització

Cadascun d’aqueixos ordinadors virtuals haurà de tindre el seu sistema operatiu i les seues aplicacions instal·lades, que en tot moment funcionen com si estigueren en un ordinador real. Per a l’ordinador real cada màquina virtual no és mes que un programa executant-se.

Els sistemes operatius instal·lats en les màquines virtuals s’anomenen sistemes convidats o guest. El sistema operatiu de la màquina real en la qual hem instal·lat el programari de virtualització s’anomena sistema amfitrió o host. El software que realitza la virtualització s’anomena hipervisor.

Hardware_Virtualization

Tant els processadors Intel (amb Intel-VT) com els AMD (amb AMD-V) des de fa molts anys han afegit als seus processadors una funcionalitat que permet incrementar el rendiment dels sistemes virtualitzats.

NOTA: abans de crear les nostres màquines virtuals s’assegurarem que tenim activada aquesta funcionalitat en la BIOS del nostre equip.

La tendència actual és un creixement de la virtualització tant a nivell empresarial com domèstic ja que els actuals processadors són molt potents i permeten esta tecnologia. En l’àmbit s’utilitza normalment per a provar altres sistemes operatius o per a executar programes per a altres sistemes.

En l’àmbit empresarial és molt utilitzada per a consolidar servidors, és a dir, tindre varios servidors virtuals en un equip es que permet:

Avantatges i inconvenients de virtualitzar

Utilitzar sistemes virtualitzats té molts avantatges com són:

D’altra banda, també té inconvenients com són:

Tipus de virtualització

Existeixen diferents tipus de virtualització, com podem veure en la Wikipèdia.

La més comuna és la virtualització completa en la qual s’emula completament el maquinari de la màquina i el sistema operatiu s’executa com si estigues en una màquina real (també es diu execució nativa).

Ací la virtualització es realitza mitjançant un programa anomenat hipervisor i pot ser de 2 tipus:

També tenim altres opcions com: