martes, 11 de octubre de 2016

maquina virtual

Definición de máquina virtual (virtual machine)

Una máquina virtual es un ordenador de software perfectamente aislado que puede ejecutar su propio sistema operativo (sistema operativo virtual, guest o invitado) y aplicaciones como si fuera un ordenador físico.

Un ordenador virtual es un software que simula el hardware de un ordenador físico y que ejecuta programas como si fuera una computadora real. Es totalmente compatible con los sistemas operativos, las aplicaciones y los controladores de dispositivos estándar, de la misma forma que una máquina física.

Cada máquina virtual completa es totalmente independiente. En un único ordenador físico, se pueden ejecutar al mismo tiempo varios sistemas operativos (sistemas operativos virtuales) y aplicaciones, al colocar varias máquinas virtuales. La capa de software, conocida como hipervisor, desvincula las máquinas virtuales de la máquina física y asigna dinámicamente los recursos a cada ordenador virtual según las necesidades.

El sistema operativo y las aplicaciones no pueden distinguir una equipo virtual de una equipo físico porque los ordenadores virtuales se comportan como un ordenadores físicos reales conteniendo su propia CPU virtual, RAM, disco duro y tarjeta de red. Los procesos que ejecuta un ordenador virtual están limitados por esos recursos.

Para qué sirve una máquina virtual

Las máquinas virtuales sirven para recrear entornos de producción en una PC y para crear laboratorios virtuales.

Se usa una máquina virtual cuando necesitamos probar una aplicación o actualización de la aplicación que podría causar inestabilidad en el sistema.

Durante el aprendizaje de nuevos sistemas operativos se usan las máquinas virtuales recreando una red de servidores.

Tipos de virtualización

La virtualización se puede hacer desde un sistema operativo Windows, ya sea XP, Vista u otra versión que sea compatible con el programa que utilicemos, en el que virtualizamos otro sistema operativo como Linux o viceversa, que tengamos instalado Linux y queramos virtualizar una versión de Windows.
Virtualización de hardware
Virtualización asistida por Hardware son extensiones introducidas en la arquitectura de procesador x86 para facilitar las tareas de virtualización al software ejecutándose sobre el sistema. Si cuatro son los niveles de privilegio o anillos de ejecución en esta arquitectura, desde el cero o de mayor privilegio, que se destina a las operaciones del kernel de SO, al tres, con privilegios menores que es el utilizado por los procesos de usuario, en esta nueva arquitectura se introduce un anillo interior o ring -1 que será el que un hypervisor o Virtual Machine Monitor usará para aislar todas las capas superiores de software de las operaciones de virtualización.
La virtualización de almacenamiento
Se refiere al proceso de abstraer el almacenamiento lógico del almacenamiento físico, y es comúnmente usado en SANs ("Storage Area Network" Red de área de almacenamiento).Los recursos de almacenamiento físicos son agregados al "storage pool" (almacén de almacenamiento), del cual es creado el almacenamiento lógico.

Tipos de máquinas virtuales

Máquinas virtuales de hardware

Las máquinas virtuales de hardware también llamadas máquinas virtuales de sistema, son aplicaciones que tratan de emular directamente el hardware. Las llamadas al hardware del sistema operativo instalado serán capturadas y convertidas en llamadas al sistema del hardware emulado. En general, la emulación del hardware recibe el nombre de virtualización. Al emularse directamente el hardware, el usuario tiene la impresión de que la máquina sobre la que está trabajando es totalmente independiente. Estas maquinas virtuales, permiten a la máquina física subyacente multiplicarse entre varias máquinas virtuales, cada una ejecutando su propio sistema operativo. A la capa de software que permite la virtualización se la llama monitor de máquina virtual o hypervisor. Un monitor de máquina virtual puede ejecutarse o bien directamente sobre el hardware o bien sobre un sistema operativo ("host operating system").

Máquinas virtuales de software

Las máquinas virtuales de software también llamadas como máquinas virtuales de proceso, este tipo de máquinas virtuales se sitúan por encima del sistema operativo y tratan de aislar a las aplicaciones del entorno sobre el que se ejecutan. La máquina se inicia automáticamente cuando se lanza el proceso que se desea ejecutar y se detiene para cuando éste finaliza. Su objetivo es el de proporcionar un entorno de ejecución independiente de la plataforma de hardware y del sistema operativo, que oculte los detalles de la plataforma subyacente y permita que un programa se ejecute siempre de la misma forma sobre cualquier plataforma. La máquina virtual de Java o la máquina virtual del entorno .NET son dos claros ejemplos de máquinas virtuales software.

La máquina virtual de sistema

 permite que la máquina física se represente entre varias máquinas virtuales, por medio de un software denominado hypervisor o monitor de máquina virtual (VMM). El hypervisor puede ejecutarse sobre el hardware o sobre un sistema operativo. Cada equipo virtual ejecuta su propio sistema operativo.

ejemplos de maquinas virtuales de sistema
ejemplos de maquinas virtuales de sistema

Máquinas virtuales de proceso


Las máquina virtual de proceso, es un proceso normal dentro de un sistema operativo que soporta un solo proceso. La máquina se inicia automáticamente cuando se lanza el proceso que se desea ejecutar y se detiene cuando éste finaliza.

ejemplos de maquinas virtuales de proceso
ejemplos de maquinas virtuales de proceso

Ventajas y desventajas de las máquinas virtuales

Las máquinas virtuales ofrecen muchas ventajas teniendo en cuenta sus características pero también poseen pocas desventajas.

Los ordenadores virtuales solo contienen software. Las máquinas virtuales no contienen ninguna clase de componente de hardware físico por lo que no tenemos que preocuparnos por el daño físico del hardware.

Las ordenadores virtuales tienen el inconveniente que agregan gran complejidad al sistema en tiempo de ejecución provocando su ralentización.

Un programa se ejecutará a mayor velocidad si se instala sobre el sistema operativo de la máquina física que si se instala sobre el sistema operativo del ordenador virtual.

Cuanta más memoria ocupa una máquina virtual, más recursos consume y por lo tanto el rendimiento del ordenador físico disminuye drásticamente.

Características de la máquina virtual

Las características de una máquina virtual que sin lugar a duda las hacen tan ventajosas y tan populares son el particionamiento, el aislamiento, la encapsulación y la independencia del software.


Particionamiento

El particionamiento es una de las características de las máquinas virtuales que permite que se ejecuten varios sistemas operativos en una misma máquina física y se distribuyan los recursos del sistema entre las máquinas virtuales.

Aislamiento


El aislamiento es aquella característica de las máquinas virtuales que ofrece seguridad a nivel de hardware y el aislamiento por fallas y protege el rendimiento mediante controles de recursos avanzados.

Encapsulación


La encapsulación es una característica de las máquinas virtuales que garantiza que se guarde el estado completo de una ordenador virtual en archivos y que se muevan y copien máquinas virtuales con la misma facilidad que si fueran archivos.


Independencia del hardware


La independencia del hardware es característica de máquinas virtuales que proporciona que se migre cualquier máquina virtual a cualquier servidor físico.

Uso de de máquinas virtuales en Linux


Uso de de máquinas virtuales en Linux para ejecutar programas de Windows 
Primero tenemos que definir lo que es una máquina virtual: una máquina virtual es otro sistema operativo que se ejecuta como programa dentro de otro sistema operativo. De esta manera, podemos instalar Windows como si fuera un programa más de Linux y a partir de ahí, instalar programas de Windows como si de otra computadora se tratara. 

Teóricamente podemos administrar una máquina virtual de Linux en Windows, lo cual no es muy recomendable, pues el sistema operativo Windows es bastante inestable y lleno de virus y defectos. 

Para instalar una máquina virtual en Linux, solamente necesitas un programa gratuito conocido como "VirtualBox”, que puedes instalar directamente del centro de instalación de Linux o bien descargarlo para tu versión de Linux particular. Yo utilizo la versión de Linux conocida como “Ubuntu”, que es la más popular. 

Una vez que instales VirtualBox sólo tienes que ir al menú de Inicio y seleccionar "nueva máquina virtual", y seguir el asistente. En este caso, yo utilizo Windows XP virtualizado. 
Uso de de máquinas virtuales en Linux

Aqui vemos el asistente de VirtualBox para crear máquinas virtuales. 

Para instalar una máquina virtual, necesitas crear primero un disco duro virtual. Un disco duro virtual es un archivo gigante que sirve como disco duro para la máquina virtual. Los hay dinámicos y fijos. En los dinámicos tu seleccionas un límite máximo de tamaño, y el archivo crece hasta obtener el máximo tamaño que elijas. En un disco duro virtual fijo, el tamaño de archivo es fijo y no cambia de tamaño. Recomiendo que uses un disco virtual dinámico. 

Una vez que logras crear la máquina virtual, puedes instalar cuantos programas de desees y que alcance el disco duro virtual en capacidad. Lo mejor de todo, es que puedes guardar este disco virtual como una copia en otro disco duro portátil, para que sirva de respaldo en caso de que tengas que formatear una máquina o bien desees instalar esta máquina virtual en otra computadora. Así te ahorras mucho tiempo y molestias. 
virtualbox
Aqui vemos una máquina virtual de Windows XP corriendo sobre Linux 

maquinas virtuales de windows

En la siguiente imagen vemos que la máquina real (fondo negro) es Windows 7 Home y la máquina virtual con el sistema operativo Windows XP. La máquina virtual está embebida en una ventana windows; y podemos pasarnos de una máquina a la otra con solo un click del mouse.


virtual box


La empresa Oracle ha creado una herramienta gratuita para que podamos crear máquinas virtuales de diferentes sistemas operativos. En el caso de hoy veremos cómo crear una máquina virtual de un sistema operativo llamado Elementary OS, una distribución de Linux basada en Ubuntu la cual nos acerca a la estética de Mac.
Lo primero a tener en cuenta es que necesitamos un equipo relativamente potente con mínimo 4 GB de memoria RAM para poder alojar una máquina virtual.

crear una maquina virtual

Lo primero de todo es tener instalado el programa Virtual Box el cual podrás descargar al final del post. Una vez instalado debemos descargar una imagen ISO de nuestro sistema operativo en nuestro caso hemos elegido una distribución gratuita de Elementary OS, puedes descargarla también al final.
Al abrir Virtual Box nos encontramos con una interfaz algo diferente a lo normal.
Imagen - Utiliza varios sistemas operativos en tu equipo con Virtual Box
Haremos clic en Nueva, en la parte superior izquierda y nos aparecerá una ventana en la cual debemos poner el nombre de nuestra máquina y elegir el tipo de sistema operativo que vamos a instalar.
Imagen - Utiliza varios sistemas operativos en tu equipo con Virtual Box
En la pantalla siguiente tendremos que elegir la cantidad de memoria RAM que queremos asignar a la máquina, en este caso con 2048 MB es suficiente.
Imagen - Utiliza varios sistemas operativos en tu equipo con Virtual Box
En la siguiente pantalla elegiremos  añadir un disco duro a nuestra máquina. El tamaño será de 20 GB.
Imagen - Utiliza varios sistemas operativos en tu equipo con Virtual Box
Cuando hayamos creado nuestra máquina virtual tan solo nos falta un último ajuste para poder empezar a instalar el sistema.
En la ventana que nos aparece tendremos que hacer clic en almacenamiento.
Imagen - Utiliza varios sistemas operativos en tu equipo con Virtual Box
Haremos clic en unidad óptica la cual estará en estado "Vacío" y haremos clic en el icono en forma de CD con un + de color verde, buscaremos donde tenemos la imagen ISO y haremos clic en seleccionar disco y finalmente en OK.
Ahora haremos clic en Iniciar y esperaremos a que nuestro sistema se instale.
Tras unos minutos y de forma guiada nos aparecerá una ventana con el nuevo sistema la cual no preguntará que si queremos instalarlo o probarlo. En este caso lo instalaremos.
Imagen - Utiliza varios sistemas operativos en tu equipo con Virtual Box
Haremos clic en continuar hasta que aparezca esta ventana, en la cual deberemos escoger la primera opción, que dará formato a nuestro disco duro virtual e instalará el sistema.
Por último elegiremos nuestro usuario y una contraseña, pueden ser cualquiera.
Imagen - Utiliza varios sistemas operativos en tu equipo con Virtual Box
Ahora tan solo habrá que esperar para tener nuestro sistema instalado y poder probar Elementary OS bajo Linux en nuestro equipo Windows.
Imagen - Utiliza varios sistemas operativos en tu equipo con Virtual Box
Ahora ya sabes cómo hacer máquinas virtuales con Virtual Box, te animo a que pruebes a hacer una y que experimentes con ellas, tranquilo, si se rompe no pasa nada, la eliminas y haces otra.