QVD ha sido diseñado para utilizar tecnologías de virtualización como KVM (Máquina Virtual Kernel) y LXC (Contenedores Linux). Cada tecnología de virtualización ofrece una serie de ventajas que se adaptan según las necesidades o casos de uso particular del cliente.
Arquitectura de QVD
Esta imagen muestra la típica conectividad de red e interacciones entre los diferentes componentes dentro de un ambiente de producción. Aquí, está claro que a los componentes L7R se accede por un hardware distribuidor de carga estándar, pero que aún son capaces de mandar conexiones a la máquina virtual correcta, incluso aunque se esté operando desde un servidor de nodos diferente. La imagen también muestra cómo las Máquinas Virtuales son cargadas desde imágenes almacenadas dentro de un ambiente de almacenamiento compartido, mientras que HKD es capaz de arrancar Máquinas Virtuales para usuarios mientras se requieran.
Diagramas de Arquitectura de Alto Nivel
En esta sección daremos algunos simples diagramas explicando la arquitectura de un típico despliegue de QVD para enseñar cómo los diferentes componentes interactúan.
1 Interacción del Cliente y el Servidor en la arquitectura del QVD.
2 Interacciones del QVD-WAT y el nodo del servidor en la arquitectura del QVD.
Despliega tus escritorios virtuales desde distintos hipervisores
Contenedores Linux (LXC)
LXC provee una virtualización del nivel del sistema. De esta manera, actúan como una alternativa a la virtualización del nivel del hardware provista por el hipervisor KVM. LXC se comporta de manera similar a un entorno chroot dentro de Linux, pero ofrece un gran nivel de aislamiento y manejo de los recursos entre contenedores, a través del uso de namespaces y cgrupos. Por ejemplo el proceso IDs (PIDs), los recursos de la red y montes para cada contenedor serán aislados de otros contenedores y pueden ser lógicamente agrupados juntos para aplicar normas de gestión de recursos y otras políticas específicas para cada contenedor. Esto te permite adquirir muchos beneficios de virtualización mientras limitas la mayoría de los requisitos de los recursos y reutilizas el mismo núcleo a través de máquinas virtuales. LXC está totalmente apoyado por el Núcleo de Linux, y ha sido incluido en el QVD.
Kernel Virtual Machine (KVM)
KVM es un hipervisor multifunción que funciona dentro del núcleo del sistema operativo host de linux. El hipervisor asegura absoluta separación del sistema operativo subyacente, permitiéndote cargar completamente diferentes sistemas operativos y de distribución dentro de cada máquina virtual y esperar que funcionen como si estuvieran funcionando en un hardware completamente separado.
Mientras que haya algún debate sobre si KVM es de verdad un hipervisor Bare Metal de tipo 1, ya que requiere al núcleo de linux para funcionar, la mayoría de los expertos de virtualización están de acuerdo en que combinado con el núcleo linux, el KVM funciona exactamente igual que cualquier otro hipervisor Bare Metal, como el Xen o Vmware's ESXi. De hecho, en los artículos de referencia SPECvirt recientemente publicados en 2011, KVM era el segundo en actuación solo por detrás de VMWare ESX, indicando un gran nivel de viabilidad como una plataforma de virtualización de calidad comercial.
Ya que el KVM usa separación absoluta, es más fácil configurar y manejar que el LXC. Sin embargo, aunque ofrece una actuación competitiva a otros hipervisores hardware, cada máquina virtual funciona necesariamente en su propio núcleo. Los recursos necesitan ser dedicados a cada máquina virtual, tanto si están siendo usados como si no. De esta manera, el KVM no es tan eficiente como el LXC, pero ofrece una más grande flexibilidad y relajación de la gestión.