¿Qué es la virtualización?
Es una técnica que posibilita la ejecución de uno o más servidores (denominados servidores virtuales) sobre un único servidor físico. Cada servidor tiene asignado de forma independiente un conjunto de recursos de hardware y ejecuta su propia copia del sistema operativo.
El software que ejecuta las tareas antes mencionadas se conoce de manera genérica como Hypervisor.
El software Hypervisor se encarga de:
- La planificación y ejecución de las máquinas virtuales.
- Gestiona acceso compartido a los recursos de hardware.
- Generará que los recursos reales de nuestro equipo físico se abstraigan y se utilicen en conveniencia.
Algunos conceptos requeridos para entender la virtualización:
- Host OS: Es el Host donde reside el hardware junto con su sistema operativo y proveerá los
recursos a las máquinas virtuales y compartir los mismos. - Guest OS: Es el “sistema operativo” que está instalado dentro de la máquina virtual. Esta
puede ser distinta o no del sistema operativo del Host OS, o puede estar obligada a
ser la misma que el sistema operativo de Host OS. - Hypervisor: También se lo conoce como Virtual Machine Manager y es la aplicación que permite
utilizar distintas técnicas de virtualización para ejecutar al mismo tiempo diferentes
sistemas operativos.
Tipos de hipervisores:
Los hipervisores pueden clasificarse en dos tipos:
- Virtualización basada en el Hypervisor: El Hypervisor se ejecuta directamente sobre el hardware para controlarlo y a su vez también controla el Guest OS. De esta manera se reduce el overhead que genera que una máquina virtual deba transitar el sistema operativo para llegar al hardware. Incluso desde aquí podremos controlar al resto de las máquinas virtuales a través del Hypervisor.
- Software que puedes utilizar: KVM, XEN, Microsoft HYPER-V,
- Virtualización basada en el Host: El Hypervisor se ejecuta dentro del sistema operativo, por lo que el sistema operativo del Host OS se encargará de coordinar las llamadas para el uso de CPU, memoria, disco, red y otros recursos. Este tipo de virtualización hace que los usuarios finales corran una máquina virtual dentro de un dispositivo personal.
- Software que puedes utilizar: Vmware y Virtualbox