Red Hat Enterprise Linux 5

Soluciones de virtualización

Libertad sobre las mejoras
Seguridad
Desarrollo y testeo
Migración en vivo
Aislamiento de falla

Libertad sobre las mejoras

Una molestia común para los administradores es el importante trabajo de acondicionamiento y testeo que es requerido cuando se introduce una nueva versión de un sistema operativo base. Los beneficios del nuevo software pueden ser menores para la mayoría de las aplicaciones, pero pueden ser requeridos para acomodar una aplicación o una nueva opción de software.

La virtualización brinda un escape a este problema. El stack existente puede continuar ejecutándose ya que es como un invitado dentro de una máquina virtual, mientras que el último hipervisor felizmente brinda soporte al nuevo hardware, y además genera beneficios de confiabilidad y rendimiento. Las pocas aplicaciones que necesitan la nueva versión del sistema operativo pueden ejecutarse en otra máquina virtual con la última versión.

Esto significa que las mejoras sólo necesitan realizarse cuando los administradores de sistemas lo desean. Ellos nunca más serán forzados a una mejora costosa y no planificada en el software.

Seguridad

Mientras un sistema que sólo se usa para una aplicación puede ser bloqueado, muchos sistemas hoy en día tienen acceso compartido, y es importante garantizar que se mantenga la privacidad.

La virtualización permite que cada aplicación y los datos se coloquen en una máquina virtual por separado. Esto tiene muchas de las ventajas de bloquear cada sistema físico, pero sin la proliferación de hardware. Como la virtualización aísla a cada invitado, cada invitado es mucho menos susceptible a un intercambio no deseado. Cualquier ataque exitoso está limitado a aquel invitado que es penetrado. Junto a SELinux y Red Hat Identity Management, es posible alcanzar un alto grado de aislamiento de datos y usuarios sin requerir servidores por separado para cada usuario.

Desarrollo y testeo

El desarrollo del software requiere un largo ciclo con muchas iteraciones de codificación, depuración y testeo. En el pasado, la depuración y testeo requerían muchos sistemas separados. Ha sido difícil construir los conjuntos de datos y redes más grandes que se necesitan para el testeo. La virtualización brinda un número de soluciones.

Los desarrolladores pueden recibir máquinas virtuales individuales que ellos pueden activar y detener sin que se impacten entre sí. Los desarrolladores ya no necesitan máquinas físicas individuales. Esto permite una depuración mucho mejor del código, incluido el código kernel.

Como las máquinas virtuales se pueden activar, detener, y modificar rápida y fácilmente, es posible automatizar una gran serie de testeos de regresión. Los scripts pueden suministrar diferentes versiones de aplicaciones y sistemas operativos, ejecutar conjuntos de datos conocidos contra ellos, y plotear e informar los resultados. Si un sistema muere, el script puede detectar esto, ya que sólo el invitado se cuelga, no la DOM 0 base.

Cuando se necesita utilizar grandes colecciones de sistemas, se pueden traer múltiples invitados interconectados y se puede simular una gran red física con un pequeño número de servidores físicos. Esto puede permitir el testeo de escalabilidad que raramente se realiza en la actualidad. En realidad, durante las horas de desconexión, los ciclos extras de las máquinas de producción no utilizados también pueden ser usados para evaluar de manera segura debido a la seguridad y a los firewalls de cada invitado.

Migración en vivo

La migración en vivo permite la migración de invitados paravirtualizados en Red Hat Enterprise Linux Versión 5 de un servidor físico a otro en la red. Cuando el invitado es obligado a moverse (por un programa o por un administrador de sistema usando las herramientas de administración estándar Red Hat enterprise Linux) el hipervisor en el sistema "desde" funciona con el hipervisor en el sistema "hacia" para preparar suficiente memoria para tener al invitado que está migrando. Entonces se copia la memoria en la red hasta que sólo queda memoria "activa". Como el invitado de la máquina "desde" aún se está ejecutando y sirviendo a los invitados nosotros definimos a la memoria "activa" como la memoria que está activamente en uso. Luego el hipervisor "desde" hace una pausa en el invitado y copia el resto de la memoria activa. Después de esto, el hipervisor de la máquina "hacia" hace que el invitado se ejecute. Como toda las conexiones I/O y red se mantienen en la memoria copiada, todas estas conexiones son persistentes, y entonces con sólo una breve pausa ( < 200 ms), el trabajo continúa sirviendo a los clientes. Observe que los sistemas deben estar en la misma sub-red para que el socket de red persista, y deben tener un almacenamiento común para que los archivos abiertos persistan. No se necesita un administrador de bloqueo (lock manager) e iSCSI, GNDB, o cualquier SAN funcionarán bien.

La migración en vivo se hace por muchos motivos.

  1. Un invitado se usa tanto que se migra a una nueva máquina, u otros invitados en esa máquina son migrados afuera para darle más recursos al invitado ocupado.
  2. Un sistema comienza advirtiendo errores de soft en la memoria, sobre alertas de temperatura, u otras indicaciones de una falla inminente. Los invitados pueden migrar hacia afuera antes de ser desconectados, y el servidor puede ser liberado para el mantenimiento.
  3. Para prepararse para un pesado batch stream como es común con algunos ERP o financeruns, los invitados pueden ser migrados desde un servidor para brindar capacidad. Del mismo modo, los invitados se pueden consolidar en unas pocas máquinas de manera que ese exceso de capacidad se pueda sacar de línea para ahorrar energía.

Aislamiento de falla

Un buen motivo para crear un gran número de invitados y ejecutar pocas funciones para cada invitado es minimizar el efecto dominó de una falla. Generalmente si un trabajo en un sistema SMP grande se cuelga, es probable que todos los hubs de ese sistema fallen o se cuelguen. Con la Virtualización Red Hat, cada función se puede colocar en su propio invitado. Luego si falla, o si tiene un problema de seguridad, la falla no se propagará y sólo ese invitado será impactado. Por medio del uso inteligente de la migración y del software cluster HA es fácil tener instancias de backup listas para continuar con otras máquinas en caso de un problema con un invitado o carga de trabajo.