Conceptos virtualización – Virtualization series (I)

Virtualización

En este post intentaré explicar brevemente la virtualización así como la finalidad de la misma.
La virtualización parte del concepto de “liberar” el software del hardware, es decir, en una máquina normal (ordenador) se suelen tener uno o más sistemas operativos, pero sólo se puede usar uno de ellos a la vez. La virtualización permite ejecutar y usar dos sistemas operativos simultáneamente. No sólo permite ejecutar varios sistemas operativos a la vez en una misma máquina, sino que también permite ejecutar aplicaciones virtualizadas, permitiendo usarlas en cualquier sistema operativo, eliminando así la barrera de la dependencia del sistema operativo para ejecutar una aplicación determinada.
La virtualización que cubriremos en este post, es la que se llama de tipo I o “bare metal”. Se utilizará un sistema Hypervisor que contendrá las máquinas virtuales.
VirtvsTraditional
El Hypervisor del que hablaré es VMware ESXi (anteriormente conocido como ESX). Cambió el nombre ya que también cambió su arquitectura interna. A lo largo de este post intentaré detallarlo lo máximo posible.

VMware ESX

VMware ESX opera con su propio kernel, llamado “vmkernel”. El kernel vmkernel es arrancado a través de un kernel Linux que arranca primero, el cual es usado para cargar diversos componentes de virtualización, incluyendo el vmkernel. Una vez se ha cargado vmkernel, el kernel Linux se convierte en la primera máquina virtual activa, llamada: “Service console”. Es decir una vez arrancado el kernel linux es ejecutado sobre vmkernel como una primera máquina virtual.
Vmkernel se encarga directamente de la CPU y la memoria, tiene tres interfaces que pueden ser vistas desde fuera:

  • Hardware
  • “Service console”
  • Sistemas virtualizados

vmkernel se encarga directamente de la CPU y la memoria, usando SBE (Scan Before Execution) para manejar instrucciones de CPU especiales o con prioridad. Además usa RAT (system Resurce Allocation Table) para llevar un control del uso y mapeo de memoria.Para acceder a otro hardware como podrían ser tarjetas de red o discos SCSI usa módulos del kernel. Para acceder a estos módulos se usa un módulo adicional llamado vmklinux el cual implementa la interfaz de módulos de Linux.
Service console se usa como ayuda para cargar el kernel Linux y luego pasa a segundo plano como consola de configuración y mantenimiento. Estas dos funciones ya no se usan para la nueva arquitectura de ESXi.
srvice console

VMware ESXi

La arquitectura ESX se quedó un poco anticuada con la necesidad de cargar 2 kernels y eso consumía recursos, la nueva arquitectura de ESXi, sólo carga un Kernel (vmkernel) y no necesita otro kernel linux para ser cargado.
Además ESXi permite que modulos de otros fabricantes se ejecuten directamente sobre VMkernel para proporcionar monitoraje y drivers. Los agentes de VMware se ejecutan directamente en el VMkernel, siendo más eficientes.
Ya que tiene un enfoque por imágenes (SO), permite revertir a la versión anterior si se obtienen resultados no deseados con una actualización determinada. Menor carga de memoria necesaria para arrancar el sistema operativo, y menor consumo de memoria durante la ejecución del mismo.

ESXi arch

En el siguiente post detallaré la instalación del Hypervisor VMware ESXi.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s