Tipos de virtualizacion

El problema que planteo hoy es reconocer las diferentes formas o clases que existen en virtualización.

virtualization1

¿para que virtualizamos?

Para obtener una serie de beneficios, cada cual piensa que son mas útiles unos que otros, pero para destacar o resumir la lista pondré los siguientes:

  • Aprovechamiento máximo los recursos de procesador, disco y memoria
  • Infraestructuras convergentes de IT.
  • Aislamiento y portabilidad.
  •  Seguridad, flexibilidad, agilidad y mantenimiento centralizado.
  • Consolidación de servidores.
  • Alargar la vida de sistemas operativos o aplicaciones antiguas.
  • Mejorar las técnicas de redundancia y clusterización.
  • Multiplica las posibilidades del puesto de trabajo del usuario.

 ¿Que se puede Virtualizar?

Se puede virtualizar casi todo:

  • Hardware
  • Procesador
  • Memoria
  • Redes
  • Almacenamiento
  • Software
  • Sistema operativo

 

Virtualización de Máquinas, VMs: Dos grandes técnicas:

  • Virtualización del Hardware, es la técnica en la que se crea un hardware sintético el cual usan las maquinas virtuales como propio. Esta tecnica es la mas desarrollada y hay diferentes clases que cada fabricante ha ido desarrollando y adaptando
  • Virtualización del Sistema Operativo, en esta técnica lo que se virtualiza es el SSOO completo el cual corre directamente virtual sobre la máquina fésica. Esta técnica menos desarrollada tiene un gran rendimiento.

 

Virtualización del Hardware

hypervisor_big

Esta técnica llamada de Hipervisor es la mas extendida y se ha ramificado en varias clases según la forma de virtualizar el hardware. Desde la que virtualiza las piezas de hardware por separado y creando un driver especifico para cada una de ellas hasta las mas modernas que crean un microkernel sobre el que funciona igualmente el sistema operativo y máquinas virtuales. Esta última es la forma de virtualización a la que tiende la tecnología: virtualización nativa y en la que Microsoft con su hipervisor Hyper-V, va a la cabeza.

Podéis ver un resumen de las técnicas usadas con hipervisor en esta entrada: que-es-un-hipervisor/

 

Virtualización del Sistema operativo

virtualizing_big

Esta tecnica menos hablada pero igualmente buena, se virtualiza el sistema operativo del host y separa cada maquina virtual en «containers» y los cuales acceden por igual a todos los recursos del sistema. La ventaja es a su vez una desventaja: Todas las maquinas virtuales usan el mismo Kernel que el sistema operativo lo que reduce mucho los errores y multiplica el rendimiento, pero a su vez solo puede haber un mismo tipo de sistema operativo en los contenedores, no podemos mezclar Windows-Linux-Etc. Este sistema, también se acerca mucho a lo que seria una virtualización nativa.

Actualmente, tiene casi como único desarrollador a Parallels con su Virtuozzo SO.

 

Preguntas que nos vamos hacer después de leer esta entrada:

¿Que es la Paravirtualización?

Tipo de virtualización en que intervienen las características del hardware. Los fabricantes preparan, sobre todo, los procesadores para que maquinas virtuales puedan trabajar con ellos más directamente.

Mas detallado en esta entrada, Paravirtualización

¿Que es un Hipervisor?

Es una técnica por la cual se obtiene varias máquinas lógicas que funcionan dentro de una única física.

Mas detallado en esta entrada ¿Que es un Hipervisor?

 

 

¿Que es un Hipervisor?

La Virtualización  (ver aqui)

La virtualización consiste en alojar sistemas operativos fuera de su harware. Para ello se necesita un software que emule un hardware sobre el que se alojará el sistema operativo. Al software que realiza tal operación se le denomina hypervisor y se ejecuta en una máquina host o anfitrión, El software virtualizado se denomina maquina virtual o sistema operativo invitado.

virtualizacion

Los Hipervisores

Históricamente IBM llamaba al sistema operativo «supervisor» ya que en realidad era básicamente un kernel que supervisaba el hardware. Así que las técnicas de virtualización de hardware a adoptado la palabra «hipervisor» o hypervisor para referirse a esta nueva forma de «kernel».

El hipervisor es el elemento del sistema operativo o de software que administra y hace que funcionen las maquinas virtuales sobre un hardware virtual. El Hipervisor, (algunos lo llaman VMM “motor de máquina virtual”, pero por no confundir con el Virtual Machine manager, no lo nombraré de tal forma) Tiene varias tarea, por un lado presentan a los sistemas virtualizados, también proveen de un Hardware virtual a las VM y de monitorizar a estas máquinas.
Por resumir hay dos tipos de hipervisores: los Nativos o unhosted, los llamado «de tipo 1»  y los alojados,  «de tipo 2» que necesitan de un Sistema operativo para su ejecución. Abría una tercera clase denominada híbrida con características de estas dos tecnologías.

  • Hipervisores Nativos, el hipervisor se ejecuta directamente sobre el hardware o máquina Host (bare-metal) y es el que se encarga de controlar todos los accesos al hardware. Aunque es la tecnologia mas antigua, tambien es la que utilizan las soluciones de virtualización mas potentes: Hyper-V, Citrix Xen y VMWare ESX-Server.

hypervisor_1

  • Hipervisor alojado, en este tipo de hipervisores (hosted), el hipervisor es un programa que se ejecuta sobre un Sistema Operativo como Windows, Linus, OSX, y sobre el hipervisor se cargan las diferentes máquinas virtuales. Ejemplos claros y puros serian las máquinas virtuales Java o .Net.

hipervisor_2

  • Un último grupo mezcla de los anteriores son los hipervisores híbridos en los que Sistema operativo, host e hipervisor compiten por el hardware. Estas serian Virtual Server de Microsoft, Virtual Box de Oracle.

hypervisor_3

Diferencias entre Hyper-V y VMWare ESX

En realidad hay mas de las que aparentan, en realidad se basan en soluciones diferentes de Virtualización Nativa, Virtualización Monolítica y virtualización de Microkernel

 

vmware-logo

La Virtualización Monolítica es complicada, ya que cuando una VM hace una llamada al Hardware, el hardware virtualizado redirige la llamada a drivers en el hipervisor, el cual enruta esa llamada al recurso real. Así es como opera VMWare, el cual utiliza mucho código para conseguir esto.

 

Windows-Server-Hyper-V

La virtualización con microkernel es mas sencilla puesto que las máquina virtuales no necesitan de drivers específicos sino que acceden directamente al hardware con los mismos drivers que usa el hypervisor, asi el hypervisor aparece como una capa transparente dedicada a separar y administrar las diferentes maquinas virtuales. Hyper-V trabaja de esta manera siendo así mas estable y con un rendimiento mas alto.

 

 

 

 

Instalación de MS DOS en una maquina virtual

Hola

En esta entrada, una practica de ócio: crear una maquina virtual e instalar MSDOS en ella:

Preparación

  • Host con Hyper-V
  • ISO de MS DOS, yo la he echo con la v 6.22

El tuto:

[youtube=http://youtu.be/TnN67Ga539o&rel=0]

Los pasos realizados y que mostramos en el vídeo son:

Primero preparamos la maquina virtual
Captura de pantalla 2013-03-20 a la(s) 22.42.53PS
Despues insertamos la .iso de MSDOS e instalamos
Captura de pantalla 2013-03-20 a la(s) 22.43.39PS

Preparamos el disco: Creamos particion y formateamos.

Captura de pantalla 2013-03-20 a la(s) 22.44.11PS

Ejecutar instalación

Captura de pantalla 2013-03-20 a la(s) 22.45.04PS

 

Reiniciar y ya tenemos instalado el MSDOS

Captura de pantalla 2013-03-20 a la(s) 22.45.28PS

 

 

 

 

 

Máquina virtual de diferenciación

Tutorial para crear una máquina virtual con disco de diferenciación.

[youtube=http://www.youtube.com/watch?v=t7u3uHP6j9o&rel=0]

En esta ocasión vamos a crear una máquina virtual a partir de un disco ya creado. En la demo ya tenemos el disco y lo que haremos son los siguientes pasos será crear una máquina virtual nueva con un disco de diferenciación.

  • Borrar máquina original y guardar su disco como disco base

Captura de pantalla 2013-03-13 a la(s) 00.28.26wtmk

  • crear un disco de diferenciación a partir del disco base

Captura de pantalla 2013-03-13 a la(s) 00.26.52wtmk

Captura de pantalla 2013-03-13 a la(s) 00.27.43wtmk

  • crear nueva máquina a partir del disco de diferenciación

Captura de pantalla 2013-03-13 a la(s) 00.26.30wtmk

Crear máquina virtual desde una imagen ISO o WIM sin instalar el SO

Problema

Bueno es un poco difícil de esplicar que quiero conseguir con esta entrada: Quiero tener un un Disco virtual con un OS virgen conseguido de una ISO y sin siquiera instalar nada.

¿Para que quiero esto?

Quiero crear una maquina virtual a partir de un disco que tenga el SO dentro, pero sin terminar de instalar. De esta forma cuando arranque la máquina virtual por primera vez, terminara la instalación obteniendo una maquina virtual totalmente nueva y diferente a todas las demás que pueda crear con ese mismo disco.

Solución

Para realizar esto necesitamos las siguientes cosas:

  • Imagen del SO que queremos tener en la VM
  • Convert-WindowsImage.ps1 (antiguo WIM2VHD) para Windows 8 o Server 2012
  • WIM2VHD (esta dentro de las WAIK de Windows 7) para Windows 7

Proceso mediante Línea de comando, PowerScript

En mi caso, tengo un DVD en la unidad D: con el windows 2012 y en C: un directorio «vhd» para las discos virtuales. (Elijo el formato .vhdx porque es el que luego necesito para creae discos diferenciales.)

  • PS .\Convert-WindowsImage.ps1 -sourcepath D:\sources\install.wim -Edition ServerStandard -vhdformat vhdx -siz ebytes 20Gb -vhdpath c\vhd\server2012.vhdx

Captura de pantalla 2013-03-12 a la(s) 01.01.41

Proceso mediante Interface Grafico

Para lanzar el Interfaz gráfico hay que ejecutar el siguiente comando con el parámetro -showUI

  • Ps .\Convert-WindowsImage.ps1 -showUI

Captura de pantalla 2013-03-11 a la(s) 23.04.10

Si no especificamos nada mas el propio programa nos asignará un nombre.

Opinión

Estos discos creados a partir de una imagen WIM, son muy útiles a la hora de crear maquinas virtuales, ya que nos evitamos todo el proceso de instalación, ademas podríamos añadir ficheros de instalación desatendida. Como en el proceso de arranque se crea la máquina, no es necesario realizar ningún SysPrep, ya que todas las máquinas que creemos a partir de este disco serán diferentes.

 

 

 

 

 

Error con el switch virtual, no se puede administrar.

Hola

El de hoy no me habia pasando nunca. Si, cierto, que he estado enredando mucho con las redes virtuales, creando y borrando muchas veces, pero esto es lo normal ¿no? 🙂

Problema

El problema es este al intentar administrar los switches virtuales desde la administración de Hyper-v y en Virtual switches manager:

Captura de pantalla 2013-02-20 a la(s) 01.15.21

«an error occurred while trying to retrieve a list of virtual switches. The operation on computer ´localhost´failed»

Y no se arregla reiniciando.

Posible solución:

Microsoft nos cuenta que es un error conocido que se soluciona con un escript nvspscrub.js en

msdn.microsoft.com, que lo descargas y ejecutas…

  Captura de pantalla 2013-02-20 a la(s) 01.22.33 Captura de pantalla 2013-02-20 a la(s) 01.24.31

…pero a mi no me ha funcionado.

 Mi solución

 …aunque drastica, efectiva: Des instalar el roll de Hyper-V y volver a crearlo. En la creación vuelve a generar los switches virtuales, de hecho hay un paso donde te pregunta si quieres crear alguno. Captura de pantalla 2013-02-20 a la(s) 01.53.04

Captura de pantalla 2013-02-20 a la(s) 02.08.20

… y las maquinas virtuales?

No os preocupeis las VM siguen estando tras la instalación, lo único que hay que hacer, es crear las redes y conectarlas a la red a la que estaban conectadas anteriormente. (menos mal)

 

>Desinstalación de los integration services

>

¿A quien le ha tocado desinstalar los integration serviles (servicios de integración )?

En principio, no hace falta, a no ser que tengas problemas, y como yo los tengo siempre, esponjo como solucionarlo.


Cuando creamos una máquina virtual, ya sea en virtual PC, virtual server, hyper V o incluso con VMware o virtual vox. Necesitamos interactuar desde el host con la máquina gest. Para tal tarea instalamos unos servicios que nos permiten el control del raton, las teclas especiales como ctrl+alt+supr y los botones de apagado y reinicio, etc..

El problema es que cada versión del programa virtualizador tiene sus propios integration serviles y no son compatibles entre si.

Podemos tener problemas cuando (solo lo he probado VM con SSOO XP):

Importemos un VM de virtual PC o virtual server a Hyper V
Cuando actualicemos de 2008 a 2008 SP1
Cuando migremos de 2008 a 2008 R2

o

incluso si actualizamos un VM de XP a XP SP2 o SP3 que es lo que me ocurrió a mi y me encontré que al reiniciar me salió este precioso pantallazo azul en nuestra VM XP




Stop: 0x0000007B (0xFFFFFA60005B69C0, 0xFFFFFFFFC0000034, 0x0000000000000000, 0x0000000000000000)
Nota. En el soporte de Microsoft existe una solución, pero a mi no me funciono. http://support.microsoft.com/kb/2000048

Descarté todas las posibilidades de porque ocurría esto y solo me quedaba pensar en los servicios de integración. Bueno, los desinstalamos primero….¿como?


No encontraba como hacerlo. Pero recordando como se sesinstalaban algún software….



Solución:


    1. Arrancamos Hyper-V management console 
    2. conectamos a nuestra Virtual Machine 
    3. Click on Action > Insertar disco de Integration Services 
    4. Iniciamos session en la VM y abrimos un CMD 
    5. Nos situamos en el CD (disco de los servicios de integración) normalmente D:\ 
    6. Vamos a D:\support\amd64 or D:\support\x86 (dependiendo de la VM) 
    7. Para desinstalar, simplemente ejecutamos:
    8. Setup.exe /uninstall 
    9. Reiniciamos la máquina y ya la tendremos sin dichos servicios.


Ahora tenemos que tener en cuenta que no tenemos los integration serviles, por lo cual deberemos instalar los buenos desde el administrador de Hyper V







>Borrar todos los SnapShots a la vez. Quitar instantaneas

>

Hola.
Esta es la continuación de Eliminar snapshot de hyper-v. Como hera largo de contar he decidido ponerlo como solución final en una nueva entrada.
Derrotado por el cansancio y la imposibilidad de juntar las instantáneas y viendo que el directorio de la máquina virtual crecía y crecía…. me dijo un amigo: Cuando te acerques al precipicio deja todo en manos del señor, este te recogerá en sus manos o te enseñará a volar…. jejeje me enseño a volar !!
Solución: (no digo que la del merge no funcione)
  • Arrancamos la máquina virtual.
  • Nos hacemos con la utilidad para convertir máquinas físicas a virtuales DISK2VHD por ejemplo del techen de microsoft. 
  • La ejecutamos dentro de la máquina virtual y esperamos a que realice el .VHD.
  • Este fichero será nuestra maquina virtual, obviamente del estado, instantánea o snapshot que estemos utilizando. Solo contendrá lo que necesitamos y pesara lo que vemos que pesa la unidad C: desde el explorador de la VM.
  • Sacamos el fichero .vhd y generamos una nueva máquina virtual con el administrador de Hyper V.
  • Y listo. Ya tenemos nuestra maquina limpia y libre de snapshot, y árboles de instantáneas.
Espero que os saque de los problemas generados por el mal uso de los snaps como copia de seguridad 😉

>Posibilidades del XP Mode en Windows Seven

>



Vamos a explicar pequeños trucos con XP Mode en windows 7 y así poder hacer alguna mejora sobre su funcionamiento.


Primero hay que tener claro que es cada fichero:

  • ·                  .vhd = Virtual Machine virtual hard drive image
  • ·                  .vmc = Virtual Machine settings file
  • ·                  .vsv = Virtual Machine saved state file
  • ·                  .vmc.vpcbackup = se crea cuando se ejecuta una VM
En: C:\Users\Your_Username\AppData\Local\Microsoft\Windows Virtual PC\Virtual Machines

  • ·                  .vmcx = Virtual Machine description and registration settings
En: C:\Users\Your_Username\Virtual Machines\



Cambiar la ruta de la VM (migrar XP Mode)


Esto es útil por si se nos queda sin espacio la unidad C:

·        Primero hay que apagar la VM, no tiene que estar hivernada.
·        Vamos a la ruta de la máquina, que en principio esta en la ruta anteriormente descrita y copiaremos/moveremos el directorio “virtual Machines” a la nueva ubicación, por ejemplo E: podremos incluso cambiar el nombre de esta carpeta.
·        Las demas configuraciones implícitas se seguirán almacenando en “Windows Virtual PC”
·        Editaremos los ficheros .vmc y .vmcx y cambiaremos las rutas que hemos cambiado con un editor.
·        La primera vez que ejecutemos la VM, lo haremos A MANO dando doble clic sobre el archivo .vmc. Nos dara una advertencia de que ya existe en otra ubicación y si queremos hacer la nueva por defecto…contestamos que queremos la nueva.
·        Ya esta, si hemos hecho copia del directorio original (en lugar de moverlo) ya podemos borrarlo.




Tener multiples VM en seven (varias VM con XP Mode)


Porque tener solo una VM pudiendo tener mas. Esto es útil cuando queremos importar máquinas que tenemos creadas con virtual PC 2007.


·        Copiaremos los ficheros .vmc y .vmcx (con estos es suficiente) a la ubicación que deseemos
·         Ejecutaremos la VM mediante el fichero .vmc, doble clic. Se crearan el resto de ficheros, incluso el .vmcx en su ruta por defecto
·        Modificamos las propiedades de la VM con boton derecho/configuración sobre el .vmcx y cambiaremos lo que necesitemos como puede ser las propiedades de la red
·        Es util crear un acceso directo de esta máquina y copiarlo al lado de donde ejecutamos la de XP mode
·        El modo XPMode solo afecta a la primera máquina que teníamos funcionado en este modo. Las nuevas que importemos funcionaran como si estuviesen en Virtual PC.

Nota

·        Tener en cuenta que si habéis sido “pillos” y en lugar d
e importar la VM con su licencia y todo, la habéis copiado de la ya existente (que no se debe) tendreis que cambiar la Mac de la nueva en el fichero .vmc. La parte a modificar esta en la sección «ethernet adapter» y la mac por defecto es 01010101010101010101010101010101, solo hace falta modificar un número (son números hexadecimales, asi que admite las letras A, b, …)



Meter la máquina XPMode en dominio.


Esto es especialmente útil cuando trabajamos en una empresa y necesitamos que 
nuestra máquina XP este en dominio.

·        Lanzamos la VM en modo “pantalla completa” y procedemos como si de una máquina normal se tratara

·        Lanzamos la VM en modo “pantalla completa” y procedemos como si de una máquina normal se tratara.
·        Podemos cambiarle el nombre si lo deseamos.
·        Accederemos a ella con nuestro usuario de dominio o local.
·        ¿Pensabais que no se podía? Pues si y mantiene todas las propiedades de ejecución de programas en modo XP Mode.




Añadir progras al menu inicio de 7
A veces todos los programas que instalamos en XP Mode crean una entrada en l meni inicio de nuestro seven. Se soluciona copiando el acceso directo deseado a la carpeta:
  • C:\Documents and Settings\All Users\Menú Inicio\Programas




Aver quien me dice mas posibilidades

>Eleminar snapshot de Hyper-V

>

Esta vez he tenido un problema muy grave por no hacer caso a las recomendaciones….
¡ No utilizar las 
SnapShots para maquinas en producción !
Pero al final pues las utilice «hago una copia por si acaso» …. no nos engañemos: No son copias de seguridad ni muchísimo menos. En mi caso me encontré con mas de 100Gb de maquina virtual cuando en realidad no llegaba a 5Gb. Y es que las SnapShot funcionan así:
Funcionamiento de las instantáneas.
El fichero .vhd original no se modifica, se añade un nuevo archivo .avhd que contiene las modificaciones respecto al original, una especie de disco incremental similar al de Virtual PC. estos discos se van acumulando con cada nueva instantánea llegando a ser inmanejable.
Teoricamente si borras un snapshot y apagas la máquina, este desaparece, el .avhd se elimina o se junta con el .vhd. Yo intente borrar todas las instantáneas con el administrador de Hyper V, pero aun eliminando todas, me seguían quedando ficheros…y gordos.
Juntar instantáneas con la utilidad de edición de discos.
Encontré una solución: Juntar el disco incremental con el original a mano. La teoría fácil, editamos el disco,
buscamos el ultimo disco incremental, que se suele encontrar por la fecha…… a no ser que tengamos un autentico árbol de instantáneas. (como yo). Entonces un paso mas, buscarlo en el .xml
Ya lo he encontrado, pues nada, a darle al merge 
Elegimos con el disco «padre» que el asistente es muy listo y lo encuentra solito.
… y ya te ilusionas, porque lo hace solito.
Pero la verdad es que funciona! y funciona bien cuando solo tienes una instantánea….. pero cuando tienes muchas y en árbol &nbs
p;(instantáneas de instantáneas) es un método que no nos funcionará.
Así que la providencia me ilumino y probé una idea peregrina que al final funciono. Lo descrivo en la siguiente entrada: