Virtual

Published on May 2016 | Categories: Documents | Downloads: 32 | Comments: 0 | Views: 188
of 10
Download PDF   Embed   Report

Comments

Content

En informática una máquina virtual es un software que simula a una computadora y puede ejecutar programas como si fuese una computadora real. Este software en un principio fue definido como "un duplicado eficiente y aislado de una máquina física". La acepción del término actualmente incluye a máquinas virtuales que no tienen ninguna equivalencia directa con ningún hardware real. Una característica esencial de las máquinas virtuales es que los procesos que ejecutan están limitados por los recursos y abstracciones proporcionados por ellas. Estos procesos no pueden escaparse de esta "computadora virtual". Uno de los usos domésticos más extendidos de las máquinas virtuales es ejecutar sistemas operativos para "probarlos". De esta forma podemos ejecutar un sistema operativo que queramos probar (GNU/Linux, por ejemplo) desde nuestro sistema operativo habitual (Mac OS X por ejemplo) sin necesidad de instalarlo directamente en nuestra computadora y sin miedo a que se desconfigure el sistema operativo primario.

VIRTUALIZACIÓN
Dada la criticidad que toma el equipo en el cual se ubican todas las máquinas virtuales de una empresa, es importante tener en cuenta la opción de montar el entorno de virtualización haciendo uso de un mínimo de dos equipos para así garantizar la continuidad de la operativa de la empresa aún en el caso de que se produzca una avería grave en uno de los equipos. Esta solución redundantes es lo que se conoce como Cluster de Virtualización en Alta Disponibilidad.
Alta Disponibilidad

Estos sistemas están constituidos por dos o más nodos configurados de tal modo que se permita la ejecución de máquinas virtuales de forma simultánea en ambos nodos del cluster, pero en caso de caída de uno de los nodos del cluster, el nodo hermano asume su papel ejecutando sus máquinas virtuales, de tal modo que se garantiza la continuidad en el servicio de virtualización.

Veamos un ejemplo para entender mejor la importancia de la alta disponibilidad. Imaginemos que tenemos nuestro sistema de virtualización formado por un único servidor físico en el cual ejecutamos cuatro máquinas virtuales, una como servidor de ficheros, otra para nuestra aplicación de contabilidad, un servidor de correo IMAP y un controlador de dominio.

Cualquier avería que se produzca en el servidor de virtualización dará lugar a que todos los servidores dejen de funcionar, provocando molestias a los usuarios hasta que la avería sea resuelta. Si se trata de una avería de hardware grave (por ejemplo, un fallo en la placa base) podemos llegar a estar varios días, incluso semanas, con el sistema parado, lo cual puede repercutir en importantes pérdidas económicas y de negocio.

En el siguiente gráfico se puede apreciar una configuración en cluster de dos nodos, en la cual las máquinas virtuales correspondientes al servidor de ficheros y a la contabilidad se ejecutan en uno de los servidores, mientras que las correspondientes al correo y controlador de dominio windows en el otro servidor. Es decir, estamos repartiendo la carga de trabajo entre los dos servidores de virtualización que forman el cluster.

En una arquitectura cluster de este tipo, una avería de cualquier índole (por ejemplo, que se estropee la placa base) en cualquiera de los nodos no implica una parada

del sistema, dado que las máquinas virtuales que estuvieran funcionando en el nodo estropeado pasan a ejecutarse automáticamente en el otro nodo sin que el usuario tenga constancia de la avería.

Gracias a es esto se puede solucionar la avería sin interrupción de servicio.

Virtualización
En informática, virtualización es un amplio término que se refiere a la abstracción de los recursos de una computadora. Este término es bastante antiguo: viene siendo usado desde 1960 o antes, y ha sido aplicado a diferentes aspectos y ámbitos de la computación, desde sistemas computacionales completos hasta capacidades o componentes individuales. El tema en común de todas las tecnologías de virtualización es la de ocultar los detalles técnicos a través de la encapsulación. La virtualización crea una interface externa que esconde una implementación subyacente, por ejemplo mediante multiplexing acces, mediante la combinación de recursos en locaciones físicas diferentes, o mediante la simplificación del sistema de control. Un reciente desarrollo de nuevas plataformas y tecnologías de virtualización han hecho que se vuelva a prestar atención a este maduro concepto. De modo similar al uso de términos como “abstracción”

y “orientación de objetos”, virtualización es usado en muchos contextos diferentes. En este artículo vamos a ver los usos más comunes de este término, para esto lo dividimos en dos categorías principales:
 Virtualización de plataforma que involucra la simulación de máquinas virtuales.  Virtualización de recursos que involucra la simulación de recursos combinados,

fragmentados o simples.

Asimismo, el término virtualización es un concepto importante en contextos no computacionales. Muchos sistemas de control implementan interfaces virtuales en un mecanismo complejo; de esta manera el pedal del acelerador de un auto moderno hace más que solo aumentar el flujo del combustible hacia el motor; y el sistema de vuelos por cables (fly by wire) presenta un avión virtual simplificado que tiene muy poco que ver con la implementación física.

Virtualización de plataforma
El sentido original del término virtualización, nacido en 1960, es el de la creación de una máquina virtual utilizando una combinación de hardware y software. Para nuestra conveniencia vamos a llamar a esto virtualización de plataforma. El término máquina virtual aparentemente tiene su origen en el experimento del sistema de paginación (paging system) de IBM M44/44X. La creación y administración de las máquinas virtuales también se refiere a la creación de seudo máquinas, en los primeros días de la CP-40, y de virtualización de servidores más recientemente. Los términosvirtualización y máquina virtual han adquirido, a través de los años, significados adicionales.

La virtualización de plataforma es llevada a cabo en una plataforma de hardware mediante un software “host” (un programa de control) que simula un entorno computacional (máquina virtual) para su software “guest”. Este software “guest”, que generalmente es un sistema operativo completo, corre como si estuviera instalado en una plataforma de hardware autónoma. Típicamente muchas máquinas virtuales son simuladas en una máquina física dada. Para que el sistema operativo “guest” funcione, la simulación debe ser lo suficientemente robustos como para soportar todas las interfaces externas de los sistemas guest, las cuales pueden incluir (dependiendo del tipo de virtualización) los drivers de hardware. Existen muchos enfoques a la virtualización de plataformas, aquí se los listamos basándonos en cuán completa es implementada una simulación de hardware (estos términos no son reconocidos universalmente como tales, sin embargo todos los conceptos pueden ser encontrados en los libros).


Emulación o simulación: la máquina virtual simula un hardware completo, admitiendo un sistema operativo “guest” sin modificar para una CPU completamente diferente. Este enfoque fue muy utilizado para permitir la creación de software para nuevos procesadores antes de que estuvieran físicamente disponibles. Por ejemplo Bochs, PearPC, Qemu sin aceleración, y el

emulador Hercules. La emulación es puesta en práctica utilizando una variedad de técnicas, desde state machines hasta el uso de la recopilación dinámica en una completa plataforma virtual.


Virtualización nativa y virtualización completa: la máquina virtual simula un hardware suficiente para permitir un sistema operativo “guest” sin modificar (uno diseñado para la misma CPU) para correr de forma aislada. Típicamente, muchas instancias pueden correr al mismo tiempo. Este enfoque fue el pionero en 1966 con CP-40 y CP[-67]/CMS, predecesores de la familia de máquinas virtuales de IBM. Algunos ejemplos: VMware Workstation, VMware Server, Parallels Desktop, Adeos, Mac-on-Linux, Win4BSD, Win4Lin Pro y z/VM.



Virtualización parcial (y aquí incluimos el llamado “address space virtualization”): la máquina virtual simula múltiples instancias de mucho (pero no de todo) del entorno subyacente del hardware, particularmente address spaces. Este entorno admite compartir recursos y aislar procesos, pero no permite instancias separadas de sistemas operativos “guest”. Aunque no es vista como dentro de la categoría de máquina virtual, históricamente éste fue un importante acercamiento, y fue usado en sistemas como CTSS, el experimental IBM M44/44X, y podría decirse que en sistemas como OS/VS1, OS/VS2 y MVS.



Paravirtualización: la máquina virtual no necesariamente simula un hardware, en cambio ofrece una API especial que solo puede usarse mediante la modificación del sistema operativo “guest”. La llamada del sistema al hypervisor tiene el nombre de “hypercall” en Xen y Parallels Workstation; está implementada vía el hardware instruction DIAG (“diagnose”) en el CMS de VM en el caso de IBM (este fue el origen del término hypervisor). Ejemplo: VMware ESX Server, Win4Lin 9x y z/VM.



Virtualización a nivel del sistema operativo: virtualizar un servidor físico a nivel del sistema operativo permitiendo múltiples servidores virtuales aislados y seguros correr en un solo servidor físico. El entorno del sistema operativo “guest” comparte el mismo sistema operativo que el del sistema “host” (el mismo kernel del sistema operativo es usado para implementar el entorno del “guest”). Las aplicaciones que corren en un entorno “guest” dado lo ven como un sistema autónomo. Ejemplos: Linux-VServer,Virtuozzo, OpenVZ, Solaris Containers y FreeBSD Jails.



Virtualización de aplicaciones: consiste en el hecho de correr una desktop o una aplicación de server localmente, usando los recursos locales, en una máquina virtual apropiada. Esto contrasta con correr la aplicación como un software local convencional (software que fueron “instalados” en el sistema).

Semejantes aplicaciones virtuales corren en un pequeño entorno virtual que contienen los componentes necesarios para ejecutar, como entradas de registros, archivos, entornos variables, elementos de uso de interfaces y objetos globales. Este entorno virtual actúa como una capa entre la aplicación y el sistema operativo, y elimina los conflictos entre aplicaciones y entre las aplicaciones y el sistema operativo. Los ejemplos incluyen el Java Virtual Machine de Sun, Softricity, Thinstall, Altiris y Trigence (esta metodología de virtualización el claramente diferente a las anteriores; solo una pequeña línea divisoria los separa de entornos de máquinas virtuales como Smalltalk, FORTH, Tel, P-code).

Virtualización de los recursos
El concepto básico de la virtualización de plataforma, descrita anteriormente, se extendió a la virtualización de recursos específicos del sistema como la capacidad de almacenamiento, nombre de los espacios y recursos de la red.
Los términos resource aggregation, spanning o concatenation (name spaces) se utilizan cuando se combinan componentes individuales en un mayor recurso o en un recurso de uso común (resource pools). Por ejemplo RAID y volume managers combinan muchos discos en un gran disco lógico. La Virtualización de almacenamiento (Storage virtualization) refiere al proceso de abstraer el almacenamiento lógico del almacenamiento físico, y es comúnmente usado en SANs (Storage Area Network). Los recursos de almacenamientos físicos son agregados al storage pool, del cual es creado el almacenamiento lógico. Múltiples dispositivos de almacenamiento independientes, que pueden estar dispersos en la red, le aparecen al usuario como un dispositivo de almacenamiento independiente del lugar físico, monolítico y que puede ser administrado centralmente. Channel bonding y el equipamiento de red utilizan para trabajar múltiples links combinados mientras ofrecen un link único y con mayor amplitud de banda. Virtual Private Network (VPN), Network Address Translation (NAT) y tecnologías de red similares crean una red virtual dentro o a través de subredes.

Sistemas de computación multiprocessor y multi-core muchas veces presentan lo que aparece como un procesador único, rápido e independiente. Cluster, grid computing y servidores virtuales usan las tecnologías anteriormente mencionadas para combinar múltiples y diferentes computadoras en una gran metacomputadora. Particionamiento es la división de un solo recurso (generalmente grande), como en espacio de disco o ancho de banda de la red, en un número más pequeño y con recursos del mismo tipo más fáciles de utilizar. Esto es muchas veces llamado “zoning”, especialmente en almacenamiento de red. Encapsulación es el ocultamiento de los recursos complejos mediante la creación de una interface simple. Por ejemplo, muchas veces CPUs incorporan memoria cache o pipeline para mejorar la performance, pero estos elementos no son reflejados en su interface virtual externa. Interfaces virtuales similares que ocultan implementaciones complejas se encuentran en los discos, modems, routers y otros dispositivos “inteligentes” (smart).

Virtuozzo
Virtuozzo crea múltiples servidores dedicados virtuales o VPS totalmente insolados en un sólo servidor físico, compartiendo la red, el hardware y las licencias con la máxima eficiencia.
Frecuentemente denominado virtualización compartida del SO o virtualización del SO, la virtualización del SO virtualiza servidores en la capa del sistema operativo (kernel). Este método de virtualización crea particiones aisladas o entornos virtuales (VE's o VPS's) en un único servidor físico e instancia de SO para así maximizar los esfuerzos de administración del hardware, software y centro de datos. El modelo de virtualización del SO es mucho más eficiente, mejorando así el rendimiento, administración y eficacia. En la base hay el sistema operativo del equipo autónomo, que en el caso de Virtuozzo incluye Windows y Linux. A continuación encontramos la capa de virtualización con un sistema propietario de archivos y una capa kernel de abstracción de servicio que garantiza el particionamiento y la seguridad de los recursos entre distintos entornos virtuales. La capa de virtualización hace que los entornos virtuales parezcan servidores autónomos. Finalmente, el entorno virtual aloja la aplicación o flujo de trabajo.

Cada VPS funciona y ejecuta las aplicaciones exactamente igual que un servidor dedicado, tiene su propio sistema operativo, acceso a root, usuarios, direcciones IP, memoria, procesos, bibliotecas de sistema y archivos de configuración. La poca carga que tiene junto a la eficiencia en el diseño deVirtuozzo lo hace la mejor elección para para servidores de producción con aplicaciones críticas o para servicios de alojamiento web.

Particionamiento dinámico en tiempo real
Divide un servidor físico en múltiples servidores dedicados virtuales VPS conservando cada uno de ellos toda la funcionalidad. Maneja los recursos como un Mainframe, monitoreando y controlando totalmente el hardware. Además de la CPU estandar, el espacio en disco, el tráfico entrante y saliente de la red, también maneja la memoria (usuario, kernel y cache de disco) y el acceso a disco en lectura y escritura. Cada VPS está completamente aislada de los demás con los máximos y mínimos asignados para cada cada recurso garantizados.

Manejo de recursos
Se puede asignar y controlar los recursos de cada VPS independientemente, sin necesidad de reinicializarla y en tiempo real. Se pueden mover aplicaciones o servidores virtuales enteros desde un servidor físico a otro, para mantenimiento, actualizaciones del servidor o distribución de carga, en unos segundos sin que los usuarios conectados lo noten y sin necesidad de apagar o resetear cada servidor y practicamente sin tiempos muertos.

Administración total
Permite administrar cientos de servidores virtuales tan facilmente como un solo servidor. Cada servidor es totalmente indepediente de los demás exactamente igual que un servidor dedicado estandar.

Sponsor Documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close